从历史上看,RS232通信协议是由EIA(电子行业联盟)/ TIA(电信行业协会)-232在1962年开发的一种旧的串行通信协议。现代硬件设计使用创新的串行通信协议,例如USB,以太网和Wi-Fi 。但是,RS232仍然被证明是杰出的。原因是,与I2C和串行TTL信号相比,RS232信号传播的距离更长。而且,它具有更好的抗噪性。事实证明,它在连接计算机和调制解调器的不同制造商之间兼容。
内容 [显示]
在RS232中,“ RS”代表推荐标准。它使用DTE和DCE信号定义串行通信。在此,DTE指数据终端设备,DCE指数据通信设备。DTE设备的示例是计算机,DCE是调制解调器。正式地,它被指定为使用串行二进制数据交换的DTE设备和DCE设备之间的接口。
DTE(计算机)将信息串行传输到另一终端设备DCE(调制解调器)。在这种情况下,DTE将二进制数据“ 11011101”发送到DCE,而DCE将二进制数据“ 11010101”发送到DTE设备。
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引脚分配中使用的信号列表。
信号名称 | 功能 |
---|---|
保护地 | 该信号连接到金属连接器的机箱接地。 |
共同点 | 所有控制信号的零参考电压电平。 |
TxD(发送引脚) | 将数据从DTE传输到DCE。 |
RxD(接收引脚) | 将数据从DCE发送到DTE。 |
DTR(数据终端就绪) | DTE准备接受请求。 |
DCD(数据载体检测) | DCE接受位于远程位置的DTE的运营商。 |
DSR(数据集就绪) | DCE准备发送和接收信息。 |
RI(指环指示器) | 检测电话线上的来电铃声。 |
RTS(发送请求) | DTE要求DCE发送数据。 |
RTR(准备接收) | DTE已做好准备以接收来自DCE的数据。 |
CTS(清除发送) | DCE处于就绪状态,可以接受来自DTE的数据。 |
除上述信号外,(主要信号)RS232还提供了诸如次要DTE,次要RTS,次要DCD,次要TxD和次要RxD之类的次要信号,用于DTE和DCE的可选连接。
为了使DTE和DCE之间可以进行串行通信,存在两种类型的RS232电缆。它们是零调制解调器和直电缆。在空调制解调器电缆中,公头连接器的TX(发送器)引脚与母头的RX(接收器)引脚相连,公头的RX引脚连接到母头的TX引脚。
下一个是直通电缆。顾名思义,它是一对一的连接器,即一个设备的发送引脚连接到另一设备的发送引脚,一个设备的接收器引脚连接到另一设备的接收器引脚。除连接外,电缆长度还取决于接线电容。根据规范,电缆长度接近80英尺。
RS-232的工作可以通过协议格式来理解。由于RS-232是点对点异步通信协议,因此它在单个方向上发送数据。在此,不需要时钟来同步发送器和接收器。数据格式以起始位开始,然后依次发送7位二进制数据,奇偶校验位和停止位。
传输通过发送起始位“ 0”开始。随后是7位ASCII数据。该奇偶校验位被附加到这个数据用于接收器验证。从发送器发送的数据应在接收器处匹配。最后,使用停止位暂停传输,并用二进制“ 1”表示。通常,可以发送1或2个停止位。
在上图中,使用“ 1”和“ 0”的串行二进制流发送ASCII字符“ A”。发送数据时,每个位之间应有一定的延迟。该延迟被视为无效时间,并且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或ASCII13。此握手需要3条线。它们是TXD,RXD和信号GND。
启用“ XOFF”字符后,通信将关闭,直到变送器接收到“ XON”字符为止。在某些情况下,接收器缓冲区可能会过载,从而导致接收器自动向发送器发送“ XOFF”。
在初始状态下,DTE将RTS线拉高以唤醒DCE。在此状态下,不会传输任何数据。之后,DCE将CTS线置于高电平以接收数据。这使DTE做出响应并将DTR设置为HIGH状态。现在,进行数据传输。数据传输完成后,DTE将RTS和DTR均拉低。然后,DCE将CTS线触发到LOW状态。这将停止DTE传输数据。
这样,通过DTE请求进行握手,从而控制通信链路,并使DCE传输数据。
RS232和UART协议之间的主要区别是电压电平。除此之外,它们都支持半双工和全双工通信。
微控制器不能承受RS232电压,并且可能会损坏。为避免这种情况,使用了UART(通用异步发送器接收器)。它以串行形式发送和接收数据。为了进行电压的电平转换,在UART和串行端口之间使用了RS232驱动器IC,例如MAX232。
RS232的优点使其成为系统到系统通信的标准串行接口,并具有以下优点。
RS232协议的局限性在于,它不支持全双工通信,它是一种单端协议,可改变地电位。此外,较长的电缆长度会在串行通信期间引入串扰。因此,该协议仅限于长距离通信。
RS232通信用于不同的应用程序。他们之中有一些是: