一、串口概念
串行接口(Serial Interface) 简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。
串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
通常,串口用于传输ASCII数据。 通信使用3根线完成:(1)地线;(2)发送线;(3)接收线。由于串口通信是异步的,端口能够在一根线上发送数据的同时在另一根线上接收数据。 这种方式称为全双工传输。 其他线用于握手,但不是必须的。 串口通信最重要的参数是波特率、数据位、停止位和奇偶校验位。 对于两个进行通信的端口,这些参数必须匹配:
- 波特率是衡量通信速度的参数。它表示每秒钟传送的位数。
- 数据位是衡量通信中实际数据位的参数。 每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位。
- 停止位用于表示单个包的最后一位。
- 奇偶校验位是用于串口通信的一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。
二、RS-232
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。用途十分广泛,比如连接鼠标、打印机或者调制解调器,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。
RS-232特点
RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:
- 接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3—-15V;逻辑“0”:+3—+15V,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
- 传输速率较低,在异步传输时,比特率为20Kbps;因此在51CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
- 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
- 传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。
三、RS-422
RS-422 (EIA RS-422-A Standard)是Apple Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。
RS-422特性
RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。
RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。
RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。
四、RS-485
RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。 有了多个设备的能力,你可以使用单个RS-485串口建立设备网络。 由于出色抗噪和多点通讯能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。 RS-485是RS-422的扩展集,因此所有的RS-422设备可以被RS-485控制。RS-485可以用超过4000英尺的线进行串行通信。
RS-485特点
RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
针对RS-232-C的不足,新标准RS-485具有以下特点:
- RS-485的电气特性:逻辑“1”以两线间的电压差+2V~+6V表示,逻辑“0”以两线间的电压差-6V~-2V表示。接口信号电平比RS-232-C降低了,就不容易损坏接口电路芯片,且该电平与TTL电平兼容,刻方便与TTL电路连接。
- 数据最高传输速率为:10Mbps
- RS-485接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声性能好。
- RS-485接口的最大传输距离标准值4000英尺,实际上可达3000米。
- RS-232-C接口在总线上只允许连接一个收发器,即单站能力;而RS-485接口在总线上只允许连接多达128个收发器,即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立设备网络。
五、引脚功能
(一)RS-232引脚功能
针脚 | 简写 | 意义 |
---|---|---|
1 | DCD | 数据载波检测 |
2 | RXD | 串口数据输入 |
3 | TXD | 串口数据输出 |
4 | DTR | 数据终端就绪 |
5 | GND | 地线 |
6 | DSR | 数据发送就绪 |
7 | RTS | 发送请求 |
8 | CTS | 清除发送 |
9 | RI | 铃声指示 |
(二)RS-422和485引脚功能
针脚 | 简写 | 意义 |
---|---|---|
1 | TXD- | 串口数据输出(差分) |
2 | TXD+ | 串口数据输出(差分) |
3 | RTS- | 发送请求(差分) |
4 | RTS+ | 发送请求(差分) |
5 | GND | 地线 |
6 | RXD- | 串口数据输入(差分) |
7 | RXD+ | 串口数据输入(差分) |
8 | CTS- | 清除发送(差分) |
9 | CTS+ | 清除发送(差分) |
六、RS-232/RS-422/RS-485三者间的区别
标准 | RS-232 | RS-422 | RS-485 |
---|---|---|---|
工作模式 | 单端 | 差分 | 差分 |
单根线上的驱动器/接收器数 | 1个驱动器,1个接收器 | 1个驱动器,10个接收器 | 32个驱动器,32个接收器 |
最大缆线长度 | 50 ft (2500 pF) | 4000 ft | 4000 ft |
最大数据速率(最大线缆长度时) | 160 kb/s(最高可达1 Mb/s) | 10 Mb/s | 10 Mb/s |
七、参考资料
RS-232、RS-422、RS-485串口通信基本概念
一文读懂RS-232与RS-422及RS-485三者之间的特性与区别
工程师详解串口:RS-232、RS-422、RS-485之间的区别