分享

RS-485 串行接口说明

 昵称tfKn5 2022-05-26 发布于甘肃

文章图片1

有大量可用的串行接口,很难理解它们的区别以及何时使用它们。正如我最喜欢的工程学教授常说的那样,“标准的美妙之处在于可供选择的标准之多。” 今天的编码器比以往任何时候都更智能、更先进,这要求工程师放弃更简单的正交增量传感器,并采用带有串行接口的高速绝对编码器。对于工业领域的应用,并非所有的串行接口都是一样的。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。

文章图片2图 1:开放系统互连 (OSI) 模型

OSI 模型的物理层

OSI 模型的物理层负责在设备和物理传输介质之间传输原始数据。它处理电信号到数字数据的转换,同时定义电压、时序、数据速率等。

RS-485 使用两条信号线,“A”和“B”,它们必须是平衡和差分的。平衡信号是在双绞线电缆中共享一对的两条线,每条线上的阻抗相同。除了线路的匹配阻抗外,接收器和发射器还必须有匹配的阻抗。图 2 显示了一个典型的多点 RS-485 网络,其中每个设备都有一个差分 RS-485 收发器,设备之间的链路由双绞线电缆和终端电阻组成。

请注意,有多种拓扑可用于排列设备,因为并非所有网络都是平等的,终端要求以及设备排列会有所不同。例如,在下面的图 2 中,端接仅用于电缆的开头和结尾。

文章图片3图 2:典型的 RS-485 网络拓扑

平衡布线可在使用差分信号时降低噪声。这些信号“A”和“B”被称为差分对;其中一个信号与原始信号匹配,而另一个完全反转,这就是为什么它有时被称为互补信号。

在单端接口中,接收器将信号接地,并根据预定的电压电平解析信号状态(这些被称为逻辑电平,因为它们确定信号是逻辑高还是逻辑低)。然而,在电压趋于下降和压摆率下降的较长电缆距离上,经常会发生信号错误。在差分应用中,主机生成原始单端信号,然后发送到差分发送器。该发送器创建差分对,通过电缆发送出去。生成两个信号后,接收器不再将电压电平参考到地,而是将信号相互参考。这意味着接收器不是寻找特定的电压电平,而是始终查看差异两个信号之间。然后差分接收器将这对信号重构回一个单端信号,主机设备可以使用主机所需的适当逻辑电平来解释该信号,图 3。这种类型的接口还允许不同电压电平的设备运行通过差分收发器之间的通信将它们连接在一起。所有这些共同作用以克服单端应用在长电缆距离上可能发生的信号衰减。

文章图片4图 3:由差分驱动器驱动并由接收器重构的编码器输出

信号衰减并不是长电缆距离出现的唯一问题。电缆在系统中的时间越长,电气噪声和干扰进入电缆并最终进入电气系统的可能性就越大。当噪声耦合到电缆上时,它显示为不同幅度的电压,但使用平衡双绞线电缆的好处是噪声在每条线路上均等地耦合到电缆。例如,正的 1 伏尖峰将导致 A 上的 +1 V 和 B 上的 +1 V。由于差分接收器将信号彼此相减以获得重建信号,它会忽略两条线上同样显示的噪声, 图 4。差分接收器忽略两条信号线上相同电压的能力称为共模抑制。

文章图片5图 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 之间的输入容差。如果可以满足 +/- 200 mV 的最小差分电压,这允许它们在 0 到 12 V 之间的多个不同传输电压下共享相同的 RS-485 总线而不会出现问题在接收器和发射器。这一点尤其重要,因为随着电缆长度的增加,信号线上的电压降也会增加。主机设备可以使用 +/- 1 V 的差分电压进行传输,但在较长的电缆长度上,该电压可能会降低到 +/- 200 mV,这对于 RS-485 来说仍然是完全可以接受的,图 5。

文章图片6图 5:RS-485 最小总线信号电平文章图片7图 6:定义了物理层的 OSI 模型

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 也将以半双工方式运行。

文章图片8图 7:UART 转 RS-485 的常见用途

UART 接口是异步的,这意味着通信不包括时钟。主机和从机设备必须使用自己的内部时钟,并且两个设备都必须知道数据将以何种时钟速率传输。这与串行外设接口 (SPI) 等同步系统不同,其中一条信号线包含一个时钟,总线上的监听设备可以在该时钟上捕获数据。

