面对大量可用的串行接口,可能很难理解它们之间的差异以及何时使用它们。正如我最喜欢的工程学教授经常说的那样,“标准的美妙之处在于有很多标准可供选择。” 今天的编码器比以往任何时候都更智能、更先进,要求工程师放弃更简单的正交增量传感器并采用带串行接口的高速绝对值编码器。对于工业领域的应用,并非所有串行接口都是一样的。符合高速和工业稳健性的要求,RS-485 串行接口已成为广泛实施的接口旋转编码器和其他运动控制设备。
什么是 RS-485?
RS-485 是一种工业规范,它定义了电气设备点对点通信的电气接口和物理层。RS-485 标准允许在电气噪声环境中进行长距离布线,并且可以支持同一总线上的多个设备。
何时、为何以及在何处使用 RS-485?
RS-485 早在 1998 年标准创建时就已广泛用于计算机自动化系统。标准允许多点(同一总线上的多个设备)和长电缆长度,很容易了解其在工业和自动化领域的频繁使用。RS-485 也可以在剧院应用中找到,在这些应用中,许多设备分布在一个巨大的空间中。
此外,RS-485 标准提供的抗噪能力使该接口非常通用。工程师们不仅将它用于长距离布线,而且还将其应用到汽车行业等应用中,在这些应用中,不确定最终应用会遇到什么样的噪声。RS-485 能够在高速、长电缆、电气噪声环境以及同一总线上的多个设备上使用,这使其成为大多数需要串行接口的应用的智能实现。
RS-485 标准
RS-485,也称为 TIA-485 或 EIA-485,是定义通信协议的驱动器和接收器的电气特性的标准。开放系统互连 (OSI) 模型试图描述通信系统的各个层,从最终应用程序到电气层,最后到物理层,图 1。
OSI 模型的物理层
OSI 模型的物理层负责在设备和物理传输介质之间传输原始数据。它处理电信号到数字数据的转换,同时定义电压、时序、数据速率等。
RS-485 使用两条信号线,“A”和“B”,它们必须是平衡的和差分的。
平衡信号是在双绞线电缆中共用一对的两条线,每条线的阻抗相同。除了线路的匹配阻抗外,接收器和发射器的阻抗也必须匹配。
图 2 显示了一个典型的多点 RS-485 网络,其中每个设备都有一个差分 RS-485 收发器,设备之间的链路由双绞线和终端电阻组成。
请注意,有多种拓扑结构可用于布置设备,因为并非所有网络都是平等创建的,端接要求以及设备布置会有所不同。例如,在下面的图 2 中,端接仅用于电缆的开头和结尾。
平衡布线可在使用差分信号时降低噪声。这些信号“A”和“B”称为差分对;其中一个信号与原始信号匹配,而另一个则完全反转,这就是为什么它有时被称为互补信号的原因。
在单端接口中,接收器将信号参考到地,并根据预定电压电平(这些被称为逻辑电平,因为它们确定信号是逻辑高电平还是逻辑低电平)解析信号状态。然而,在电压趋于下降和转换率下降的长电缆距离上,信号错误经常发生。
在差分应用中,主机生成原始单端信号,然后发送到差分发送器。该发射器创建差分对以通过电缆发送出去。生成两个信号后,接收器不再将电压电平参考到地,而是将信号相互参考。
这意味着接收器始终在寻找差异,而不是寻找特定的电压水平两个信号之间。然后,差分接收器将这对信号重构回一个单端信号,主机设备可以使用主机所需的适当逻辑电平来解释该信号,图 3。
这种类型的接口还允许不同电压电平的设备运行通过差分收发器之间的通信方式在一起。所有这些共同作用,克服了单端应用在长距离布线时可能发生的信号衰减。
信号衰减并不是长布线距离出现的唯一问题。系统内的布线越长,电气噪声和干扰进入电缆并最终进入电气系统的可能性就越大。
当噪声耦合到电缆上时,它表现为不同幅度的电压,但使用平衡双绞线电缆的好处是噪声在每条线路上均等地耦合到电缆上。例如,正 1 伏尖峰将导致 A 上 +1 V,B 上 +1 V。由于差分接收器将信号相互减去以获得重建信号,因此它会忽略两条线上同样显示的噪声,图 4。差分接收器忽略两条信号线上相同电压的能力称为共模抑制。
RS-485 的其他主要物理层优势之一是信号电压规范。RS-485 不要求使用特定的总线电压,而是指定了所需的最小差分电压,即信号 A 和 B 电压之间的差值。
总线要求接收器的最小差分电压为 +/- 200 mV,并且通常所有 RS-485 设备将具有相同的输入电压范围,尽管在不同电压下传输。这意味着任何 RS-485 设备都能够接收 -7 至 12 V 的电压范围,因此工程师可以设计具有该范围内任何传输电压的主机系统。这允许设计人员使用他们现有的电路板电压创建 RS-485 系统。
话虽如此,重要的是要验证产品规格以确保该设备支持标准的全电压范围。例如,CUI Devices 的 RS-485 编码器在板上使用 3.3 V,因此他们使用 RS-485 3.3 V 发射器。但是,它们还具有 0 到 12 V 的输入容限。这允许它们在 0 到 12 V 之间的多个不同传输电压下共享同一条 RS-485 总线,如果可以满足 +/- 200 mV 的最小差分电压,则不会出现问题在接收器和发射器上。
这一点尤其重要,因为随着电缆长度的增加,信号线上的电压降也会增加。主机设备可以使用 +/- 1 V 的差分电压进行传输,但在较长的电缆长度上,该电压可能会降低到 +/- 200 mV,这对于 RS-485 来说仍然是完全可以接受的,图 5。
OSI 模型的数据链路层
RS-485 是一种双工通信系统,同一总线上的多个设备可以双向通信。RS-485 最常用作半双工,如上图所示,只有一条通信线(“A”和“B”成对)。
在半双工中,设备轮流使用同一线路,主机将在该线路上声明对总线的控制并发送命令,所有其他设备都在监听。预期的接收者将监听其地址,然后该设备将断言控制权并作出回应。
相反,在全双工系统中,例如串行外设接口 (SPI)或通用异步收发器 (UART),主机和从属设备可以使用专用输入和输出线同时通信。
在数据层,RS-485 通常使用 UART 进行串行通信,其中主机 UART 以全双工方式驱动和接收串行通信。它连接到构成物理层的 RS-485 差分收发器,并将信号转换为半双工差分格式,以便在 RS-485 总线上使用。
然后主机将通过 UART 与 RS-485 通信,它会告诉收发器何时在发送和接收之间切换。从属设备也将以同样的方式使用它们的 UART。
具有专用传输和接收线路的 UART 允许它以全双工、半双工甚至单工方式运行,这意味着数据只能在一条线路上进出。
由于 RS-485 通常是半双工的,因此连接到它的 UART 也将以半双工方式运行。
UART 接口是异步的,这意味着通信不包含时钟。主机和从属设备必须使用它们自己的内部时钟,并且两个设备都必须知道将以何种时钟速率传输数据。这不同于串行外设接口 (SPI) 等同步系统,其中一条信号线包含一个时钟,总线上的侦听设备可以在该时钟上捕获数据。
此外,UART 通常具有大多数设备都会使用的标准格式,但可以配置许多选项来更改标准。UART 的空闲状态为高电压,因此开始传输时,UART 使用称为起始位的低脉冲,后跟 8 位数据,并以高停止位结束,图 8。
主机处理器将使用一个 IO 引脚将 RS-485 收发器置于传输模式,并将一个字节从 UART TX 线发送到 RS-485 收发器的数据(D 或 DI)线。收发器会将单端 UART 位流转换为 A 和 B 线上的差分位流,如图 3 所示。数据离开收发器后,主机立即将收发器模式切换为接收。从属系统是相同的,这意味着从属 RS-485 收发器接收传入的比特流,将其转换为单端信号,然后通过从属的 UART RX 线将其发送到主机设备。当从机准备好响应时,它像主机最初那样发送,而主机现在接收,图 9。
OSI 模型的网络层
网络层处理发生在 RS-485 总线上的设备之间的实际通信。由于 RS-485 主要是一种电气规范,因此对话可以到此结束,但由于它支持多点,因此需要在 OSI 模型中解决它。
网络层寻址没有固定规范,但 RS-485 总线必须由主设备正确管理以避免总线冲突。当多个设备同时尝试通信时会发生总线冲突,这对网络非常有害。发生碰撞时,发射器会在两端发生碰撞并有效地造成短路。这会导致每个设备消耗大量电流,从而使收发器进入热关断状态。
为避免冲突,主机控制总线并将调用各个设备。这通常是通过拥有一个只有特定设备才能识别的命令集,或者通过为每个设备设置特定地址来实现的。由于总线在所有设备之间共享,因此每个设备都会看到主设备发送的命令/地址,但只会在断言该单个设备时做出响应。
OSI 模型的应用层
OSI 模型不是一套规则,而是一个帮助工程师表征系统的模型。RS-485 很好地包含在 OSI 模型的前三层中,总线的实际实现在应用层中进行表征。该层涵盖设备使用的地址或命令集以及数据的解释。它还包括设计人员期望返回多少数据,以及总线本身的控制。
例如,CUI Devices RS-485 编码器的应用程序是向设备请求绝对位置的主机。当主机发送编码器的位置命令(地址)时,编码器以两个完整的字节响应。然后主机破译这些字节以了解绝对位置是什么,同时确定发送命令的频率以及要将命令发送到哪些设备。简单的说,应用层就是RS-485总线的实现。
由于RS-485标准只定义了具有寻址要求的物理层和数据链路层,因此应用层可以采用各种专有或开放的通信协议。
工程师可以采用现有的协议,例如 Modbus,或者他们可以为自己的应用程序定义自己的协议。
例如,CUI Devices 的编码器使用非常简化的寻址结构来断言设备,从而实现快速周转和最短处理时间。每个编码器的地址只是一个字节的高六位,低两位是命令。这允许编码器仅在来自主机的单个字节后开始响应,从而确保快速周转时间,这在运动控制应用中至关重要。
CUI Devices 的 RS-485 编码器
CUI Devices 的 RS-485 编码器使用快速定位协议,允许编码器在一个字节的时间内响应位置。如上所述,这种格式支持 64 个唯一的编码器地址。编码器的地址是一个字节的高 6 位,低 2 位是命令。
这些地址可通过 CUI Devices 进行配置AMT Viewpoint™ 软件和一个编程模块. 这些编码器根据其版本具有不同的命令,所有设备都支持扩展命令,例如重置或设置零位。
CUI Devices 的绝对编码器具有 12 位或 14 位分辨率,但是,它们都以两个完整字节响应每个位置请求。两个完整字节是 16 位,这允许编码器使用高两位进行校验和计算。
应用层的这一部分允许主机验证从编码器传输的数据。对于 12 位编码器,传输将在高两位中包含校验位,低两位为零,中间的 12 位包含位置数据。
这些绝对编码器还提供多圈支持,因此它们可以计算转数。这是一个 14 位有符号计数器,数据传输与位置相同,前两位包含校验和。
因为计数器是有符号的,所以它可以计算正转和负转,但会损失一位数据。这意味着它可以从 -8192 计数到 8191。
CUI Devices 的绝对编码器还有高速版本,运行速度为 2 Mbps,周转时间接近 3 微秒。然而,对于无法满足高速和严格时序要求的应用,可以使用可调数据速率版本。
这些版本让用户可以使用 AMT Viewpoint 和编程模块从频率列表中进行选择,从而在不需要高速时更容易实施。
结论
RS-485 支持高速、长布线距离、电气噪声容限和同一总线上的多个设备,由于其在广泛应用中的多功能性,已成为旋转编码器中流行的串行接口。
希望利用具有 RS-485 接口的编码器的设计人员可以从了解上述详细信息中获益,包括其各个层、实施和整个系统通信中的最佳实践。
CUI Devices 具有 RS-485 接口的基于电容的 AMT 绝对编码器具有更高的坚固性和工业鲁棒性,由于其高精度、低电流消耗和对环境污染物的免疫力,是运动控制应用的一个有趣选择。
参考链接: link