标题: XCP on FlexRay在Audi上的应用 [打印本页] 作者: 我是MT 时间: 2015-8-17 15:15 标题: XCP on FlexRay在Audi上的应用
为了对通过FelxRay总线进行通信的ECU进行优化,Audi公司采用XCP on FlexRay对其进行标定。Audi的需求之一是AUTOSAR要兼容ECU内部的XCP嵌入式软件模块。对此,Vector更新了XCP的 master和slave软件使得电子开发工程师能够有效的执行测量和标定。
2009年Audi将会在下一代运动型豪华轿车上应用 FlexRay总线进行通信。与CAN总线相比,FlexRay总线提供高达10MBit/s的带宽。底盘和驾驶员辅助系统都被连接到此总线上。这就意味着Audi开发工程师必须将几千个参数在AUTOSAR的FlexRay 协议栈里直接参数化。用XCP on FlexRay能够获取大于CAN通信两倍的测量值,同时还可以进行高吞吐量的数据传输。
为了使得在整个开发过程中有统一的接口,测量和标定协议标准必须要统一。在2003年,ASAM(Association for Standardization of Automation and Measuring Systems)定义了统一的测量和标定协议——XCP协议,该协议基于CCP协议。XCP通信拓扑结构也是Master-Slave结构模式。作为 Slave,为了能够进行通信,ECU必须集成XCP软件模块。XCP协议最大的优点是传输层和协议层是独立的。无论是CAN总线、FlexRay总线、 Ethernet或者SPI/SCI,其协议层都是一样的。在2006年2月份,ASAM释放了1.0版本的XCP on FlexRay协议。
在较早的CAN项目当中,Audi开发团队在ECU测量、标定和诊断(见图1)方面就用XCP和CANape。自从2005年,CANape就已经支持 XCP on FlexRay接口。Audi要求供应商XCP主设备为CANape,同时在从设备中要使用XCP on FlexRay的协议。
图1:作为XCP on FlexRay主设备,CANape直接通过FlexRay总线对单个ECU进行测量和标定
XCP 集成在AUTOSAR模块
Audi 对不同供应商的ECU集成了XCP软件模块。即使ECU标定结束后,XCP软件模块也是有用的,从而能够有效的使用内存并且使得执行时间最小。另外,XCP软件模块必须兼容AUTOSAR,通过利用PDU router,Vector实现了XCP 与AUTOSAR的兼容。在集成时,GENy配置工具和FIBEX格式的网络描述文件可以帮助配置XCP协议和XCP传输层。
图2:Vector 提供的XCP软件模块与AUTOSAR3.0兼容的架构图
FlexRay 带宽的动态管理
由于XCP on FlexRay软件模块必须兼容AUTOSAR,这就意味着支持master的PC机也必须执行特殊的任务。ECU标定期间,XCP主设备与从设备之间进行FlexRay报文交换,这些报文要么包含命令传输对象(CTO),要么包含数据传输对象(DTO)或激励数据。当XCP对象传输到master(见图 3)时,“XCP 传输层”传输数据到PDU router,进而到“FlexRay接口”。由于要兼容AUTOSAR,所以这些传输必须按照AUTOSAR PDU(Protocol Data Unit)的格式进行。因为PDU来自于XCP模块,所以被称为XCP-PDU。FlexRay接口通过以PCI(Protocol Control Information)的形式增加特定的信息完成收到的XCP-PDU,从而形成一个L-PDU(Data Link Layer PDU),该L-PDU交给FlexRay驱动。最后FlexRay控制器在一个FlexRay时隙里作为一帧传输XCP数据。
Audi 工程师依靠MCD工具CANape成功的利用XCP on FlexRay对ECU内部的参数进行测量和标定。Vector已经扩展了CANape和XCP软件模块的功能,除了扩展XCP软件模块与AUTOSAR 兼容性之外,更大的特点是实现了FlexRay的动态带宽管理。Audi选择Vector作为软件供应商和开发伙伴是非常轻松的,因为Slaves所需的 XCP软件模块和XCP master CANape,均来自于Vector;并且所有的扩展都能够从当前的CANape版本中和XCP on FlexRay软件模块中获得。