目录
UART简介
通信基础—USART和UART区别
通信基础—同步通信和异步通信
通信基础—并行通信和串行通信
通信基础—单工通信和双工通信
通信基础—比特率
UART帧格式
UART硬件连接
UART控制器
UART简介
UART(Universal Asynchronous Receiver Transmitter)即通用异步收发器,是一种通用的串行、异步通信总线。该总线有两条数据线(一条数据线用于发送TXD,另一条数据线用于接收 RXD),可以实现全双工的发送和接收在嵌入式系统中常用于主机与辅助设备之间的通信。
通信基础—USART和UART区别
USART:通用同步和异步收发器
UART:通用异步收发器
当进行异步通信时,这两者是没有区别的。区别在于USART比UART多了同步通信功能。
这个同步通信功能可以把USART当做SPI来用,比如用USART来驱动SPI设备。
通信基础—同步通信和异步通信
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
同步是阻塞模式,异步是非阻塞模式。
通信基础—并行通信和串行通信
并行通信:一次性传送一个字长的数据。
串行通信:一般来讲数据线只有一根,一位一位的传输数据。
并行:通信速度快,但是使用总线多,浪费资源,同时布线难度大,而且多条总线容易产生信号干扰。
通信基础—单工通信和双工通信
单工通信:只能单向传送信息。
双工通信:能实现双向传送信息。
1.半双工:单个芯片发送和接收只能实现一个,不能同时。
2.全双工:单个芯片发送和接收能同时实现。
如果总线数据线只有一根就是半双工,数据线有两根就是全双工。
通信基础—比特率
比特率用于描述UART通信时的通信速度,其单位为bps(bit per second)即每秒钟传送的bit的数量。
UART帧格式
高电平代表1,低电平代表0。
比如要发送0X55,转换为2进制的话就是要发送01010101。在空闲时数据线处于高电平。
起始位,代表发送数据开始,为低电平。
数据位发送时,先发送低位,后发送高位(可以发送5-8位,一般发送8位,因为1字节=8bit)即10101010。
校验位用来校验接收与发送是否一致。串口当中最常使用的是奇偶校验,比如01010101中1的个数是偶数,因此校验位就写个1,接收到的如果发现校验位是0,即奇数,就说明发生了错误。校验位只能去校验有没有错误产生,但不能进行修正。校验位可有可无,使用校验位会使通信速度降低,但是准确性提高。
停止位表示一次通信的结束,为高电平。
如果要发送多个字节,必须接收到上一个发送数据的停止位才可以,即每次最多允许一个字节发送,原因:避免产生累积误差。
UART硬件连接
A的发送器对应B的接收器;A的接收器对应B的发送器。
UART控制器
一般情况下处理器中都会集成UART控制器 我们使用UART进行通信时候只需对其内部的相 关寄存器进行设置即可。