1简介

  1. ASAP

ASAP特别工作组(Arbeitskreis zur Standardisierung von Applikationssystemen;英文翻译:应用/校准系统标准化工作组)由奥迪公司,宝马公司,梅赛德斯 - 奔驰公司,保时捷公司和大众汽车公司共同创立。欧洲自动化制造商 ,汽车行业的测试和开发系统以及电子控制单元的制造商已加入该工作组。

汽车技术世界已发展成复杂的电子系统配置,以满足法定废气限制,环境污染防护,安全系统,驾驶性能和车身设备选项方面的增长要求。一些汽车制造商在车辆分布式控制系统中使用 通过网络。

为了开发新一代汽车电子产品,必须使用新的和高级的软件,校准,测量和诊断设备。此时,这些设备的软件接口领域几乎没有标准。 每家公司都有其专有的系统和接口,以支持这些高端配置的开发。

因此,ASAP的使命是达成共识和标准化

  1. ·自动化,模块化和所有设备的兼容性,以进行测量,校准和诊断,以及
  2. ·管理创建成本合理且合理的工具供应商市场。
    1. CAN校准协议(CCP)

控制器局域网CAN是Robert Bosch GmbH和Intel Corporation的联合开发.CAN用于许多高端汽车控制系统,如发动机管理和工业控制系统.CAN的控制器芯片可从各种半导体制造商处获得。

CAN校准协议是ASAP标准的一部分。它由校准系统制造商IngenieurbüroHelmutKleinknecht开发和推出,用于汽车行业的多种应用.ASC由ASAP工作组接管并增强 带有可选功能。

2适用范围和领域

本文档指定了ASAP任务组内工作组定义的CAN校准协议CCP。

CCP使用CAN 2.0B(11位和29位标识符)定义控制器与主设备的通信,其中包括2.0A(11位标识符)

  1. 从控制器获取数据,
  2. 存储器传输到控制器并控制控制器中的功能以进行校准。

CCP提供这些功能可用于以下领域

  1. ·电子控制单元(ECU)的开发
  2. ·ECU的功能和环境测试系统,
  3. ·受控设备的测试系统和测试台(内燃机,变速箱,悬架系统,气候控制系统,车身系统,防抱死系统),
  4. ·预装系列车辆的车载测试和测量系统
  5. ·基于CAN的分布式电子控制系统的任何非汽车应用。

3相关文件

