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中的数据结构

位置

类型

描述

0

byte

命令代码= WRITE_DAQ 0x16

1

byte

Command Counter = CTR

2

byte

DAQ元素的大小,以字节为单位{1,2,4}

3

byte

DAQ元素的地址扩展

4…7

bytes

DAQ元素的地址

 

将一个条目(单个DAQ元素的描述)写入由DAQ列表指针定义的DAQ列表(请参阅SET_DAQ_PTR)。定义了以下DAQ元素大小:1个字节,2个字节(类型字),4个字节(类型long / Float))。

 

ECU可能不支持每个元素的单独地址扩展以及2或4字节元素大小。主设备负责关注ECU限制。可以在从设备描述文件(例如ASAP2)中定义限制。

 

从设备的责任是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

主设备向从设备发送WRITE_DAQ CRO。命令计数器CTR当前为0x23,DAQ元素的大小为0x02字节,地址扩展为0x01,32位地址为0x02004200。

 

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.14启动/停止数据传输

指令标签START_STOP

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= START_STOP 0x06

1

byte

Command Counter = CTR

2

byte

模式:启动/停止/准备数据传输

3

byte

DAQ清单编号

4

byte

最后的ODT号码

5

byte

活动频道号

6,7

word

传输速率预分频器

 

此命令用于启动或停止数据采集或准备指定DAQ列表的同步启动。最后ODT编号指定应传输此DAQ列表的哪些ODT(从0到最后ODT编号)。事件通道 No.指定有效确定数据传输时序的通用信号源。为了降低所需的传输速率,可以将预分频器应用于事件通道。预分频器值因子必须大于或等于1。

mode参数定义如下:0x00停止指定的DAQ列表,0x01启动指定的DAQ列表,0x02为同步启动准备DAQ列表。

启动/停止模式参数= 0x02(准备开始数据传输)使用提供的参数配置DAQ列表,但不启动指定列表的数据采集。此参数用于所有已配置的DAQ列表的同步启动。 在从属设备不能执行数据获取的同步开始的情况下,如果该参数为真(非零),则从设备可以开始数据传输。

可以在从设备描述(ASAP2)中描述事件信道和DAQ列表的ECU特定属性。

 

