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