0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串口转CAN“透明带标识”模式下的转换方式

AGk5_ZLG_zhiyua 来源:佚名 作者:佚名 2019-01-14 10:37 次阅读

UARTCAN的应用已广泛应用于各行各业,因此对于数据帧转换的形式要求也逐渐增多,目前主流的转换形式包括透明转换、透明带标识转换以及自定义转换。具体是如何实现?本文将为大家介绍其中的透明带标识转换。

在上次的文章中已为大家介绍了《UART数据转CAN数据中的透明转换的工作原理》。本文将介绍另一种数据转换模式——透明带标识转换。

1适用场景

串口转CAN模块在什么时候需要用到呢?一是老产品面临升级,需要用到CAN总线通信,但硬件平台中的MCU没有集成CAN总线的控制器。二是选用的MCU已经包含CAN总线接口,但数量上不能满足项目需求。若出现类似以上两种情况且MCU有闲置串口,则可以选用串口转CAN模块CSM100T解决。

图1 应用行业

2使用方法

该类模块可以很方便地嵌入到具有UART接口的设备中,在不需改变原有硬件结构的前提下使设备获得CAN-bus通讯接口,实现具有UART设备和CAN-bus网络之间的数据通讯。工业级的转换模块内部还包括实现带隔离的CAN和UART转换所必须的模拟和数字器件、光电耦合器DC/DC变换器、CAN-bus接口等。

图2 产品架构

3格式说明

CSM100系列模块提供3种协议转换方式:透明转换、透明带标识转换、自定义协议转换。上篇文章已介绍过透明转换模式的转换方法,本文将以CSM100系列的模块简述模块的透明带标识转换格式。

该转换模式串行帧中的“帧ID”自动转换成CAN报文中的帧ID。只要在配置中告诉模块该“帧ID”的地址编号在串行帧的起始位置和长度,模块在转换时提取出这个“帧ID”填充在CAN报文的帧ID域里,作为该串行帧转发时的CAN报文的帧ID。在CAN报文转换成串行帧的时候也把CAN报文帧ID转换在串行帧的相应位置。

图3 转换方式

对比“透明转换”模式和“透明带标识”模式不难发现它们之间的区别:CAN ID信息来自串口流数据中还是来自模块本身的配置信息中。由于“透明转换”模式下的CAN ID来自模块配置信息,配置信息由上位机软件提供,因此对于使用此模式的节点来说发送的帧ID是固定的。而“透明带标识”模式下不同,它可以一个节点发送多个帧ID 的CAN帧。

4转换形式

串行帧的最大缓冲区长度为255个字节,且处于该模式时串行接收设置有超时时间,即在一定时间内收不到串口数据则默认打包为一帧发送。因此,在透明带标识转换模式下,必须保证模块取得完整的串行数据帧,否则会造成分包错误。

图4 分包方式

透明带标识转换模式下,串行帧转为CAN报文时的形式如图5。需要注意的是,串行帧中所带有的CAN报文“帧ID”在串行帧中的起始地址和长度可由配置设定。起始地址的范围是0~7,长度范围分别是1~2(标准帧)或1~4(扩展帧)。如果在配置中指定帧类型为标准帧,帧ID信息起始地址为3长度为1,则帧ID的有效位只有8位。地址3中的CAN ID1作为标准帧ID的高8位,其余位全部补0。

图5 串行帧到CAN帧

透明带标识转换模式下, CAN报文转为串行帧时的形式如图6。若同样配置CAN帧信息为标准帧,帧ID信息为起始3长度1,则转换时将丢失ID0的数据。此时CAN帧 中的数据能正常被接收,但必然缺失帧ID信息(ID0本身不全为0时)。为了正常转换标准帧的帧ID信息,下图的转换情景必须将帧ID信息中的帧长度设置为2。

图6 CAN帧到串行帧

5转换示例

假设CAN报文“帧ID”在串行帧中的起始地址是2,长度是3(扩展帧情况下),串行帧发送的数据分别为0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,则转换结果如图7。

图7 示例1

若配置起始地址是2,长度是3(扩展帧情况下),CAN报文的帧ID为0x00123456,数据为0x55,0x55,0x55,0x55,0x55,0x55则转换结果如图8。

