UART,IIC,SPI均为STM32系列芯片常用通信协议,现整理三种协议基础知识如下:
1 UART总线协议
1.1 基础概念
- 并行通信与串行通信
- 把数据的多个位一次性发送。
- 缺点:总线多容易浪费资源,布线难度大,线间有信号干扰。
- 把数据的多个位依次发送。
- 单工通信和双工通信
- 单工通信:发送器接收器间数据单向传送。
- 双工通信:发送器接收器间数据双向传送
- 半双工:发送器和接收器不能同时发送数据。
- 全双工:发送器和接收器可以同时发送数据。
- 同步异步
通信与收信双方是否有同步时钟判断数据收发。
1.2 UART通信概述
- 通信方式
- 通用异步收发器(点对点通信),串行,异步通信总线,有两条数据线可实现全双工发送和接收,常用于主机与辅助设备间的通信。
- 数据线传递的本质是电信号。
- 波特率
- 描述UART通信时的通信速度,单位位bps(bit per second)每秒传送bit的数量。
- 串口通信过程
- 空闲位:
保持高电平。 - 起始位:
低电平//用于区分空闲位。 - 数据位:
可发5-8位防止累计误差出现,先发低位再发高位。 - 校验位:
奇偶校验//数据里有奇数个1发送0,偶数个1发送1,可有可无。 - 停止位:
高电平,1,1.5或2位 - 空闲位:
保持高电平。 - 起始位
- …
- 空闲位:
- 硬件连接
- 发送器TXD,接收器RXD交叉接线点对点发送。
- UART控制器
- 集成在处理器中。
- UART的问题:
- 串口的电气接口不统一。
- UART一般使用处理器电平T