串口通信接口标准
RS232、RS422、R485
目录
串口通信接口标准 4
1 RS232 4
1.1 引言 4
1.2 协议原理 4
1.3 电平标准 5
1.4 应用场景 5
1.5 优缺点 6
1.5.1 优点 6
1.5.2 缺点 6
2 RS422 7
2.1 背景介绍 7
2.2 协议原理 7
2.2.1 差分信号传输 7
2.2.2 电平标准 8
2.3 应用场景 8
3 RS485 9
3.1 发展背景 9
3.2 协议原理 9
3.3 电平标准 9
3.4 应用场景 10
4 总结 10
图 1 RS232通信协议数据帧 4
图 2 RS232 9线引脚图 4
图 3 RS232传输示意图 5
图 4 RS232应用场景 6
图 5 差分传输示意图 7
图 6 RS422接线示意图 8
图 7 RS485接线示意图 9
RS232
引言
RS232(Recommended Standard 232)是电子工业协会(EIA)在1960年代早期制定的一种串行通信接口标准,旨在规范数据终端设备(DTE)与数据通信设备(DCE)之间的连接和通信方式。RS232经历了多个版本的迭代和发展,最著名的版本之一是RS-232C,成为了广泛接受的标准。
协议原理
RS232工作原理基于异步串行通信,数据以比特(bit)的形式逐位传输。RS232标准定义了25根线,通常通过DB25接口连接。然而,在实际应用中,更常见的是使用DB9串口接头,其中仅需3条至9条信号线(了解)即可实现全双工通信。特别是,仅需三条基本信号线:接收线(RXD)、发送线(TXD)和地线(GND),就能完成简单的全双工通信过程。
如图1所示,其数据传输的过程包括起始位、数据位(5~8)、奇偶校验位和停止位。
数据终端准备好(DTR):DTR信号用于指示数据终端设备(如计算机)已准备好进行通信。
数据设备准备好(DSR):DSR信号用于指示数据通信设备(如调制解调器)已准备好进行通信。
请求发送(RTS):RTS信号用于请求发送数据。它由数据终端设备发送,表示它希望发送数据。
清除发送(CTS):CTS信号用于清除发送数据。它由数据通信设备发送,表示它已准备好接收数据。
数据载波检测(DCD):DCD信号用于检测数据载波。它由数据通信设备发送,表示它已检测到数据载波。
发送数据(TXD):TXD信号用于发送数据。它由数据终端设备发送,表示实际的数据流。
接收数据(RXD):RXD信号用于接收数据。它由数据通信设备接收,表示实际的数据流。
振铃指示引脚(RI):它的主要作用是当调制解调器接收到电话线路的振铃信号时,RI引脚会被激活,向连接的设备(如计算机)发出信号,表示有电话呼叫进来
电平标准
RS232使用电压水平来表示二进制数据。逻辑“1”通常由负电压表示(范围大约是-3V到-15V),而逻辑“0”则由正电压表示(范围大约是+3V到+15V)。这种表示方式被称为单端信号,如下图所示。
应用场景
RS-232协议在多个领域有广泛应用,以下是一些常见的应用场景:
- 计算机与调制解调器通信:这是RS-232协议最初的应用场景。通过RS-232接口,计算机可以与调制解调器通信,实现数据的远程传输。
- 工业自动化:在工业自动化领域,RS-232协议用于连接各种设备,如PLC、传感器、执行器等。它的稳定性和可靠性使其成为工业通信的首选。
- 医疗设备:医疗设备对数据传输的可靠性要求极高,RS-232协议在医疗设备之间的数据传输中得到了广泛应用,如心电图机、血压计等。
- 消费电子:在消费电子领域,RS-232协议用于连接各种设备,如电视、音响、游戏机等。它的简单性和兼容性使其成为消费电子通信的理想选择。
- 嵌入式系统开发:在嵌入式系统开发中,RS-232协议用于调试和通信。开发者可以通过RS-232接口与嵌入式设备通信,进行调试和数据传输。
优缺点
优点
- 简单易用:RS-232协议的工作原理简单,易于理解和实现。它的硬件和软件实现都相对简单,适合初学者和小型项目。
- 低成本:RS-232接口的硬件成本低,适合大规模生产和应用。它的电路设计简单,制造成本低。
缺点
- RS-232协议的传输速率相对较低,最高仅为115.2kbps。
- RS-232协议的传输距离有限,最长仅为15米。超过这个距离,信号会衰减。
- RS-232协议只支持点对点通信,无法实现多设备之间的通信。
RS422
背景介绍
RS232虽然在短距离内表现良好,但其单端信号传输方式限制了它的有效传输距离,并使其容易受到电磁干扰的影响。RS422标准是在这样的背景下发展起来的,旨在通过使用差分信号传输来提高数据传输的可靠性和距离,同时其传输速度最高可达高达10Mbps的传输速率。差分信号能够更好地抵抗共模噪声,这使得RS422非常适合于工业环境等噪声较大的场合。
协议原理
差分信号传输
RS422采用一对双绞线来传输每个信号,一条用于正相(+),另一条用于反相(-)。当发送逻辑“1”时,正相信号线上的电压会比负相信号高出一个特定值;由于使用差分信号,RS422能够有效地抵抗共模干扰,即两条线路上同时受到相同方向的干扰信号影响时,接收器只关心两者之间的电压差异,从而减少甚至消除这种干扰对信号的影响,因此其传输距离最高可达1200 m。
RS422协议通常是一个四线制接口标准,设计用于支持全双工通信。这意味着它使用四根导线来完成数据的发送和接收:两根用于发送(Tx+ 、 Tx-)和两根用于接收(Rx+ 、 Rx-)。S422最常以四线制的形式出现,用于实现全双工通信,但在某些特定的应用场景中,也可以配置为二线制以实现半双工通信,即通过同一对差分线进行数据的发送和接收,但不能同时进行,但此方式不常见。
电平标准
在RS422中,逻辑状态通过一对导线上的电压差来表示。对于逻辑“1”(标记),正相(A或D+)线上的电压相对于负相(B或D-)线上的电压更高;而对于逻辑“0”(空格),情况则相反。理想情况下,当发送逻辑“1”时,正相线路相对于负相线路会有+5V到+12V的电压差;发送逻辑“0”时,则为-5V到-12V的电压差。
为了防止信号反射和保证信号完整性,RS422通信链路通常需要在接收端添加匹配的终端电阻。在点对点连接中,终端电阻通常只在接收端添加;
应用场景
- 工业自动:PLC通信:西门子S7系列PLC通过RS-422连接HMI(人机界面)。传感器网络:高精度温度/压力传感器在嘈杂工业环境中传输数据。
- 专业音视频设备:广播系统:专业摄像机与导播台间传输未压缩视频信号(如SMPTE 292M)。舞台灯光控制:DMX512协议基于RS-422控制灯光设备。
- 航空航天与国防:机载通信:飞机航电系统(如黑匣子数据记录器)通过RS-422传输关键数据。雷达系统:雷达信号处理单元与显示终端的长距离连接。
- 医疗设备:医学成像:MRI或CT设备传输高分辨率图像数据至工作站。患者监护仪:多参数监护仪与中央监控系统实时通信。
- 安防与监控:视频监控:CCTV摄像头通过RS-422传输云台控制信号(PTZ控制)。门禁系统:长距离读卡器与主控板通信。
RS485
发展背景
RS232的最大传输距离通常只有15米,而工业场景中设备可能分散在较大的区域内,需要更长的通信距离。RS485通过差分信号传输,支持最长1200米的通信距离和高达10 Mbps的数据传输速率。RS232接口在总线上只允许连接一个收发器,而RS485支持多设备连接,最多可连接128个甚至更多的设备,这使得RS485非常适合构建设备网络。
协议原理
由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进, 无论四线还是二线连接方式总线上可多接到32个设备。
电平标准
RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间,RS-485接收器最小输入阻抗为12k,RS-422是4k。RS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。
逻辑1(正逻辑电平):当A线相对于B线的电压为正值时,即A-B > +200mV,这代表一个逻辑高电平(逻辑1)。在实际应用中,这个值通常是+2V到+6V之间。
逻辑0(负逻辑电平):当A线相对于B线的电压为负值时,即A-B < -200mV,这代表一个逻辑低电平(逻辑0)。在实际应用中,这个值通常是-2V到-6V之间
在长距离传输时,为了减少信号反射,通常会在RS485网络的两端添加120欧姆的终端电阻。这是因为RS485电缆的特性阻抗一般为120Ω
应用场景
适用于多主机/驱动器工业环境。其典型应用与RS-422相似,包括:过程自动化(化工、酿造、造纸)、工厂自动化(汽车制造、金属加工)、HVAC、安防、电机控制、运动控制。
总结
RS-232、RS-422和RS-485电气参数对比如下表所示:
表 1 RS-232、RS-422和RS-485电气参数对比表
RS232 | RS422 | R485 | |
工作方式 | 单端 | 差分 | 差分 |
节点数 | 1收、1发 | 1发10收 | 1发32收 |
最大传输电缆长度 | 50英尺 | 4000英尺 | 4000英尺 |
最大传输速率 | 20Kb/s | 10Mb/s | 10Mb/s |
最大驱动输出电压 | ±25V | -0.25V~+6V | -7V~+12V |
驱动器输出信号电平(负 载最小值) | +5V~±15V | ±2.0V | +1.5V |
驱动器输出信号电平(空 载最大值) | 土25V | +6V | ±6V |
驱动器负载阻抗 | 3K~7K2 | 1002 | 542 |
摆率(最大值) | 30V/μs | N/A | N/A |
接收器输入电压范围 | ±15V | -10V~+10V | -7V~+12V |
接收器输入门限 | +3V | +200mV | ±200mV |
接收器输入电阻 | 3K~7K2 | 4K2(最小) | 212K0 |
驱动器共模电压 | N/A | 3V~+3V | -1V~+3V |
接收器共模电压 | N/A | 7V~+7V | -7V~+12V |
RS-232、RS-422和RS-485电平对比:
发送电平 | 接收电平 | 备注 | |
RS-232 | 逻辑1=-5~-15V 逻辑0=+5~+15V | 逻辑1=-3~-12V逻辑0=+3~+12V | 负逻辑 |
RS-422 | 逻辑1=+2~+6V 逻辑0=-2~-6V | 逻辑1=AB之间大于+200mV 逻辑0=AB之间小于-200mV | 正逻辑 |
RS-485 | 逻辑1=+2~+6V 逻辑0=-2~-6V | 逻辑1=AB之间大于+200mV 逻辑0=AB之间小于-200mV | 正逻辑 |