XCP on FlexRay的ECU優(yōu)化
為了對(duì)通過(guò)FelxRay總線進(jìn)行通信的ECU進(jìn)行優(yōu)化,Audi公司采用XCP on FlexRay對(duì)其進(jìn)行標(biāo)定。Audi的需求之一是AUTOSAR要兼容ECU內(nèi)部的XCP嵌入式軟件模塊。對(duì)此,Vector更新了XCP的master和slave軟件使得電子開(kāi)發(fā)工程師能夠有效的執(zhí)行測(cè)量和標(biāo)定。
本文引用地址:http://butianyuan.cn/article/196286.htm2009年Audi將會(huì)在下一代運(yùn)動(dòng)型豪華轎車上應(yīng)用FlexRay總線進(jìn)行通信。與CAN總線相比,FlexRay總線提供高達(dá)10MBit/s的帶寬。底盤和駕駛員輔助系統(tǒng)都被連接到此總線上。這就意味著Audi開(kāi)發(fā)工程師必須將幾千個(gè)參數(shù)在AUTOSAR的FlexRay 協(xié)議棧里直接參數(shù)化。用XCP on FlexRay能夠獲取大于CAN通信兩倍的測(cè)量值,同時(shí)還可以進(jìn)行高吞吐量的數(shù)據(jù)傳輸。
XCP on FlexRay
用實(shí)驗(yàn)室模型決定控制算法的參數(shù)受到很大的限制。盡管功能算法是確定的,但是像特性map,特性曲線和一些參數(shù)值必須在測(cè)試臺(tái)架和實(shí)車上進(jìn)行優(yōu)化。Audi工程師在ECU的標(biāo)定架構(gòu)中調(diào)整了他們的底盤和輔助系統(tǒng)并且把參數(shù)設(shè)置文件下載到ECU的內(nèi)存里。
為了使得在整個(gè)開(kāi)發(fā)過(guò)程中有統(tǒng)一的接口,測(cè)量和標(biāo)定協(xié)議標(biāo)準(zhǔn)必須要統(tǒng)一。在2003年,ASAM(Association for Standardization of Automation and Measuring Systems)定義了統(tǒng)一的測(cè)量和標(biāo)定協(xié)議——XCP協(xié)議,該協(xié)議基于CCP協(xié)議。XCP通信拓?fù)浣Y(jié)構(gòu)也是Master-Slave結(jié)構(gòu)模式。作為Slave,為了能夠進(jìn)行通信,ECU必須集成XCP軟件模塊。XCP協(xié)議最大的優(yōu)點(diǎn)是傳輸層和協(xié)議層是獨(dú)立的。無(wú)論是CAN總線、FlexRay總線、Ethernet或者SPI/SCI,其協(xié)議層都是一樣的。在2006年2月份,ASAM釋放了1.0版本的XCP on FlexRay協(xié)議。
在較早的CAN項(xiàng)目當(dāng)中,Audi開(kāi)發(fā)團(tuán)隊(duì)在ECU測(cè)量、標(biāo)定和診斷(見(jiàn)圖1)方面就用XCP和CANape。自從2005年,CANape就已經(jīng)支持XCP on FlexRay接口。Audi要求供應(yīng)商XCP主設(shè)備為CANape,同時(shí)在從設(shè)備中要使用XCP on FlexRay的協(xié)議。
作為XCP on FlexRay主設(shè)備,CANape直接通過(guò)FlexRay總線對(duì)單個(gè)ECU進(jìn)行測(cè)量和標(biāo)定
XCP 集成在AUTOSAR模塊
Audi對(duì)不同供應(yīng)商的ECU集成了XCP軟件模塊。即使ECU標(biāo)定結(jié)束后,XCP軟件模塊也是有用的,從而能夠有效的使用內(nèi)存并且使得執(zhí)行時(shí)間最小。另外,XCP軟件模塊必須兼容AUTOSAR,通過(guò)利用PDU router,Vector實(shí)現(xiàn)了XCP 與AUTOSAR的兼容。在集成時(shí),GENy配置工具和FIBEX格式的網(wǎng)絡(luò)描述文件可以幫助配置XCP協(xié)議和XCP傳輸層。
Vector 提供的XCP軟件模塊與AUTOSAR3.0兼容的架構(gòu)圖
FlexRay 帶寬的動(dòng)態(tài)管理
由于XCP on FlexRay軟件模塊必須兼容AUTOSAR,這就意味著支持master的PC機(jī)也必須執(zhí)行特殊的任務(wù)。ECU標(biāo)定期間,XCP主設(shè)備與從設(shè)備之間進(jìn)行FlexRay報(bào)文交換,這些報(bào)文要么包含命令傳輸對(duì)象(CTO),要么包含數(shù)據(jù)傳輸對(duì)象(DTO)或激勵(lì)數(shù)據(jù)。當(dāng)XCP對(duì)象傳輸?shù)絤aster(見(jiàn)圖3)時(shí),“XCP 傳輸層”傳輸數(shù)據(jù)到PDU router,進(jìn)而到“FlexRay接口”。由于要兼容AUTOSAR,所以這些傳輸必須按照AUTOSAR PDU(Protocol Data Unit)的格式進(jìn)行。因?yàn)镻DU來(lái)自于XCP模塊,所以被稱為XCP-PDU。FlexRay接口通過(guò)以PCI(Protocol Control Information)的形式增加特定的信息完成收到的XCP-PDU,從而形成一個(gè)L-PDU(Data Link Layer PDU),該L-PDU交給FlexRay驅(qū)動(dòng)。最后FlexRay控制器在一個(gè)FlexRay時(shí)隙里作為一幀傳輸XCP數(shù)據(jù)。
對(duì)ECU的控制命令(CTOs)單獨(dú)分配兩個(gè)XCP時(shí)隙已經(jīng)足夠;對(duì)于DTOs來(lái)講,每一個(gè)ECU對(duì)應(yīng)的XCP時(shí)隙是不同的。
經(jīng)不同軟件模塊進(jìn)行數(shù)據(jù)傳輸?shù)目驁D
為了確保Audi工程師能夠有效的傳輸XCP數(shù)據(jù),必須在ECUs運(yùn)行時(shí)進(jìn)行動(dòng)態(tài)分配帶寬。但是AUTOSAR不允許FlexRay驅(qū)動(dòng)在運(yùn)行時(shí)重新配置,因此在集成FlexRay驅(qū)動(dòng)時(shí)要把所有的XCP時(shí)隙分配給所有的ECUs;同時(shí),在每一個(gè)Slave中要分配XCP-PDU/L-PDU/XCP時(shí)隙(見(jiàn)圖3)。因此對(duì)于每一個(gè)ECU的FlexRay調(diào)度表都有唯一的XCP時(shí)隙,并且該時(shí)隙對(duì)每個(gè)單獨(dú)的XCP緩沖是可用的。在每次測(cè)量之前,為了使得ECUs有很好的靈活性,那么XCP傳輸層命令“FLX_ASSIGN”可以用來(lái)改變針對(duì)不同的L-PDUs的XCP緩沖的分配(圖4)。在軟件集成時(shí),最重要的是用最大的XCP時(shí)隙配置所有參與通信的ECUs,使得每個(gè)ECU的XCP時(shí)隙一致。動(dòng)態(tài)帶寬管理能夠確保在所有的Slaves中間都有唯一的XCP時(shí)隙分配。CANape在ECU描述文件A2L數(shù)據(jù)庫(kù)中可以操縱這些任務(wù),并且A2L描述文件提供了關(guān)于ECU緩沖的信息。
每次測(cè)量前,XCP對(duì)象在動(dòng)態(tài)段被動(dòng)態(tài)的配置
XCP通過(guò)FlexRay總線對(duì)ECU內(nèi)部數(shù)據(jù)進(jìn)行優(yōu)化
CANape具有的動(dòng)態(tài)帶寬管理功能僅僅是CANape功能之一,該功能可以幫助Audi有效的對(duì)ECU進(jìn)行標(biāo)定。另外的三個(gè)功能為:FlexRay總線可以傳輸高達(dá)254個(gè)字節(jié)的數(shù)據(jù),而CAN總線只能在每幀報(bào)文中傳輸8字節(jié)的數(shù)據(jù);“Short DownLoad”功能可以在單個(gè)的L-PDU中編碼地址和內(nèi)容,從而使得master和slave交換存儲(chǔ)區(qū)時(shí)比CAN的速度更快。
此外,為了測(cè)量每個(gè)動(dòng)態(tài)信號(hào)(圖5),XCP能夠獨(dú)立于FlexRay周期進(jìn)行采樣。CANape在每個(gè)FlexRay基本周期可以使用稱作為“多個(gè)DAQlist傳輸周期”的功能獲取預(yù)先定義的DAQlist測(cè)量信號(hào)以及他們的多次時(shí)戳(通常為5ms)。
評(píng)論