datasheet

技术文章—CAN FD升级要如何避免与CAN总线的冲突?

2019-05-22来源: EEWORLD关键字:CAN

随着新能源汽车的发展,需要传输的数据量也逐渐增加,很多车厂都在考虑使用CAN FD来替代CAN实现数据量传输的提速。那么如何稳定地升级到CAN FD呢?本文为您解答。

 

一、CAN FD与CAN的主要区别

 

 

图1  CAN帧基本格式

 

 

图 2  CAN FD帧基本格式

 

如图1、图2所示分别是CAN帧和CAN FD帧的基本格式,区别主要分为两大点:

 

  1. BRS(可变速率)

 

CAN FD的传输速率分为两个频段,从BRS位开始到CRC校验之前这一段是可变速率段,这一段的波特率可以进行加速,理论最高可达到5Mbit/s,而其他位置则和CAN2.0一样,最高速率可达到1Mbit/s。

 

  1. 数据场长度增加BRS

 

CAN FD对数据场的长度做了扩充,从CAN的8字节增加到CAN FD的64字节。如图3所?#33606;?#24403;DLC小于8字节时和CAN一样是线性增长,当大于8字节时是非线性增长。

 

 

图3  DLC编码方式

 

二、CAN FD的升级与CAN是否有冲突?

 

由于使用CAN FD网络?#20445;?#38656;要ECU和CAN控制器、收发器均支持CAN FD通讯。所以当CAN网络中某些节点升级为CAN FD?#20445;?#36710;辆上CAN与CAN FD处于共存的情况,因为普通的CAN节点无法正常解析CAN FD报文,节点?#31361;?#19968;?#21271;?#38169;,出现大量错误报文,导致总线通讯异常。

 

?#24471;? C:UserslvxiaolingDesktop本周文章20周CANFD的升级要如何避免与CAN总线的冲突?图4.jpg

 

图 4  CAN与CAN FD报文的波形对比

 

如图三所?#33606;?#21487;以看到CAN FD的传输速率是5Mbit/s,而CAN的传输速率为500Kbit/s,我们在平常使用上位机软件解析CAN报文的时候需要设置对应的波特率,否则报文就无法解析。那么用一种简单的方式来理解,对于CAN节点来说,它的波特率是500K,那么5M的波特率与它不匹配,所以不能被正常解析,该节点?#31361;?#25253;错,导致CAN FD报文一直无法正常发送,干扰总线的正常运?#23567;?/span>

 

三、CAN FD升级的解决方案

 

针对CAN FD升级的情况,一般有三种解决方案。

 

  1. CAN节点忽略CAN FD报文

 

支持CAN2.0的ECU忽略CAN FD报文,不对其进行识别,这样虽然无法对CAN FD报文进行解析处理,但是也不会将其识别为错误帧,总线可以保证正常通讯。因为CAN FD是向下兼容CAN的,所?#36816;?#26377;的CAN节点和CAN FD节点对于CAN报文都可以正常通讯,但是CAN FD的报文只能在支持CAN FD的ECU之间进行传输。由于只能保证CAN FD节点可以正常接收所有类型的CAN报文,CAN节点无法接?#25112;?#26512;CAN FD报文,所以该解决方案仅可作为临时使用。

 

  1. 全部节点升级为CAN FD

 

将所有网络上所有的节点都替换成CAN FD,由于CAN FD可以向下兼容CAN,此时的网络既可以进行CAN报文收发也可以进行CAN FD报文收发。但是由于整体网络全部更新替换,成本较高,所以使用率很低。

 

  1. 利用CAN网桥进行CAN FD与CAN的转换

 

    在原有的CAN网络上通过CAN网桥与新的CAN FD节点进行连接,将传统的CAN总线网络通过协议转换与CAN FD网络进行融合,快速实现CAN设备的升级。工作原理如图5所?#33606;?#24403;接收到CAN FD报文的时候,CAN网桥会采用直转、合并、拆分三种方式实现传统CAN的8字节长度和CAN FD的64字节长度的互相转换,无损还原原有数据。

 

 

总结:

 

对于CAN FD的升级,如果不是全部节点都进行升级,那么为了避免与CAN总线的冲突,相对来说,使用CAN网桥作为转换来完成是更好的方法。工程师可以不用在意如何完成CAN与CAN FD报文之间的转换,可以将工作重心放到产品功能的实现上,这样对于产品的快速更迭,抢占市场会更加有帮助。


关键字:CAN

编辑:muyan 引用地址:http://www.88536358.com/qcdz/ic462530.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本?#38745;?#29992;的非本站原创文章及图片等内容无法一一联系确?#20064;?#26435;者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子?#22987;?#25110;电话通知我们,以迅速采取?#23454;贝?#26045;,避免给双方造成不必要的经济损失。

上一篇:华虹宏力:功率半导体?#24403;?#30005;动汽车“芯”机遇的两大要诀
下一篇:CAN/RS-485总线的终端电阻应如何设置?

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32CubeMX开发stm32f103rbt6 CAN例程(二)

