几种扩展RS485/RS422接口的方法

编程入门 行业动态 更新时间:2024-10-07 10:19:51

<a href=https://www.elefans.com/category/jswz/34/1769370.html style=几种扩展RS485/RS422接口的方法"/>

几种扩展RS485/RS422接口的方法

最近需要用到多路RS422接口挂接设备,但CPU的接口数量有限,因此需要进行接口扩展。整理了目前能想到的一些RS485/RS422扩展接口方法,记录如下:

1. RS485一主多从总线模式

从设备采用总线挂接,CPU作为主设备,其余单机作为从设备,主机发送指令后,对应地址单机回复数据。主机也可广播形式群发数据,RS485同时只允许一个发送,但可以多个接收。

设计时需注意DE使能位的状态,确保一条总线上只有一个设备处于发送状态。

以下为总线挂接拓扑:

但RS485总线模式远不如CAN总线可靠。

CAN总线可以隔离故障单机,但RS485一旦单机故障,则整条总线失效。从机故障使总线常低,则整条总线上单机均无法正常通信,且无法隔离故障单机。

且RS485两个单机同时发送易产生故障,可在线路上串接二极管防止倒灌造成的设备损伤。

2. 采用与门扩展

T I参考设计 TIDA-01365:TIDA-01365 参考设计 | 德州仪器 TI

效果与一主多从总线上串接二极管类似,也仍旧无法隔离故障单机。

采用与门,左侧设备无需更换通路即可接收右侧四路中任一路的消息,但因为缺乏仲裁机制,一旦有两路同时发送,左侧设备将无法识别且接收错误消息。

3. 采用模拟开关扩展

使用模拟开关作为从设备通路选择。如下图,橙色信号为CPU信号,UART_RX及UART_TX为CPU的UART接口信号,GPIO_422_A0,GPIO_422_A1,GPIO_422_EN为CPU输出的控制信号。

案例中选用的模拟开关为ADI的ADG1609,该模拟开关在单5V供电时,导通阻抗为12.5Ω,-3dB点频率为72MHz。UART一般最高速率为10Mbps,因此该模拟开关不会影响UART通信质量。

4路输出信号分别连接接口转换芯片,取其中一路UART_CH1为例,其接口电路如下:

使用模拟开关将一路UART扩展为四路,需CPU控制模拟开关通断,一般只用于CPU作为主设备的情景,且因为需要控制模拟开关切换,增加软件开发工作。而模拟开关切换及通道建立需要时间,也会稍微增加通信延时,但模拟开关的切换及通道转换时间一般在1us以内,对常用的RS485/422通信来说,延时并不明显。例如,对115200的波特率,ADG1609切换造成的延时最小可控制在1bit宽度。

采用模拟开关扩展通信接口,当发现其中一路外引接口故障时,可以选择不再切换至该通路,因此可以实现故障单机的隔离,确保剩下通路仍旧能够正常通信。

4. 采用专用芯片扩展

扩展芯片种类较多,一般内部均有FIFO等存储空间,使用方便,适用于需要接收多路大量数据的场合。对于需要经常发送,且接收数据量不大的场合,略有浪费。

1)利用FIFO转接多路UART, CPU接口信号为控制信号及8bits数字信号。常用芯片有:TL16C554(TI),CH438Q(沁恒,国产)

以下为TL16C554基本连接及功能框图:

2)使用其他总线转多路UART:

使用SPI/I2C总线芯片转多路UART,常用芯片有:MAX14830 (ADI,SPI转4路UART),SC16IS762 (NXP,SPI或者I2C转2路UART),GM8142(成都国腾微电子,国产,SPI转4路UART)。

还有USB转多路UART,如FTDI公司的FT4232H,以及I2C转2路UART,如NXP的SC16IS752等。

以下为MAX14830功能框图及典型用法:

5. 采用FPGA或者MCU芯片扩展

FPGA可实现同步设计,所有接口可以同时通信。接口挂接在FPGA的IO管脚上,内部编程实现数据交互。

或者也可采用STM32等UART接口较多的芯片做主控,实现专门的RS485集线器设计。

但占用FPGA资源,或者STM32等MCU芯片只用于实现UART扩展,成本较高。使用FPGA或MCU更适合做综合的接口处理板,RS485集线器只是作为其中一部分功能。

更多推荐

几种扩展RS485/RS422接口的方法

本文发布于:2024-02-27 22:10:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766666.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:几种   接口   方法

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!