UART(Universal Asynchronous Receiver/Transmitter)是一种通用串行异步数据总线,不需要时钟信号。该总线双向通信,可以实现全双工传输和接收,注意两根线需要交叉。
一、接口电路
传输类型:全双工串行异步数据总线。
传输速率:数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200位/秒=1200bps(bits per second)。
线表:
编号 | 线名称 | 说明 | 备注 |
1 | TX | 发送数据端 | 接对面的RX |
2 | RX | 接收数据端 | 接对面的TX |
3 | GND | 有统一的参考平面 |
电路图示意:
![](https://img-blog.csdnimg.cn/img_convert/6e711862ef0b4156b6138dd7279a4524.png)
二、协议内容与操作
在UART中,信号线上共有两种状态,分别用逻辑1(高电平)和逻辑0(低电平)来区分。在空闲时,数据线应该保持在逻辑高电平状态。因为没有时钟信号,所以需要定义一些特定格式的数据位来识别通信中的开始、结束和数据。
![](https://img-blog.csdnimg.cn/img_convert/df1371af76a8443aa5fdf7a6d4af92de.png)
起始位:先发出一个逻辑0信号,表示传输字符的开始。
数据位:可以是5~8位逻辑0或1, 如ASCII码(7位),扩展BCD码(8位)小端传输。
校验位:数据位加上这一位后,使得1的位数应为偶数(偶校验)或奇数(奇校验)。
停止位:它是一个字符数据的结束标志, 可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑1状态, 表示当前线路上没有资料传送。
三、TTL\232\485\CAN
编号 | 名称 | 说明 |
1 | TTL | 双极型三极管逻辑电路,这种信号0对应0V,1对应3.3V或者5V。 |
2 | RS232 | 异步传输标准接口,同时对应着电平标准和通信协议(时序)。 +3V~+15V对应0, -3V~-15V对应1 |
3 | RS485 | 一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比RS232强很多。 两线压差为-(2~6)V表示0, 两线压差为+(2~6)V表示1 |
4 | CAN | CAN是一种封装的应用协议,底层使用的是UART的协议。 |