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

UART转CAN的应用已广泛应用于各行各业,因此对于数据帧转换的形式要求也逐渐增多,目前主流的转换形式包括透明转换、透明带标识转换以及自定义转换。具体是如何实现?本文将为大家介绍其中的透明带标识转换。 1 . 适用场景 串口转CAN模块在什么时候需要用到呢?一是老产品面临升级,需要用到CAN总线通信,但硬件平台中的MCU没有集成CAN总线的控制器。二是选用的MCU已经包含CAN总线接口,但数量上不能满足项目需求。若出现类似以上两种情况且MCU有闲置串口,则可以选用串口转CAN模块解决。  
1.jpg
  图1 应用行业 2 . 使用方法 该类模块可以很方便地嵌入到具有UART接口的设备中,在不需改变原有硬件结构的前提下使设备获得CAN-bus通讯接口,实现具有UART设备和CAN-bus网络之间的数据通讯。工业级的转换模块内部还包括实现带隔离的CAN和UART转换所必须的模拟和数字器件、光电耦合器、DC/DC变换器、CAN-bus接口等。  
2.jpg
  图2 产品架构 3 . 格式说明 CSM100系列模块提供3种协议转换方式:透明转换、透明带标识转换、自定义协议转换。上篇文章已介绍过透明转换模式的转换方法,本文将以CSM100系列的模块简述模块的透明带标识转换格式。 该转换模式串行帧中的“帧ID”自动转换成CAN报文中的帧ID。只要在配置中告诉模块该“帧ID”的地址编号在串行帧的起始位置和长度,模块在转换时提取出这个“帧ID”填充在CAN报文的帧ID域里,作为该串行帧转发时的CAN报文的帧ID。在CAN报文转换成串行帧的时候也把CAN报文帧ID转换在串行帧的相应位置。  
3.png
  图3 转换方式 对比“透明转换”模式和“透明带标识”模式不难发现它们之间的区别:CAN ID信息来自串口流数据中还是来自模块本身的配置信息中。由于“透明转换”模式下的CAN ID来自模块配置信息,配置信息由上位机软件提供,因此对于使用此模式的节点来说发送的帧ID是固定的。而“透明带标识”模式下不同,它可以一个节点发送多个帧ID 的CAN帧。 4 . 转换形式 串行帧的最大缓冲区长度为255个字节,且处于该模式时串行接收设置有超时时间,即在一定时间内收不到串口数据则默认打包为一帧发送。因此,在透明带标识转换模式下,必须保证模块取得完整的串行数据帧,否则会造成分包错误。  
4.jpg
  图4 分包方式 透明带标识转换模式下,串行帧转为CAN报文时的形式如图5。需要注意的是,串行帧中所带有的CAN报文“帧ID”在串行帧中的起始地址和长度可由配置设定。起始地址的范围是0~7,长度范围分别是1~2(标准帧)或1~4(扩展帧)。如果在配置中指定帧类型为标准帧,帧ID信息起始地址为3长度为1,则帧ID的有效位只有8位。地址3中的CAN ID1作为标准帧ID的高8位,其余位全部补0。  
5.png
  图5 串行帧到CAN帧 透明带标识转换模式下, CAN报文转为串行帧时的形式如图6。若同样配置CAN帧信息为标准帧,帧ID信息为起始3长度1,则转换时将丢失ID0的数据。此时CAN帧 中的数据能正常被接收,但必然缺失帧ID信息(ID0本身不全为0时)。为了正常转换标准帧的帧ID信息,下图的转换情景必须将帧ID信息中的帧长度设置为2。  
图6 CAN帧到串行帧
  图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.jpg
  图7 示例1 若配置起始地址是2,长度是3(扩展帧情况下),CAN报文的帧ID为0x00123456,数据为0x55,0x55,0x55,0x55,0x55,0x55则转换结果如图8。  
8.jpg
  图8 示例2 4 .总结 以上为串口转CAN“透明带标识”模式下的的转换方式,该模式特点是可以灵活设定一个节点发送的CAN帧ID信息。笔者将介绍透明转换、透明带标识转换、自定义协议转换以及moudbus转换的内容,欢迎关注往期及后期文章。
换一批

延伸阅读

[qy002千赢国际应用] cortex mo lpc1114 uart串口中断收发数据

cortex mo lpc1114 uart串口中断收发数据中断方式串口接收数据新建一个工程,结构如下图所示:在main.c文件中,输入以下代码:#include “lpc11xx.h”#include “uart.h”uint8_t rec_buf;void UART_IRQHandler(voi......关键字:cortex mo lpc1114 uart 串口中断 收发数据

