微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

如何解决总线通讯数据冲突的问题

2016-06-21 17:13 来源:周立功致远电子 编辑:Bamboo

现场总线作为工业自动化系统中最后一段通讯的桥梁,越来越多的传感器和执行机构都集成了CAN总线之类的通讯接口,但其固化的几个通讯数据格式,面对当前众多复杂的大系统,时常会给设计者带来底层数据冲突的困扰,如何完美解决这一难题,至关重要。

一、问题描述

大家都知道,一个CAN网络中不同节点发出的报文的ID也应是不同的,否则当ID冲突的两个节点同时上传数据时会产生错误。但是我们时常会发现某些CAN接口的传感器或者控制器的报文ID是固定的,不具备硬件地址区分。以下图为例,某电机控制器有三条标准帧功能报文,ID分别为0x0001、0x0002、0x0003。那么如何在同一个CAN网络中使用多个同样的电机控制器既可以防止ID冲突又可以识别硬件地址呢?

相同CANID设备组网
图1 相同CANID设备组网

二、解决方案

针对这一问题,可以将致远电子的CAN网桥CANbridge+加装在各个设备与总线之间,利用其ID映射功能,将每台设备的功能ID映射为一个带地址字段的新ID。这样既可以防止设备上传的报文产生ID冲突错误,又可以通过添加的地址字段区分不同的设备。如下图所示,将标准帧ID的高8位定义为地址字段,这样就可以通过ID区分不同设备的上行下行报文。

使用CAN网桥实现相同CANID设备组网
图2 使用CAN网桥实现相同CANID设备组网

三、设置流程

1、波特率设置

使用通讯线连接CANbridge+和PC机,打开CANCfg软件,在基本信息选项卡里点击CAN1、CAN2波特率的下拉菜单,均选择所接CAN设备的对应波特率。

CANbridge+的波特率设置
图3 CANbridge+的波特率设置

2、帧映射设置

在帧映射选项卡里点击使能帧映射,假定网桥的CAN1端口连接CAN设备,网桥的CAN2端口连接CAN网络。添加如下图所示的映射关系,即可将1号设备的所有功能ID关联上硬件地址。同样对其他设备连接的CAN网桥做类似的设置,即可实现相同CANID设备的组网。

CANbridge+的帧映射设置
图4 CANbridge+的帧映射设置

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006