標定和測量應用的焦點XCP
現代汽車系統中加入了越來越多的安全舒適性電控功能。雖然ECU的數量得到了控制,但是這就意味著要增加單個設備的復雜度來補償功能的增長。XCP通信協議為這些分布式系統開發過程的合理化做出了重要的貢獻,其主要任務包括實時地測量和標定ECU內部變量。該協議繼承了CCP,它的一個巨大優勢就是與物理傳輸層無關。
在當前,汽車控制模塊中的變量數目超過1萬的情況已經不足為奇了!在車輛的控制中有眾多的動態過程需要控制,而ECU標定的主要任務就是優化這些控制算法。例如針對PID控制器,標定其比例、積分和微分環節時可能產生不計其數的變化版本(圖1)。因此,就需要尋找到一個在穩定性、速度和動態特性方面足夠好的結合點。這些可以通過實時讀取和更改變量來實現(圖2)。

圖1 PID控制算法優化

圖2 使用圖形化標定和診斷工具CANape優化PID控制器
為了控制ECU標定的時間和成本,工程師和技術員通常會依賴可以靈活讀寫變量和內存的強大的工具和標準。為此,在90年代出現了CAN標定協議(CCP),當時CAN總線是汽車中唯一的主流總線。CCP后來被指定為一種交叉OEM標準。然而,隨著汽車電子的持續發展,其它總線系統諸如FlexRay、LIN、MOST等也開始成為主流。但是,CCP僅限于CAN網絡應用,所以在其它潛在領域的應用局限日益增加。這樣就導致了其后繼協議XCP的出現。
通用的標準協議
與CCP一樣,“通用測量與標定協議”(XCP)也是源于自動化和測量系統標準化協會(ASAM),它在2003年被定為標準。其中的“X”代表可變的和可互換的傳輸層。XCP通過雙層協議將協議和傳輸層完全獨立開,它采用的是單主/多從結構。根據正在討論的不同的傳輸層,XCP協議可能指的是XCP-on-Can、XCP-on-Ethernet、XCP-on-UART/SPI 或XCP-on-LIN,如圖3所示。

圖3 傳輸層和協議層的隔離使得XCP可以利用大量的硬件接口
XCP主設備可以和不同的XCP從設備同時通信。這些XCP從設備包括:
·ECU或ECU原型
·測量和標定硬件,如調試接口或內存仿真器
·快速控制原型硬件
·HIL/SIL系統
為了滿足作為針對大量不同應用的通用的通信解決方案的挑戰,ASAM工作組強調了下列XCP設計準則:最小的資源使用(包括ECU中的RAM、ROM和必需的運行時資源),高效的通信,輕松實現XCP Slave,需要較少配置工作的即插即用性能,較少的參數,以及可伸縮性。
可互換的傳輸層
XCP可以在不同的傳輸層上實現同樣的協議層。這是一種通用的測量和標定協議,可以獨立于所使用的網絡類型而工作。目前,ASAM已經在標準中定義的傳輸層包括:XCP-on-CAN,XCP-on-SXI(SPI,SCI), XCP-on-Ethernet(TCP/IP and UDP/IP),XCP-on-USB和XCP-on-FlexRay。最后命名的版本(XCP-on-FlexRay)是協議家族中的最新成員,它早在2006年就產生了。XCP-on-FlexRay的一個特別的技術特征是動態帶寬控制。測量、標定和診斷工具(MCD工具),比如CANape,可以識別可用帶寬并能夠非常高效地將其動態分配到當前的應用數據通信中。這樣XCP通信的可用帶寬就可以得到最理想的使用,并且不影響正常的FlexRay通信。
正在為將來考慮的其它方案包括XCP-on-LIN;如果有充足的客戶需求,則也可能包括XCP-on-K-Line或XCP-on-MOST。由于支持廣泛的傳輸層,使得從開發階段的寬帶(比如Ethernet或USB)方案移植到批量生產階段的CAN接口方案變得十分簡單。
一主多從概念
測量和標定系統承擔了XCP主設備的角色,ECU作為XCP從設備工作。主設備和從設備的通信是通過集成在其中的XCP驅動程序來實現的。對于每個從設備都有一個ECU描述文件;這些文件規定的信息包括:(符號)變量名及其地址范圍分配,數據的物理意義,使用的校驗方法。XCP主設備可以從A2L描述文件里讀取所需的全部信息。
XCP通信使用“命令傳輸對象”(CTO)和“數據傳輸對象” (DTO)來區分(主從通信)。XCP主設備可以在總線上向ECU通過CTO發送命令。ECU會在執行完請求的服務后以同樣的途徑進行應答。CTO會提供:CMD(命令), RES (響應), ERR (錯誤), EV (事件) 和 SERV (服務請求處理機)。數據傳輸對象DAQ(數據采集)和STIM(激勵)用于以事件驅動方式從內存中讀取測量變量或者向XCP從設備的內存中寫入變量值。

圖4:XCP主設備和XCP從設備之間的通信
從汽車總線到標準PC接口
PC平臺幾乎只用作測量和標定的主設備。為了直接連接到汽車總線系統,比如CAN、LIN、 FlexRay、MOST 或 K-Line等,通常會為PC機安裝一個或多個硬件接口。此外,XCP主設備也可以利用標準PC接口,例如以太網、USB和RS232等。當然,在這些解決方案中不會增加額外的硬件接口成本。帶調試接口(JTAG,TRACE等)的測量和標定系統以及內存仿真器都可以通過這種方式實現。原則上,標準PC接口非常適合于連接存在于不同總線系統間的網關,比如FlexRay-on-Ethernet就可以很好地實現此功能。最后,在很多開發和測試計劃中會使用到傳統模擬和數字I/O通道,這些通道尤其會涉及時間-關鍵測量。
評論