英特尔公司的规格和数据表:

  1. ·82527串行通信控制器数据表(英特尔#272250)
  2. ·82527串行通信控制器架构概述(英特尔#272410)
  3. ·控制器局域网(CAN)协议简介(英特尔#270962)

4修订历史

5定义和缩写

CAN

       控制器区域网络:由Robert Bosch GmbH开发和维护的通信协议(ISO / OSI模型级别1 + 2)。该协议旨在管理多个CPU之间的多路复用通信。它是面向控制信息,使用非破坏性的逐位 仲裁以决定哪个节点“拥有”总线,并且具有基于与每个消息一起发送的消息标识符的值的消息优先级方案。

CCP

       CAN校准协议:由IngenieurbüroHelmutKleinknecht开发,并由ASAP特别工作组采用,作为数据采集和校准的标准协议。

CRO

命令接收对象:从主设备发送到从设备的消息。

CRM

       命令返回消息:从设备发送到主设备的一种消息,包含命令/错误代码和命令计数器。

DAQ

       数据采集:定义从设备发送到主设备的过程和消息,以便从ECU快速获取数据。

DTO

       数据传输对象:从设备发送到主设备的消息(命令返回消息或事件消息或数据采集消息)。

ECU

       电子控制单元:具有中央处理单元的电子设备,其外围电路执行编程功能。

消息对象

       在CAN上传输的消息,从发送ECU发送到任何接收/侦听ECU。消息中包含的数据的编码由接收ECU“知道”。 消息对象的数据可以是0到8个字节。

消息帧

       消息帧是最近关于CAN的文献中消息对象的同义名称。

主设备和从设备

通过CAN连接的一组控制器交换消息对象。 连接到网络的附加“外部”控制器与一个或多个这些控制器通信并向它们发出命令,这里称为主设备(主机)。现有网络接收命令中的控制器称为“从设备””。

ODT

对象描述符表:用于组织数据采集的元素(变量)列表。

6协议定义

用于校准和数据采集的CAN通信协议是主设备类型通信。主设备与CAN上的一个或多个从设备连接:

配置主设备和从设备

主设备(主机)是校准工具或诊断/监视工具或测量系统,通过向从设备发送命令来启动CAN上的数据传输.CCP实现支持通过原始存储器传输和数据进行通用控制的命令通信协议的这两个部分(功能集)是独立的,并且可以异步运行,这取决于从控制器中的实现。两个部分的消息也可以以嵌套顺序传输。

6.1通用控制命令

这些命令用于在从设备中执行功能。为此,在主设备和CAN(从设备)上的任何其他站之间建立连续的逻辑连接。此逻辑连接有效,直到选择了另一个站或 当前站通过命令明确断开。

在初始化逻辑连接之后,从主设备到从设备以及从设备到主设备的数据传输由主设备控制。

来自主设备的所有命令必须由所选从设备通过握手消息(命令返回码或错误代码)提示。

6.2数据采集命令

这些协议命令用于从设备的连续数据获取。任何CAN节点可以周期性地发送与由来自主设备的控制命令配置的列表相对应的内部数据。数据传输由主设备发起并由从设备并且可以取决于固定的采样率和/或可以是事件驱动的(例如,曲柄位置)。

7消息对象

7.1消息对象的组织

根据CAN的定义,所有要传输的消息和数据都被打包到“消息对象”中,最多包含8个字节的数据。消息对象从一个CAN节点发送到其他CAN节点。

CCP需要至少两个消息对象,每个方向一个:

1)命令接收对象:CRO

2)数据传输对象:DTO

CRO用于接收命令代码和相关参数,以在逻辑连接的CAN设备之间执行内部功能或存储器传输。必须使用数据传输对象DTO通过握手消息提示接收命令(见下文) 在这种情况下,DTO称为命令返回消息。该DTO消息的返回码用于确定相应的命令是否已成功完成。

功能图:CCP主设备和从设备之间的通信流程。

将消息标识符分配给上述对象在从设备描述文件(例如ASAP2格式描述文件)中定义,该文件用于配置主设备。建议仔细确定消息对象的总线优先级。 为了避免损坏总线上的其他实时通信。此外,CRO应该获得比DTO更高的优先级。

对于CCP传输的所有数据,不定义协议本身的字节顺序。 由于数据组织取决于ECU的CPU,因此字节排序在从设备描述文件中定义。唯一的例外是TEST,CONNECT和DISCONNECT命令中的站地址。

7.2消息对象的描述

7.2.1命令接收对象CRO

命令接收对象CRO从主设备发送到其中一个从设备。从设备用包含命令返回消息CRM的数据传输对象DTO进行应答。

类型

仅接收

大小

8字节消息字段

目的

接收从设备中的命令

消息字段中的参数:

位置

类型

描述

0

byte

命令代码= CMD

1

byte

命令计数器= CTR

2…7

bytes

命令相关参数和数据区

CRO的数据长度代码必须始终为8.在命令描述中标记为“不关心”的未使用数据字节可以具有任意值。

7.2.2数据传输对象DTO

DTO必须将所有传出的从设备消息和数据作为数据包传送。数据包的第一个字节(即DTO数据字段的第一个字节)用作包ID .DTO是一个数据包。

Command Return Message CRM,如果DTO作为主设备的CRO的应答发送。

Event Message,如果DTO报告内部从站状态更改,以便调用错误恢复或其他服务。详细信息在“错误处理”一章中说明。

Data Acquisition Message,如果数据包ID指向相应的对象描述符表(ODT),它描述了数据包的剩余7个数据字节中包含哪些数据采集元素(即变量)。通过协议命令初始化和修改ODT(参见章节' 命令的描述')。

对象结构:

类型

Tx(和远程Tx请求接收)

大小

8字节消息字段

目的

命令返回消息CRM或

事件消息或

数据采集消息

消息字段中的参数:

位置

类型

描述

0

byte

数据包ID = PID

1

byte

数据包

PID的含义

PID

解释

注意

0xFF

DTO包含命令返回消息

0xFE

DTO包含一个事件消息

CTR is don't care

0≤n≤0xFD

DTO包含对应于ODT n的数据采集消息

参见“命令的描述”一章

命令返回或事件消息具有以下格式

ERR:命令返回 - /错误代码。

CTR:CRO中使用最后一个命令收到的命令计数器。

CRM的数据长度代码必须始终为8.在命令描述中标记为“不关心”的未使用数据字节可以具有任意值。

数据采集消息具有以下格式:

PID = n; DTO包含对应于对象描述符表ODTn的数据获取消息(在“命令描述”一章中解释)。

DATA的数据长度代码可以设置为实际大小。

7.3数据采集的组织

主设备可以初始化从设备的数据采集,从设备返回DAQ-DTO中定义的数据。数据元素的组织如下:

位于ECU存储器中的数据元素被分配给名为Object Descriptor Table ODT的列表。该表保存每个元素的地址,地址扩展和字节长度.ODT最多可以有7个元素引用。

此ODT中定义的每个元素的内容必须转移到DAQ消息DTO中以发送到主设备。为了节省ECU中的内存资源,地址扩展和长度是可选的。必须对元素进行一致的采样 如果ECU不支持超过1个字节的元素大小,则主设备需要将多字节数据对象分成单个字节。在这种情况下,ECU必须确保ODT中所有元素的一致性。

PID是分配给ODT的编号(0£n£0xFD)。通常为从设备的数据采集定义几个ODT:

CCP允许设置多个DAQ列表,这些列表可以同时处于活动状态。 每个DAQ列表的DTO的采样和传输由ECU中的各个事件触发。请参阅START_STOP命令的说明。

当触发DAQ列表时,所有或一个ODT的数据(取决于ECU实现)以一致的方式采样.ECU可能需要一些时间在总线上发送采样的DTO消息。有两种可能性。 ECU在前一个循环的传输完成之前触发新的事件循环时作出反应:

1.跳过上一个周期的传输。

优点:缺少DAQ列表的一些ODT,该工具能够向用户显示此信息。

问题:如果经常发生缺陷,有些信号根本就没有测量过。

2.跳过新循环的传输。

优点:接收的样本始终完整,生成的采集栅格会减少。

问题:如果是事件触发的样本,该工具无法检查采集率的合理性。

此外,ECU可以发送“DAQ处理器过载”事件消息以通知主设备.ECU必须注意不要使用该附加消息溢出另一个周期。

在ECU中定义测量组件时,开发人员应注意可以通过CAN传输采样数据。在标准情况下工作时,不应使用所述的过载反应机制。

设置ODT的典型方法是:

1.清除ECU中的当前列表,让ECU通过发送命令GET_DAQ_SIZE为一个DAQ列表分配内存。

在GET_DAQ_SIZE命令之后,ECU报告当前DAQ列表中ODT的可用内存。

2.在循环发送中

SET_DAQ_PTR具有参数DAQ列表号,ODT号,ODT中的元素号

WRITE_DAQ具有元素的参数大小,地址扩展,32位基址,直到ODT完成,并为更多的ODT重复此过程。

为了初始化DAQ-DTO的传输,发出START_STOP命令。

8版本机制

CCP的2.1版本引入了版本管理机制,以减少版本不兼容的影响。以下政策适用:

主要协议版本号:主要协议版本号范围为0到255.如果存储器传输原语和数据采集功能的现有命令的语法和语义与之前定义的语法和语义不同,则必须更改此维度。这意味着不得在同一主协议版本号内以非向后兼容的方式更改非可选命令。

次要协议版本号:次要协议版本号范围为0到9.如果向协议添加/删除新的可选命令,则必须更改此维度。

9版本兼容性

为确保主设备与从设备之间的最低兼容性,以下策略适用:

  1. 如果主协议版本号不相等,则无法在主设备和从设备之间进行通信。
  1. 主设备必须至少具有与从设备相同的协议版本(主协议版本号和次协议版本号)或更高版本。从设备只需要支持一种协议版本。
  1. 为了确保完整的ASAP1a CCP符合性,主设备和从设备必须至少支持所有非可选命令。

10命令代码表

如果ECU不支持DAQ,以下命令是可选的:

GET_DAQ_SIZE,
SET_DAQ_PTR,
WRITE_DAQ,
START_STOP.

如果实现了SELECT_CAL_PAGE,则需要GET_ACTIVE_CAL_PAGE。

11命令返回码表

如果错误地发生在协议命令上,则CCP从设备也可以通过发送错误代码作为事件消息(分组ID 0xFE)直接调用适当的错误处理。

错误类别:

类别

描述

动作

重试

Timeout

没有握手信息

重试

2

C0

警告

-

-

C1

假的(通讯错误,忙,...)

等待(确认或超时)

2

C2

可解决的(临时功率损失...)

重新初始化

1

C3

无法解决(设置,过载,...)

终止

-

有关详细信息,请参阅“错误处理”一章。

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

位置

类型

描述

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。

13错误处理

校准会话状态图和错误处理程序

状态图显示状态转换和可能的错误类别。下表显示了在这些错误条件之后采取的操作。

'冷启动'包含:

- CONNECT在主设备和从设备之间建立逻辑链路,

- 种子和密钥登录程序,

- 自动会话配置(使用EXCHANGE_ID),除非覆盖,

- 如果主站支持,则自动更新代码。

在状态“校准数据初始化”,“DAQ列表初始化”或“会话运行”中,CCP主设备可以请求重复嵌入的种子和密钥过程。

类别

描述

操作

重试

超时

无握手消息

重试

2

C0

警告

-

-

C1

假(通信错误,忙,......)

等待(ACK或超时)

2

C2

可解析(临时功率损失,...)

重新初始化

1

C3

无法解决(设置,过载,...)

终止

-

错误类别C1由重试处理,不会导致状态更改。

14示例序列

对于一些常用服务,解释了使用CCP的过程。 这仅仅被视为CCP的使用示例。会话状态字节的设置如下所示:

(01xx xx1x)表示:x位保持不变; 强制0/1位0/1如果发生无法解决的错误(类别3),则终止宏服务序列。

14.1会话登录

命令

描述

备注

CONNECT

逻辑连接

GET_CCP_VERSION

Aggree的协议版本

EXCHANGE_ID

交换站标识符

GET_SEED

获取key的种子,则返回key

如果使用'seed&key'

UNLOCK

则通过发送接收密钥来解锁保护

如果使用“种子和密钥”

SET_S_STATUS

设置会话状态(设置一个或多个状态位)

14.2分块下载

命令

描述

备注

CONNECT

连接

跳过,如果已连接

SET_MTA

将内存传输地址设置为目标块

DOWNLOAD

n·数据下载,对应于要下载的块的大小

14.3 分块上传

命令

描述

备注

CONNECT

连接

跳过,如果已连接

SET_MTA

将内存传输地址设置为目标块

UPLOAD

n·数据上传,对应于要上传的块的大小

14.4校准数据初始化

命令

描述

备注

CONNECT

连接

跳过,如果已连接

SET_S_STATUS

设置会话状态(xxxx xxx0)

CAL = off

loop

循环n·

SET_MTA

将内存传输地址设置为目标块

BUILD_CHKSUM

构建块的校验和

DOWNLOAD

下载块,如果校验和不匹配

SELECT_CAL_PAGE

选择校准数据页面

SET_S_STATUS

使用位CAL = 1(xxxx xxx1)设置会话状态

现在校准会话正在运行时

14.5 DAQ列表初始化

命令

描述

备注

CONNECT

连接

跳过,如果已连接

SET_S_STATUS

设置会话状态(xxxx xx0x)

GET_DAQ_SIZE

分配DAQ列表

参见“DAQ组织”一节

loop

循环n·

SET_DAQ_PTR

设置目标指针

WRITE_DAQ

写清单数据

SET_S_STATUS

使用DAQ = 1设置会话状态(xxxx xx1x)

START_STOP

开始传输DAQ DTO并设置参数

14.6代码更新

命令

描述

备注

CONNECT

连接

跳过,如果已连接

SET_MTA

将内存传输地址设置为目标块

CLEAR_MEMORY

清除从设备的内存

loop

循环n·

PROGRAM

程序取决于扇区或设备的大小

PROGRAM

Size = 0

编程序列结束

该过程也可以嵌入在用于编程FLASH EPROM的服务中。

15预期的性能等级

此协议的性能等级很大程度上取决于响应延迟时间,总线波特率,总线负载情况以及协议对象的总线优先级。由于一次只能传输一小部分内存,因此延迟时间为 涉及的网络节点是关于突发传输的最严格的因素。

通过500 kbit / s的波特率和总线以及节点(ECU)的典型负载条件,已实现以下额定值:

类型

数据速率(约)

备注

突发内存传输

4-6 Kbyte / s

异步.数据采集

20 Kbyte / s

整体采样率

16附录

在本附录中,给出了有关CCP的使用和实施的附加信息。

16.1错误代码矩阵

CCP Command

CCP Error Code

拒绝访问

0x33

参数超出范围

0x32

访问锁定

0x35

DAQ列表初始化请求

为0x22

CONNECT

会话目前无法实现

无效的站地址

EXCHANGE_ID

非法主ID

UNLOCK

不合格的钥匙

SET_MTA

尝试读取机密数据

非法MTA#,基地址,地址分机

DNLOAD

写入尝试ROM

数据块大小> 5

DNLOAD_6

写入ROM的尝试

接收的数据块<6个字节

UPLOAD

上传分类数据

数据块大小> 5

SHORT_UP

上传分类数据

块大小> 5,非法base addr./addr.ext

SELECT_CAL_PAGE

目前不可能

GET_DAQ_SIZE

没有DAQ权限级别

非法DAQ列表编号,错误的CAN ID

SET_DAQ_PTR

没有DAQ权限级别

未知的DAQ列表,非法ODT#/

WRITE_DAQ

没有DAQ权限级别

ODT的非法大小

元素/地址/ 扩展地址

START_STOP

启动/停止不存在的DAQ列表

非法的最后ODT /线路传输。 间隔,非法启停PARAM。

启动未配置的DAQ lis的DAQ

DISCONNECT

临时断开是不可能的

无效的站地址,无效的临时断开连接参数。

SET_S_STATUS

状态位违反主权限级别

目前非法组合状态位

GET_S_STATUS

会话状态无法访问

16.2多点应用中的广播技术

在某些多点应用中,同时在多个从设备中执行命令可能很有用。尽管CCP主从命令协议设计为点对点工作,一次只连接一个从设备, 用于向多于一个从站广播协议命令的几种方法。

  1. 广播站地址

如果所有相关的从站识别出公共站地址(除了它们的专用从地址之外),则CCP主设备可以多连接到那些从设备。

  1. 嵌套连接命令到多个站而不断开连接

在每种情况下,每个从属设备都必须独立地向每个命令发送命令返回消息,并且CCP主设备必须单独验证返回消息。

广播可以在同步和速度方面提供相当大的优势。然而,广播连接期间的错误处理显然非常复杂和苛刻。

ASAM_CCP_V2.1.0_cn相关推荐

  1. rtmp 封包及消息

    2019独角兽企业重金招聘Python工程师标准>>> 1 握手 adobe修改了握手部分的协议,但是没有公开.根据rtmp specification 1.0里面的握手过程,fla ...

  2. 为 Visual Studio 安装数据库工具

    SQL Server 的 BI 解决方案工具是用来设计 SSAS.***S.SSIS 这3类项目的. 对于 SQL Server 2005.SQL Server 2008.SQL Server 200 ...

  3. Flex开发中遇到未整理资源

    1)Loader类 (1)精通Flex 3.0――4.2.2 动态加载资源--Loader类 地址:http://blog.csdn.net/flex_program/article/details/ ...

  4. 手机禁止安装app,刷机才能恢复

    手机禁止安装app,刷机才能恢复 让智能手机安装了必要的app之后,永远禁止安装其他任何app,只有通过刷机才能恢复回来,这个需求对于学生来说很有必要. 比如:安装必要的学习软件,微信,地图导航等等之 ...

  5. javaSE 笔记全!

    Java基础 基本操作 dos(Disk Operating System)命令行的简单操作 dir(directory):列出当前目录下的文件及文件夹 md(make directory):创建目录 ...

  6. RV1126 调试记录

    RV1126 调试记录 ######################################################################################## ...

  7. 国产单片机GD32系列开坑,带你零死角玩转GD32 第六章

    [开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103C8T6串口开发板设计指南(二) 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103 ...

  8. 自动驾驶(八十一)---------Apollo之感知模块

    预则立不预则废,本命年要注意,真男人不回头. apollo的感知分为以下几个方面:lidar.ladar.camera.fusion. 1. Camera感知 Apollo视觉检测,地址在:Apoll ...

  9. 基于GeoServer的电子地图系统说明

    概述        一AJAX的应用系统,前台页面基于OpenLayers2.2版本来开发,地图服务基于GeoServer1.5,后台查询基于Spring和Hibernate.前后台基于JSON方式进 ...

最新文章

  1. HTML5 叠加布局
  2. c++ 大数类 大数模板
  3. 若S作主串,P作模式串,试分别写出利用BF算法和KMP算法的匹配过程。
  4. [转]详细讲解提高数据库查询效率的实用方法、外键关于性能
  5. Mongodb基本操作说明
  6. 常用的搜索引擎dork (不断更新)
  7. twitter api使用_使用P2创建自己的Twitter风格的组博客
  8. Leetcode--923. 三数之和的多种可能
  9. oracle数据库各组件介绍,Oracle 数据库 组件相关说明【第一部分】
  10. mysql配置修改记录_mysql设置修改时间,更新记录当前时间
  11. 【GTK】信号量(signal)大全
  12. mysql系列之4.mysql字符集
  13. 微信小程序源码——《出发吧一起》开源
  14. 自动设置为兼容模式html5,详细教你将IE浏览器设置为兼容模式的设置方法
  15. CSAPP实验记录(二)Bomb Lab
  16. Apache Storm-2011
  17. python 键盘输入数字_python实现键盘输入的实操方法
  18. Excel if及ifs函数用法
  19. Android view 部分 setContentView 的前因后果
  20. 普通卷积、Depthwise(DW)卷积、Pointwise(PW)卷积、Atrous卷积

热门文章

  1. 研究生查分方式-查分时间大汇总-文都管联院
  2. DW1000学习之路(三)--------DW1000的中断处理问题
  3. 针对 DNS 监控的 Grafana Dashboard面板DeepFlow
  4. 苏州大学872专栏介绍
  5. 又赚了!分享几个我常去的私活接单平台
  6. 中学生学习心理:学习心理
  7. Deepin 微信版本太低无法登录
  8. Gooxi国产化服务器专题介绍之海光服务器
  9. python的元组是否能重复_python – 在带有元组的列表列表中查找重复项
  10. 用python画爱心及代码演示