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