CCP協議學習-命令解析
參考文件《ASAM-CCP-V2.1.0》
12指令描述
在本章中,將解釋所有帶有引數的命令和預期的返回資訊,包括每個命令的示例。
12.1 連線
指令標籤CONNECT
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = CONNECT 0x01 |
1 |
byte |
Command Counter = CTR |
2 |
word |
station address (Intel format) |
4…7 |
bytes |
don't care |
此命令與所選從站建立與主從命令協議的連續邏輯點對點連線。以下所有協議命令僅指該站,直到選擇另一個站.一個connect命令到另一個站臨時斷開活動站(請參見DISCONNECT)。確認已連線站的CONNECT命令。從站裝置不響應任何命令,除非先前的CONNECT命令使用正確的站地址進行定址。站地址指定為一個數字,小端位元組順序(英特爾格式,低位元組優先)。
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
don't care |
例
主裝置將傳送一個CONNECT CRO到從裝置,站地址為0x0200。命令計數器CTR當前為0x45:
從裝置使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO進行應答:
12.2 交換站識別符號
指令標籤EXCHANGE_ID
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = EXCHANGE_ID 0x17 |
1 |
byte |
Command Counter = CTR |
2… |
bytes |
CCP主裝置ID資訊(可選和特定於實現) |
CCP主站和從站交換ID以進行自動會話配置。這可能包括根據從站的返回ID(Plug'n'Play)自動分配資料採集設定檔案。預計會有以下返回資訊(返回的DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
包ID:0xFF |
1 |
byte |
命令返回碼 |
2 |
byte |
命令計數器= CTR |
3 |
byte |
從裝置ID的長度,以位元組為單位 |
4 |
byte |
從裝置ID的資料型別限定符(可選和具體實施) |
5 |
byte |
資源可用性掩碼 |
6 |
byte |
資源保護掩碼 |
7 |
byte |
不在乎 |
從裝置自動將記憶體傳輸地址0(MTA0)設定為CCP主裝置隨後可以使用UPLOAD上傳所請求ID的位置。參見SET_MTA和UPLOAD命令描述。
資源可用性掩碼/資源保護狀態掩碼格式,簡化如下,簡稱為資源掩碼。
CAL |
校準 |
DAQ |
資料採集 |
PGM |
記憶體程式設計 |
x |
留作將來使用 |
資源可用性:如果bit = TRUE,則指定資源或功能可用。
資源保護:如果bit = TRUE,則指定的資源或功能受到保護,以防止未經授權的訪問(需要UNLOCK)。
例
主裝置向從裝置傳送EXCHANGE_ID CRO。命令計數器CTR當前為0x23:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,從ID的長度及其資料型別進行應答:
從ID的長度為4個位元組,資料型別編碼為型別2.資源可用性掩碼為0x03,資源保護狀態掩碼為0x03。可以使用UPLOAD從從站獲取資料。
12.3 獲取鑰匙的種子
指令標籤GET_SEED
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = GET_SEED 0x12 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
請求的從機資源或功能(資源掩碼) |
3…7 |
bytes |
don't care |
有關資源掩碼的說明,請參閱EXCHANGE_ID。
使用一個GET_SEED命令只能請求一個資源或函式如果請求了多個資源,則必須多次執行GET_SEED命令和以下UNLOCK命令。
返回種子和金鑰演算法的'種子'資料,用於計算'金鑰'以解鎖所請求的授權訪問功能(請參閱下面的'解鎖保護')。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3 |
byte |
保護狀態(TRUE或FALSE) |
4…7 |
bytes |
'種子'資料 |
如果保護狀態= FALSE,則不需要UNLOCK來解鎖所請求的功能。
例
主裝置將GET_SEED CRO傳送到從裝置。命令計數器CTR當前為0x23。任務是資料採集:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,保護狀態和“種子”資料進行應答:
保護狀態為TRUE(0x01),種子資料為0x14,0x15,0x16,0x17。
12.4 解鎖保護
指令標籤UNLOCK
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = UNLOCK 0x13 |
1 |
byte |
Command Counter = CTR |
2 |
bytes |
'key' |
使用從'賽'計算的'金鑰'解鎖從裝置安全保護(如果適用)。檢視上面的種子和金鑰。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3 |
byte |
當前特權狀態(資源掩碼) |
4…7 |
bytes |
don't care |
有關資源掩碼的說明,請參閱EXCHANGE_ID。
例
主裝置向從裝置傳送UNLOCK CRO。命令計數器CTR當前為0x23,使用GET_SEED找到的金鑰:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR以及許可權狀態進行應答:
許可權狀態為0x02,僅解鎖資料獲取。
12.5 設定記憶體傳輸地址
指令標籤SET_MTA
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = SET_MTA 0x02 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
記憶體傳輸地址MTA號(0,1) |
3 |
byte |
地址擴充套件 |
4…7 |
Unsigned long |
Address |
此命令將初始化所有後續記憶體傳輸的基指標(32位+擴充套件)。地址擴充套件取決於從屬控制器的組織,並可識別可切換的儲存庫或儲存器段。
MTA編號(控制代碼)用於標識不同的傳輸地址位置(指標).MTA0由命令DNLOAD,UPLOAD,DNLOAD_6,SELECT_CAL_PAGE,CLEAR_MEMORY,PROGRAM和PROGRAM_6使用。 MOVE命令使用MTA1。參見命令'MOVE'。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
don't care |
E x a m p l e
主裝置向從裝置傳送SET_MTA CRO。命令計數器CTR當前為0x23,MTA0編號為0,地址副檔名為0x02,基址為0x34002000:
從裝置使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO進行應答:
12.6資料下載
指令標籤DNLOAD
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = DNLOAD 0x03 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
要以位元組為單位的資料塊的大小 |
3…7 |
bytes |
要傳輸的資料(最多5個位元組) |
CRO中包含的指定長度(大小)的資料塊將從當前的儲存器傳輸地址0(MTA0)開始複製到儲存器中.MTA0指標將以'size'的值後遞增。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3 |
byte |
MTA0擴充套件(後增量後) |
4…7 |
unsigned long |
MTA0地址(後增量後) |
例
主裝置向從裝置傳送DOWNLOAD CRO。命令計數器CTR當前為0x23,資料大小為0x05,要傳輸的資料為0x10,0x11,0x12,0x13,0x14:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,記憶體傳輸地址擴充套件0x02和(遞增的)當前MTA0進行應答
在執行此命令之前,MTA0已經是0x34002000並且增加了5。
12.7資料下載6個位元組
指令標籤DNLOAD_6
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = DNLOAD_6 0x23 |
1 |
byte |
Command Counter = CTR |
2…7 |
bytes |
要傳輸的6個位元組的資料 |
CRO中包含固定長度(大小)為6個位元組的資料塊將從當前儲存器傳輸地址0(MTA0)開始複製到儲存器中.MTA0指標將後值遞增6。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3 |
byte |
MTA0擴充套件(後增量後) |
4…7 |
unsigned long |
MTA0地址(後增量後) |
E x a m p l e
主裝置將DNLOAD_6 CRO傳送到從裝置。命令計數器CTR當前為0x25,資料大小為0x05,要傳輸的資料為0x10,0x11,0x12,0x13,0x14,0x15:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,記憶體傳輸地址擴充套件0x02和(遞增的)當前MTA0進行應答
在執行此命令之前,MTA0已經是0x34002000並且增加了6。
12.8資料上傳
指令標籤UPLOAD
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
命令程式碼= UPLOAD 0x04 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
以位元組為單位上載的資料塊的大小 |
3…7 |
bytes |
don't care |
從當前MTA0開始的指定長度(大小)的資料塊將被複制到相應的DTO資料欄位中.MTA0指標將以'size'的值後遞增。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
請求的資料位元組 |
例
主裝置向從裝置傳送UPLOAD CRO。命令計數器CTR當前為0x23,資料大小為0x04:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR和請求的資料位元組進行應答:
DTO中未報告新的MTA0地址。
12.9短上傳
指令標籤SHORT_UP
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
命令程式碼= SHORT_UP 0x0F |
1 |
byte |
Command Counter = CTR |
2 |
byte |
要以位元組為單位上傳的資料塊大小(1 ... 5) |
3 |
byte |
Address extension |
4 |
unsigned long |
Address |
從源地址開始的指定長度(大小)的資料塊將被複制到相應的DTO資料欄位中.MTA0指標保持不變。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
請求的資料位元組 |
例
主裝置向從裝置傳送SHORT UP CROP。命令計數器CTR當前為0x23,資料大小為0x04,源地址為0x12345678:
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR和請求的資料位元組進行應答:
12.10選擇校準資料頁面
指令標籤SHORT_UP
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
命令程式碼= SELECT_CAL_PAGE 0x11 |
1 |
byte |
Command Counter = CTR |
2…7 |
bytes |
don't care |
該命令的功能取決於ECU的實現。先前初始化的MTA0指向校準資料頁面的開始,該頁面被該命令選為當前活動頁面。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code = ACKNOWLEDGE 0x00 |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
don't care |
E x a m p l e
主裝置首先將SET_MTA CRO和現在的SELECT_CAL_PAGE CRO傳送到從裝置。命令計數器CTR當前是0x23。
從裝置使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO進行應答:
使用兩塊ECU儲存器進行校準,SET_MTA和SELECT_CAL_PAGE命令可用於來自主裝置的一種“緊急中斷”,以便通過準備這兩者的變化使從系統進入“安全狀態”。 使用SET_MTA命令的記憶體塊,並使用SELECT_CAL_PAGE立即執行更改。
12.11獲取DAQ列表的大小
指令標籤GET_DAQ_SIZE
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
Command Code = GET_DAQ_SIZE 0x14 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
DAQ列表編號(0,1,...) |
3 |
byte |
don't care |
4…7 |
unsigned long |
專用於列表編號的CAN識別符號 |
返回指定DAQ列表的大小作為可用的Object DescriptorTables(ODT)的數量並清除當前列表。如果指定的列表號不可用,則應返回size = 0。初始化DAQ列表並通過此列表獲取資料 停了
可以將單個CAN識別符號分配給DAQ列表以配置多ECU資料採集。此功能是可選的。如果無法給定識別符號,則返回錯誤程式碼.29位CAN識別符號由最高有效位集標記。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3 |
byte |
DAQ列表大小(=此列表中的ODT數) |
4 |
byte |
DAQ列表的第一個PID |
5…7 |
bytes |
don't care |
DAQ列表的特定ODT的PID由以下因素確定:
PID = DAQlist的第一個PID + ODT號
E x a m p l e
主裝置向從裝置傳送GET_DAQ_SIZE CRO。命令計數器CTR當前為0x23,DAQ列表號為0x03,ID為0x01020304。
從裝置使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,第一個PID = 0x08和列表大小0x10(每個最多7個元素的10個ODT)來應答
12.12設定DAQ列表指標
指令標籤SET_DAQ_PTR
CRO中的資料結構
位置 |
型別 |
描述 |
0 |
byte |
命令程式碼= SET_DAQ_PTR 0x15 |
1 |
byte |
Command Counter = CTR |
2 |
byte |
DAQ列表編號(0,1,...) |
3 |
byte |
物件描述符表ODT編號(0,1,...) |
4 |
byte |
ODT中的元素編號(0,1,...) |
5…7 |
bytes |
don't care |
初始化DAQ列表指標,以便後續寫入DAQ列表。
另請參閱“資料採集訊息的組織”。
預計會有以下返回資訊(返回DTO的內容:)
位置 |
型別 |
描述 |
0 |
byte |
Packet ID: 0xFF |
1 |
byte |
Command Return Code |
2 |
byte |
Command Counter = CTR |
3…7 |
bytes |
don't care |
E x a m p l e
主裝置向從裝置傳送SET_DAQ_PTR CRO。命令計數器CTR當前為0x23,DAQ列表編號為0x03,ODT編號為0x05,定址的元素編號為0x02。
從裝置使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO進行應答:
接下來,命令WRITE_DAQ用於設定所選ODT中的資料元素。
12.13寫入DAQ列表條目
指令標籤WRITE_DAQ
CRO中的資料結構
位置 |
相關推薦CCP協議學習-命令解析參考文件《ASAM-CCP-V2.1.0》 12指令描述 在本章中,將解釋所有帶有引數的命令和預期的返回資訊,包括每個命令的示例。 12.1 連線 指令標籤CONNECT CRO中的資料結構 位置 型 CCP協議學習《一》CCP:CAN Calibration Protocol是基於CAN匯流排應用層協議。 在學習CCP之前,先了解一下CAN匯流排。 1 CAN是什麼? CAN 是Controller Area Network****(控制器區域網) 的縮寫(以下稱為 OSPF協議配置命令解析一,ospf命令 命令功能 ospf命令用來建立並執行OSPF程序。 undo ospf命令用來關閉OSPF程序。 預設情況下,系統不執行OSPF協議,即不執行OSPF程序。 2.命令格式 ospf I process-id I router-id router-id] undo ospf TCP/IP協議學習(二) LWIP使用者自定義配置檔案解析LWIP協議支援使用者配置,可以通過使用者裁剪實現最優化配置,LWIP預設包含opts.h作為系統預設配置,不過通過新增lwipopts.h檔案幷包含在opts.h標頭檔案之前就可以對lwip進行使用者裁剪,這裡給出相關引數的含義,不過具體專案還應該根據實際情況裁剪。 #ifn Linux系統入門之命令學習及解析(二)Linux常用目錄 以下是系統的一級目錄,這些目錄在Linux系統中都有著不同的用處。 / Linux系統根目錄(重要,常用) /home 包含使用者的檔案:引數設定、個性檔案、文件、資料、EMAIL、快取資料等,每增加一個使用者,系統就會在home目錄下 初識Socket通信:基於TCP和UDP協議學習網絡編程auth bsp servers 客戶 name 本地 監聽 max ava 學習筆記: 1.基於TCP協議的Socket網絡編程: (1)Socket類構造方法:在客戶端和服務器端建立連接 Socket s = new Socket(hostName,port shell 中 exec 和 source 命令解析mage 開始 概念 繼續 uil target 緩沖區 mman bash內部命令 文章大部分來源於:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作為筆記留存博客備忘。 exec和source 轉 Dock 外 命令解析style 小結 bsp 其中 配置 mage ron 容器技術 hello RUN vs CMD vs ENTRYPOINT - 每天5分鐘玩轉 Docker 容器技術(17) 小結: run 主要是安裝鏡像,安裝軟件。 CMD 設置容器啟動後默認執行的命令及其參數, CLAA協議學習(CS方向)這份 運營商 聯盟 一個 設備 http pow 國內 生成 工作上用Lora,需要開發相關模塊,分享一下我學習的內容: Lora: 博主是做IT的,對Lora不了解。簡單理解為LPWAN(Low Power Wide Area Network)中一種技術,目前主要是中 HTTP協議學習.cn 處理 cti 多少 authorize 位置 列表 由於 put 特點 HTTP協議的主要特點可概括如下: 1.支持客戶/服務器模式。 2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了 tcp/ip 協議學習筆記 章一tcp/ip一、tcp/ip包含:tcp/ip協議集包含四層:鏈路層、網絡層、傳輸層、應用層二、協議舉例:應用層: http、telnet、ssh ....傳輸層:TCP、UDP網絡層 :IP,ICMP,IGMP鏈路層:ARP ,RARP註:不是所有的程序都有這四層。有些基於IP,但是非tcp and 非UD MQTT協議學習及實踐(Linux服務端,Android客戶端的例子)nbsp hub 設備 log config cati href 10.10.4 rmi 前言 MQTT(Message Queuing Telemetry Transport),是一個物聯網傳輸協議,它被設計用於輕量級的發布/訂閱式消息傳輸,旨在為低帶寬和不穩定 HTTP協議學習筆記字節 ash tcp/ip協議 連接 斷開連接 服務器 客戶端 寫入 com 一、web及網絡基礎 TCP/IP分層管理 應用層——傳輸層——網絡層——鏈路層 TCP/IP通信傳輸流 想瀏覽ht day3--深入學習命令總結行數 操作 深入學習 chm lex 相對 print ren directory 1、查看命令幫助的幾種方法 a.[命令] --help 適用於一般命令,非內置命令 b.man [命令] 適用於一般命令,非內置命令 c.help [命令] 適用於內 arp之協議學習路線arp 協議學習路線①ARP(Address Resolution Protocol)即地址解析協議, 用於實現從 IP 地址到 MAC 地址的映射,即詢問目標IP對應的MAC地址。②在網絡通信中,主機和主機通信的數據包需要依據OSI模型從上到下進行數據封裝,當數據封裝完整後,再向外發出。所以在局域網的通信 bgp之協議學習路線bgphttps://baike.baidu.com/item/%E8%BE%B9%E7%95%8C%E7%BD%91%E5%85%B3%E5%8D%8F%E8%AE%AE/2987527?fr=aladdin&fromid=91408&fromtitle=bgphttp://www.360d ssh-copy-id命令解析ssh-agent mac 優先 出了 agent 刪除 是否 bsp -c ssh-copy-id命令可以把本地主機的公鑰復制到遠程主機的authorized_keys文件上, ssh-copy-id命令也會給遠程主機的用戶主目錄(home)和~/.ssh, 和~/.s http協議學習系列消息頭 windows 優勢 path timeout dsa 取數據 淺析 分配 http協議學習系列 1. 基礎概念篇 1.1 介紹 HTTP是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫。它的發展是萬維網協會(World Wid http之協議學習路線http圖解 HTTP 協議http://blog.jobbole.com/108188/本文出自 “運維自動化” 博客,請務必保留此出處http://shower.blog.51cto.com/4926872/1979904http之協議學習路線 python optparse命令解析模塊local .org 分組 string tex .html rep 兩個 alt 來源:http://www.cnblogs.com/pping/p/3989098.html?utm_source=tuicool&utm_medium=referral 來源:ht |