RS232 协议及其工作原理
在 RS232 中,“RS”代表推荐标准。它定义了使用 DTE 和 DCE 信号的串行通信。
从历史上看,RS232 通信协议是 EIA(电子工业联盟)/TIA(电信工业协会)-232 在 1962 年开发的旧串行通信协议。现代硬件设计使用创新的串行通信协议,如 USB、以太网和 Wi-Fi . 但是,RS232 已被证明是突出的。原因是,与 I2C 和串行 TTL 信号相比,RS232 信号传播的距离更长。此外,它具有更好的抗噪能力。它被证明在不同制造商之间兼容,用于连接计算机和调制解调器。
什么是 RS232 协议?
在 RS232 中,“RS”代表推荐标准。它定义了使用 DTE 和 DCE 信号的串行通信。这里,DTE 是指数据终端设备,DCE 是指数据通信设备。DTE 设备的示例是计算机,DCE 是调制解调器。形式上,它被指定为 DTE 设备和 DCE 设备之间使用串行二进制数据交换的接口。
DTE(计算机)将信息串行传输到另一端设备 DCE(调制解调器)。在这种情况下,DTE 向 DCE 发送二进制数据“11011101”,DCE 向 DTE 设备发送二进制数据“11010101”。
RS232 描述了从 DTE 到 DCE 传输的通用电压电平、电气标准、操作模式和位数。该标准用于通过电话线路传输信息交换。
电气标准
RS232 的电气规范于 1969 年更新。它指定了电压、转换速率、线路阻抗、操作模式和波特率。
电压等级
RS232 的线电压范围为 -25V 至 +25V。它们分为信号电压和控制电压。
+3V 到+25V 之间的信号电压代表逻辑“1”,-3V 到-25V 之间的信号电压代表逻辑“0”。而控制电压信号使用负逻辑,即逻辑“1”表示-3至-25伏,逻辑“0”表示+3V至+25V。从-3V 到+3V 的电压被认为是一个不确定的状态。
转换速率
输入电压的变化决定了RS232 驱动器的响应速率。这通常被称为转换率。RS232 标准通过缓慢的上升和下降时间保持最小压摆率,以减少相邻信号之间的串扰。通常,允许的最大转换速率为 30V/µsec。
线路阻抗
RS232 驱动器和接收器之间的阻抗桥接被定义为最大化发射器和接收器之间的电压传输。它在 3KΩ 到 7KΩ 的范围内。
操作模式
RS232 设备使用单端信号(两线)。这意味着一根电线传输变化的电压,另一根电线接地。单端信号受到驱动器和接收器电路接地电压差异引起的噪声的影响。单端技术的优点是,它需要更少的电线来传输信息。
波特率
它是每秒传输的二进制位数。RS232 支持的波特率从 110 到 230400。通常使用 1200、4800、9600、115200 的波特率。它决定了数据从发送器发送到接收器的速度。
注意:发送端和接收端的波特率必须相同。
通讯接口
RS232 使用 DB9 和 DB25 连接器确定 DTE 和 DCE 之间的通信。D-sub 连接器(DB9、DB25)带有公母电缆。DB9 连接器有 9 针,DB25 连接器有 25 针,每个针都有自己的功能。
功能说明
除了电气特性外,RS232 还定义了串行接口中使用的信号的功能。其中一些是公共接地、数据、控制和定时信号。这是 RS232 引脚分配中使用的信号列表。
除上述信号外,(一次信号)RS232还提供二次信号,如二次DTE、二次RTS、二次DCD、二次TxD和二次RxD,用于DTE和DCE的可选连接。
串行电缆的类型
为了使DTE 和 DCE 之间的串行通信成为可能,存在两种类型的 RS232 电缆。它们是零调制解调器和直电缆。在零调制解调器电缆中,公头连接器的 TX(发送器)引脚与母头的 RX(接收器)引脚相连,公头的 RX 引脚连接到母头的 TX 引脚。
下一个是直通电缆。顾名思义,它是一对一的连接器,即一个设备的发送引脚连接到另一个设备的发送引脚,一个设备的接收器引脚连接到另一个设备的接收器引脚。除连接外,电缆长度还取决于接线电容。根据规范,电缆长度接近 80 英尺。
RS232 通信如何工作?
RS-232 的工作方式可以通过协议格式来理解。由于 RS-232 是一种点对点的异步通信协议,它以单一方向发送数据。在这里,同步发送器和接收器不需要时钟。数据格式以起始位开始,随后是 7 位二进制数据、奇偶校验位和停止位,依次发送。
协议格式
发送以发送起始位“0”开始。随后是 7 位 ASCII 数据。奇偶校验位附加到此数据以进行接收器验证。从发送器发送的数据应该在接收器匹配。最后,使用停止位停止传输,并由二进制“1”表示。一般可以发送 1 或 2 个停止位。
在上图中,ASCII 字符“A”是使用“1”和“0”的串行二进制流发送的。在发送数据时,每个位之间应该有一定的延迟。此延迟被视为无效时间,RS232 线处于负逻辑状态 (-12V)。
什么是握手?
握手是发送者(发送者)和接收者之间交换信息信号的过程。这些信号在发射器和接收器之间建立了通信链路。在 RS232 中,有两种类型的握手。它们是硬件握手和软件握手。
连接器 DB9 和 Db25 用于握手目的。当不执行握手时,只有 TxD(发送器)和 RxD 交叉耦合。其他引脚 RTS、CTS、DSR 和 DTR 以环回方式连接。
为了使用握手技术,RTS 和 CTS 是交叉耦合的。此外,DTR 和 DSR 也以交叉模式连接。
为什么要使用握手?
为了在不丢失数据的情况下发送和接收信息,有必要在发送器和接收器之间保持稳健的通信。为此,使用了缓冲区。缓冲区是一个临时存储位置,它允许发送器和接收器存储数据,直到信息被彼此以不同的速度处理。
在上图中,发送器和接收器都有自己的缓冲区。发送缓冲区保存要发送到接收器的字符。而接收缓冲区保存从发送器接收到的字符。如果发送器以更高的速度发送数据,则接收器可能无法接收。在这种情况下,接收方错过了字符“C”。为了避免这种情况,使用了握手。握手允许发送器和接收器设备在通信开始之前达成一致。
硬件握手
数据传输和接收的流控制是使用硬件握手来完成的。它使用控制信号 DTR、DSR、RTS 和 CTS 信号。通常,在计算机和调制解调器之间建立通信时,会使用 RTS 和 CTS 信号。
它停止在接收缓冲区中被替换的数据。信号保持在高电平状态(逻辑“1”)以激活握手。
软件握手
这种类型的握手使用两个 ASCII 字符进行启停通信。因此,这被称为软件流控制。软件握手使用 XON/XOFF 字符来控制串行通信。'XON' 表示 Ctrl+S 或 ASCII 字符 11,而 'XOFF' 表示 Ctrl+Q 或 ASCII 13。此握手需要 3 根线。它们是 TXD、RXD 和信号 GND。
当启用“XOFF”字符时,通信关闭,直到发射器接收到“XON”字符。在某些情况下,接收器缓冲区可能会过载,从而导致接收器自动向发送器发送“XOFF”。
握手如何工作?
在初始状态下,RTS 线被 DTE 拉高以唤醒 DCE。在这种状态下,不传输任何数据。之后,DCE 将 CTS 线置于高电平以接收数据。这使得 DTE 做出响应并将 DTR 设置为 HIGH 状态。现在,数据传输发生了。数据传输完成后,RTS 和 DTR 都被 DTE 拉低。然后,DCE 将 CTS 线触发到 LOW 状态。这将停止 DTE 传输数据。
通过这种方式,DTE 请求进行握手,控制通信链路并让 DCE 传输数据。
RS232和UART的区别
RS232 和UART协议的主要区别在于电压电平。除此之外,它们都支持半双工和全双工通信。
微控制器不能承受 RS232 电压,可能会损坏。为避免这种情况,使用了UART(通用异步发送器接收器)。它以串行形式发送和接收数据。为了进行电压的电平转换,在UART和串口之间使用了MAX232等RS232驱动IC。
好处
RS232的优点使其成为系统间通信的标准串行接口,并具有以下优点。
简单的协议设计。
硬件开销小于并行通信。
短距离应用的推荐标准。
兼容 DTE 和 DCE 通信。
用于开发的低成本协议。
缺点
RS232 协议的局限性在于,它不支持全双工通信,它是一种单端协议,会改变地电位。此外,较长的电缆长度会在串行通信期间引入串扰。因此,该协议仅限于长距离通信。
应用
RS232 通信用于不同的应用。他们之中有一些是:
电传打字机设备。
解调器应用。
PC COM 端口接口。
在嵌入式系统中进行调试。
调制解调器和打印机。
手持设备。
CNC控制器、软件调试器等
条码扫描仪和销售点 (POS) 终端。