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程式碼不需要因為存取不同的量測或校正而重新編譯。

參考資料

外部連結 
 ASAM official Web site of ASAM e.V. 
 ASAM MCD-1 XCP description of the standard at the ASAM Web site 
 Web page for ordering the free XCP Technical Book from Vector Informatik 

计算机总线