图1标准CAN数据帧格式
2. CAN总线仲裁机制的实现
图3总线仲裁方式图
本文以我司协议转换模块CSM300为例进行介绍,CSM300是集成微处理器、CAN-bus控制器、CAN-bus收发器、DC-DC转换、高速数字隔离于一体的嵌入式CAN与UART/SPI双向转换模块。如果我们将两个ID均为00000000的CSM300模块组成一个CAN总线网络系统,当这两个ID相同的模块同时往CAN总线端发送数据时将会造成仲裁失败。
2. CANID冲突的现象
图5CAN总线波形图
图6转换方式选配图
透明带标识转换方式下,用户可以在配置时固定CANID在串行帧的位置和长度如图7所示,通过改变串行帧数据来控制所发数据的CAN帧ID,方便用户在同一节点发送不同ID的CAN数据。但是此模式下需要确保串行帧的时间间隔足够大,避免模块不能正确识别每组串行帧的结束造成数据转换错误。透明带标识模式下串行帧最小间隔具体要求可参考CSM100和CSM300的用户手册。
图7透明带标识转换配置图
有效的自定义协议转换串行帧包括了帧头、帧尾、帧ID和帧长度等,用户可通过改变串行帧数据来控制CAN帧ID,方便用户在同一节点发送不同ID的CAN数据。同时用户将在配置时固定帧头和帧尾如图8所示,此模式下用户通过串行帧数据告知模块串行帧的帧头、帧尾和数据长度,故此转换方式下可有效避免因串行帧间隔时间短造成的数据转换错误的情况。
原文标题:【技术分享】不懂CAN协议?如何避免总线仲裁失败?
文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
-
致远电子
+关注
关注
13文章
397浏览量
31066
原文标题:【技术分享】不懂CAN协议?如何避免总线仲裁失败?
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论