1、CAN标定协议详情基于某ccp实用标准CAN通信标定协议(基于ccp协议)一、协议简介该通信协议采用主-从式通信方式,主设备通过CAN总线与多台从设备相连接,主设备是测量标定系统,从设备是需要标定的ECU,主设备首先与其中一个从设备建立逻辑, 建立逻辑连接后,主、从设备之间所有的数据传递均由主机控制,从设备执行主设备命令后返回包含命令响应值或错误代码等信息的报文,同时从设备可以根据主设备通过控制命令所设置的列表信息,来定时地向主设备传送变量信息,数据的传递是由主设备初始化并且由从设备来执行的,并且是由固定的循环采样频率或者事件触发的。主设备通过USB-CAN接口与从设备连接,符合CAN2.0协
2、议。通信过程中,所有报文均为8个字节,它可以包含命令、数据、数据长度、地址等信息。 该通信协议参照ccp协议,可以与INCA,CANape等标定软件接口。 二、通信数据对象CAN通信采用了两个报文数据对象CRO(命令接收对象)和DTO(命令发送对象),每个对象根据其数据流向,都有一个唯一的ID标志符进行标识,ID标识符可以由用户自行设定。1命令接收对象 (CRO)命令接收对象(CRO)用于传递指令代码和部功能码或主、从设备之间交换的存储区数据,对应的报文帧如图1所示,表1位场说明: 图1 CRO数据格式表1CMD (1 Byte):命令代码。CTR (1 Byte):命令计数器。Paramet
3、er and Data(6 Byte):参数和数据场,命令相关的数据或参数2数据传输对象(DTO)数据传输对象(DTO)指由从设备反馈的报文。DTO根据报文首字节PID的值可以由三种形式,见表2:表2:PID值数据传输类型备注0xFFCRM(Command Return Message)由从设备发送,反馈CRO命令的报文0xFEEvent Message当从设备检测到部发生错误机制时,由从设备自行向主设备发送,报告其当前的运行状态,并请求主设备暂停当前工作进程以处理发生的错误0-0xFDDAQ-DTO(Data Acquisition-DTO)用于DAQ模式,由从设备定期向主设备发送。根据对象
4、描述表(ODT),确定需要上传的变量(1). CRM和Event Message的报文帧如图2所示:图2 CRM-Event Message报文帧格式表3:场说明PID(1 Byte)其值代表了DTO的类型ERR(1 Byte)命令返回错误代码CTR(1 Byte)命令计数器,与接收的相等。Parameter and Data Field参数和数据场,命令相关的数据或参数 (2). DAQ-DTO(Data Acquisition-DTO)的报文帧:3. 协议命令列表及说明(标注绿色字体部分逐步补充完整)3.1 命令列表:命令名称代码说明CONNECT0x01创建一个ECU的连接SET_MTA
5、0x02设置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得到计算密钥的种子(SE
6、ED)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得到当前标定页(RAM or FLASH)DIAG_SERVICE0x20ACTION_SERVICE0x213.2
7、命令返回错误代码代码描述种类状态改变0x00正确接收,无错误0x01DAQ处理器过载0x10命令处理器忙0x11DAQ处理器忙。待续3.3命令详细说明3.3.1 CONNECT命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x01)1字节命令计数器2字站地址4-7字节填0(不关心)数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.2 SET_MTA命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x02)1字节命令计数器2字节存贮器传输地址(MTA0,MTA1
8、)3字节地址扩展4-7无符号长整形地址数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.3 DNLOAD命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x03)1字节命令计数器2字节需下传的数据长度3-7字节数据数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3字节MTA0扩展位4-7字节执行后MTA0地址(即地址加上长度)3.3.4 UPLOAD命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x0
9、4)1字节命令计数器2字节需上传的数据长度3-7字节填0数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节上传的数据3.3.5 SHORT UPLOAD命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x0F)1字节命令计数器2字节需上传的数据长度3字节地址扩展4-7字节地址数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节上传的数据3.3.6 DISCONNECT命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x
10、07)1字节命令计数器2字节0x00 暂时断开, 0x01 断开3字节不关心4-5字节站地址(低位在前)6-7字节填0(不关心)数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.7 GET_DAQ_SIZE命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x14)1字节命令计数器2字节DAQ表号(0,1)3字节填0(不关心)4-7字节CAN 识别号(可选,暂不使用)数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3字节该DA
11、Q列表中ODT的数目4字节该列表中第一个ODT表PID值5-7字节填0(不关心)3.3.8 SET_DAQ_PTR命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x15)1字节命令计数器2字节DAQ表号(0,1)3字节QDT表号(0,1)4字节ODT表里的元素(0,1)5-7字节填0(不关心)数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.9 WTITE_DAQ命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x16)1字节命令计数器2字节DAQ表中元素的长
12、度(1,2,4)3字节表中元素的扩展地址4-7字节表中元素的地址数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.10 START-STOP命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x06)1字节命令计数器2字节停止:0x00;启动:0x01;准备:0x023字节DAQ 列表数4字节该DAQ列表中最后一ODT表数5字节触发事件数6-7字发送速率分频系数数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回代码2字节命令计数器3-7字节填0(不关心)3.3.11 CLEAR_MEMORY命令:命令接收对象(CRO):位(bit)数据类型描述0字节命令代码(0x10)1-7字节填0(不关心)数据传送对象(DTO):位(bit)数据类型描述0字节命令代码(0xFF)1字节命令返回
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1