图8 示例2

6总结

以上为串口转CAN“透明带标识”模式下的的转换方式,该模式特点是可以灵活设定一个节点发送的CAN帧ID信息。笔者将介绍透明转换、透明带标识转换、自定义协议转换以及moudbus转换的内容,欢迎关注往期及后期文章。

致远电子介绍

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459199
  • 串口
    +关注

    关注

    14

    文章

    1483

    浏览量

    74509
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99955

原文标题:串口转换CAN详解:透明带标识转换篇

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    亿佰特CAN串口智能协议转换器ECAN-401

    转换CAN
    亿佰特物联网应用专家
    发布于 :2023年02月10日 10:25:24

    Link-Max CAN485/CAN232智能型CAN串口转换网桥

    ,可让您方便地完成RS-232协议和CAN协议的转换,使RS232设备和CAN网络实现通讯。而这种转换对客户是透明的,换言之,用户无需对原来
    发表于 11-01 11:05

    Link-Max CAN485/CAN232智能型CAN串口转换网桥

    -485B。前者为CANRS232产品,后者除具有前者的所有功能外,还增加一个共享的RS485口,但RS232口与RS485口不能同时使用。CAN-232B是智能型RS232总线CAN
    发表于 11-16 11:02

    USBCAN转换器|CAN总线通信模块

    完全无需了解复杂的USB协议的情况,即可方便的开发出CAN系统应用软件产品,大大简化了USB开发的难度。USBCAN串口通信模块广泛应用
    发表于 05-27 09:13

    CAN总线透明传输通讯的初步认识

    了。它主要是实现硬件之间RS232与CAN透明传输,RS485与CAN透明传输,TTL与CAN透明
    发表于 09-24 11:57

    蓝牙CAN适配器实际应用模块

    调制度,支持15Kbps~1Mbps范围的CAN-bus 通讯速率。转换器提供两种种数据转换模式透明
    发表于 07-15 16:00

    can转换器,汽车CAN报文透明传输

    本帖最后由 沈阳广成科技 于 2015-8-21 16:01 编辑 ----------今天讲解一透明传输!------------透明传输就是在传输过程中,对外界透明,就是说
    发表于 07-25 16:19

    串口CAN透明标识转换模式的的转换方式介绍

    。在上次的文章中已为大家介绍了《UART数据CAN数据中的透明转换的工作原理》。本文将介绍另一种数据转换
    发表于 07-12 06:36

    串口经过转换后的CAN帧格式与注意事项介绍

    MCU没有CANCAN接口数量不够怎么办?目前市面上有串口CAN的相关模块或设备,但大家知道串口
    发表于 07-12 08:04

    串口经过转换后的CAN帧格式与注意事项

    MCU没有CANCAN接口数量不够怎么办?目前市面上有串口CAN的相关模块或设备,但大家知道串口
    发表于 01-26 07:40

    CAN总线过滤器标识

    屏蔽位模式:在屏蔽位模式标识符寄存器和屏蔽寄存器一起,指定报文标识符的任何一位,应该按照“必须匹配”和“不用关心”处理。
    发表于 08-19 07:30

    串口数据转CAN帧格式详解

    MCU没有CANCAN接口数量不够怎么办?目前市面上有串口CAN的相关模块或设备,但大家知道串口C
    的头像 发表于 02-02 16:30 1.4w次阅读

    串口数据与固定ID的CAN数据转换

    GCAN-201串口CAN设备可以将串口数据和CAN总线数据按照一定的格式进行相互转换
    的头像 发表于 02-05 10:36 4151次阅读
    <b class='flag-5'>串口</b>数据与固定ID的<b class='flag-5'>CAN</b>数据<b class='flag-5'>转换</b>

    串口CAN模块的透明标识转换方式详解

    透明标识转换模式下,串行帧转为CAN报文时的形式如图5。需要注意的是,串行帧中所带有的CAN
    发表于 02-01 07:03 1551次阅读

    串口转换器工作方式_串口转换器通讯模式

    串口转换器是为RS-232/485/422到TCP/IP之间完成数据转换的通讯接口转换器。通过作为服务器端,提供RS-232/485/422终端串口
    发表于 04-20 10:37 1312次阅读