[qy002千赢国际应用] SAM4Eqy002千赢国际之旅——9、UART与MCK之MAINCK

SAM4Eqy002千赢国际之旅——9、UART与MCK之MAINCK为得到更高的带宽,需要使用更高的波特率。UART波特率的计算已经介绍过了,现在就尝试下调整外设的时钟频率。可以有多种方法调整外设时钟(MCK)的频率,这里先介绍先主要时钟(MAINCK)的设置,其中包括外部晶振的使......关键字:SAM4E qy002千赢国际 UART MCK MAINCK

[qy002千赢国际应用] SAM4Eqy002千赢国际之旅——10、UART与MCK之PLL

SAM4Eqy002千赢国际之旅——10、UART与MCK之PLL为使用更更高的波特率,则需要更更高的外设时钟的频率。这个时候就需要用到锁相环(PLL)了。锁相环可以对输入的时钟进行分频、升频后进行输出。MCK可以使用的锁相环为PLLA,而PLLA的输入时钟为MAINCK。本节将配置MC......关键字:SAM4E qy002千赢国际 UART MCK PLL

[qy002千赢国际应用] C8051f300_UART0串口发送初始化

C8051f300_UART0串口发送初始化1、C8051f的UART0是异步、全双工串口。其波特率发生器规定由定时器1定时器提供。可配置为8位UART或9位UART(多机通讯第九位用于片选作用)。SYSCLK=24.5MHZ(我的板子采用内部晶振频率作为系统时钟) BAUDRATE......关键字:C8051f300 UART0 串口发送 初始化

[qy002千赢国际应用] mini2440硬件篇之UART

mini2440硬件篇之UART通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),通常称作UART,是一种异步收发传输器。UART以全双工方式传输数据,最简单的连线只有2根,TxD用于发送,RxD用于接收,Gnd地。......关键字:mini2440 硬件篇 UART

[qy002千赢国际应用] stm8s开发(三) UART的使用:串口通信!

stm8s开发(三) UART的使用:串口通信!串口通信是qy002千赢国际学习的一个最基本、最重要的功能之一。串口通信可以间接的当做调试接口使用,实现qy002千赢国际与电脑之间的通信。当然可以与一些模块(比如蓝牙、wifi)通信,也可以作为和其他qy002千赢国际通信的工具。STM8S的通......关键字:stm8s开发 UART 串口通信

[qy002千赢国际应用] 51qy002千赢国际——UART

51qy002千赢国际——UART对于qy002千赢国际来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个qy002千赢国际系统的“神经中枢”。1、初步认识一位一位的发送出去的,要发送 8 次才能发送完一个字节。STC89C52有两个引脚是专门用来做 U......关键字:51qy002千赢国际 UART

[qy002千赢国际应用] cortex m0 lpc1114 串口uart查询收发数据

cortex m0 lpc1114 串口uart查询收发数据LPC1114有一个串口,具备标准9针串口的所有功能引脚:RXD、TXD、RTS、CTS、DTR、DSR、DCD、IR一般情况下,我们只用到RXD和TXD。在这一章,只对RXD和TXD的使用做介绍。可以用于程序下载。可以设置奇校验、偶校验、......关键字:cortex m0 lpc1114 串口 uart查询 收发数据

[qy002千赢国际应用] STM32--UART异步通信学习

STM32--UART异步通信学习字符发送的过程描述:在UART的发送过程中先将数据输入到发送数据寄存器中(TDR)此时(TXE)被硬件置1,之后TDR寄存器将数据串行移入到发送移位寄存器中,将数据在TX端口发送,此时(TC)被硬件置1。发送与接收是逆过程。......关键字:STM32 UART 异步通信

[qy002千赢国际应用] stm8s串口通信(uart)

stm8s串口通信(uart)最近开始使用stm8s103k3qy002千赢国际了。据说很好,确实不错。前几天已经试过了GPIO,Timer2,ADC的功能,都比较容易,唯独串口UART使用,破费周折,写出来,供大家借鉴。我使用的是stm8s103k3,32脚qy002千赢国际,这个使用手册上......关键字:stm8s 串口通信 uart

[最新活动] ADI 荣获 2018 年度 TOP-10 电源产品奖

ADI 荣获 2018 年度 TOP-10 电源产品奖由《今日千赢国际官方(唯一)网址》杂志和21ic中国千赢国际官方(唯一)网址网联合举办的,2018年第十六届年度TOP 10电源产品奖获奖名单已公布,ADI 公司的同步降压型 Silent Switcher 2 LT8650S 获此殊荣。本次获奖产品由专家评审组选出,......关键字:电源产品奖 ADI

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客