01
UART简介
通用异步收发传输器( Universal Asynchronous Receiver/Transmitter ),通常称作 UART, 是一种异步收发传输器。将数据由串行通信与并行通信间作传输转换, 作为并行输入成为串行输出的芯片 UART 是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。
02
半双工和全双工
全双工:发送和接收可同时进行。
半双工:任何时候只能处于发送和接收的某一状态。
03
接口定义
Uart接口很简单,就两根线(RX和TX)。
*注意: 连接时要共地。
04
UART 通信协议
UART的工作原理是将要传输的数据一位接一位地传输。
数据包格式如下:
数据包由起始位、数据帧、奇偶校验位和停止位组成。
其中每一位(Bit) 的意义如下:
起始位:发出一个逻辑"0"的信号,表示传输字符的开始, 平时不传输时一直处于高电平(即逻辑"1")。
数据位:紧接着起始位之后。数据位的个数可以是5~8,从最低位开始传送。如果不使用奇偶校验位,数据帧长度可以是9位。
奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验) 或奇数(奇校验) ,以此来校验数据传送的正确性。
停止位:表示数据包的结束。可以是1位、 1.5位、 2位的高电平。停止位有两个作用,一个是结束标志,另一个是做时钟校准。
05
UART工作原理
发送数据过程:
空闲状态,线路处于高电平;当收到发送数据指令后,拉低线路一个数据位的时间 T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电平),一帧数据发送结束。
接收数据过程:
空闲状态, 线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位) 时说明线路有数据传输,按照约定的波特率从低位到高位接收数据, 数据接收完毕后, 接着接收并比较奇偶校验位是否正确, 如果正确则通知后续设备准备接收数据或存入缓存。
06
TTL电平
高电平(逻辑"1")
1.输出:大于2.4V
2.输入:大于2.0V
低电平(逻辑"0")
1.输出:小于0.8V
2.输入:小于1.2V
上面指的是5V的TTL电平,5V的TTL和5V的CMOS都是通用的逻辑电平。3.3V及以下的逻辑电平被称为低电压逻辑电平,常用的为LVTTL电平。低电压逻辑电平还有2.5V和1.8V两种。
07
RS232和RS485
(1)RS232
RS232是美国电子工业联盟(EIA)制定的串行数据通信的接口标准。RS232是9Pin接口。
1)工业控制的RS232口一般只使用Rx、Tx、GND三个引脚。
2)逻辑电平:
逻辑“1”:-3V~-15V
逻辑“0”:+3V~+15V
3)PC与单片机(MCU)之间串口通信需要进行电平转换。比如使用MAX232芯片进行转换,完成TTL电平与RS232电平的转换。
(2)RS485
1) RS485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
2) RS485采用差分信号来表示电平:
输出:
逻辑电平“1”:-2V~-6V (AB线电压差)
逻辑电平“0”:+2V~+6V (AB线电压差)
输入:
逻辑电平“1”:大于+200mV(AB线电压差)
逻辑电平“0”:小于+200mV(AB线电压差)
3) MAX485芯片用来完成将TTL电平转换为RS-485电平。
(3)RS232和RS485的对比
RS232:
1、传输距离大概在15米左右
2、只允许一对一通信
3、全双工
RS485:
1、传输距离大概1200米
2、总线上允许接多达32个发射器和43个接收器
3、半双工
08
总结
UART是通信协议,RS232和RS485是规定了电气特性、逻辑电平和各种信号线的功能。

往期回顾