UART简介
1) UART简介
UART(Universal Asynchronous Receiver Transmitter),即通用异步(收发双发时钟不同步)收发器,是一种通用的串行、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。
2) 并行与串行通信
总线的本质就是导线,总线的作用是在计算机不同部件间传递一些信息,总线传递的本质就是一些高低电平的信号,比如用高电平信号代表1,低电平信号代表0。
所谓并行通信指总线在传递信号的时候把数据的多个位一次性发送
对于串行通信来说数据是一位一位的传递过去
3) 单工与双工
在通信里,按照数据传输的方向还可以分为单工通信和双工通信
单工通信中只能由一方给另一方发送数据(只能有发送器给接收器发送数据),反之则不行,也就是说它数据传输的方向是单向的
双工通信中同行双方可以互相给对方发送数据,双工通信又分为半双工通信和全双工通信。对于半双工通信来说,发送双方不能同时进行数据发送,比如有主机A与B,在A向B发送数据时,B不能同时向A发送数据,而对于全双工来说则可以。
4) 波特率与比特率
波特率:是码元传输速率单位,他说明单位时间传输了多少个码元。“波特”(Baud)本身已是速率,单位“波特”本身就已经是代表每秒的调制数。
比特率:是信息量传送速率单位,即每秒传输二进制代码位数。bit/s
举例说明:
如果在数字传输过程中,用0V表示数字0,5V表示数字1,那么每个码元有两种状态0和1. 每个码元代表一个二进制数字。此时的每秒码元数和每秒二进制代码数是一样的,这叫两相调制,波特率等于比特率。
如果在数字传输过程中,0V、2V、4V和6V分别表示00、01、10和11,那么每个码元有四种状态00、01、10和11. 每个码元代表两个二进制数字。此时的每秒码元数是每秒二进制代码数是一半的,这叫四相调制,波特率等于比特率一半。
5) UART帧格式
-
起始位:发送数据之前,必须先告诉对方我要开始发送了,也就是要发送一个区别于空闲状态的一个信号去通知对方,空闲状态为高电平,故起始位信号为低电平
-
空闲位:数据线上信号空闲时为高电平
-
串口协议中规定先发低位、后发高位
-
校验位:校验位只能去校验,而不能去修正
-
停止位:表示一次通信的结束
波特率用于解决发送一连串高低电平问题,也就是串口去区分发送的是一个1还是多个1问题
一次只能发送一个字节,为了避免累计误差的出现
6) 硬件连接
- 发送器的TXD接到接收器的RXD
- 接收器的TXD接到发送器的RXD