一文搞懂汽车标定协议之CCP

在看这篇文章之前,我们先了解CCP协议是什么?CCP得作用是什么? CCP是“CAN Calibration
Protocal”的缩写,是基于CAN实现的一种最为基本的测量标定协议。

例如:我们学习STM32时经常通过串口助手(上位机)将传感器的数据打印出来,这就是测量。我们通过串口助手将数据发送之MCU,MCU通过串口助手(上位机)拿到数据对变量进行赋值,这就是标定。
而CCP是在CAN通信的基础上实现的测量与标定,当然CCP的测量与标定功能更加强大。

CCP协议基本概念

在学习CCP协议之前,我们需要先学一些CCP的理论知识,不过这部分看不懂也没关系,先有个印象,后面会通过CCP的实际报文来结合理论分析。

CCP的测量模式分为两种:一种是POLLING(轮询模式),一种是DAQ(固定周期)。

POLLING模式,就是一问一答得形式,上位机发送一条指令,从机(ECU)回复一条。这种模式实现简单,但缺点显而易见,占内存,效率低。
DAQ模式,DAQ模式就是固定周期将测量数据发送至上位机。举个例子:强哥是卖鱼的,鱼呢比较受欢迎卖的很好,没鱼了就打电话叫老默送点鱼,老默发现每次送的鱼基本都差不多,于是和强哥商量就立下哥规矩,草鱼呢一天送一次,鲈鱼呢两天送一次,不用天天打电话说了。有别的需求在打电话沟通。因此,CCP就定义了DAQ模式,需要将数据按传输速率分组,每一组称为一个DAQ List,每一个List里面定义了多个ODT(数据列表),专门存储数据的地址,数据长度等相关信息。CCP可以有多个DAQ列表,每个DAQ列表传输速率不同,多个列表可同时启动。

CCP协议数据类型

CCP将CAN传输的报文分为以下几种类型:

CRM:命令返回消息,从设备发送到主设备的一种消息,包含命令/错误代码和命令计数器。
CRO:上位机发送到ECU的命令消息报文。
DTO:ECU响应上位机的消息报文。

CCP协议报文格式

CRO报文结构:
CRO是上位机发送至ECU的命令报文。
在这里插入图片描述
第一个字节CMD:表示命令位,例如标定命令、测量命令等。具体命令后面讲诉。
第二个字节CTR:表示计数位,也就是该字节没发一个CRO就会加1,加到255后重置为0。
第2-7个字节Data:根据CMD而定,具体数据我们后面讲诉。

DTO报文结构
DTO是ECU回复上位机命令的报文
在这里插入图片描述
第一个字节PID:表示ECU回复的命令位,0xFF表示正相应回复,0xFE表示负响应回复。正相应回复会携带数据发送至上位机,负响应回复会携带错误码发送至上位机。
第二个字节ERR:上诉提到的错误码,0x00表示无错误。
第三个字节CTR:表示计数位,此为回复至上位机时与上位机发送的CRO中的CTR一致。
第3-7字节Data:根据PID而定,具体数据后序讲诉。

常用CRO与DTO

CONNECT——建立连接(0x01):

在这里插入图片描述在这里插入图片描述
示例:
上位机发送CRO至ECU报文如下:
01 C6 00 00 00 00 00 00
参数如下:
第1字节01:连接命令(CMD)
第2字节C6:CTR计数
第3-8字节00:不必理会
ECU响应上位机DTO白问如下:
FF 00 C6 FE 00 00 00 00
参数如下:
第1字节FF:正响应命令(PID)
第2字节00:无错误
第3字节C6:CTR计数
第4-8字节00:不必理会

DISCONNECT ——断开连接(0X07)

在这里插入图片描述
在这里插入图片描述示例:
上位机发送CRO至ECU报文如下:
07 C7 01 00 00 00 00 00
参数如下:
第1字节07:断开连接命令(CMD)
第2字节C7:CTR计数
第3字节01:结束会话
第4-8字节:不必理会
ECU响应上位机DTO报文如下:
FF 00 C8 FE 00 00 00 00
参数如下:
第1字节FF:正响应命令(PID)
第2字节00:无错误
第3字节C8:CTR计数
第4-8字节:不必理会

数据标定命令-设置内存传输地址(0X02)

