XCP协议介绍
標定貫穿整車開發的整個過程,是整車開發中的重要環節,從部件單體的臺架軟件參數的標定,到整車環境下的夏季標定、高原標定、冬季標定。
XCP全稱Universal Calibration Protocol,是由ASAM (Association for Standardization of Automation and Measuring Systems,簡稱 ASAM)組織在2003年提出的可在不同的通信總線上進行標定的新型標定協議,這里的X代表不同的傳輸層上傳輸(CAN、Ethernet、FlexRay、SCI、SPI、USB)。
XCP的應用場景:上傳ECU數據,實現對ECU內部變量進行觀測;在線對ECU內部變量進行標定;ECU刷寫程序或數據。數據仿真,周期性下載數據至ECU,通常用于快速原型;其中通常使用的是對變量的觀測、標定以及刷寫ECU。標準介紹XCP標準主要分為五部分:
Part 1 – Overview。XCP協議概述,包括XCP的特點描述以及XCP協議的基本原理。
Part 2 – Protocol Layer Specification。對協議層進行詳細的規范和說明,包括XCP數據包類型、格式以及各命令使用說明。
Part 3 – Transport Layer Specification。該部分包含5份文檔,分別對應5個不同的傳輸層(CAN,Ethernet/TCP_IP,FlexRay,SxI/SCI&SPI,USB),規定不同總線下傳輸層的實現。
Part 4 – Interface Specification。該部分對A2L描述文件、秘鑰與種子加解密、數據校驗功能說明。
Part 5 – Example Communication Sequences。該部分描述了部分通信數據流,演示如何使用XCP協議的命令同ECU進行通訊。XCP通信協議方式XCP數據包主要有兩種形式:傳輸控制命令的CTO(Command Transfer Object)和同步數據包DTO(Data Transfer Object)。
主從節點間的XCP通信方式如圖1所示。
圖1 XCP主從機交互
CTO用于傳輸控制命令,包含五種形式:1.CMD(Protocol Command),PID范圍為0xC0~0xFF,主機向從機發送的命令請求,從機據此識別命令。
2.RES(Transferring Command Responses),PID值為0FF,從機在接收到主機的CMD后,當命令被執行成功時,從機向主機發送肯定響應數據包。
3.ERR(Error Packets),PID值為0XFE,當命令執行發生錯誤時,從機反饋錯誤數據包。
4.EV(Event),PID值為0xFD,當從機向主機報告一個異步的事件時,發送次數據包。
5.SERV(Service Request Packets),PID值為0xFC,當從機需要主機做出某些動作時,從機向主機發送此數據包。
DTO數據包傳輸同步數據包DAQ(Data Acquisition)和同步激勵數據STIM(Data Stimulation packet)。在DAQ模式下,從機周期性上傳數據,STIM模式正好相反,主機周期性的向從機下載數據。基于CAN總線的XCP報文格式
在汽車ECU的標定中,通常使用CAN總線。基于CAN的XCP報文幀結構如圖2所示,其中PID用于標識XCP報文的類型,PID與任務的對應表如表1所示,FILL用于描述報文對齊信息,DAQ表示DAQ列表的標識符,TIMSTAMP為可選項,Data存放數據。
圖2 基于CAN的XCP幀格式
表1 PID與任務的對應關系
總結
- 上一篇: Windows 7环境下ZTE U880
- 下一篇: CTPAT认证辅导,外国制造商必须确保商