当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]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通信两倍的测量值,同时还可以进行高吞吐量的数据传输。

XCP on FlexRay

用实验室模型决定控制算法的参数受到很大的限制。尽管功能算法是确定的,但是像特性map,特性曲线和一些参数值必须在测试台架和实车上进行优化。Audi工程师在ECU的标定架构中调整了他们的底盘和辅助系统并且把参数设置文件下载到ECU的内存里。

为了使得在整个开发过程中有统一的接口,测量和标定协议标准必须要统一。在2003年,ASAM(AssociATIon for STandardizaTIon of Automation and Measuring Systems)定义了统一的测量和标定协议——XCP协议,该协议基于*协议。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数据。

对ECU的控制命令(CTOs)单独分配两个XCP时隙已经足够;对于DTOs来讲,每一个ECU对应的XCP时隙是不同的。

图3:经不同软件模块进行数据传输的框图

为了确保Audi工程师能够有效的传输XCP数据,必须在ECUs运行时进行动态分配带宽。但是AUTOSAR不允许FlexRay驱动在运行时重新配置,因此在集成FlexRay驱动时要把所有的XCP时隙分配给所有的ECUs;同时,在每一个Slave中要分配XCP-PDU/L-PDU/XCP时隙 (见图3)。因此对于每一个ECU的FlexRay调度表都有唯一的XCP时隙,并且该时隙对每个单独的XCP缓冲是可用的。在每次测量之前,为了使得 ECUs有很好的灵活性,那么XCP传输层命令“FLX_ASSIGN”可以用来改变针对不同的L-PDUs的XCP缓冲的分配(图4)。在软件集成时,最重要的是用最大的XCP时隙配置所有参与通信的ECUs,使得每个ECU的XCP时隙一致。动态带宽管理能够确保在所有的Slaves中间都有唯一的 XCP时隙分配。CANape在ECU描述文件A2L数据库中可以操纵这些任务,并且A2L描述文件提供了关于ECU缓冲的信息。
 

图4:每次测量前,XCP对象在动态段被动态的配置

XCP通过FlexRay总线对ECU内部数据进行优化

CANape 具有的动态带宽管理功能仅仅是CANape功能之一,该功能可以帮助Audi有效的对ECU进行标定。另外的三个功能为:FlexRay总线可以传输高达 254个字节的数据,而CAN总线只能在每帧报文中传输8字节的数据;“Short DownLoad”功能可以在单个的L-PDU中编码地址和内容,从而使得master和slave交换存储区时比CAN的速度更快。

此外,为了测量每个动态信号(图5),XCP能够独立于FlexRay周期进行采样。CANape在每个FlexRay基本周期可以使用称作为“多个DAQlist传输周期”的功能获取预先定义的DAQlist测量信号以及他们的多次时戳(通常为5ms)。

图5:周期传输多个DAQlist

为了提高测量效率,Write-DAQ命令的功能被增强,新命令Write-DAQ-Multiple取代Write-DAQ命令,在XCP 协议1.1版本中已经用该命令进行配置多个信号。

本文小结

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软件模块中获得。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