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

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

3天内不再提示

CAN报文固定协议转发教程

kae1_cdebyte 来源:亿佰特物联网应用专家 2023-05-12 10:40 次阅读

CAN总线通信的应用领域中,很多客户需要将CANID 放在CAN报文中,这样更方便接入不同的设备,有利于用户通过模块更方便的组建自己的网络,使用自定的应用协议。但是要实现这样的应用,用户往往需要不停地去修改参数,而亿佰特的ECAN-401所具备的协议转发功能则很好地处理这个问题。首先我们要了解一下此设备的固定协议是怎么样的格式。

CAN格式转换固定13字节表示一个CAN帧数据,13个字节内容包括CAN 帧信息+帧ID+帧数据。在该转换模式下,设置的CANID无效,因为此时发送的标识符(帧 ID)由上述的格式串行帧中的帧ID数据填充。配置的帧类型也无效,由格式串行帧中的帧信息来决定帧类型。格式如下:

fb285a5c-f06d-11ed-90ce-dac502259ad0.png

帧 ID 的长度为 4 字节,标准帧有效位是 11 位,扩展帧有效位是 29 位。

fb3bd7d0-f06d-11ed-90ce-dac502259ad0.png

在串行帧转CAN报文的过程中,以固定字节(13字节)对齐的串行数据帧中,某段固定字节的数据格式不标准,将会不对固定字节长度进行转换,接着转换后面的数据。如果转换后发现少了某些 CAN 报文,请检查对应报文的固定字节长度串行数据格式是否不符合标准格式。

帧数据在CAN格式转换时,长度固定为8字节。有效长度由DLC3~DLC0的值决定,有效数据不足固定长度时,需要补0到固定长度。

此模式下,要注意严格按照固定字节的格式串行数据格式才能转换成功,CAN 模式转换可参考示例(CAN 格式转换标准帧示例)所示,转换时首先要确保帧信息无误,数据长度表示无误,否则不会进行转换。

转换示例:

串行帧转CAN报文(协议模式);

该示例配置的CAN配置参数;

转换模式:协议模式;

帧类别:扩展帧;

转换方向:双向;

帧ID:无需配置;

则转换前后数据如下:

fb4f88fc-f06d-11ed-90ce-dac502259ad0.png

在了解了ECAN-401的协议模式功能后,我们可以开始实际操作,准备以下设备:

ECAN-401一台

CAN分析仪ECAN-U01一台

XCOM串口助手

这里我们使用ECAN-401做数据转换工具,ECAN-U01发送和接收CAN报文,XCOM串口助手软件模拟串行设备发送串行数据。将ECAN-401与ECAN-U01的CAN_L和CAN_H连接,ECAN-401的485接口通过485换USB转换器连接到电脑,如下图所示:

fb65fd76-f06d-11ed-90ce-dac502259ad0.png

通过ECAN-401的上位机,将设备通讯模式切换为协议模式,CAN波特率1000K,参数配置如下图:

fbb59e62-f06d-11ed-90ce-dac502259ad0.png

打开CAN分析仪ECAN-U01以及XCOM软件,使用XCOM软件模拟出一串行设备,通过ECAN-401的485串口发送串行数据。首先使用标准帧发送两包数据:88 01 23 45 67 11 22 33 44 55 66 77 88,这里可以看到ECAN-U01设备已经接收到了ECAN-401所转换出来的数据:

fbc89cce-f06d-11ed-90ce-dac502259ad0.png

这里可以看到ECAN-U01已经成功接收到ECAN-401转化出来的数据,帧类型:扩展帧帧ID:1234567,数据域:11 22 33 44 55 66 77 88 。从ECAN-401的配置参数上看,ECAN-401的设置的帧类型和帧ID是没生效的,CAN分析仪接收的帧信息由串行帧给出。

再试试串行帧发送08 00 00 01 23 88 77 66 55 44 33 22 11,如下图所示:

fbea2844-f06d-11ed-90ce-dac502259ad0.png

CAN分析仪正常接收到标准帧数据,这样就可以实现设备到CAN的协议转发。

审核编辑:汤梓红

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

    关注

    145

    文章

    1936

    浏览量

    130625
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2715

    浏览量

    463355
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54728
  • 总线通信
    +关注

    关注

    0

    文章

    49

    浏览量

    11823
  • 报文
    +关注

    关注

    0

    文章

    38

    浏览量

    4017

原文标题:【教程】CAN报文固定协议转发

