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

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

3天内不再提示

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

亿佰特物联网应用专家 2023-05-15 10:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

2bf90a44-f0a7-11ed-ba01-dac502259ad0.png

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

2c084770-f0a7-11ed-ba01-dac502259ad0.png

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

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

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

转换示例:

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

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

转换模式:协议模式;

帧类别:扩展帧;

转换方向:双向;

帧ID:无需配置;

则转换前后数据如下:

2c247b2a-f0a7-11ed-ba01-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转换器连接到电脑,如下图所示:

2c3c12bc-f0a7-11ed-ba01-dac502259ad0.png

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

2c5f8f26-f0a7-11ed-ba01-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所转换出来的数据:

2c7c33b0-f0a7-11ed-ba01-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,如下图所示:

2c8f9b62-f0a7-11ed-ba01-dac502259ad0.png

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

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

    关注

    59

    文章

    3098

    浏览量

    473644
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41205
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    车载网关测试:CAN/CANFD收到信号后,通过以太网转发给座舱域控制器,交联验证怎么做?

    车载网关测试:CAN/CANFD收到信号后,通过以太网转发给座舱域控制器,交联验证怎么做?
    的头像 发表于 04-01 15:11 239次阅读
    车载网关测试:<b class='flag-5'>CAN</b>/CANFD收到信号后,通过以太网<b class='flag-5'>转发</b>给座舱域控制器,交联验证怎么做?

    CAN总线报错看不懂?5种错误帧+5步排查法一次讲清

    其他节点,进而丢弃错误报文并触发重发机制,确保数据传输的准确性。在CAN通信调试中,错误帧是定位问题的重要线索。五种错误帧类型CAN协议定义了以下五种错误帧:1.
    的头像 发表于 03-16 11:36 521次阅读
    <b class='flag-5'>CAN</b>总线报错看不懂?5种错误帧+5步排查法一次讲清

    CAN协议的深度剖析

    CAN(Controller Area Network)协议是一种广泛应用于汽车电子、工业自动化等领域的串行通信协议,由德国Bosch公司在1980年代开发,旨在解决复杂系统中多个电子控制
    的头像 发表于 03-03 17:08 794次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>协议</b>的深度剖析

    机器人通信协议EtherCAT和CAN如何选择

    当下,虽然行业中存在许多通信协议,但业内人士普遍认为,EtherCAT和CAN两大协议,是机器人行业未来最重要的两大协议
    的头像 发表于 01-27 15:54 4474次阅读

    虹科答疑 | 3步搞定CAN CC/FD双向转换!虹科PCAN-Router FD实操教程来了

    CAN协议的「新老并存」是很多工程师都会遇到的现实难题:我们常用的经典CAN(CANCC,即CAN2.0),作为成熟稳定的协议,单帧
    的头像 发表于 01-08 17:02 2753次阅读
    虹科答疑 | 3步搞定<b class='flag-5'>CAN</b> CC/FD双向转换!虹科PCAN-Router FD实操教程来了

    如何同时指定can硬件滤波器的只接收id为0 和id为3的报文呢?

    如何同时指定can硬件滤波器的 只接收id为0 和id为3的报文呢 我目前只会用 RT_CAN_FILTER_STD_INIT(3, RT_NULL, RT_NULL)去指定id为3的报文
    发表于 09-28 07:46

    基恩士PLC使用EtherNet/IP协议通过EtherNet/IP转CAN协议转换网关与CAN协议IO卡通讯案例

    一、项目背景与痛点分析 某新能源科技企业生产现场部署了一台基恩士PLC,需要与4个采用CAN总线协议的远程IO卡进行数据交互,以实现对生产线关键参数的实时监控和控制。在项目初期,现场面临着三个核心
    的头像 发表于 09-25 14:24 754次阅读
    基恩士PLC使用EtherNet/IP<b class='flag-5'>协议</b>通过EtherNet/IP转<b class='flag-5'>CAN</b><b class='flag-5'>协议</b>转换网关与<b class='flag-5'>CAN</b><b class='flag-5'>协议</b>IO卡通讯案例

    移植CANfestival,发现can无法接收数据,为什么?

    最近在研究Canopen协议,在f407的板子上移植了canfestival协议栈 移植成功后遇到一些问题,总线上我在没有发数据的情况下还是可以进入can接收中断,我不清为什么会进入中断,后来我自己
    发表于 09-11 07:46

    什么,以太网能传CAN报文

    ),为控制指令在车内网络不同控制节点间的传输提供了新的选择。通俗来讲,ACF就是将目前较为成熟的控制协议(如CAN、LIN、FlexRay甚至是RS232串口指令等)
    的头像 发表于 09-09 15:59 2409次阅读
    什么,以太网能传<b class='flag-5'>CAN</b><b class='flag-5'>报文</b>?

    ProfiNet转CAN/CANopen网关技术详解

    1 产品概述与核心功能 三格电子的 SG-PN(h750)-COE/CAN 网关主要用于实现 PROFINET 与 CAN/CANopen (COE) 或自由 CAN 口之间的协议转换
    的头像 发表于 08-26 16:54 934次阅读
    ProfiNet转<b class='flag-5'>CAN</b>/CANopen网关技术详解

    用于各种设备协议间做报文转换的网关是什么

    功能是实现不同协议格式的报文(数据)在传输过程中的解析、转换和转发。 一、协议转换网关的核心作用 1.协议解析与转换 接收来自不同设备的
    的头像 发表于 08-11 14:08 1254次阅读
    用于各种设备<b class='flag-5'>协议</b>间做<b class='flag-5'>报文</b>转换的网关是什么

    第十三章 W55MH32 UPnP端口转发示例

    本文讲解了如何在 W55MH32 芯片上实现 UPnP 协议的端口转发功能,通过实战例程详细展示了从设备搜索、获取设备描述、订阅事件到添加和删除端口映射的完整流程,包括各步骤涉及的协议报文
    的头像 发表于 07-24 10:28 1643次阅读
    第十三章 W55MH32 UPnP端口<b class='flag-5'>转发</b>示例

    协议分析仪能监测哪些异常行为?

    的行为 字段格式错误 实例: Modbus TCP:请求报文中的“Unit ID”字段超出0x00-0xFF范围(如0x100),可能触发缓冲区溢出。 CAN总线:数据帧的“DLC”(数据长度)字段为
    发表于 07-22 14:20

    车载 CAN-Bus 数据记录仪

    “黑盒子 ”,会记录所有的CAN 数据,以便于事后进行故障分析。 SG-CAN-200R 是一款便携的 2 通道 CAN 总线记录仪,可脱离 PC 单独工作,内置存储卡, 可以长时间记录 CA
    的头像 发表于 07-15 14:13 977次阅读
    车载 <b class='flag-5'>CAN</b>-Bus 数据记录仪

    一文读懂CAN XL协议

    随着汽车和工业应用中数据通信量的增加,传统的CAN协议已无法满足更高的数据速率需求。传统CAN协议在数据速率和总线负载能力方面存在限制,难以满足高带宽和高实时性的应用场景。为此,
    的头像 发表于 07-03 14:53 4719次阅读
    一文读懂<b class='flag-5'>CAN</b> XL<b class='flag-5'>协议</b>