1. 程式人生 > >CCP協議學習-命令解析

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

保護狀態(TRUEFALSE

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