为了对通过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 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软件模块中获得。(end)