通信协议 - 串口通信
串口通信算得上是单片机中最常用、最基础的一种通讯方式。常用可作为一种调试的手段,与单片机通讯监控数据、发送指令,也可以用作两个单片机之间互相通讯使用。串口通讯的物理层是 RS-232 与 TTL 标准。

协议层
并行和串行

单工、半双工和全双工

同步和异步

USART 和 UART

USART 是 UART 的升级版,区别在于多了 CLK 线,在 CLK 没有信号的时候,就表明没有数据传输任务,有 CLK 信号的时候,就是正在传输信号,并且 CLK 提供了时钟同步功能,效验也更精确。

RS-232 标准
RS-232 通信的物理层,是两个设备的 DB9 接口之间通过串口信号线建立起连接,串口信号线中使用 RS-232 电平传输数据信号。因为控制器一般使用的是 TTL 电平,所以需要专用的电平转换芯片才能实现通讯。

通讯标准 点平标准(发送端)
5vTTL 逻辑 0:0-0.5V;逻辑 1:2.4V-5V
RS-232 逻辑 0:+3V~+15V;逻辑 1:-15V-(-3V)

20220415102914

RS-232 协议一般使用 DB9 接口,计算机一般用公头接口(针),调制调解器设备中一般为母头(孔):

20220415103401

接口引脚定义:

引脚符号 名称 说明
DCD 载波检测 Data Carrier Detect,数据载波检测,用于 DTE 告知对方,本机是否收到对方的载波信号
RXD 接收数据 Receive Data,数据接收信号,即输入
TXD 发送数据 Transmit Data,数据发送信号,即输出。两个设备之间的 TXD 与 RXD 应交叉相连
DTR 数据终端(DTE)就绪 Data Terminal Ready,数据终端就绪,用于 DTE 向对方告知本机是否已准备好
GND 信号地 地线,两个通讯设备之间的地电位可能不一样,这会影响收发双方的电平信号,所以两个串口设备之间必须要使用地线连接,即共地
DSR 数据设备(DCE)就绪 Data Set Ready,数据发送就绪,用于 DCE 告知对方本机是否处于待命状态
RTS 请求发送 Request To Send,请求发送, DTE 请求 DCE 本设备向 DCE 端发送数据
CTS 允许发送 Clear To Send,允许发送,DCE 回应对方的 RTS 发送请求,告知对方是否可以发送数据
RI 响铃指示 Ring Indicator,响铃指示,表示 DCE 端与线路已接通

DB9 公头与母头的 TX/RX 相反,所以一般对接即可,等效于连接这几条信号线:
20220415103901

串口线中的 RTS、CTS、DSR、DTR 及 DCD 信号,使用逻辑 1 表示信号有效,逻辑 0 表示信号无效。

在实际使用中,有时候只保留 RXD、TXD 与 GND。

参考与致谢
-USART — 串口通讯

转载请注明出处