预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

. 合同范本精选! CAN通信标定协议(基于ccp协议) 一、协议简介 该通信协议采用主-从式通信方式,主设备通过CAN总线与多台从设备相连接,主设备是测量标定系统,从设备是需要标定的ECU,主设备首先与其中一个从设备建立逻辑链接,建立逻辑连接后,主、从设备之间所有的数据传递均由主机控制,从设备执行主设备命令后返回包含命令响应值或错误代码等信息的报文,同时从设备可以根据主设备通过控制命令所设置的列表信息,来定时地向主设备传送变量信息,数据的传递是由主设备初始化并且由从设备来执行的,并且是由固定的循环采样频率或者事件触发的。 主设备通过USB-CAN接口与从设备连接,符合CAN2.0协议。 通信过程中,所有报文均为8个字节,它可以包含命令、数据、数据长度、地址等信息。 该通信协议参照ccp协议,可以与INCA,CANape等标定软件接口。 二、通信数据对象 CAN通信采用了两个报文数据对象CRO(命令接收对象)和DTO(命令发送对象),每个对象根据其数据流向,都有一个唯一的ID标志符进行标识,ID标识符可以由用户自行设定。 1.命令接收对象(CRO) 命令接收对象(CRO)用于传递指令代码和内部功能码或主、从设备之间交换的存储区数据,对应的报文帧如图1所示,表1位场说明: ParameterandDataField Byte0 1 2 3 4 5 6 7 CMD CTR 图1CRO数据格式 表1 CMD(1Byte):命令代码。CTR(1Byte):命令计数器。ParameterandData(6Byte):参数和数据场,命令相关的数据或参数 2.数据传输对象(DTO) 数据传输对象(DTO)指由从设备反馈的报文。DTO根据报文首字节PID的值可以由三种形式,见表2: 表2: PID值数据传输类型备注0xFFCRM(CommandReturnMessage)由从设备发送,反馈CRO命令的报文0xFEEventMessage当从设备检测到内部发生错误机制时,由从设备自行向主设备发送,报告其当前的运行状态,并请求主设备暂停当前工作进程以处理发生的错误0-0xFDDAQ-DTO(DataAcquisition-DTO)用于DAQ模式,由从设备定期向主设备发送。 根据对象描述表(ODT),确定需要上传的变量 (1).CRM和EventMessage的报文帧如图2所示: Byte0 1 2 3 4 5 6 7 ParameterandDataField PID ERR CTR 图2CRM-EventMessage报文帧格式 表3:场说明 PID(1Byte)其值代表了DTO的类型ERR(1Byte)命令返回错误代码CTR(1Byte)命令计数器,与接收的相等。ParameterandDataField参数和数据场,命令相关的数据或参数 (2).DAQ-DTO(DataAcquisition-DTO)的报文帧: Byte0 1 2 3 4 5 6 7 DataField(DAQValues) PID 3.协议命令列表及说明(标注绿色字体部分逐步补充完整) 3.1命令列表: 命令名称代码说明CONNECT0x01创建一个ECU的连接SET_MTA0x02设置MTA地址DNLOAD0x03下载最多5个字节数据到ECUDNLOAD_60x23下载6个字节数据到ECUUPLOAD0x04从ECU上载最多5个字节数据SHORT_UP0x0F从ECU上载最多5个数据(不用MTA)DISCONNECT0x07断开到该ECU的连接GET_DAQ_SIZE0x14得到指定DAQ列表大小SET_DAQ_PTR0x15选中某指定DAQ列表中某ODT的某元素WRITE_DAQ0x16设定该元素指定的地址START_STOP0x06开始/停止采集指定的DAQ列表EXCHANGE_ID0x17得到该ECU的标识符GET_SEED0x12得到计算密钥的种子(SEED)UNLOCK0x13要求ECU释放某种功能SET_S_STATUS0x0C设置当前会话状态GET_S_STATUS0x0D得到当前会话状态BUILD_CHKSUM0x0E计算指定区域的校验和CLEAR_MEMORY0x10清除某内存区域PROGRAM0x18FLASH编程(最多5个字节)PROGRAM_60x22FLASH编程(6个字节)MOVE0x19从MTA0处拷贝指定长度的字节到MTA1处TEST0x05测试当前在线的从设备GET_ACTIVE_CAL_PAGE0x09得到当前标定页(RAMorFLASH)DIAG_SERVICE0x20ACTION_SERVICE0x21 3.2命令返回错误代码 代码描述种类状态改变0x00正确接收,无错误0x01DA