当前位置: 首页 > news >正文

CCP的消息基本格式

文章目录

  • 前言
  • 一、CCP的消息类型
    • 1.命令接收对象—CRO
    • 2.数据传输对象—DTO
  • 二、CCP的命令代码
  • 三、CCP的错误代码
  • 总结

前言

大家好,我是左工,在前面文章CCP 基本概念与核心原理和CCP基本操作流程与效果展示中,我们介绍了CCP协议的基本概念、基本操作流程和效果。现在大家基本了解CCP的意义、用途和便利性。从今天开始,我们就进入了更加技术性的学习,了解CCP协议技术细节。CCP协议是通过CAN报文实现信息交互的,因此CAN报文的格式,也就是消息格式是CCP协议最核心最基础的概念。所以,我们先从CCP协议的最基本知识点——消息基本格式入手学习。


一、CCP的消息类型

在文章CCP 基本概念与核心原理中,左工已经介绍了上位机向ECU发送的命令帧(Command)叫做命令接收对象(Command Receive Object,CRO);ECU向上位机发送的响应帧(Response)叫做数据传输对象(Data Transmission Object)。今天我们来详细了解这两帧报文的格式。

1.命令接收对象—CRO

我们先聊比较简单的命令帧的CRO的格式。CRO是上位机软件向ECU发送的消息,包括命令代码和命令参数信息。该消息由8个字节组成,具体结构如下所示。

CMD是命令代码(Command Code)的简称,CCP协议规定了28条命令,每个命令都有一个相对应的命令代码。CTR是命令序号(Command Counter)的简称,它是CRO命令发送的序号,按照命令的发送顺利,依次递增。本文后半部分详细的罗列了所有命令。

2.数据传输对象—DTO

与CRO相比,数据传输对象DTO就稍微复杂一些。数据传输对象按照不同的用途可以分为三种:

  • 命令返回消息(Command Return Message,CRM-DTO)
  • 事件消息(Event Message-DTO)
  • 数据采集消息(Data Qcquisition-DTO,DAQ-DTO)

命令返回消息CRM-DTO,顾名思义,就是针对命令帧的回复。因为根据CCP的规定,当ECU收到一个CRO后,必须回复一帧DTO。这个CRM-DTO就是为这种机制存在的。
事件消息Event Message-DTO是当ECU内部发生错误时,ECU主动发出的,因此不需要CRO触发。CRM-DTO和Event Message-DTC的消息格式是一样的,如下所示。


PID是包标识符(Packet ID)的意思,主要用来表示DTO的类型。

  • PID=0xFE:命令返回消息CRM-DTC
  • PID=0xFF:事件消息Event Message-DTO
  • PID=0x00~0xFD:数据采集消息DAQ-DTO

ERR是错误代码(Error Code)的意思,主要用来表示CRO请求命令的执行情况或者ECU内部发生了什么错误。如果ERR为0x00,表示CRO命令被正确执行了。

CTR与CRO中的定义相同也是命令序号的意思。CCP规定,DTO的CTR必须与对应的CRO中的CTR相同,才能算响应完成。

数据采集消息DAQ-DTO是ECU向外持续发送的测量量信息。它的格式比较简单,如下所示。

PID依然是是包标识符(Packet ID)。上位机软件会根据测量值的发送周期和字节大小自动分配一个PID值。在启动数据采集时,上位机软件会通过CRO指令将需要观测的测量值及PID码发送给ECU,ECU根据PID码打包数据通过DAQ-DTO发送出来。上位机软件收到DAQ-DTO后也会根据PID解压信息,并显示出来。

二、CCP的命令代码

上一节提到了上位机软件会发送命令代码CMD给ECU实现标定和测量功能。本节我们就介绍一下CCP的命令代码到底是什么样子。CCP共有28条命令,其中11条是必选命令,17条是可选命令,每条命令都有自己独立的CMD代码。由于CCP的开放性,我们可以根据需要,只选择其中一部分命令实现。如下是CCP的全部28条命令。

命令CMD解释
1CONNECT0x01连接请求
2EXCHANGE_ID0x17获取ECU的ID
3TEST0x05测试ECU连接状态
4SET_MTA0x02设置内存传输地址
5DNLOAD0x03下载5个字节到ECU
6DNLOAD_60x23下载6个字节到ECU
7UPLOAD0x04从ECU上传5个字节
8SHORT_UP0x0F从ECU快速上传5个字节
9GET_DAQ_SIZE0x14获取DAQ列表的大小
10SET_DAQ_PTR0x15设置DAQ列表指针
11WRITE_DAQ0x16写DAQ列表
12START_STOP_ALL0x08启动或停止所有数据传输
13START_STOP0x06驱动或停止部分数据传输
14DISCONNECT0x07断开连接请求
15SET_S_STATUS0x0C设置ECU会话状态
16GET_S_STATUS0x0D获取ECU会话状态
17BUILD_CHKSUM0x0E计算校验和
18CLEAR_MEMORY0x10清除内存
19PROGRAM0x18编程指定大小
20PROGRAM_60x22编程6个字节
21MOVE0x19内存转移
22GET_ACTIVE_CAL_PAGE0x09获取激活标定页
23GET_CCP_VERSION0x1B获取CCP协议版本
24UNLOCK0x13解锁ECU
25GET_SEED0x12获取种子
26SELECT_CAL_PAGE0x11选择标定页
27DIAG_SERVICE0x20诊断服务
28ACTION_SERVICE0x21操作服务

