本帖最后由 dukedz 于 2018-6-7 14:55 编辑
RS485 的 CDBUS 协议可以使用独立控制器实现按位仲裁,跟 CAN 的原理一样,但性能、易用性貌似都比 CAN 要好很多,至少可以达到 10Mbps,而且兼容传统软件方式控制的 RS485 设备,同样的数据包格式也可以直接用在普通的串口,这样的话整个产品无论对内还是对外只用维护一套协议就可以了。但 CAN 的话更老牌,可是用起来比较麻烦,譬如产品对外接口用 CAN 的话,普通客户不一定能顺利用的起来,电脑端访问也比串口类的麻烦很多。而且一个包只能传 8 个字节,很多情况都不够用。拆包的话就更复杂了。大家给点意见吧,感谢。
这个 IP 核是开源的:https://github.com/dukelec/cdbus_ip
工作机制:
前 3 个字节分别是:源地址、目标地址、数据长度;
然后是用户数据;
最后两个字节 CRC 硬件自动处理。
|