一种通信协议
通信方式
全双工 | 通信双方能够同时进行双向通信(双方可以同时进行收发) |
半双工 | 通信双方必须分时复用一根数据线(只能一方发一方收) |
单工 | 通信只能由一方发送到另一方 |
时钟信号
统一发送、采集数据的时机
异步 | 通信双方各自约定通信速率 |
同步 | 通信双方靠一根时钟线来约定通信速率 |
电平特性
单端 | 引脚的高低电平都是对GND的电压差(通信双方必须共地) |
差分 | 传输信号靠引脚的差分电压差(抗干扰能力强) |
设备特性
点对点 | 一对一,直接传输数据 |
多设备 | 一对多,需要寻址(可在总线上挂在多个设备) |
硬件电路
发送端TXD,接收端RXD需要交叉相接,两根通信线实现全双工通信(一方收,一方发)
单端电平特性要求,TXD,RXD,GND是必须要接的(不考虑仅需单向传输)。两个设备有独立供电时,VCC可不接
电平标准需要一致,不一致需要加电平转换芯片
电平标准
数据1和数据0的表达方式,即多高的电压视作逻辑1,多低的电压视作逻辑0
常用电平标准 | 逻辑1 | 逻辑0 |
TTL电平(最常见) | +3.3V或+5V | 0V |
RS232电平 | -3V~-15V | +3V~+15V |
RS485电平(差分信号) | +2V~+6V | -2V~-6V |
串口参数及时序
波特率
规定串口通信的速率,每秒传输码元的个数,由通信双方约定(发送和接收各数据位的间隔时间)
比特率,每秒传输的比特数。二进制调制的情况下,1码元=1比特
常用9600波特率,传输每个数据位的时间间隔为
另一端能接收到66,即能接收到'B'(ASCLL码)
起始位
每一个数据帧的开始,固定为低电平
停止位
用于数据帧间隔,固定为高电平
数据位
数据帧的有效载荷,1为高电平,0为低电平,共有8位
低位先传
校验位
用于数据验证,根据数据位计算
奇偶校验:保证1为奇数。数据位有奇数个1校验位为0,偶数个1校验位为1
时序
发送一个字节的格式。由串口协议规定
每一个字节装载在一个数据帧里。由起始位、数据位和停止位组成。
可在数据位最后加入奇偶校验位,组成9位字长