大数跨境

CAN-FD的两种应用,你了解多少?

CAN-FD的两种应用,你了解多少? 怿星科技
2020-12-31
3
导读:相比CAN协议,CAN-FD新增两个比较大的特性:1、 支持可变速率;​2、 支持更大的payload(数据长度)。

CAN-FD(CAN with Flexible Data Rate)作为CAN协议(基于CAN2.0)的改进,它与CAN有什么样的区别呢?今日小怿就和大家一起唠一下CAN-FD常见的一些应用。


相比CAN协议,CAN-FD新增两个比较大的特性:

1、 支持可变速率

a) 仲裁段与标准CAN速率相同

b) 数据段:速率最高可达8Mbit/s

2、 支持更大的payload(数据长度

a) 帧的长度可达64字节


从特性可以看出:CAN-FD的优势:

  • 更快的刷写速率

  • 避免将数据拆分多帧

  • 减少现有总线的总线负载

  • 避免拆分网络


通过上述阐述,CAN-FD针对目前CAN总线带宽资源不足的问题具有一定的缓解作用。目前国内部分OEM针对CAN-FD协议的使用主要有两种:一种是固定好通信内容,仅增加了报文长度;另一种是AUTOSAR的思想,采用PDU的思路,能够实现更为灵活的应用,如下分别介绍两种思路。


1、增加报文长度,在DBC格式的数据库中定义CAN-FD帧,如图1 所示。


图1 CAN-FD报文在DBC数据库文件中的定义


2、完全按照CAN-FD协议要求,在arxml格式的数据库中定义CAN-FD帧,如图2所示。


图2 CAN-FD报文在arxml数据库中的定义


到这里是不是有童鞋不禁要问了,这二者有何区别呢?嘿嘿,且听小怿细细道来。


针对第一种:仅增加了CAN-FD报文的帧长度,数据场的内容是固定的。OEM在DBC数据库文件中定义了CAN-FD的报文长度,规定数据场的内容,也就是将信号的排列顺序规定好。将DBC数据库释放给零部件供应商后,供应商根据OEM释放的文件,进行通信开发。此种优势在于一旦出现信号交互问题,测试人员能快速定位问题,同时零部件供应商也能根据报文快速定位控制器软件问题。但是劣势也比较明显,一旦总线出现高负载的情况,无法调整报文长度,无法灵活降低负载,灵活性不足。



一条CAN-FD总线上有节点A、节点B等等20个节点,如果这些节点将自身的报文全部发送,总线负载达到75%,节点A发送的2条CAN-FD:报文M(长度为64)与报文N(长度为64)。针对总线高负载的情况下,节点A中报文M的信号P(信号长度占4个字节)是一个重要的信号,此时节点A只需要将信号P所在的报文发出。由于DBC数据库将每一帧CAN-FD报文的长度固定,所以节点A一旦需要发送信号P的报文,必须得将报文M所有的信号全部发出。如果对于其余节点也都是这样的话,总线负载率无法进行降低,造成带宽资源的浪费。


看完第一种情况,再来看一下第二种:应用CAN-FD的协议,在arxml数据库中定义CAN-FD帧。此时引入PDU的概念:PDU(Protocol Data Unit)协议数据单元。一般用到的PDU有:NMPDU(网络管理PDU)、I-signal-PDU(信号PDU)、Container-PDU(PDU簇)。AUTOSAR中规定:Frame是由PDU组成,PDU是由signal组成。常规CAN报文一般是由I-signal-PDU组成,而CAN-FD报文(报文长度超过8字节)一般是由Container-PDU组成,Container-PDU则是由若干个I-signal-PDU组成,如下图3所示。


图3 I-signal-PDU在Container-PDU分布


OEM一般将arxml数据库文件释放给零部件供应商,供应商可以根据AUTOSAR框架进行软件架构划分,各司其职。这种方式好处为对于整车交互时,一旦总线出现高负载的情况,控制器可以根据自身需求缩短报文的长度,降低负载,灵活性较高。我们沿用上个栗子来看:


节点A中信号P(信号P占4个字节)是一个重要的信号,此时节点A只需要将信号P发出即可。此时利用AUTOSAR架构概念,在设计时将信号P放到一个I-signal-PDU(PDU Y)中,此时只需要将PDU Y (4个字节)+ PDU Y的shortHeaderID(占3个字节) + PDU Y的DLC(占1个字节)放到报文M中,此时只需要发送M报文(8个字节),即可满足总线需求,而其他非重要的信号,可以不发送、少发送、增长发送周期等方式,来降低总线负载。


看到这里,是不是有童鞋又要问了:这个真能这样实现吗?下图所示,能够看到同一个报文里包含了不同PDU的情况。


图4  报文0xB5 PDU信息显示


不过还是要给各位童鞋泼泼水冷静下。第二种虽然好处众多,但是也是有一些劣势的。首先架构需要重新定义,传统架构中报文与信号中并没有插入PDU的概念,最多引入信号组(signalgroup)的概念,因此需要将信号与报文信息进行重新归类。其次,对开发人员素质要求较高,整体合作度增强。AUTOSAR架构虽然将各个架构进行划分,但是一旦出现问题,需要每个参与的人员进行整体性的查看问题、定位问题。然后,测试人员素质要求增强,传统CAN-FD DLC测试时,可用CANoe自带函数进行检查校核,但针对AUTOSAR CAN-FD测试时,自带函数无法施展,需要自身提取CAN-FD报文长度与数据场内容(PDU信息),通过数据场内容的提取进行报文长度的对比,从而实现测试,而同时测试人员还需要掌握一定的AUTOSAR知识。


综上所述,对于CAN-FD在车上的两种应用,各有优劣。就目前而言,第一种方式因为简单易用被很多主机厂采用,第二种方式目前则多数情况被用于预研。“罗马非一日建成”,相信AUTOSAR CAN-FD会逐步的扩大其应用市场,被大面积采用。



更多精彩推荐:

CAN总线测试与汽车以太网测试的区别
一起玩转CAN卡“第五通道”吧!
手把手教你如何在PREEvision中进行CAN的多路信号复用设计
浅谈CANgps数据同步分析
干货 | 如何使用CANdb++编辑多路复用信号
以太网与CAN的区别
汽车以太网诊断路由深度排雷
汽车以太网IOP测试之前世今生
汽车以太网协议知多少

【声明】内容源于网络
0
0
怿星科技
让智能汽车研发更高效!
内容 428
粉丝 0
怿星科技 让智能汽车研发更高效!
总阅读795
粉丝0
内容428