logo资料库

CCP协议简介与INCA信息交互详细流程.docx

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
CCP 协议简介与 INCA 信息交互详细流程 CCP 协议属于 CAN 总线应用层协议,支持 CAN2.0B(标准帧或扩展帧),采 收发各使用一个 ID,分别为 CRO(命令接收消息),DTO(数据发送消息)。 1. CCP 协议 用主-从通信模式。 ID 可自行约定。 1.1 命令接收消息 CRO Byte0 CMD 命令码 命令计数器 Byte1 CTR Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 参数区 1.2 数据发送消息 DTO (a)查询模式(Polling), CRM Byte0 PID Byte1 ERR Byte2 CTR DTO 类型 错误代码 命令计数器 Byte3 Byte4 Byte5 Byte6 Byte7 数据区 用于反馈 CRO 命令执行情况报文,CTR 与 CRO 中 CTR 对应。 (b)DAQ-DTO Byte0 PID DTO 类型 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 数据区 由从设备组织按照预设的周期向主设备发送从设备相应的数据。 (c)DTO 消息类型 PID 0xFF 0xFF DTO 消息 CRM ERR 位含义 主设备由 ERR 获知命令的执行情况 Event Message 主设备由该位获知从设备内部发生的错误情况 0 - 0xFD DAQ-DTO 无 1.3 CCP 命令代码表
2. CCP 协议中 Memory 操作方法 标定功能主要实现的目标: (1) 修改 RAM 中数据(在线标定); (2) 修改 EEPROM 中数据(外部 EEPROM,16K) (3) 修改 Flash 中数据(标定参数) 2.1 Flash 标定流程 (1) 将标定数据保存在 Flash 中,存储地址 0x00C20000 – 0x00C3FFFF。 (2) 在程序初始化过程中,标定数据映射至 RAM 当中,程序从 RAM 中调取数 据。 (3) 标定过程开始时,在上位机中建立 Flash 存储区镜像,并保存至 HEX 文件。 (4) 标定过程中,通过 DNLOAD,DNLOAD_6 等命令修改 RAM 中数据,实现在 线标定,更新上位机 Hex。 (5) 标定结束后,将更新后的数据,一次性写入 Flash。 (6) 重启控制器,将新的标定数据映射值 RAM 中。 3. 各操作具体流程 命令接收消息 CCP_CRO_ID: 0x100 数据发送消息 CCP_DTO_ID: 0x101 3.1 硬件初始化 点击 INCA 中硬件初始化按钮,进行 ECU 初始化操作
(1) 联机(建立 INCA 与 ECU 的逻辑连接)无 Seed&Key 校验 序号 0 2 4 6 8 CMD 01 1B 17 0D 0D 名称 CONNECT 建立点对点逻辑连接 功能 GET_CCP_VERSION 获取当前 ECU 所支持的 CCP 版本(目前 V2.1 版本) EXCHANGE_ID GET_S_STATUS GET_S_STATUS 交换 ID(Length 设定为 0), 获取用户会话状态,默认返回 00 获取用户会话状态,默认返回 00 (2) 将 ECU Flash 中数据映射到 RAM 中
序号 10 12 14 16 18 20 CMD 09 09 0D 02 02 19 名称 功能 GET_ACTIVE_CAL_PAGE 获得当前激活的标定页,返回的为 WP/RP 首地 GET_ACTIVE_CAL_PAGE GET_S_STATUS SET_MTA SET_MTA MOVE 址(低位在前,0x00C40000 为 RP) 获取用户会话状态 将 MTA0 设置为 RP(Flash)首地址 将 MTA1 设置为 WP(RAM)首地址 将 ECU Flash 中数据映射到 RAM 中,Size:3K (3) INCA 进行 CHECKSUM 操作 序号 22 24 26 28 CMD 0D 0C 02 0E 名称 GET_S_STATUS SET_S_STATUS SET_MTA BUILD_CHKSUM 功能 获取用户会话状态 将用户会话状态设置为 01 将 MTA0 设置为 WP 首地址(RAM) 计算校验和(CRC 校验) 计算 ECU RAM 中标定数据校验和,确认 ECU 与 INCA 中数据是否一致。 (4) 选择当前标定页 序号 CMD 名称 功能 30 32 34 36 38 09 02 11 02 0E GET_ACTIVE_CAL_PAGE SET_MTA SELECT_CAL_PAGE SET_MTA BUILD_CHKSUM 获得当前激活的标定页,返回的为 WP/RP 首地 址(低位在前,0x00C40000 为 RP) 将 MTA0 设置为 WP 首地址(RAM) 选择当前激活的标定页 将 MTA0 设置为 WP 首地址(RAM) 计算校验和(CRC 校验)
3.2 存储页 - DownLoad 操作 INCA 存储页中 DownLaod 操作,数据流向: INCA : WP –> ECU: RAM 序号 0 2 4 … 2981 2983 2985 2987 CMD 02 23 23 … 23 03 02 0E 名称 SET_MTA DNLOAD_6 DNLOAD_6 … DNLOAD_6 DNLOAD SET_MTA BUILD_CHKSUM 功能 将 MTA0 设置为 WP 首地址(RAM) 数据下载 6 个字节,MTA0 地址+6 数据下载 6 个字节,MTA0 地址+6 … 数据下载 6 个字节,MTA0 地址+6 数据下载(数据不足 6 Byte 使用),最长 5 将 MTA0 设置为 WP 首地址(RAM) 计算校验和(CRC 校验)
3.3 存储页 - Copy 操作 INCA 存储页中 Copy 操作,数据流向: INCA: RP –> ECU: Flash –> INCA: WP ECU: RAM 序号 CMD 名称 功能 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 09 02 11 0D 0C 02 02 19 0D 0C 09 02 11 02 0E GET_ACTIVE_CAL_PAGE SET_MTA SELECT_CAL_PAGE GET_S_STATUS SET_S_STATUS SET_MTA SET_MTA MOVE GET_S_STATUS SET_S_STATUS GET_ACTIVE_CAL_PAGE SET_MTA SELECT_CAL_PAGE SET_MTA BUILD_CHKSUM 获得当前激活的标定页,返回的为 WP/RP 首地 址(低位在前,0x00E00000 为 WP) 将 MTA0 设置为 RP 首地址(Flash) 选择当前激活的标定页 获取用户会话状态 01 将用户会话状态设置为 00 将 MTA0 设置为 RP 首地址(Flash) 将 MTA1 设置为 WP 首地址(RAM) 将 ECU Flash 中数据拷贝到 RAM 中,Size:3K 获取用户会话状态 00 将用户会话状态设置为 01 获得当前激活的标定页,返回的为 WP/RP 首地 址(低位在前,0x00C40000 为 RP) 将 MTA0 设置为 WP 首地址(RAM) 选择当前激活的标定页 将 MTA0 设置为 WP 首地址(RAM) 计算校验和(CRC 校验)
3.4 存储页 - UpLoad 操作 INCA 存储页中 Copy 操作,数据流向: ECU: RAM –> ECU: RAM –> INCA: WP INCA: RP 序号 0 2 4 … 2965 2967 2969 2971 2973 2975 2977 2979 2981 2983 2985 CMD 02 04 04 … 04 09 02 11 02 0E 09 02 11 02 0E 名称 SET_MTA UPLOAD UPLOAD … UPLOAD GET_ACTIVE_CAL_PAGE SET_MTA SELECT_CAL_PAGE SET_MTA BUILD_CHKSUM GET_ACTIVE_CAL_PAGE SET_MTA SELECT_CAL_PAGE SET_MTA BUILD_CHKSUM 功能 将 MTA0 设置为 WP 首地址(RAM) 数据上传(最长 5Byte) 数据上传(最长 5Byte) 数据上传(最长 5Byte) 获得当前激活的标定页,返回的为 WP/RP 首地 址(低位在前,0x00C40000 为 RP) 将 MTA0 设置为 WP 首地址(RAM) 选择当前激活的标定页 将 MTA0 设置为 WP 首地址(RAM) 计算校验和(CRC 校验) 获得当前激活的标定页,返回的为 WP/RP 首地 址(低位在前,0x00C40000 为 RP) 将 MTA0 设置为 RP 首地址(Flash) 选择当前激活的标定页 将 MTA0 设置为 WP 首地址(RAM)(指针->RP) 计算校验和(CRC 校验)
3.5 存储页 – Flash Program 操作 3.5.1 仅标定数据刷写(Data) 序号 68 70 72 74 76 87 89 91 93 … 2980 2982 2984 2986 CMD 0D 07 01 1B 17 02 10 02 22 … 22 18 18 07 名称 GET_S_STATUS DISCONNECT CONNECT GET_CCP_VERSION EXCHANGE_ID SET_MTA CLEAR_MEMORY SET_MTA PROGRAM_6 … PROGRAM_6 PROGRAM PROGRAM DISCONNECT 功能 获取用户会话状态 03 断开连接 建立点对点逻辑连接 获取当前 ECU 所支持的 CCP 版本(目前 V2.1 版本) 交换 ID(Length 设定为 0), 将 MTA0 设置为 RP 首地址(Flash) 将标定数据 flash 清除(首地址 0xC40000) 将 MTA0 设置为 RP 首地址(Flash) 下载 6 个编程字节 下载 6 个编程字节 下载最多 5 个编程字节 下载最多 5 个编程字节 断开连接
分享到:
收藏