太阳集团tcy8722

当前位置: 首页 >应用方案 >技术应用 >

基于CAN报文固定协议转换器转发教程

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

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

CAN报文固定格式

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

CAN报文帧

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

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

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

转换示例:

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

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

转换模式:协议模式;

帧类别:扩展帧;

转换方向:双向;

ID:无需配置;

则转换前后数据如下。

CAN报文

在了解了ECAN-401协议模式功能后,我们可以开始实际操作,准备以下设备:ECAN-401一台、CAN分析仪ECAN-U01一台,XCOM串口助手。这里我们使用ECAN-401做数据转换工具,ECAN-U01发送和接收CAN报文,XCOM串口助手软件模拟串行设备发送串行数据。将ECAN-401ECAN-U01CAN_LCAN_H连接,ECAN-401485接口通过485USB转换器连接到电脑,如下图所示:

can总线数转换器链接示意图

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

can协议波特率配置

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

CAN分析仪配置

这里可以看到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,如下图所示:

CAN分析仪配置2

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

今天的分享就到这里啦,太阳集团tcy8722人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网进行了解,还有客服小姐姐在线答疑哦!


太阳集团tcy8722