此命令用于进行数据标定,在数据标定之前需要先用此命令进行内存定位,然后向定位的内存写入数据,写入数据命令见下一条。
在这里插入图片描述
在这里插入图片描述
示例:
上位机发送CRO至ECU报文如下:
02 03 00 00 40 00 11 10
参数如下:
第1字节02:设置内存传输地址命令(CMD)
第2字节03:CTR计数
第3字节00:MAT号
第4字节00:扩展地址
第5-8字节:变量地址
ECU响应上位机DTO报文如下:
FF 00 03 00 00 00 00 00
参数如下:
第1字节FF:正响应命令(PID)
第2字节00:无错误
第3字节03:CTR计数
第4-8字节:不必理会

数据下载(0x03)

此命令用于标定数据,与上一条命令结合使用。
在这里插入图片描述
在这里插入图片描述示例:
上位机发送CRO至ECU报文如下:
03 10 02 01 00 00 00 00
参数如下:
第1字节03:数据下载命令(CMD)
第2字节10:CTR计数
第3字节02:变量字节数
第4-8字节:01为标定的数据
ECU响应上位机DTO报文如下:
FF 00 10 00 00 00 00 00
参数如下:
第1字节FF:正响应命令(PID)
第2字节00:无错误
第3字节10:CTR计数
第4-8字节:不必理会

数据上载(0X0F)

数据上载也就是ECU数据上载至上位机,对数据的测量。
在这里插入图片描述
在这里插入图片描述
示例:
上位机发送CRO至ECU报文如下:
0F 11 02 00 40 00 11 10
参数如下:
第1字节0F:数据上载命令(CMD)
第2字节11:CTR计数
第3字节02:变量字节数
第3字节00:扩展地址
第5-8字节:变量地址
ECU响应上位机DTO报文如下:
FF 00 11 01 00 00 00 00
参数如下:
第1字节FF:正响应命令(PID)
第2字节00:无错误
第3字节11:CTR计数
第4-8字节00 00 00 00 01:变量值

上诉命令一般用于POLLING模式,下面我们讲解DAQ命令。

DAQ常用命令与流程

获取DAQ List大小-0x14

在这里插入图片描述
在这里插入图片描述

示例:
上位机发送CRO至ECU报文如下:
14 07 02 00 00 00 01 01
ECU响应上位机DTO报文如下:
FF 00 07 1E 3C 00 05 00

设置DAQ指针-0x15

此命令与设置内存传输地址类似,需要先定位DAQ-ODT位置然后向,该目标写入变量地址,与下一条指令配合使用。
在这里插入图片描述
在这里插入图片描述
示例:
**上位机发送CRO至ECU报文如下:**指向向DAQ0-ODT0
15 08 00 00 00 00 00 00
ECU响应上位机DTO报文如下:
FF 00 08 00 00 00 00 00

向DAQ列表写入标识符地址-0x16

此命令与上一条命令配合使用,指向DAQ-ODT后写入标识符地址,DAQ会周期性的将地址上的数据发送至上位机。
在这里插入图片描述
在这里插入图片描述
示例:
**上位机发送CRO至ECU报文如下:
16 09 02 00 40 00 11 10
ECU响应上位机DTO报文如下:
FF 00 09 00 00 00 00 00

开启DAQ传输-0x06