此外,UART 通常具有大多数设备将使用的标准格式,但可以配置许多选项来更改标准。UART 的空闲状态是高电压,因此要开始传输,UART 使用一个称为起始位的低脉冲,然后是 8 位数据,并以高停止位完成,图 8。

文章图片9图 8:UART 数据帧

主处理器将使用一个 IO 引脚将 RS-485 收发器置于发送模式,并将一个字节从 UART TX 线发送到 RS-485 收发器的数据(D 或 DI)线。收发器会将单端 UART 比特流转换为 A 和 B 线上的差分比特流,图 3。数据离开收发器后,主机立即将收发器模式切换为接收。从机系统是相同的,这意味着从机 RS-485 收发器接收传入的比特流,将其转换为单端信号,并通过从机的 UART RX 线将其发送到主机设备。当从设备准备好响应时,它会像主机最初那样发送,而主机现在接收,图 9。

文章图片10图 9:主机通过 RS-485 总线发送命令,从机响应文章图片11图 10:定义了数据链路层的 OSI 模型

OSI 模型的网络层

网络层处理发生在 RS-485 总线上的设备之间的实际通信。由于 RS-485 主要是一种电气规范,因此对话可以到此结束,但由于它支持多点,因此需要在 OSI 模型中解决它。

没有针对网络层寻址的固定规范,但 RS-485 总线必须由主机正确管理以避免总线冲突。当多个设备尝试同时通信时会发生总线冲突,这对网络非常有害。当发生冲突时,发射器在两端发生冲突并有效地产生短路。这会导致每个设备消耗大量电流,从而使收发器进入热关断状态。

为避免冲突,主机控制总线并调用各个设备。这通常是通过拥有一个只有特定设备才能识别的命令集或通过为每个设备拥有特定地址来实现的。由于总线在所有设备之间共享,因此每个设备都会看到主设备发送的命令/地址,但只有在该单个设备被断言时才会响应。

文章图片12图 11:定义了网络层的 OSI 模型

OSI 模型的应用层

OSI 模型不是一组规则,而更多是帮助工程师表征系统的模型。RS-485 很好地包含在 OSI 模型的前三层中,总线的实际实现在应用层中进行了表征。这一层涵盖了设备使用的地址或命令集以及数据的解释。它还包括设计人员期望获得多少数据,以及对总线本身的控制。

例如,CUI Devices RS-485 编码器的应用程序将是从设备请求绝对位置的主机。当主机发送编码器的位置命令(地址)时,编码器以两个完整字节响应。然后主机解密这些字节以了解绝对位置是什么,同时确定发送命令的频率以及它想要将它们发送到哪些设备。简单来说,应用层就是RS-485总线的实现。

由于 RS-485 标准仅定义了具有寻址要求的物理和数据链路层,因此应用层可以采用各种专有或开放的通信协议。工程师可以采用现有的协议,例如 Modbus,或者他们可以为他们的应用定义自己的协议。例如,CUI Devices 的编码器使用非常简化的寻址结构来断言设备,从而实现快速周转和最短处理时间。每个编码器的地址只有一个字节的高六位,低两位是命令。这允许编码器在来自主机的单个字节后开始响应,确保快速周转时间,这在运动控制应用中至关重要。

CUI Devices 的 RS-485 编码器使用快速定位协议,该协议允许编码器在一个字节的时间内响应位置。如上所述,这种格式支持 64 个唯一的编码器地址。编码器的地址是一个字节的高 6 位,低 2 位是命令。这些地址可通过 CUI Devices 的AMT Viewpoint 软件和编程模块进行配置。这些编码器根据其版本具有各种命令,所有设备都支持扩展命令,例如复位或设置零位。

低两位十六进制命令000x00读取位置010x01读取圈数计数器(仅限多圈编码器)100x02表示扩展命令110x03预订的图 13:CUI Devices 的 RS-485 编码器寻址格式

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 绝对编码器具有更高的耐用性和工业稳健性,由于其高精度、低电流消耗和对环境污染物的免疫力,是运动控制应用的一个有趣的选择。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多