1、STM32CubeMX配置    2、生成代码查看  3、编写代码程序下载:http://download.csdn.net/download/white_loong/101374684、使用CAN分析仪测试(波特率125K)问题:程序CAN收发同时打开例如:1、main() {     HAL_CAN_Receive_IT();     HAL_CAN_Transmit_IT(); }  HAL_CAN_RxCpltCallback() { 
发表于 2019-06-18
STM32CubeMX开发stm32f103rbt6 CAN例程(二)

stm32f407之CAN控制器(操作寄存器)

首先简单介绍一下CAN总线,关于CAN总线是谁发明的,CAN总线的历史,CAN总线的发展,CAN总线的应用场合,这些,通通不说。这里只是以我个人理解,简单说说CAN通信。CAN总线的端点没有地址(除非自己在帧里定义地址),CAN总线通信不用地址,用标识符,不是单独的谁发给谁,而是,你总是发送给整个网络。然后每个节点?#21152;?#36807;滤器,对网络上的传播的帧的标识符进行过滤,自?#21512;?#35201;什么样的帧,可以设置自己的过滤器,接收相关的帧信息。如果两个节点同时发送怎么办?这个不用我们担?#27169;珻AN控制器会自己仲裁,让高优先级的帧先发。 然后我们可以了解一下stm32的CAN控制器。如上图所?#33606;瑂tm32有两个can控制器,can1(主
发表于 2019-06-18
stm32f407之CAN控制器(操作寄存器)

技术文章—简化HEV 48-V系统的隔离CAN、电源接口

48V汽车应用中对隔离的需求?#20013;?#22686;长。这是一种紧凑、高效、稳健、低噪声的方法,可通过CAN接口隔离48 V系?#22330;?nbsp;为今天的汽车设计是一?#21046;?#34913;行为。在满足日益?#32454;?#30340;排放标准和为越来越多的车载系统和小工具提供动力之间,需为当今的车辆提供高功率,以获得高效率。 为实现效率和功率的融合,工程师更加?#35272;?#20110;将48V电力运行与传统?#35745;?#21457;动机相结合的系?#24120;?#22914;混合动力电动汽车(HEV)。这种方法可确保车辆满足?#32454;?#30340;二氧化碳(CO2)排放标准,同时还可改进性能和驱动质量。 虽?#36824;?#20110;双电池汽车系统本身已有很多说法,但我关注的是这些组合式12和48V系统中的一个关键且有时被忽视的组件:电流隔离。电流隔离用于抵抗接地噪声,并在
发表于 2019-06-18
技术文章—简化HEV 48-V系统的隔离CAN、电源接口

stm32F4 hal库之CAN通信的实现

目标:通过can总线,用stm32的CAN模块实现对电机驱动发送指令,从而实现对电机的控制。?#24067;?#35774;计:①收发芯片的功能:把单片机送来的信号通过收发芯片的转换从而实现信号的具体传输。②120?#20998;?#31471;电阻:主要是为了防止信号的干扰,一般来说,终端设备的CAN_H和CAN_L也要加上120?#20998;?#31471;电阻。软件设计基本知识:其实各种通信方式的本质都是一样的,均分为两个部分;①波特率:以何种速度来通信②具体准则:发送端和接收端对发送来的数据的解释。特色:CAN工作于4种模式;类似于手机的飞行模式,正常模式,待机状态,是一种感觉。CAN常用的工作模式是(1)回环模式:也就是自己发,自己收。(2)正常工作模式,也就是用于正常的接收,发送。一.公共部分
发表于 2019-06-18
stm32F4 hal库之CAN通信的实现

STM32F042 基于CubeMX HAL库CAN的配置

首?#20154;?#35828;使用时候的两个坑。(1)要使能Swap PA9/10 –>PA11/12,这个时候PA11和PA12引脚才能出现。(2)?#19994;?#19968;?#25509;?#30340;是回环模式。大?#29575;?#36825;样的。 While{SendCanMessage();} Can_interrupt{HAL_CAN_Receive_IT(hcan,CAN_FIFO0);} 却发现只能中断一次不能返回了。原因,配置好CAN后状态为HAL_CAN_STATE_READY。 设置为接收,状态为HAL_CAN_STATE_BUSY_RX0。接收到数据一般会在继续设置为接收。这样一直可以接收。 发送时状态
发表于 2019-06-17
STM32F042 基于CubeMX HAL库CAN的配置

STM32CubeMX生成基于HAL库的Can收发配置

HAL库 的应该用比较新?#20445;?#32463;常?#20063;?#21040;资料。今天说说,在CAN开发中的应用。一,发送。static HAL_StatusTypeDef Can_MsgSend(uint32_t ID,uint8_t * pData,uint8_t len){HAL_StatusTypeDef retSTD;canTxMsg.StdId=ID;//0x500|(GetLocalID()&0xFF);canTxMsg.IDE=CAN_ID_STD;canTxMsg.RTR=CAN_RTR_DATA;canTxMsg.DLC=len;memcpy(canTxMsg.Data,pData,len);SendErrorCount=0;retSTD
发表于 2019-06-17

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright ? 2005-2019 EEWORLD.com.cn, Inc. All rights reserved
极速飞艇开奖结果168