目录
一.引言
RS-232、RS-422和RS-485是用于串行数据传输的标准。它们在不同的应用场景中具有不同的特点和用途。
首先,RS-232是最常见和广泛使用的串行通信标准。它适用于短距离通信(通常在50英尺以内)和低速传输(最高传输速率为115.2 kbps)。RS-232接口通常用于连接计算机与外部设备,如调制解调器、打印机和串口设备等。该标准使用单端传输方式,即数据通过一条信号线进行传输。然而,由于RS-232信号电平较高,对于长距离传输和抗干扰能力要求较高的环境可能不太适用。
其次,RS-422是一种差分传输的串行通信标准。它适用于中距离通信(可达4000英尺)和中等速度传输(最高传输速率为10 Mbps)。RS-422接口涉及两对信号线(正负极性),其中一对用于发送数据,另一对用于接收数据。这种差分传输方式使得RS-422在抗干扰能力方面比RS-232更强大,适用于工业控制系统和长距离通信。
第三,RS-485也是一种差分传输的串行通信标准。与RS-422类似,RS-485适用于中距离通信和高速传输(最高传输速率可达10 Mbps)。然而,RS-485具有更强大的驱动能力和多点通信能力,可以支持多个设备通过同一总线进行通信。这使得RS-485广泛应用于工业自动化、楼宇自控系统、安防系统等需要远距离通信和多点连接的场景。
在选择使用哪种串行标准时,需要考虑以下几个因素:
- 通信距离:如果需要长距离通信,RS-422和RS-485可能更适合。
- 传输速率:如果需要高速传输,RS-422和RS-485都可以满足要求。
- 环境干扰:如果工作环境存在较强的干扰,RS-422和RS-485的抗干扰能力会更好。
- 设备兼容性:根据需要连接的设备接口类型,选择相应的标准。
二.RS-232电气指标和典型连接
RS-232链路最初是为了支持IBM PC上的调制解调器和打印机应用而设计的。然而,如今这个标准已经发展成支持各种外设与PC之间的通信。RS-232标准被定义为单端标准,可用于提高串行通信距离,但传输速率较低(一般小于20kbps)。多年来,这个标准经历了多次变化,以支持更快的驱动器,例如MAX3225E。该器件能够实现1Mbps的数据传输速率。为了兼容RS-232,像MAX3225E这样的收发器必须满足特定的电气指标,这些指标在表1中列出。通过典型连接示意图(图1),我们可以看到硬件握手被用来控制数据流。
表一
图1
典型的RS-232信号(见图2,CH1)在振荡范围上具有正负极性。请注意左侧坐标轴上0V刻度的相对位置。尽管RS-232数据是反相的,但通过TTL/CMOS到RS-232的转换以及再次返回至TTL/CMOS可以恢复数据的原始极性。RS-232的典型传输距离很少超过100英尺。这主要由于两个原因:首先,发送电平(±5V)和接收电平(±3V)之间的差异只允许有2V的共模抑制;其次,较长的电缆会增加分布电容,可能会超过最大规定负载(2500pF),从而降低摆率。由于RS-232被设计为点对点接口而不是多节点接口,因此其驱动器的特性是针对3kΩ至7kΩ的单个负载。因此,多节点接口应用通常采用菊链连接的方式(见图3)。
图2
图3
三.失效保护
确定是否需要端接电阻只是在实现RS-485系统时面临的问题之一。通常情况下,如果A比B大于200mV或更多,RS-485接收器将输出为“1”;如果B比A大于200mV或更多,接收器将输出为“0”。在半双工的RS-485网络中,主机发送器向从机发送消息后,将总线置于三态。因此,如果没有信号驱动总线,接收器的输出状态将不确定,因为A和B之间的差异趋近于0V。如果接收器的输出RO为“0”,从机将解释为新的起始位,并尝试读取随后的字节。由于停止位未发生,结果就是帧错误。总线处于无主状态,网络停止传输。
不幸的是,对于0V差分输入,在不同芯片的测试中可能会产生不同的输出信号。原型可能正常工作,但特定节点在生产测试中却失败。为了解决这个问题,可以使用偏置电路来对总线进行偏置,如图7所示的多节点/失效保护端接。通过偏置总线,确保在总线处于三态时,接收器的输出保持为“1”。或者,您也可以使用“真失效保护”接收器,例如MAX3080(5V)和MAX3070(3V)系列产品。这些器件将接收器的阈值设置为-50mV,确保当差分输入为0V时,RO输出仍然为“1”。
四.RS-232/RS-485协议转换器
MAX3162是一款独特的器件,它集成了RS-232和RS-485的接收器和发送器。这个多功能芯片能够在单个集成电路中支持RS-232和RS-485信号之间的双向转换。在图8所示的电路中,MAX3162被配置为在点对点应用中实现RS-232和RS-485信号的双向转换。
这个器件的特殊之处在于它能够同时处理不同的串行通信标准,并提供了广泛的通信范围。它能够将RS-232和RS-485之间的信号进行有效的转换,使得在点对点应用中的通信更加灵活可靠。
通过使用MAX3162,用户可以将RS-232和RS-485设备连接在一起,并实现双向通信。无论是需要使用RS-232还是RS-485的设备,都可以轻松地与这个芯片进行连接和通信。
总之,MAX3162是一个功能强大的芯片,能够在单片IC中集成RS-232和RS-485的接收器和发送器。它的独特设计和广泛的通信范围使其在点对点应用中实现RS-232和RS-485信号的双向转换非常方便和高效。
图8
图9展示了MAX3162作为RS-232/RS-485多节点协议转换器的配置。转换方向由RTS信号R1IN控制。单端RS-232接收器输入信号被转换为差分RS-485发送器输出;同样地,差分RS-485接收器输入信号被转换为单端RS-232发送器输出。通过R2IN接收的RS-232数据以RS-485信号的形式通过Z和Y线发送;通过A和B线接收的RS-485信号以RS-232信号的形式通过T1OUT线发送。
RTS线是一个共用线,用于控制RS-485收发器在RS-232端口上的总线方向。在图9中,它控制RS-485收发器是作为发送器还是接收器。需要注意的是,除非系统监测RS-485驱动器的输入DI,否则无法确定UART发送缓冲器中的数据字节是否已发送。因此,系统必须允许固定的延迟或主动监测DI输入,然后使用DE输入来改变总线方向。
除了使用RTS进行方向控制之外,还有其他的方向控制技术。其中一种方法是使用微控制器,另一种方法是利用数据驱动DE输入,并同时轮询A-B线的电压差(通过将A线连接到5V并将B线连接到地通过上拉和下拉电阻来实现)。这些电阻的值会随着电缆电容的变化而变化,但典型值为1kΩ。
图9
五.端口供电器件
许多RS-232至RS-485转换器采用了"端口供电转换器"的方式,这意味着它们通过RS-232 RTS线(或者有时是RTS和CTS(DTR)线的组合)为RS-485设备提供电源。然而,由于RS-232端口可提供的功率有限,当一个端口供电转换器与大约100个RS-485设备配合使用时,可能无法达到RS-485所需的启动电压。尽管如此,较低的接收器门限(200mV)仍然提供了足够的误差裕量。这种技术在线路较短且A-B设备之间没有端接电阻的系统中得到了广泛应用。
换句话说,端口供电转换器利用RS-232端口提供的电力来驱动RS-485设备。然而,由于RS-232端口供电的能力有限,当需要连接大量RS-485设备时,可能会出现供电不足的情况。尽管如此,由于RS-485接收器具有较低的门限电平(仅为200mV),可以容忍一定的信号损失。因此,在线路较短且没有额外端接电阻的系统中,这种技术仍然被广泛使用。
需要注意的是,当使用端口供电转换器时,应评估RS-232端口的功率限制,并确保所需的RS-485设备数不超过其提供的供电能力。如果需要连接更多设备,可能需要采用其他供电方案,如独立电源或外部电源适配器。
六.热插拔
当将电路板插入正在运行或带有电流的背板时,可能会发生对数据总线的差分干扰,导致数据错误。在插入电路板时,数据通信处理器首先经历上电序列。在此过程中,处理器的逻辑输出驱动器处于高阻态,不能正确驱动MAX3060E/MAX3080E芯片的DE和/RE输入至指定的逻辑电平。当处理器的逻辑驱动器处于高阻态时,其漏电流高达±10mA,这可能导致收发器的标准CMOS使能输入发生漂移,处于不正确的逻辑电平状态。此外,电路板上的寄生电容可能会导致VCC或GND与使能输入之间出现耦合。如果系统不支持热插拔,这些因素可能错误地使收发器的驱动器或接收器处于使能状态。
简言之,当将电路板插入正在运行或带有电流的背板时,由于处理器逻辑输出驱动器处于高阻态以及电路板上的寄生电容,可能会导致收发器的使能输入发生漂移并处于错误的逻辑电平状态。这可能会造成数据传输错误。因此,在进行热插拔操作时,需要特别注意这些潜在的问题,并采取适当的措施来确保正常的数据通信。