在本章中,将解释所有带有参数的命令和预期的返回信息,包括每个命令的示例。
指令标签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进行应答:
指令标签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从从站获取数据。
指令标签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。
指令标签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,仅解锁数据获取。
指令标签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进行应答:
指令标签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。
指令标签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。
指令标签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地址。
指令标签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和请求的数据字节进行应答:
指令标签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立即执行更改。
指令标签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)来应答
指令标签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中的数据元素。
指令标签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进行应答:
指令标签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进行应答:
指令标签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进行应答:
指令标签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进行应答:
指令标签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)。
指令标签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进行应答。
指令标签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进行应答:
指令标签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。
指令标签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。
指令标签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进行应答:
指令标签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上载诊断服务数据。 见上传。
指令标签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上载生成的操作服务数据。请参阅上传。
指令标签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 |
指令标签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 |
指令标签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 |
地址 |
指令标签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。