原文:
在當今的汽車系統中,電子控制單元(ecu)作為汽車系統中的中樞系統,主要的工作過程是採集輸入資訊包括駕駛員意圖、工況等,並採用合理的演算法計算輸出,用公式out = f(in) 來表示,為了達到理想的控制效果,演算法f中會有很多很多的引數根據不同的駕駛意圖以及工況來進行適時的調整,ecu中的程式由軟體工程師進行設計,而軟體工程師沒有能力把這些引數設定成合理的值,這些值是需要在實驗中根據汽車數學模型進行設定,這部分工作是由應用工程師/標定工程師在軟體開發結束以後利用改變引數分析效能反覆迭代最終測定的,因此應用/標定工程師需要能夠在ecu程式執行過程中讀取(測量measure)ecu引數,改變(標定calibrate)ecu引數的手段。xcp通訊協議就提供了這樣一種手段和可能。
什麼是xcp:
在介紹xcp之前,我們先介紹一下它的哥哥ccp,ccp的全稱是can calibration protocol,ccp在20世紀90年代中期被標準化。在那個年代,can通訊作為汽車通訊的絕對主流,而隨著****的發展,lin/flexray/most/enthernet等協議的推出和應用,使得有必要在多種傳輸媒介上實現測量和標定的通訊協議,這也就是xcp被提出來的原因,在2023年,xcp在ccp的基礎上被asam組織 以「asam mcd-1 xcp」的名字標準化。xcp的全稱是universal measurement and calibration protocol,這裡「x」代表的意思就是這個協議可以執行在多種傳輸層上(can,ethernet,flexray,sci,spi,usb)。目前的xcp標準的版本是2003.04.08日的版本1。
xcp相比ccp主要有4個方面的提公升:
跟網路物理層無關,可以應用到多種傳輸層上。
效能提公升
資源消耗減少
定義的更加清晰,應用更加靈活
xcp現在應用的場景主要有:
上傳ecu資料,對ecu內部變數進行測量
重新整理ecu內部的程式和資料
**模擬ecu資料,對ecu的功能進行旁路
其中第乙個第二條應用場景為最主要和最常用的場景。
xcp標準主要分為5個部分。
part 1 – overview。這部分提供了對於協議的乙個概況介紹,包括xcp的功能和基礎性內容。
part 2 – protocol layer specification。這部分內容對協議層進行了詳細的規範和說明。
part 3 – transport layer specification。這部分內容目前有分為5個子文件,分別對應5個不同的傳輸層(can,ethernet/tcp_ip&udp_ip,flexray,sxi/sci&spi,usb),規定了怎麼利用不同的傳輸層實現xcp協議。
part 4 – inte***ce specification。這部分內容定義了master端(host pc)如何使用asam mcd 2mc描述性檔案和使用xcp協議的ecu進行介面。
part 5 – example communication sequences。這部分內容包含了協議示例命令來演示如何使用xcp協議的命令同ecu進行通訊。
目前在汽車應用中,xcp協議使用到的大部分情況其實還是集中在can傳輸層上,因此學習和使用xcp將繼續集中在can上,而且can協議本身是比較簡單的,使用can理解xcp可以幫助我們更簡單的認識協議。因此推薦大家著重要看的標準是part2/part3的can部分/part4,part5可以作為參考。
汽車行業中XCP協議和A2L檔案 XCP概述
背景 在當今的汽車系統中,電子控制單元 ecu 作為汽車系統中的中樞系統,主要的工作過程是採集輸入資訊包括駕駛員意圖 工況等,並採用合理的演算法計算輸出,用公式out f in 來表示,為了達到理想的控制效果,演算法f中會有很多很多的引數根據不同的駕駛意圖以及工況來進行適時的調整,ecu中的程式由軟...
汽車電子標定 A2L檔案簡介
一 a2l檔案簡介 a2l檔案是乙個標定的描述檔案,基於文字格式,描述ecu的通訊等相關的引數,以及標定,觀測變數的位址以及物理值計算公式等等。a2l 檔案中的資訊允許 xcp 主站通過 xcp 連線與從站模組通訊。格式化的文字檔案包含事件和測量定義以及其他配置資訊,用於採集和激勵資料以及執行其他函...
使用正規表示式解析A2L檔案
首先要宣告在gihub上已經有pya2l庫了,有需要的朋友可以安裝該庫學習a2l檔案。但我在呼叫該庫解析a2l的時候報錯了,可能是我的a2l檔案有些引數錯誤。因此沒辦法解析我的a2l檔案。我的目的是想找到a2l檔案中的標定量,因此通過正規表示式可以直接匹配標定量的名字以及位址。以下是簡易的匹配 im...