以上命令组合起来就能实现丰富CCP功能。比如当我们在上位机软件中点击“建立连接”时。上位机会自动调用CONNECT、GET_CCP_VERSION、EXCHANGE_ID、UPLOAD、GET_SEED等命令实现上位机软件与ECU的联接。后续左工会通过实例向大家介绍CCP命令的详细格式和用法。

三、CCP的错误代码

下面我们进入了今天学习的最后一部分——错误代码。前面我们命令返回消息和事件消息的格式中提到其报文的第1字节是错误代码ERR的意思。那么ECU一般会反馈哪些错误代码呢?请看下表。

代码描述
10x00确认/无错误
20x01DAQ处理器超载
30x10指令处理器忙
40x11DAQ处理器忙
50x12内部超时
60x18请求密钥
70x19阶段状态请求
80x20冷启动请求
90x21标定数据初始化请求
100x22DAQ列表初始化请求
110x23更新代码请求
120x30未知指令
130x31指令句法错误
140x32参数超出许可范围
150x33访问被拒绝
160x34超载
170x35访问锁止保护
180x36资源/功能暂不可用

这18条错误码中,我相信大家可以从描述中大概猜出部分错误码的意义,有一部分可能完全看不明白。大家不要担心,今天大家就混个脸熟就行了。后续左工会依托于实例,向大家详细说明ECU内部发生了什么情况才会调用这些错误码。


总结

今天我们了解了CCP消息的基本格式。左工仅讲了核心概念,帮助大家了解CCP的核心原理。更详细的内容大家可以从CCP的标准文档中查到。如果大家找不到文档或者阅读困难,可以给左工发私信。后续左工会依托于实际应用向大家详细介绍和解析CCP中各种命令的具体使用方法。请敬请收藏关注,不迷路。

http://www.jsqmd.com/news/345258/

相关文章:

  • 2026年有展会经验的蔡司代理商推荐,北京地区哪家更靠谱 - 工业设备
  • 第十三课实战版:权限系统实战:RBAC + Spring Security 从 0 到可用(含核心代码)
  • 不用再到处找资源|嵌入式软件全领域实用资源汇总(建议收藏)
  • 第十三课:权限系统如何设计?——RBAC 与 Spring Security 架构
  • 浅谈三角函数恒等变形(一)
  • 【CTFshow-pwn系列】02_栈溢出【pwn 040】详解:64位 ROP 与参数传递
  • 2026年口碑好的无锡网站制作/无锡企业官网网站搭建项目经验扎实推荐 - 行业平台推荐
  • 2026年十大上海别墅装修公司/浦东别墅装修服务评价参考 - 行业平台推荐
  • 效率
  • 2026年知名的兰精人棉砂洗空气层/T2T化学法砂洗空气层高性价比推荐 - 行业平台推荐
  • 2026年口碑好的合肥考驾照理论/合肥考驾照流程口碑机构整理 - 行业平台推荐
  • 智能化转型下的电力展厅:讲解机器人核心技术解析与主流产品选型 - 智造出海
  • 浅谈逆序对在算法竞赛中的具体运用
  • PostgreSQL archive_command 场景下的 postgres 免密 SSH 配置与排查实录
  • 2026年宝藏外贸软件合集分析,哪家外贸软件性价比高看这里 - myqiye
  • 备考时间紧张如何高效选择?2026年四川考公机构推荐与评测,解决规划难题 - 品牌推荐
  • 改稿速度拉满!继续教育论文神器 —— 千笔写作工具
  • 聊聊口碑好的桥梁橡胶支座厂家,铅芯桥梁橡胶支座来样定制 - 工业推荐榜
  • 2026口碑前三 山西旅游团推荐指南 聚焦安全与专业服务 - 真知灼见33
  • 导师严选9个降AIGC平台 千笔AI帮你精准降AI率
  • 2026年高性价比钢结构球形支座排名,衡水博利定制生产靠谱吗 - 工业品牌热点
  • vscode中的claude code插件自定义模型,如何配置claudeCode.environmentVariables
  • 2026年钢结构球形支座推荐厂家排名,谁家价格更实惠 - 工业品网
  • cc-switch安装方法、介绍及遇到的bug
  • 2026年实力强的离婚律师事务所推荐,京津冀地区靠谱之选 - 工业设备
  • 如何在vscode中使用Claude code以及插件中配置setting.json无效的解决方法
  • 2026盐湖提锂领先的技术服务商有哪些好的品牌 - myqiye
  • 2026年评价高的工业级液氧/污水处理液氧新厂实力推荐(更新) - 行业平台推荐
  • Claude Code、Codex、OpenCode 和 Gemini CLI的介绍
  • 流延机制造厂哪家售后好,这些地区靠谱品牌大盘点 - 工业品网