XCP

XCP的全名是通用測量和校正協定 （ Universal Measurement and Calibration Protocol ） ， 是提出的網路通訊協定 ， 目的是要連接校正系統及電子控制單元 （ ECU ） 。 此一協定可以在運行時讀寫微處理器裏的變數以及記憶體 。 可以用計時器或是運作條件觸發事件 ， 同步觸發或讀取完整的資料集 。 也可以用XCP燒錄快閃記憶體 。 ASAM表示 「 XCP的原始目的是要調整電子控制器的內部參數 ， 並且讀取內部參數的即時值 。 XCP中的第一個X表示此協定是爲一系列的網路系統所規劃 」 。 此協定在2003年的標準化名稱是ASAM MCD - 1 XCP 。 XCP是接續著1990年代中期提出的CAN校正協定 （ 簡稱CCP ） 。 那時控制器區域網路 （ CAN ） 是車用產業的主要通訊協定 。 後來車用產業出現了LIN 、 MOST及等通訊協定 ， 因此上述的校正協定需要擴展到其他的傳輸媒介上 。 XCP可以支持同步及非同步的串列介面 。 若配合乙太網路或USB等傳輸媒介 ， XCP也可以作爲類比測量設備的標準媒介 ， 也可以作爲RAM模擬器 、 JTAG或其他微處理器偵錯介面的硬體介面轉換器 。 XCP的使用範圍很廣 ， 開發XCP的一個主要目的是在要在電子控制器上儘可能以精益 （ leap ） 的方式實現 ， 並且在資源利用及功能上有高度的可擴展性 。 應用在CAN或SCI上的XCP甚至可以在8位元的微處理器上實現 ， 若是使用高性能的平臺 ， 可以在FlexRay及乙太網路上的應用發揮其完整的機能 。 XCP是二層的通訊協定 ， 區分爲協定層以及傳輸層兩層 ， 使用單一主站 ／ 多重從站的概念 。 XCP使用單一的協定層 ， 不因傳輸層而變化 。 名稱中的X表示可以其傳輸層是可以變動互換 。 ASAM在2016年10月已定義了以下的傳輸層 ： XCP on CAN XCP on CAN FD XCP on SxI （ 簡稱SPI的序列周邊介面 ， 簡稱SCI的串列通訊介面 ) XCP on Ethernet （ TCP / IP及UDP / IP ) XCP on USB XCP on XCP除了支援其他傳輸層外 ， 也有以下功能的提升 ： 在電子控制器上的資源利用率較佳 產生同步資料 支援啓動 （ start - up ） 量測 對區塊傳輸指令的最佳化通訊 隨插即用組態 更準確的量測資料讀取 ， 作法是量測ECU的時間戳 （ 從站 ） XCP可以讓客戶端存取電子控制器上的記憶體 ， 其格式在個別A2L檔案上定義 。 A2L格式檔案中會包括要存取資訊需要的所有資訊 ， ECU程式碼不需要因爲存取不同的量測或校正而重新編譯 。