STM32F103 学习笔记-20-通信的基本概念

引言

在嵌入式系统中,通信是设备之间数据传输的基础。STM32微控制器支持多种通信协议,如USART、I2C、SPI等。理解通信的基本概念对于后续学习外设编程至关重要。本笔记基于《零死角玩转STM32》的"通信的基本概念"章节,详细讲解通信的核心原理,帮助新手小白建立扎实的基础。

1. 串行与并行通信

通信方式分为串行和并行两类,它们决定了数据位的传输形式。

  • 串行通信:数据位按顺序依次传输,只需一条数据线。优点是成本低、抗干扰强、适合远距离通信,但传输速率较慢。常见应用如UART、USB、以太网。

  • 并行通信:多个数据位同时通过多条数据线传输。优点是速率高,但成本高、抗干扰弱、距离短。例如,STM32的GPIO口可配置为并行模式,用于LCD屏控制。

特性对比见下表:

特性 串行通讯 并行通讯
通讯距离 较远 较近
抗干扰能力 较强 较弱
传输速率 较慢 较高
成本 较低 较高

原理:串行通信逐位传输,节省引脚资源;并行通信一次传输多比特,但需要同步时钟,易受干扰。在STM32中,大多数外设(如串口)采用串行方式,以平衡效率和成本。

2. 全双工、半双工和单工

数据流向决定了通信的灵活性:

  • 全双工:双方可同时收发数据(如电话通话)。例如,STM32的USART支持全双工,TX和RX引脚独立工作。

  • 半双工:双方可收发数据,但不能同时进行(如对讲机)。例如,I2C总线在半双工模式下,SDA线分时用于发送和接收。

  • 单工:数据只能单向传输(如广播)。例如,STM32的ADC读取传感器数据时,数据仅从传感器流向MCU。

应用场景:全双工适合实时交互(如调试串口),半双工适合多设备共享总线(如传感器网络),单工适合简单数据采集。

3. 同步与异步

时钟同步方式影响通信的可靠性和效率:

  • 同步通信:收发方使用共享时钟信号,数据位在时钟边沿采样。效率高,但时钟偏差会导致错误。常见于SPI、I2C。

  • 异步通信:无共享时钟,双方依赖预定义的波特率。数据包包含起始位、停止位等标识符,容错性强,但效率较低。常见于UART。

对比:同步通信数据中有效比例高,但对时钟精度要求严格;异步通信通过帧结构保证可靠性,时钟允许误差大。在STM32中,配置通信协议时需根据场景选择同步或异步模式。

4. 通信的速率

速率是衡量通信性能的关键:

  • 比特率:每秒传输的二进制位数(bit/s)。例如,115200 bit/s表示每秒传输115200比特。

  • 波特率:每秒传输的码元个数。一个码元可携带多个比特(通过调制),但在二进制系统中,波特率等于比特率。

码元概念

  • 单二进制位码元:0V代表"0",3.3V代表"1",每个码元携带1比特。

  • 多二进制位码元:如4电平调制(0V/2V/4V/6V),每个码元可表示2比特(00/01/10/11),波特率相同时比特率翻倍。

在STM32中,设置USART波特率时,实际是配置比特率。需确保收发方波特率一致,否则数据错乱。

总结

  • 串行/并行是数据传输形式,影响引脚数和速率。

  • 全双工/半双工/单工决定数据流向灵活性。

  • 同步/异步关乎时钟同步方式,影响效率和可靠性。

  • 比特率和波特率是速率核心参数,需匹配硬件配置。

掌握这些概念后,后续学习STM32的具体通信外设(如USART、SPI)将更轻松。建议结合实验(如串口通信)加深理解。


本文档参考《零死角玩转STM32》,及配套章节PPT

相关推荐
嵌入式-老费2 小时前
esp32开发与应用(从esp32到esp32s3)
嵌入式硬件
ctrl_v助手2 小时前
HALCON 学习笔记1
笔记·数码相机·学习·算法·计算机视觉
阿拉斯攀登2 小时前
无人售货柜设备开机自动注册逻辑:唯一标识绑定、防重复、批量铺货适配
嵌入式硬件·安卓·零售·安卓驱动·无人售货柜·无人售货机
丰锋ff2 小时前
Qt6.10.3安装教程
笔记
芯岭技术郦2 小时前
基于 XL2417D 的场控应援荧光棒芯片特性介绍
单片机·个人开发·信息与通信·射频工程
Edward111111112 小时前
一AI名词
java·开发语言·数据库·学习
GLDbalala2 小时前
GPU PRO 5 - 4.5 Tiled Deferred Blending 笔记
笔记
栈溢出了3 小时前
Redis repl_backlog 学习笔记
java·开发语言·redis·学习
振南的单片机世界3 小时前
单片机:一颗芯片包办CPU、内存、外设的“单芯片计算机”
arm开发·stm32·单片机·嵌入式硬件
科学熊3 小时前
Keil(C51)安装和注册机被系统拦截问题解决
嵌入式硬件