02 Xcp协议层介绍
Xcp協議層介紹
XCP 數據在 Master 和 Slave 之間以基于消息的方式進行交換。整個“XCP 消息幀”嵌入在傳輸層的幀中(XCP ON Ethernet 嵌入UDP報文中)。XCP報文包括三部分:XCP頭、XCP包和XCP尾。
下圖中,部分消息用紅色表示,用于發送當前的 XCP 幀。XCP頭和XCP尾取決于傳輸協議。
XCP包本身獨立于所使用的傳輸協議。它總是包含三個組件:“標識字段”、“時間戳字段”和當前數據字段“數據字段”。每個標識字段以標識數據包的PID (Packet Identifier)開始。
下面顯示已經定義了的PID:
?
XCP通信分為兩種方式,一種是命令 (CTO),一種是發送同步數據 (DTO) 。
?
首字母縮略詞代表
?
通過CTO(命令傳輸對象)交換命令。例如,Master以這種方式發起請求。Slave必須始終以RES或ERR響應CMD。其他CTO消息是異步發送的。數據傳輸對象(DTO)用于交換同步測量和激勵數據。
?
標識段
?
當交換消息時,Master和Slave都必須能夠確定對方發送了哪條消息。這在標識領域中完成。這就是為什么每個消息都以包標識符(PID)開始的原因。
在發送CTO時,PID字段完全足以識別CMD、RES或其他CTO數據包。可以看出,從Master到Slave的命令使用了一個從0xC0到0xFF的PID。XCP Slave用從0xFC到0xFF的pid響應或通知Master。這將導致一個獨一無二的PID分配給單獨發送的CTO。傳輸DTO時,將使用標識字段的其他元素。
時間戳字段
?
DTO包使用時間戳,但在CTO消息的傳輸中這是不可能的。Slave使用時間戳來提供測量值的時間信息。也就是說,Master不僅有測量值,還有測量值獲取的時間點。測量值到達主服務器所花費的時間不再重要,因為測量值和時間點之間的關系直接來自于從服務器。
從Slave傳輸時間戳是可選的。這個主題在ASAM XCP第2部分協議層規范中有進一步的討論。
數據字段
?
最后,XCP包還包含存儲在數據字段中的數據。對于CTO報文,數據字段由不同命令的具體參數組成。DTO報文包含從Slave發送的測量值,當STIM數據被發送時,則包含從Master發送的值
總結
以上是生活随笔為你收集整理的02 Xcp协议层介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCP协议学习笔记
- 下一篇: 亚信安全虚拟手机服务器,亚信安全云手机服