文章出处:【微信号:cdebyte,微信公众号:亿佰特物联网应用专家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN报文自定义协议转发操作原理及步骤

    串行帧中所带有的CAN报文的“帧 ID”在串行帧中的起始地址和长度可由配置设定。起始地址的范围是0~7,长度范围分别是1~2(标准帧)或1~4(扩展帧)。
    发表于 05-26 10:32 2039次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>自定义<b class='flag-5'>协议</b><b class='flag-5'>转发</b>操作原理及步骤

    CAN总线知识】全面了解CAN总线协议

    提及总线,总是让人联想到那些交错在一起的计算机电线。那么这些电线如何发挥功效呢?这还得配合总线协议的管理来使用。那么今天我们介绍的就是CAN总线协议。看看这个协议的含义和应用吧。
    的头像 发表于 10-15 08:05 1218次阅读
    【<b class='flag-5'>CAN</b>总线知识】全面了解<b class='flag-5'>CAN</b>总线<b class='flag-5'>协议</b>

    CAN总线协议及概念

    让我们来了解一下这方面的知识吧。1,CAN总线协议基本概念:(1),报文:总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新
    发表于 04-18 16:36

    问一下,什么叫做报文的透明转发

    问一下,什么叫做报文的透明转发啊 问一下,什么叫做报文的透明转发
    发表于 06-11 09:13

    CAN总线协议中的有哪些基本概念需要熟悉

    在了解 CAN 总线协议以前,需要介绍有关协议中的基本概念。1.报文(Messages)在 CAN 总线传输的数据具有
    发表于 12-14 14:37

    整车网关对诊断报文的路由功能

    前提:(1)诊断仪通过CANFD接口连接整车网关;(2)整车网关的子网络中有CAN总线的网络;问题:整车网关对于0x7DF的功能寻址报文,从CANFD接口向CAN接口转发时要怎么操作?
    发表于 11-06 16:25

    CAN报文定义

    协议CAN报文种类报文传输过程中有:数据帧、远程帧、错误帧、过载帧和帧间隔。3. CAN报文
    发表于 09-14 09:23

    可重构路由器报文转发引擎设计与实现

    网络处理功能的时空演化特性要求可重构路由器报文转发引擎除具有基本报文分组交换能力外,还应具有可重构能力。针对上述需求,构建了面向可重构路由器的报文
    发表于 01-07 08:00 3次下载
    可重构路由器<b class='flag-5'>报文</b><b class='flag-5'>转发</b>引擎设计与实现

    CAN总线协议教程|CAN报文分析

    CAN协议教程 介绍:CAN总线 CAN总线是广播类型的总线。这意味着所有节点都可以侦听到所有传输的报文。无法将
    发表于 04-03 15:32 1.4w次阅读

    CAN基础:电平、逻辑、报文是怎么来的

    CAN总线的报文是怎么产生以及收发的,遇到通讯异常的问题时从什么角度分析?这篇文章将会带您快速了解报文的传输原理。
    的头像 发表于 12-26 02:46 2107次阅读

    【教程】CAN报文固定协议转发

    不停地去修改参数,而亿佰特的ECAN-401所具备的协议转发功能则很好地处理这个问题。首先我们要了解一下此设备的固定协议是怎么样的格式。CAN
    的头像 发表于 05-15 10:30 836次阅读
    【教程】<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>

    【教程】CAN报文自定义协议转发

    CAN总线通信的应用领域中,很多客户需要将CANID放在CAN报文中,这样更方便接入不同的设备,有利于用户通过模块更方便地组建自己的网络,使用自定的应用协议。但是要实现这样的应用,用
    的头像 发表于 05-31 17:03 1552次阅读
    【教程】<b class='flag-5'>CAN</b><b class='flag-5'>报文</b>自定义<b class='flag-5'>协议</b><b class='flag-5'>转发</b>

    VXLAN网关有哪些种类?VXLAN网络中报文是如何转发的?

    VXLAN网关有哪些种类?VXLAN网络中报文是如何转发的? VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,它使用隧道协议将虚拟局域网(VLAN)扩展到整个
    的头像 发表于 12-07 09:32 678次阅读

    CAN报文为什么会发送失败?

    CAN总线调试过程中出现报文发送失败。很多工程师都对此只知其一不知其二,今天我们就以CAN报文发送失败的问题来做一次探讨。在了解CAN
    的头像 发表于 04-12 08:25 1874次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>报文</b>为什么会发送失败?

    CAN总线的报文类型介绍

    CAN(Controller Area Network)总线是一种广泛使用的串行通信协议,特别适用于汽车和工业自动化领域。CAN总线上的报文类型主要可以分为以下几种,每种类型都有其特定
    的头像 发表于 09-03 14:20 1017次阅读