通信协议基础
串行和并行
- 串行通信: 数据的传输是用一条传输线将数据一位接一位按顺序传送。
- 并行通信: 数据的传输是用多条传输线将数据的各个位同时传送。
串行通信按时钟的同步方式分为:
- 同步通信: 带时钟信号传输, 如I2C, SPI
- 异步通信: 不带时钟信号传输, 如UART
串行通信按数据的传输方向分为:
-
单工通信: 数据传输只支持数据在一个方向上传输
-
双工通信: 二台设备间进行双向数据传输
-
全双工通信: 同时进行双向数据传输
-
半双工通信: 双向数据传输,但不能同时进行
-
UART定义
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。
UART是一种通用的串行, 异步通信总线, 有两条数据线, 可以实现全双工的发送和接收。
UART帧格式
其中各位的含义如下:
- 起始位:发送1位逻辑0(低电平),开始传输数据。
- 数据位:可以是5~8位的数据,先发低位,再发高位,一般常见的就是8位(1个字节),其他的如7位的ASCII码。
- 校验位:奇偶校验,将数据位加上校验位,1的位数为偶数(偶校验),1的位数4为奇数(奇校验)。
- 停止位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1(高电平)。
- 空闲位:空闲时数据线为高电平状态,代表无数据传输。