通信总线协议一 :UART
1. 通信基础
1.1 并行,串行
并行传输
:数据以成组的方式,在多条并行信道上同时进行传输
串行传输
:使用一条数据线
,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度
1.2 单工,双工
单工通信
:只允许一方向另外一方传送信息,而另一方不能回传信息。比如电视遥控器、收音机广播等,都是单工通信技术。半双工通信
:数据可以在双方之间相互传播,但是同一时刻只能其中一方发给另外一 方。比如对讲机。全双工通信
:指发送数据的同时也能够接收数据,两者同步进行,比如电话。
1.3 同步,异步
异步通信
: 通信双方使用各自自己的时钟
,按照约定的统一的波特率,去收发数据。由于双方的时钟频率可能会存在一定的误差,异步通信一个数据帧长度较短,发送效率低。同步通信
:通信双方使用频率一致的时钟
,发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。同步数据帧长度大,效率更高,更加适合对速度要求高的传输。
1.4 波特率
波特率
: 串口通信的速率,单位为bps
(bit per second),即每秒钟可以传输多少个二进制位。比如每秒钟可以传输9600个二进制,波特率就是9600。
2. Uart通信协议
空闲位
:当数据线无数据传输时,数据线保持高电平,即空闲位为1起始位
:开始传输数据时,数据线从1变成0,传输起始位0数据位
:一次可传输5~8位,通常都是一次传输8位,即一个byte。先发低位,后发高位,例如传输0x55,对应二进制0 1 0 1 0 1 0 1
,先发送低位(最右边)的1检验位
:占用一个bit,采用奇偶检验法,校验位可有可无停止位
:表示一帧数据传输完成,停止位占用1~2bit- uart一次只能传输一个字符, 如果需要传输多个字符,则每个字符都按照上述的帧格式,进行传输
- 通信的双方,必须设置成一样的波特率,才能正确的进行通信
3. 硬件连接
- uart的硬件连接很简单,如上图所示:一方的发送Tx连接另一方的接收Rx,地线GND连接即可。
4. uart存在的问题
电气接口不统一
:uart通信时一般都是使用的处理器的电平,即TTL电平,但是不同的处理器的电平存在差异,因此不同的处理器的uart不能直接相连接。此外不用的器件没有一个统一的接口,硬件连接不方便。抗干扰能力差
:使用TTL的电平来表示1和0,传输中容易出错通信距离短
:一般仅用于一个电路板上的2个芯片通信
感谢阅读 若有错误 敬请见谅 !!!