透明带标识转换是透明转换的特殊用法,在串行帧中带CAN报文的ID信息,可以根据需要发送不同ID的CAN报文。有利于用户通过模块更方便的组建自己的网络,使用自定的应用协议。该方式把串行帧中的ID信息自动转换成CAN总线的帧ID。只要在配置中告诉模块该ID信息在串行帧的起始位置和长度,模块在转换时提取出这个帧ID填充在CAN报文的帧ID域里,作为该串行帧的转发时的CAN报文的ID。在CAN报文转换成串行帧的时候也把CAN报文的ID转换在串行帧的相应位置。
串行帧中所带有的CAN报文的“帧ID”在串行帧中的起始地址和长度可由配置设定。起始地址的范围是0~7,长度范围分别是1~2(标准帧)或1~4(扩展帧)。转换时根据事先的配置将串行帧中的CAN报文“帧ID”对应全部转换到CAN报文的帧ID域中(如果所带帧ID个数少于CAN报文的帧ID数,那么在CAN报文中帧ID的高字节补0。),其它的数据依序转换,如果一帧CAN报文未将串行帧数据转换完,则仍然用相同的ID作为CAN报文的帧ID继续转换直到将串行帧转换完成。
注意:如果将ID长度大于2,设备发送的帧类别会设置为扩展帧。此时用户配置的帧ID和帧类别无效,由串行帧里边的数据决定。标准帧的帧ID范围为:0x000-0x7FF,分别表示为帧ID1、帧ID0,其中帧ID1为高字节,扩展帧的帧ID范围为:0x00000000-0x1FFFFFFF,分别表示为帧ID3、帧ID2、帧ID1、帧ID0,其中帧ID3为高字节。
串行帧转换成CAN报文(透传带标识)
该示例配置的CAN配置参数。
转换模式:透明带标识转换,起始地址2,长度3。
帧类型:扩展帧,
帧ID:无需配置,
转换方向:双向。
上位机配置界面如下:
则转换前后数据示意图如下:
串口调试助手发送串行帧:01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10,则在CAN调试器上接收到转换出来的CAN帧:帧ID为0x00030405,第一帧数据域为:01 02 06 07 08 09 0A 0B,第二帧数据域为:0C 0D 0E 0F 10,从这里可以看出,设备已经将串行帧中第二位开始,后面三位03 04 05作为帧ID提取出来,剩下数据作为CAN帧数据域重新组包。
对于CAN报文转发,收到一帧就立即转发一帧,每次转发的时候也是根据事先配置的CAN帧ID在串行帧中的位置和长度把接收到的CAN报文中的ID作相应的转换。其它数据依序转发。值得注意的是,无论是串行帧还是CAN报文在应用的时候,其帧格式(标准帧还是扩展帧)应该符合事先配置的帧格式要求,否则可能致使通讯不成功。
CAN报文转换成串行帧
该示例配置的CAN配置参数。
转换模式:透明带标识转换,起始地址2,长度3。
帧类型:扩展帧;
帧类型:数据帧;
转换方向:双向。
CAN转RS485设备上位机配置界面如下:
发送标识符:0x00000123,则转换前后数据如下。
CAN 报文转串行帧示例(透明带信息转换)
从ECAN-U01(CAN调试器)发送数据:帧ID:0x00000123,数据域:99 88 77 66 55 44 33 22,串口调试助手收到串行帧:99 88 00 01 23 77 66 55 44 33 22,从这里可以看出,CAN帧在转换成串行帧时,按照我们的设定的规则来填充数据,将CAN帧ID填进数据域第二位开始的后三位。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多串口服务器、无线遥控开关、无线通信模块、无线数传电台、lora模块、WiFi无线模块等产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3