自从USB接口问世以来,串口设备以及计算机主机上设置的串行端口均有减少,但工业联网环境或商业项目上仍然对串行接口广泛使用。今天使用了数十个串行数据接口。大多数已针对特定应用开发。一些已经成为普遍,如I2C、CAN、LIN、SPI、软硬、MOST、I2S。有以太网、HDMI和迅雷等更高速度的串行接口。最经典的两个接口是RS232和RS485。这些流传已久的以太网接口之所以被一直使用,必然是有存在的价值。那么就研究一下RS485和RS232原理是什么?区别是什么?什么价值能让它们经久不衰呢?
串行接口的整个目的是为无线或通过电缆的数据传输提供单一路径。在某些应用中仍使用并行总线。但是对于当今如此普遍的高速数据,串口服务器是在大于几公里的任何距离上进行稳定通信的首要实用选择。
串行接口可用于提供从发送器到接收器的标准化逻辑级别、定义传输介质和连接器,以及指定时序和数据速率。在某些情况下,他们可以执行串行到并行和并行到串行转换,或者指定基本数据协议。
逻辑级别、介质和连接器的定义是物理层(PHY)或开放系统互连(OSI)网络模型的第1层的一部分。诸如数据处理之类的任何其他功能都是OSI模型的媒体访问控制(MAC)层或第2层的一部分。
RS232串口
最古老的串行接口之一通常称为RS232。它最初成立于1962年,是一种将数据终端设备(DTE)(例如机电式电传打字机)连接到数据通信设备(DCE)的方法。多年来,它的使用包括连接到视频终端、计算机和调制解调器。第一台个人计算机包括一个称为串行端口的RS232,用于连接打印机或其他外围设备。今天,它仍然广泛用于嵌入式计算机开发系统、科学仪器以及各种工业控制设备中。
该标准的正式名称是电子工业协会/电信工业协会EIA / TIA-232-F。字母F表示最新的标准修改和更新。该标准基本上与国际电信联盟–电信(ITU-T)规范V.24和V.28相同。
该标准将逻辑1和–3至–25 V之间的电压以及逻辑0定义为+3至+ 25 V之间的电压电平(图1)。信号电平通常被称为逻辑1的标记和逻辑0的间隔。±3 V之间的电压无效,从而为接口提供了巨大的噪声容限。此范围内的噪声电压被拒绝。在通常的实践中,逻辑0和1电平通常低至±5 V,高至±12或±15V。发送器和接收器配置为单端(非差分),具有接地基准。
1.电压电平定义逻辑1或标记以及逻辑0或空格字符。±3 V之间的电压无效。
电缆介质可以是简单的平行线或双绞线。电缆的长度决定了较高的数据速率,通常不应超过50英尺。但是,在数据速率较低的情况下,可以使用更长的电缆长度。今天的主要目标是使用电线之间的电容不超过2500 pF的电缆。这将上限数据速率限制为大约20 kbits / s。由于此接口使用的低速数据速率,通常不会将电缆视为正式的传输线。传输线需要匹配的发生器阻抗和负载阻抗,以消除引起数据损坏的反射。
该标准定义了一个称为DB-25的25针连接器,该连接器旨在承载各种控制线以及串行数据发送和接收线。这种连接器如今很少使用。取而代之的是,定义了一个称为DE-9的9针连接器,如今已成为事实上的标准(图2)。
2.流行的DB9连接器承载所示信号。这些数字是连接器上的引脚号。
最初,机电设备的数据速率非常慢。最低速率通常为75位/秒,但通常为150和300位/秒。如今,数据速率由接口所使用的协议定义,范围高达115.2 kbit / s。典型的数据速率是1200、2400、4800、9600、19,200、38,400和115,200比特/秒。数据速率受最大允许压摆率30 V / µs(伏特/微秒)的限制。对于短的低电容电缆,使用适当的驱动器,数据速率可以高达每秒几兆比特。
许多RS-232连接是单向或单工的。但是,使用可用的特殊信号和控制电压,可以进行双向或半双工操作。两个连接的设备交替进行发送和接收操作。
接口中的控制信号定义了用于发送和接收数据的协议。这些信号告诉两个通信设备何时繁忙,正在发送,已准备就绪和正在接收。发送设备是DTE(例如计算机),接收设备是DCE(例如打印机)。公用九针连接器上使用的控制信号是:
数据载体检测(DCD):DCE告知DTE它正在接收有效的输入信号。
数据集准备就绪(DSR):DCE告知DTE它已连接并准备接收。
接收数据(RD):这是从DTE接收到的实际信号。
发送请求(RTS):来自DTE的此信号告诉DCE准备发送。
发送数据(TD):这是DTE发送的信号。
清除发送(CTS):DCE上的此行告诉DTE它已准备好接收数据。
数据终端就绪(DTR):这条线从DTE到DCE,表明已准备好发送或接收数据。
振铃指示器(RI):这条线用于较旧的调制解调器连接中,但不再使用。
信号接地:这是所有信号的公共接地。
3.这是DTE和DCE设备之间的常用连接。注意电缆从一个连接器到另一连接器的连接。
尽管不是RS-232标准的正式组成部分,但大多数使用该接口的串行设备也使用所谓的通用异步接收器发送器(UART)。该IC通常与线路驱动器和接收器电路分开,实现一种基本通信协议,该协议每次最多传输8位。它执行串行到并行和并行到串行的转换,添加开始和停止位以表示数据字的开始和结束,奇偶校验位错误检测以及数据速率的建立。
数据通常是ASCII字符,但是最多可以传输8位的任何数据字(图4)。UART通常可以配置为处理不同的字长(5至8位),添加1、1.5或2个停止位,并包括奇数,偶数或无奇偶校验位。数据速率从75位/秒到115.2 kbit / s是可选的。
RS-485
也由EIA / TIA标准定义,此接口现在称为TIA-485。它不仅定义了单个设备到设备的接口,而且定义了可用于形成多个设备的简单网络的通信总线。它的配置和规格还扩展了RS-232接口功能之外的范围和数据速率。
RS-485标准规定了两条线路上的差分信号,而不是参考电压为接地的单端。逻辑1的电平大于–200 mV,逻辑0的电平大于+200 mV。来自线路驱动器的典型线路电压电平最低为±1.5 V,最高约为±6V。接收器输入灵敏度为±200 mV。±200 mV范围内的噪声基本上被阻止。差分格式产生有效的共模噪声消除。
标准传输介质是#22或#24 AWG实心线的双绞线电缆。最少两线,但可以使用第三根参考线。如果需要全双工操作,也可以使用四线电缆。电缆可以是屏蔽的也可以是非屏蔽的,最常见的是非屏蔽的。电缆被视为传输线。标称特性阻抗为100或120Ω。需要使用端接负载电阻器来确保匹配的线路状况,以防止反射引入数据错误。
该标准未定义特定的连接器。已经使用了各种连接方法,包括RS-232 DE-9连接器。简单的螺钉端子连接在某些类型的工业控制设备中很常见。
电缆长度定义了较高的数据速率。但是由于较低的逻辑电压电平和差分连接,取决于电缆长度,数据速率可能会超过10 Mbits / s。通常将最大电缆长度定义为1200米或约4000英尺。4000英尺处的典型最大数据速率为100 kbits / s。一般准则是,以米为单位的线路长度与以每秒比特数为单位的数据速率之积不应超过10 8。例如,一条20米长的电缆将允许5 Mbit / s的最大数据速率。
RS-485接口可通过单对电缆以半双工的单工模式使用。可以使用两对电缆实现全双工或同时发送和接收操作。常见的配置是具有多个分支或连接的总线网络。该标准规定了最多32个驱动器(发送器)和32个接收器(图5)。不传输时,线路驱动器与线路断开连接。所有接收器均已完全连接,并且总线端接有负载匹配电阻。
5.这是典型的TIA-485差分总线的表示,其中显示了各个驱动器(D)和接收器(R)以及收发器。注意总线终端电阻的末端。
该标准尚未定义特定的通信协议。有时会使用标准UART协议。大多数应用程序定义了唯一的协议。
接口变化
在实践中偶尔会发现这两个标准的几种变体。RS-422是RS-485的变体,具有类似的规格,但仅设计用于一个驱动器和最多10个接收器。逻辑电平范围为±2到±6V。RS-423是RS-422的单端而不是差分版本。否则,其他规格类似于RS-485接口。