您好,欢迎访问三七文档
CANFD解决方案随着总线技术在汽车电子领域越来越广泛和深入的应用,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统CAN(1MBit/s,8BytesPayload)已难以满足日益增加的需求。因此在2011年,Bosch发布了CAN的替代总线CANFD(CANwithFlexibleData-Rate)。CANFD继承了CAN总线的绝大多数的特性,如同样的物理层,双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等,但是CANFD弥补了CAN总线在总线带宽和数据长度的不足。2015年6月30日,国际标准化组织(ISO)已经正式认可CANFD,并无反对票通过ISO11898-1作为国际标准草案。CAN和CANFD对比以标准帧为例,传统CAN和CANFD的帧结构对比如下图:图1传统CAN与CANFD对比在帧结构的对比中,CANFD和传统CAN的主要区别包括:新增了3个控制位EDL,用于区分是否为CANFD帧;BRS,位速率转换开关,决定Data-Phase是否采用Highbit-Rate;ESI,错误状态指示位。最大64Bytes的数据场和新的DLC编码规则。不支持远程帧(无RTR位)。根据数据场的长度,采用不同的CRC,如CRC_17(0-16Bytes),CRC21(17-64Bytes)。除帧结构的区别之外,CANFD还具备如下新特性:Data-Phase的传速率可大于1MBit/s在一些应用中,可达5MBit/s、8MBit/s甚至更高;IDEEOFCRCr11BusIdle帧起始SOF1ID11仲裁场1BusIdleEDLr0BRSESIDLCDataFieldITMDELACKDEL控制场数据场ACK场帧结束CRC场11140-64bytes2111137CANFDArbitration-PhaseCANFDData-PhaseCANFDArbitration-Phase较传统CAN在提高通信速率和降低总线负载方面很显著,如图2和图3。新的CRC计算方法(需计算填充位)和新的CRC域填充规则可提高数据漏检率。收发器延迟补偿。图2CANFD提升通信速率图3CANFD降低总线负载率CANFD典型应用CANFD有效的改善了传统CAN在带宽和数据场长度上的缺陷,因此,在一些数据传输量较大的场景,CANFD将有更良好的表现,典型的应用场景包括:快速软件下载(FastSWDownload);避免拆分长数据,例如加速度传感器x,y,z-轴数据;标定应用(XCPonCANFD)(最新released的XCP1.2规范已支持CANFD)。通过下表对比,直观地表达了CANFD在传输速率方面的优势。表1CANFD在传输速率方面的优势对比传统CANCANFDBitrate500Kbps500Kbpsand2MbpsinData-PhasePayload4standardCANmessagewith8byte(15%stuffbits)1CANFDmessagewith32byte(15%stuffbits)Timetotransmit1021μs229μs如何从传统CAN升级到CANFD尽管CANFD继承了绝大部分传统CAN的特性,但是从传统CAN到CANFD的升级,我们仍需要做很多的工作。在硬件和工具方面,要使用CANFD,首先要选取支持CANFD的CAN控制器和收发器,还要选取新的网络调试和监测工具。在网络兼容性方面,对于传统CAN网段的部分节点需要升级到CANFD的情况要特别注意,CANFD节点可以正常收发传统CAN节点报文,但是传统CAN节点不能正常收发CANFD节点的报文,原因是帧格式不一致,会导致传统CAN节点发送错误帧。基于以上应用场景,为了解决传统CAN和CANFD的兼容性问题,芯片厂商提出了一种可能的解决方案,在传统CAN节点上采用具有CANFDShield模式的收发器(如图4和图5),当收到CANFD帧时,收发器会过滤掉CANFD帧,防止传统CAN节点发出错误帧,以此达到原有网络拓扑不变,实现网络兼容。图4CANFD收发器实现网络兼容图5CANFD收发器结构示意CANFD软件解决方案在AUTOSARV4.2.1规范中已经支持CANFD总线,作为AUTOSAR会员,一直致力于AUTOSAR解决方案的研发和推广,现已对旗下嵌入式软件产品HiQuanten工具链进行全线升级,实现兼容CANFD总线,其支持CANFD的软件架构如图6(黄色是CANFD涉及的模块)。图6支持CANFD的软件架构图关于CANFD的支持,HiQuanten有如下新特性:CanDriver模块支持特率配置和收发器延迟参数的配置;CANID的最高两个Bit用于区分帧类型和FD帧。CanInterface模块支持波特率设置接口;支持定义CANFDPDU类型;支持传统的CANPDU和CANFDPDU单独分配Handler,便于上层模块进行区分。CANTP模块支持大于8字节的CANFD帧的解析。PDUR模块支持CANFD的路由。COM模块支持CANFD报文的处理。XCP模块支持基于CANFD的标定。BootLoader软件支持基于CANFD的刷新。
本文标题:CANFD解决方案
链接地址:https://www.777doc.com/doc-4304592 .html