当前位置:首页 > 通信技术 > 通信技术
[导读]UART转CAN的应用已广泛应用于各行各业,因此对于数据帧转换的形式要求也逐渐增多,目前主流的转换形式包括透明转换、透明带标识转换以及自定义转换。具体是如何实现?本文将为大家介绍其中的透明带标识转换。

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

1 . 适用场景

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

 

 

图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帧到串行帧

4 . 转换示例

假设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

4 .总结

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

伴随物联网、车联网、人工智能等新兴应用领域的拓展和深化,智能家居、智慧楼宇、智慧城市和智能工业等行业快速发展,带动物联网无线模组需求释放,进而带动串口WiFi模块,BLE蓝牙模块以及ZigBee模块的需求增长

关键字: uart 串口通信 物联网

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种常用的串行通信协议,广泛应用于单片机或各种嵌入式设备之间的通信。

关键字: uart 串口通信 嵌入式

射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为了不被二弟裘千仞识破,可以安排侍卫在对岸监视通知,没风险才开始表演...

关键字: uart 通信技术

射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为了不被二弟裘千仞识破,可以安排侍卫在对岸监视通知,没风险才开始表演...

关键字: uart 通信技术

射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为了不被二弟裘千仞识破,可以安排侍卫在对岸监视通知,没风险才开始表演...

关键字: uart 通信技术

还记得当年的打印机,鼠标和调制解调器吗?他们都有巨大笨重的连接器和粗电缆,并且必须拧到你的电脑上。这些设备正是使用UART协议与计算机进行通信。虽然USB几乎完全取代了旧的电缆和连接器,但UART绝对没有过时。你会发现目...

关键字: uart 通信技术

这篇基础的UART,献给刚好需要的您!

关键字: uart 嵌入式

针对UART通信端口上射频干扰的研究 有客户报告其中心位于840MHz左右的RF干扰影响配置成UART的串行通信端口,该接口位于包含一个AD6903(LeMansLCR+)数字式基带处理器的调制解调

关键字: uart 通信端口

我想后面的情景一定在你身上发生过:一天早上,工程经理找到你并对你说,“我们需要将连通性添加到产品‘x’中,不过,为了使功能有所增加,我们不想改变产品&lsqu

关键字: uart Wi-Fi

我想后面的情景一定在你身上发生过:一天早上,工程经理找到你并对你说,“我们需要将连通性添加到产品‘x’中,不过,为了使功能有所增加,我们不想改变产品&lsqu

关键字: uart Wi-Fi
关闭
关闭