这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 开源小芯片可以把RS485当作全双工使用,支持 50Mbps

共2条 1/1 1 跳转至

开源小芯片可以把RS485当作全双工使用,支持 50Mbps

菜鸟
2023-12-25 14:19:54     打赏

我们知道,RS485 物理层是半双工,即便总线上只有两个节点,

譬如一台 PC 和一个设备,设备也不能主动发数据给 PC,

因为可能会和 PC 下发的数据冲突。


这也是为什么 RS232 始终不能被 RS485 所取代的主要原因,

除了不能全双工,其它方面 RS485 都要比 RS232 优秀很多,

譬如更远的距离、更高的速度、可以连接更多节点、更加抗干扰。


然而,现在可以通过这个小芯片,在半双工的 RS485 总线上,

为任意两两节点之间,虚拟出全双工专线。

譬如总线上有 A B C D 四个节点,A B 之间可以随意互发数据,

C D 之间也可以,A C 之间也可以,不会出现数据冲突的问题。

而且支持组播通讯:A 同时发数据给 C 和 D. 以及支

持广播:譬如 A 同时发送数据给 B C D, 然后 B C D 还可以同时回复数据给 A.


cdctl01a.jpg


芯片的原理其实很简单,它是一个 SPI 转 UART 控制器,

UART 端是有指定的数据包格式的(原地址、目标地址、数据长度共 3 字节头 

+ 用户数据 + 2 字节 CRC 结尾),芯片 UART 口可连接 RS485 接口芯片,

控制 RS485 的收发,SPI 口则连接用户 MCU。


072708qdkafn1xbk1i4pnq.png


此 UART 控制器引入了 CAN 总线的仲裁功能,

只不过收发是按照标准的串口 8N1 格式(一个启始位,8 个数据位,一个停止位,无校验位)。


在 RS485 上进行收发的时候,会通过包头第一个字节进行仲裁

(第一个字节是发送方的地址),按位回读进行非破坏性仲裁,

让优先级最高的节点优先使用总线,而低优先级的节点,数据会延后自动重传。


发送首字节时 RS485 是半驱输出,因为回读有延迟,速率建议不超过 1Mbps。

由于 RS485 支持全驱输出,所以从第二个字节开始,可以用更高的传输速率,

此芯片速率可以达到 50Mbps(类似 CAN FD 的双速率,

但由于 CAN FD 的高速部分依然是半驱输出,所以速率比较受限)。

在需要兼容传统串口的场合,使用仲裁模式时,需要让高速部分的速率和低速部分保持相同。


此芯片同时还支持另一种模式,可以全程使用高速波特率,

同样可以把 RS485 当全双工使用 - Break Sync 模式。


原理也不复杂,总线空闲一段时间后,若某个节点想发送数据,

需要先发送一个 break 字符(连续 10 个 bit 为 0 的特殊串口字符)。

break 字符在这里的功能是让总线退出空闲状态,

而且若有多个节点同时发送 break 字符,也不会有不良影响。


等总线重新进入空闲后,每个节点等待不同的时间发送数据,

优先级越高的节点等待的时间越短。由于各节点等待时间不同,所以不会发生数据冲突。

此模式适合节点数相对较少的总线,节点数多了,最大等待时间就会变长,影响效率。


除了以上两种对等通讯模式,还支持传统全双工和传统半双工模式,

可以当作普通的串口扩展芯片使用。


芯片源码和细节说明:https://cdbus.org (中文版可参见附件中文数据手册)

CDBUS 的 IP 核 FPGA 用户可以免费商用。



芯片手册:

cdctl01a_datasheet_v1.1_cn.pdf

cdctl01a_datasheet_v1.1.pdf


相关的开源项目摘选:


半自动桌面视觉贴片机 CDPNP: https://github.com/dukelec/cdpnp

(开源贴片机视频: https://www.bilibili.com/video/BV1cj411Y7qQ/ )


CDFOC 无刷电机 FOC 控制器: https://github.com/dukelec/cdfoc


CDSTEP 步进电机控制器: https://github.com/dukelec/cdstep


CDCAM 串口摄像头: https://github.com/dukelec/cdcam


CDBUS-BRIDGE(USB 转高速 RS485): https://github.com/dukelec/cdbus_bridge


CDBUS-GUI 开源串口上位机,支持参数配置、波形显示、IAP 升级:

 https://github.com/dukelec/cdbus_gui

Screenshot_2023-12-25_11-13-46.jpg




关键词: 开源     芯片     RS485     双工    

专家
2024-01-08 09:18:23     打赏
2楼

感谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]