预计会有以下返回信息(返回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

主设备向从设备发送START_STOP CRO。命令计数器CTR当前为0x23,开始/停止字节为0x01(开始),DAQ列表编号为0x03,要发送的包编号为0x07 .ECU shell使用 事件通道0x02,预分频器为1(motorola-format)。

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.15断开连接

指令标签DISCONNECT

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= DISCONNECT 0x07

1

byte

Command Counter = CTR

2

byte

0x00临时,0x01会话结束

3

byte

don't care

4,5

word

站地址(英特尔格式)

6…7

bytes

don't care

 

断开从设备的连接。断开连接可以是临时的,将从设备设置为“离线”状态或使用参数0x01终止校准会话。

 

终止会话会使所有状态信息无效并重置从属保护状态。

 

临时断开连接不会停止DAQ消息的传输.MTA值,DAQ设置,会话状态和保护状态不受临时断开连接的影响并保持不变。

 

如果ECU支持恢复功能并且使用SET_SESSION_STATUS命令设置恢复位,则DAQ相关功能的行为与临时断开连接一样.DAQ的保护状态保持解锁状态。

 

站地址被指定为小端字节顺序的数字(英特尔格式,低字节优先)。

 

预计会有以下返回信息(返回DTO的内容:)

 

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3…7

bytes

don't care

 

主设备向从设备发送DISCONNECT CRO。命令计数器CTR当前为0x23,参数字节为0x00(临时),从设备地址为0x0208。

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.16设置会话状态

指令标签SET_S_STATUS

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= SET_S_STATUS 0x0C

1

byte

Command Counter = CTR

2

byte

会话状态位(见下表)

3…7

byte

don't care

 

让从节点随时了解校准会话的当前状态(另见“错误处理”一章)。

会话状态:

 

Bit0

CAL

校准数据已初始化

Bit1

DAQ

DAQ列表已初始化

Bit2

RESUME

请求在ECU关闭期间保存DAQ设置。

启动后ECU自动重启DAQ。

Bit6

STORE

请求在ECU关闭期间保存校准数据

Bit7

RUN

会话进行中

Bit3…5

res

保留

 

如果表达式为TRUE,则设置位(1)。

会话状态位对从设备进行读/写,并在上电,会话注销和适用的故障条件下清除。

 

预计会有以下返回信息(返回DTO的内容:)

 

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3…7

bytes

don't care

 

主设备向从设备发送SET_S_STATUS CRO。命令计数器CTR当前为0x23,会话状态位为10000001(RUN,CAL)。

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.17获取会话状态

指令标签GET_S_STATUS  

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= GET_S_STATUS 0x0D

1

byte

Command Counter = CTR

2…7

bytes

don't care

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

会话状态

4

byte

附加状态信息限定符

5

bytes

其他状态信息(可选)

 

注意:使用其他状态信息是制造商和/或项目特定的,它不是此协议规范的一部分。例如,其他状态信息可能包含增量校验和结果,用于跟踪当前会话活动。如果返回 如果信息不包含附加状态信息,则附加状态信息限定符必须为FALSE(0)。如果附加状态信息不为FALSE,则可以使用它来确定附加状态信息的类型。

主设备向从设备发送GET_S_STATUS CRO。命令计数器CTR当前为0x23。

从设备使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR和会话状态位进行应答:

会话状态为第0位设置(CAL)和第7位设置(RUN)。

12.18建立校验和

指令标签BUILD_CHKSUM

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= BUILD_CHKSUM 0x0E

1

byte

Command Counter = CTR

2…5

unsigned long

块大小,以字节为单位

6,7

bytes

don't care

 

返回由MTA0(内存传输区起始地址)和块大小定义的内存块的校验和结果。校验和算法可能是制造商和/或项目特定的,它不是本规范的一部分。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

校验和数据的大小

4…7

bytes

校验和数据(具体实施)

 

E x a m p l e

主设备向从设备发送BUILD_CHKSUM CRO。命令计数器CTR当前为0x23,块大小为32千字节(0x8000)。

从设备使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR和计算的校验和0x1234进行应答。

12.19清除内存

指令标签CLEAR_MEMORY

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= CLEAR_MEMORY 0x10

1

byte

Command Counter = CTR

2…5

long

内存大小

6,7

bytes

don't care

 

该命令可用于在重新编程之前擦除FLASH EPROM .MTA0指针指向要擦除的存储器位置。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3…7

bytes

don't care

 

主设备向从设备发送CLEAR MEMORY CRO。命令计数器CTR当前为0x23,块大小为32千字节(0x8000)。

 

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.20编程

指令标签PROGRAM

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= PROGRAM 0x18

1

byte

Command Counter = CTR

2

byte

要遵循的数据块大小(字节)

3…7

bytes

要编程的数据(最多5个字节)

 

CRO中包含的指定长度(大小)的数据块将被编程到非易失性存储器(FLASH,EEPROM)中,从当前MTA0开始.MTA0指针将以'size'的值后递增。

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

MTA0扩展(后增量后)

4

unsigned long

MTA0地址(后增量后)

 

主设备向从设备发送PROGRAM命令。命令计数器CTR当前为0x23,大小为3字节(0x03),要编程的数据为0x10,0x11,0x12:

从设备使用包含ACKNOWLEDGE(0x00)的DTO和CRO的CTR,内存传输地址扩展0x02和(递增的)当前MTA0进行应答

在执行此命令之前,MTA0已经是0x34002000并且增加了3。

12.21编程6字节

指令标签PROGRAM_6

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= PROGRAM_6 0x22

1

byte

Command Counter = CTR

2…7

byte

要编程的数据(6个字节)

 

CRO中包含的长度(大小)为6字节的数据块将被编程到非易失性存储器(FLASH,EEPROM)中,从当前MTA0开始。MTA0指针将后递增6。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

MTA0扩展(后增量后)

4

unsigned long

MTA0地址(后增量后)

 

E x a m p l e

主设备向从设备发送PROGRAM命令。命令计数器CTR当前为0x23,大小为6字节,要编程的数据为0x10,0x11,0x12,0x13,0x14,0x15:

从设备使用包含ACKNOWLEDGE(0x00)的DTO和CRO的CTR,内存传输地址扩展0x02和(递增的)当前MTA0进行应答

在执行此命令之前,MTA0已经是0x34002000并且增加了6。

12.22移动内存块

指令标签MOVE

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= MOVE 0x19

1

byte

Command Counter = CTR

2…5

long

要移动的数据块的大小(字节数)

6,7

bytes

don't care

 

指定长度(大小)的数据块将从MTA 0(源指针)定义的地址复制到MTA 1(目标指针)定义的地址。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3…7

bytes

don't care

 

主设备向从设备发送MOVE CRO。命令计数器CT当前为0x23,要移动的字节数为32千字节(0x8000)。

从设备使用包含ACKNOWLEDGE(0x00)和CRO的CTR的DTO进行应答:

12.23诊断服务

指令标签DIAG_SERVICE

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= DIAG_SERVICE 0x20

1

byte

Command Counter = CTR

2,3

word

诊断服务号

4…7

bytes

参数,如果适用

 

从设备执行所请求的服务并自动将存储器传送地址MTA0设置到CCP主设备(主机)可以随后上载所请求的诊断服务返回信息的位置。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

bytes

返回信息的长度,以字节为单位

4

byte

返回信息的数据类型限定符(待定义)

5…7

bytes

don't care

 

主设备向从设备发送DIAG_SERVICE CRO。命令计数器CTR当前为0x23,请求的诊断服务号为0x08且没有参数。

从设备使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,返回信息的长度0x20和数据类型0x00来应答。

现在可以从MTA0上载诊断服务数据。 见上传。

12.24行动服务

指令标签ACTION_SERVICE

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= ACTION_SERVICE 0x21

1

byte

Command Counter = CTR

2,3

word

行动服务号

4…7

bytes

参数,如果适用

 

从设备执行所请求的服务并自动将存储器传送地址MTA0设置到CCP主设备随后可以上载所请求的动作服务返回信息(如果适用)的位置。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

bytes

返回信息的长度,以字节为单位

4

byte

返回信息的数据类型限定符(待定义)

5…7

bytes

don't care

 

主设备向从设备发送ACTION SERVICE CRO。命令计数器CTR当前为0x23,请求的动作服务号为0x08并且具有参数0x05。

从设备使用包含ACKNOWLEDGE(0x00)的DTO,CRO的CTR,返回信息的长度0x20和数据类型0x00来应答。

现在可以从MTA0上载生成的操作服务数据。请参阅上传。

12.25测试可用性

指令标签TEST

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= TEST 0x05

1

byte

Command Counter = CTR

2,3

word

站地址(英特尔格式)

4…

bytes

don't care

 

此命令用于测试具有指定站地址的从站是否可用于CCP通信。此命令不会建立逻辑连接,也不会触发指定slave中的任何活动.Station地址被指定为小端数字 字节顺序(英特尔格式,低字节优先)。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code = ACK 0x00

2

byte

Command Counter = CTR

3…7

bytes

don't care

12.26启动/停止同步数据传输

指令标签START_STOP_ALL

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= TEST 0x05

1

byte

Command Counter = CTR

2

word

站地址(英特尔格式)

3…7

bytes

don't care

 

此命令用于以同步方式开始定期传输使用先前发送的START_STOP命令(启动/停止模式= 2)配置的所有DAQ列表作为“准备启动”。该命令用于停止所有的定期传输 DAQ列表,包括那些未开始同步的列表。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3…7

bytes

don't care

12.27获取当前有效的校准页面

指令标签GET_ACTIVE_CAL_PAGE

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= GET_ACTIVE_CAL_PAGE 0x09

1

byte

Command Counter = CTR

2…7

bytes

don't care

 

此命令返回从站设备中当前处于活动状态的校准页面的起始地址。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

地址扩展

4…7

unsigned long

地址

12.28获得实施的CCP版本

指令标签GET_CCP_VERSION

CRO中的数据结构

位置

类型

描述

0

byte

命令代码= GET_CCP_VERSION 0x1B

1

byte

Command Counter = CTR

2

byte

主协议版本(所需)

3

byte

版本内发布(所需)

4…7

bytes

don't care

 

此命令执行主设备和从设备中使用的协议版本的共同标识,以便在公共协议版本上进行协商。此命令应在EXCHANGE_ID命令之前执行。

 

预计会有以下返回信息(返回DTO的内容:)

位置

类型

描述

0

byte

Packet ID: 0xFF

1

byte

Command Return Code

2

byte

Command Counter = CTR

3

byte

已实施主协议版本

4

byte

在已实施的版本内发布

5…7

bytes

don't care

 

E x a m p l e

主设备向从设备发送GET_CCP_VERSION命令。命令计数器CTR当前是0x27,期望的主协议版本是2,主版本2中的版本是1,即期望的协议版本是CCP 2.1。

从设备使用包含ACKNOWLEDGE(0x00)的DTO进行应答,CRO的CTR,从设备中实现的CCP版本再次为CCP 2.1。

 

你可能感兴趣的:(汽车电子)