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

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

3天内不再提示

串口数据转CAN帧格式详解

AGk5_ZLG_zhiyua 来源:工程师曾玲 2019-02-02 16:30 次阅读

MCU没有CAN或CAN接口数量不够怎么办?目前市面上有串口转CAN的相关模块或设备,但大家知道串口转CAN是如何实现的吗?转换后的帧格式是如何的?本文将为大家详细介绍串口经过转换后的CAN帧格式与注意事项。

适用场景

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

图1 应用行业

使用方法

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

串口数据转CAN帧格式详解

图2 产品架构

转换说明

CSM100系列模块提供3种协议转换方式:透明转换、透明带标示转换、自定义协议转换。下面以CSM100系列的模块简述模块的透明转换格式。

该模式下,CSM100接收到一侧总线的数据就立即转换发送至另一总线侧。该模式下的模块数据转换效率最高,能承担较大流量的数据传输。串行帧转CAN帧时,模块将来自串口的数据直接打包,并插入预先配置的CAN帧信息、帧ID一同作为一帧数据发送到总线上。同理,来自CAN总线上的数据将按顺序拆分为字节流发送到串口上,字节流的前几个字节为该CAN帧的信息。

串口数据转CAN帧格式详解

图3 转换方式

说到这,大家肯定有个疑惑,CAN帧的信息及CAN帧ID是如何表示的呢?

帧信息主要用来区分标准帧、扩展帧,长度为1个字节。在“自定义协议转换”中,标准帧固定为 0x00, 扩展帧固定为 0x80; 在“透明转换”“透明带标识转换” 中, 标准帧为 0x0_,扩展帧为 0x8_,其中“_” 代表每个帧中的数据域长度, 范围为 0~8。

标准帧的帧ID拆分为2个字节表示,扩展帧的帧ID拆分为4个字节表示。如果实际配置时给帧ID预留的只有一个字节且帧类型为扩展帧,方向是CAN帧转串行帧,那么将只能得到帧ID的高8位。如果实际配置时给帧ID预留的只有一个字节且帧类型为扩展帧,方向是串行帧转CAN帧,那么将帧ID的高8位正常填充,其他三字节全补零。

串口数据转CAN帧格式详解

图4 帧ID转换说明

假设配置的转换成的CAN报文帧信息为“标准帧”,配置的帧ID1,ID0分别为“0x01,0x23”,串行帧的数据为01,02,03,04,05,06,07,08共8个字节,那么转换格式如图5。CAN报文的帧ID为0x0123(用户配置),帧信息:标准帧(用户配置),串行帧中的数据部分将不作任何修改地转换到CAN报文中。

串口数据转CAN帧格式详解

图5 串行帧到CAN帧

假设CAN报文中帧ID1为0x01,帧ID0为 0x23,数据为0x12,0x34,0x56,0x78,0xab,0xcd,0xef,0xff,则CAN报文和转换后的串行帧如图6。CAN报文的帧信息(0x08)转换到串行帧中的第1个字节(0x08),CAN报文中的ID:0x0123依次转换到串行帧中的第2个字节(0x01)及第3个字节(0x23)。CAN报文的数据域将不作任何修改地转换到串行帧中的数据部分。

串口数据转CAN帧格式详解

图6 CAN帧到串行帧

总结

以上为串口转CAN透明格式下的转换方式,后续笔者将新增透明带标示转换、自定义协议转换以及moudbus转换的内容,欢迎持续关注。

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

    关注

    57

    文章

    2706

    浏览量

    463240
  • 串口
    +关注

    关注

    14

    文章

    1542

    浏览量

    76122

原文标题:串口数据转换为CAN数据之后是怎样的?

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

收藏 人收藏

    评论

    相关推荐

    浅谈CAN FD总线协议格式

    假期更新了一文搞懂CAN总线协议格式CAN FD总线协议怎能错过?本篇博文将讲解CAN FD总线协议
    发表于 10-14 12:49 3360次阅读
    浅谈<b class='flag-5'>CAN</b> FD总线协议<b class='flag-5'>帧</b><b class='flag-5'>格式</b>

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

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

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

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

    串口协议数据格式

    前言好久没更新博客了,这篇文章写写停停,用了近一周的时间,终于写完了。本篇文章介绍,串口协议数据格式、串行通信的工作方式、电平标准、编码方式及Verilog实现
    发表于 08-06 08:20

    CAN总线过载数据详解

    CAN:Controller Area Network,控制器局域网是一种能有效支持分布式控制和实时控制的串行通讯网络。本文首先介绍了CAN总线系统结构及数据传输,其次详细的阐述了CAN
    的头像 发表于 05-07 10:59 2.1w次阅读
    <b class='flag-5'>CAN</b>总线过载<b class='flag-5'>帧</b>及<b class='flag-5'>数据</b><b class='flag-5'>帧</b><b class='flag-5'>详解</b>

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

    GCAN-201串口CAN设备可以将串口数据CAN总线
    的头像 发表于 02-05 10:36 4400次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>数据</b>与固定ID的<b class='flag-5'>CAN</b><b class='flag-5'>数据</b>转换

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

    串口CAN模块在什么时候需要用到呢?一是老产品面临升级,需要用到CAN总线通信,但硬件平台中的MCU没有集成CAN总线的控制器。二是选用的
    发表于 03-28 14:10 1146次阅读

    浅谈CAN错误格式

    数据和遥控有标准格式和扩展格式两种格式。标准格式
    发表于 09-29 12:31 988次阅读

    详解CAN总线通信优先级机制

    详解CAN总线:CAN总线报文格式数据文章中,讲解到仲裁段。仲裁段用于写明需要发送到目的
    发表于 10-25 14:00 2421次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>CAN</b>总线通信优先级机制

    CAN协议数据的介绍

    通过 CAN 总线传输数据是需要按照一定协议进行的,CAN 协议提供了 5种格式来传输数据
    的头像 发表于 07-25 10:36 1w次阅读
    <b class='flag-5'>CAN</b>协议<b class='flag-5'>数据</b><b class='flag-5'>帧</b>的介绍

    使用CAN串口网关什么时候选格式转化?

    在使用CAN串口网关时,选择格式转化还是透明转化取决于你的需求和应用场景。
    的头像 发表于 10-30 11:13 420次阅读

    can数据的标准格式

    消息的标识和传输数据CAN数据的标准格式如下: 起始位(Start of Frame, SOF):一个低电平信号,表示
    的头像 发表于 12-01 16:41 4261次阅读

    CAN通信中格式的作用

    汽车系统,特别是在控制器区域网络(CAN)通信中,不同的格式在促进可靠和高效的数据传输方面发挥着独特的作用。
    的头像 发表于 01-09 11:07 556次阅读

    串口通讯时的数据格式和通讯协议有什么区别?

    串口通讯时的数据格式和通讯协议是两个不同的概念,它们在串口通讯中起着不同的作用,但都是为了实现可靠的、有效的
    的头像 发表于 01-30 09:21 1831次阅读

    请问用CAN存储器存储的CAN总线数据格式有哪些呢?

    请问用CAN存储器存储的CAN总线数据格式有哪些呢? CAN总线是一种常用于汽车、工业控制和其
    的头像 发表于 01-31 13:46 1192次阅读