在这里插入图片描述
在这里插入图片描述
示例:
**上位机发送CRO至ECU报文如下:
08 0C 01 00 00 00 00 00
ECU响应上位机DTO报文如下:
FF 00 0C 00 00 00 00 00

  • 12
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 标定是指通过一系列的测试和校准来确保测量仪器的准确性和精度。CCP(线性电位器)是一种测量线性位移的传感器,在实际应用中需要进行标定来消除误差。LabVIEW是一种流行的虚拟仪器平台,可以用于数据采集、信号处理和仪器控制等应用。 CCP标定LabVIEW的过程通常分为以下几个步骤: 1. 准备实验设备:确保CCP和LabVIEW之间的连接正确,包括CCP传感器的接线和配置。 2. 获取标定数据:使用LabVIEW搭建一个数据采集系统,将CCP传感器的输出数据通过模拟输入/输出卡连接到LabVIEW中。设置数据采集的频率和采样点数,并进行数据采集。 3. 标定曲线建模:对于CCP传感器的输出数据,与实际位移之间通常存在某种非线性的关系。在LabVIEW中,使用合适的数学模型,如多项式拟合或神经网络等方法,来建立传感器输出和实际位移之间的映射关系。 4. 校准参数计算:根据标定曲线的数学模型和采集的数据,使用LabVIEW进行参数计算。这些参数通常表示传感器的零偏、灵敏度和非线性等特性。 5. 校准结果验证:将校准得到的参数应用到实际测量中,与已知的位移标准进行比较,评估标定结果的准确性和精度。如果有需要,可以对标定结果进行调整和优化。 总而言之,CCP标定LabVIEW是一个将实际测量与虚拟仪器平台结合的过程,通过数据采集、曲线建模和参数计算等步骤,最终得到一个准确可靠的CCP传感器标定结果。 ### 回答2: CCP标定是指使用LabVIEW软件进行CCP(CAN Calibration Protocol)协议标定操作。CCP是一种用于汽车电子系统标定通信协议,通过该协议可以实现对汽车各种传感器、执行器以及控制器的参数进行标定和优化。 在LabVIEW中进行CCP标定的过程主要包括以下几个步骤: 1. 准备工作:首先,需要准备一套支持CCP协议的硬件设备,例如支持CCP的ECU、CAN接口等。 2. 设定通信参数:在LabVIEW中设置CCP通信参数,包括选择CAN接口、设置CAN通信速率、选择CCP协议版本等。 3. 建立连接:LabVIEW通过CAN接口与目标ECU建立连接,建立双方之间的通信信道。 4. 读写参数:使用LabVIEW提供的CCP相关工具函数,对ECU的参数进行读写操作。可以通过读取ECU的参数值,或者对参数进行修改。 5. 标定操作:针对需要标定的传感器、执行器等,通过LabVIEW提供的标定工具函数,进行相应的标定操作。可以根据实际需求,选择合适的标定方法,例如多点曲线拟合、线性插值等。 6. 校验与优化:在标定过程中,可以通过读取实时的ECU输出数据,进行校验与优化。通过对标定参数进行微调,使得ECU的输出与期望值更加接近。 7. 断开连接:标定完成后,需要通过LabVIEW断开与ECU的连接,释放通信资源。 通过LabVIEW进行CCP标定可以提高标定的灵活性和效率,LabVIEW提供了丰富的图形化编程界面和强大的数据处理能力,可以方便地实现CCP标定流程的自动化和优化。同时,LabVIEW还提供了丰富的工具箱和模块,可以进一步扩展CCP标定的功能,在实际应用中具有很高的可靠性和实用性。 ### 回答3: CCP标定是指使用LabVIEW软件进行CAN Calibration Protocol(CCP)的开发、配置和调试过程。CCP是一种用于汽车电子控制单元(ECU)的标定和参数调整协议,通过CAN总线与ECU进行通信。 在使用LabVIEW对CCP进行标定时,首先需要了解CCP的相关协议和参数。然后,可以使用LabVIEW开发CCP标定应用程序。LabVIEW拥有强大的图形化编程界面,可以通过拖拽和连接函数库提供的模块来创建应用程序。 在LabVIEW中,可以选择合适的函数库来处理CCP通信相关的任务。例如,可以使用CAN接口模块进行CAN通信的设置和配置,使用CCP函数库进行CCP协议的处理,获取ECU的参数,并将标定值传输到ECU上。 标定值在CCP中被称为测量值或标定对象。LabVIEW提供了丰富的工具和函数,可以轻松地创建用户界面来显示和编辑这些标定参数。这样可以方便地与CCP通信进行交互,并实时监测标定过程中的各种参数。 此外,LabVIEW还支持数据记录和分析功能。可以使用LabVIEW的数据存储和分析工具,记录和查看CCP通信过程中的原始数据和标定结果。这有助于在标定过程中进行故障排除和性能优化。 总结来说,使用LabVIEW进行CCP标定可以提供一种直观、灵活和高效的开发环境。通过LabVIEW的图形化编程技术,可以在CCP通信过程中进行实时监测、数据显示和标定参数的编辑。这为汽车电子控制系统的开发和调试提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值