一、简介
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。串口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器。USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。
二、串口通信接口标准
1.RS232
RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,该标准规定采用25脚的DB-25连接器,并且对连接器的每个引脚信号的内容和电平都做了规定。其规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。选用该电气标准的目的在于提高抗干扰能力,增大通信距离。RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。
后来,IBM公司生产的PC将RS232简化成了9脚的DB-9连接器,并随着PC的流行而成为事实上的标准。DB-25与DB-9连接器对比如下图。
DB-9信号线说明
在目前的其它工业控制使用的串口通讯中,一般只使用 RXD、TXD 、 GND三条信号线,直接传输数据信号,而 RTS、CTS、DSR、DTR 及 DCD 信号都被裁剪掉了。
并且常见的电子电路中常使用 TTL 的电平标准。
RS232接口标准由于出现较早,因此在使用时存在以下不足:
(1)接口信号电平值较高,易损坏接口电路的驱动芯片
(2)传输速率较低,异步传输时最大传输速率为20kbit/s
(3)信号线采用共地的传输形式,容易产生共模干扰,所以抗干扰性能弱
(4)传输距离有限
(5)只允许两个节点,不具体多点通信能力
针对RS232的不足,一些新的串行接口标准应运而生,RS485就是其中应用较为广泛的一种。
2.RS485
RS485接口标准是差分信号进行数据传输,具有较强的抗干扰能力,支持多个节点和远距离通信,数据接收灵敏性也较高。RS485接口采用平衡驱动器和差分接收器组合,因此具有抑制共模干扰的能力。同时,RS485总线收接发器具有较高的灵敏度,能检测低至200mV的电压,故信号传输距离可达上千米。RS485串行通信主要特点如下:
(1)当信号间的电压差为+2 ~ +6V时,表示逻辑1;当信号间的电压差为-6 ~ -2V时,表示逻辑0.由此可见RS485接口信号的电平比RS232低,因而不容易损坏接口电路的驱动芯片,且电平与TTL电平兼容。
(2)数据的最高传输速率为10Mbit/s。
(3)抗共模干扰能力强,抗噪声音性好。
(4)最大传输距离约1200m,通过继电器可达3000m左右。
(5)RS485采用半双工的通信方式,连接线采用总线型拓扑结构,允许在总线上连接多个收发器,具有多点通信能力。一般情况下允许32个节点,特制的RS485驱动芯片采用128或256个节点。
三、协议层
串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据,如下图: