完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现场总线作为工业自动化系统中最后一段通讯的桥梁,越来越多的传感器和执行机构都集成了CAN总线之类的通讯接口,但其固化的几个通讯数据格式,面对当前众多复杂的大系统,时常会给设计者带来底层数据冲突的困扰,如何完美解决这一难题,至关重要。
一、问题描述 大家都知道,一个CAN网络中不同节点发出的报文的ID也应是不同的,否则当ID冲突的两个节点同时上传数据时会产生错误。但是我们时常会发现某些CAN接口的传感器或者控制器的报文ID是固定的,不具备硬件地址区分。以下图为例,某电机控制器有三条标准帧功能报文,ID分别为0x0001、0x0002、0x0003。那么如何在同一个CAN网络中使用多个同样的电机控制器既可以防止ID冲突又可以识别硬件地址呢? 图 1 相同CANID设备组网 二、解决方案 针对这一问题,可以将致远电子的CAN网桥CANbridge+加装在各个设备与总线之间,利用其ID映射功能,将每台设备的功能ID映射为一个带地址字段的新ID。这样既可以防止设备上传的报文产生ID冲突错误,又可以通过添加的地址字段区分不同的设备。如下图所示,将标准帧ID的高8位定义为地址字段,这样就可以通过ID区分不同设备的上行下行报文。 图 2 使用CAN网桥实现相同CANID设备组网 三、设置流程 1、 波特率设置 使用通讯线连接CANbridge+和PC机,打开CANCfg软件,在基本信息选项卡里点击CAN1、CAN2波特率的下拉菜单,均选择所接CAN设备的对应波特率。 图 3 CANbridge+的波特率设置 2、 帧映射设置 在帧映射选项卡里点击使能帧映射,假定网桥的CAN1端口连接CAN设备,网桥的CAN2端口连接CAN网络。添加如下图所示的映射关系,即可将1号设备的所有功能ID关联上硬件地址。同样对其他设备连接的CAN网桥做类似的设置,即可实现相同CANID设备的组网。 图 4 CANbridge+的帧映射设置 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2543 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2328 浏览 5 评论
3148 浏览 3 评论
2799 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2759 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
603浏览 1评论
852浏览 0评论
963浏览 0评论
618浏览 0评论
444浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 11:51 , Processed in 1.029744 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号