深入浅出:CAN通信之CCP协议

您所在的位置:网站首页 odt课程 深入浅出:CAN通信之CCP协议

深入浅出:CAN通信之CCP协议

2024-07-16 22:49| 来源: 网络整理| 查看: 265

CCP(CAN Calibration Protocol) CAN标定协议(用于标定系统与ECU之间的通信)

CCP协议在应用层,使用CAN的数据帧来传输命令 在这里插入图片描述

CRO数据帧(主设备向从设备发送)

CRO报文:CCP报文帧格式为CMD + CTR + DATA,即Command、Counter、Data,其中Command是一些列的命令标号,为人为规定,Counter计数用,Counter根据发送消息的先后顺序进行赋值,例如第一条发送的CRO其CTR为01,相对应的,从机对其进行应答的相应报文的CTR值也应该为01,第二条的CTR值为02,以此类推。CCP协议共规定了28条命令。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hPAXq7vf-1682574673463)(D:\ScreenShoot\2345_image_file_copy_20230415_1.jpg)]

CRO命令的第一个字节为CMD,命令代码,命令表一共有28条命令CRO命令的第二个字节为CTR,命令计数器,由上位机计数CRO命令的剩余六个字节为命令参数,每个命令有不同参数

在这里插入图片描述

DTO(从设备向主设备发送)

DTO报文:分为三种类型报文,分别是CRM-DTO(命令返回消息),EVENT-DTO(事件消息),DAQ-DTO

CRM类型:用于反馈CRO命令的报文

CRM-DTO发生在Polling模式下,是针对主设备发送的CRO消息的应答

第一个字节为PID,表示类型,CRM类型为0xff 第二个ERR字节,表示错误类别,命令返回码表一共有18条命令,0x00是无错误,CRM类型就对应0x00 第三个CTR字节,表示回答的哪条CRO命令,两者的CTR要对应起来 剩余的五个字节为参数 在这里插入图片描述

Event Message类型:用于反馈错误的报文

EVENT-DTO事件消息发生在ECU内部错误时由ECU主动发送,这类DTO不需要事先收到主设备的CRO,一旦ECU发生内部错误,会主动向主设备发生这一消息,报告内部情况。

第一个字节为PID,表示类型,EM类型为0xfe 第二个ERR字节,表示错误类别,命令返回码表一共有18条命令,0x00是无错误,EM类型对应命令返回码表除0x00的剩余17条命令 第三个CTR字节,表示回答的哪条CRO命令,两者的CTR要对应起来 剩余的五个字节为参数

在这里插入图片描述

CRM-DTO和EVENT-DTO共用上一种报文结构,第一个字节PID(data packet ID)用于判断报文属于那一类型,PID = 0xFF为CRM(正常命令的被动响应),PID = 0xFE(错误事件的主动响应)为EVENT,其它的都是DAQ,第二个字节ERR(error code),第三个字节为代码指令计数器CTR,其它字节为指令代码相关的返回参数和数据

DAQ类型:用于定期反馈数据

DAQ-DTO(数据采集)报文除了第一个字节为PID外,其余字节都是返回数据 在这里插入图片描述

在这里插入图片描述

基本概念

ECU

Electronic Control Unit(电子控制单元):一种具有中央处理单元的电子装置,其外围电路可执行编程功能。

CRM

Command Return Message(命令返回消息) : 从从设备发送到主设备的一种消息,包含命令/错误代码和命令计数器。

CRO

Command Receive Object(命令接收对象) :从主设备发送到从设备的消息。

DTO

Data Thansmission Object (数据传输对象):从设备发送到主设备的消息(命令返回消息或事件消息或数据采集消息)。

DAQ

Data Acquisition:从从设备向主设备发送的用于从ECU快速数据采集的过程和消息的定义。

ODT

Obiect Descriptor Table: 元素(变量)列表,用于组织数据采集。

DAQ列表

按照不同的上传周期,ECU内部需要多个DAQ列表。例如有三个信号,上传周期分别为10ms、20ms、30ms,那么就需要3个DAQ列表,而同一上传周期的数据/变量(OTD)都被归类在同一个DAQ列表内,这些ODT被称作ODT列表。

ODT列表

每一个ODT的最大元素数目为7,可以存放7个单字节数据变量的信息,其内容包括数据变量的存放地址,数据长度及其偏移地址。ODT列表需要通过DAQ-DTO方式才能向主设备发送,由于每一个ODT都有唯一的绝对编号,该编号即为DAQ-DTO的PID,排在最前面的ODT相对编号为0。绝对编号是对于所有ODT来说的,每一个ODT的绝对编号都不相同。相对编号是相对于当前DAQ列表而言,不同DAQ列表的ODT,其相对编号可能会相同。正是因为单帧有八字节数据,而ODT编号需要占用一字节,因此在DAQ-DTO中只剩下7字节来用于ODT的传输,而又因为CCP无法进行跨帧的数据/命令传输,所以一个ODT最大只能存储7字节数据。又因为PID的长度为8位,因此ODT的总数不能超过254个(0~0xFD)(通过修改PID长度可以增加ODT总数,但会减少单个ODT的长度)

命令编号功能0x01CONNECT——建立连接0x02SET_MTA——设置内存传输地址0x03DNLOAD——数据下载0x04UPLOAD——数据上传0x06STOP_START——开始/停止/准备数据传输0x07DISCONNECT——断开连接0x08STSRT_STOP_ALL——开始/停止数据传输0x0CSET_S_STATUS——设置Session状态0x0DGET_S_STATUS——获取Session状态0x0EBUILD_CHECKSUM——计算校验和0x12GET_SEED——获取被请求资源的种子0x13UNLOCK——解锁保护0x14GET_DAQ_SIZE——获取DAQ list大小0x15SET_DAQ_PTR——设置DAQ list指针0x16WRITE_DAQ —— 写DAQ list入口0x1BGET_CPP_VERSION——获取CCP版本 流程介绍

在这里插入图片描述

在这里插入图片描述

可提供功能:

1.随机读取ECU中RAM和ROM中的数据

2.测量数据采样

3.标定数据的采样和传输

4.同时处理多个ECU系统

5.flash编程技术

在这里插入图片描述

ECU地址(Intel格式,低字节在前)

在这里插入图片描述

错误等级:

C0:警告

C1:伪错误

C2:可修复错误

C3:不可修复

在这里插入图片描述

0x31:命令句法错误,与传输命令信息有误相关

使用CCP协议的意义:

在我们对板卡下载烧录完程序后如果我们要更改参数,则需要再次编辑编译烧录会使工作变得更加繁琐,引入CCP协议后我们可以通过CCP中的相关操作指令对RAM、PORTS、ROM、FLASH读取,写RAM、PORTS、FLASH

DAQ下的定期传输需要用到ODT(Objetc Descriptor Table,元素变量列表)

在这里插入图片描述

DAQ通信设置

在使用DAQ通信前,主设备需要对DAQ列表及ODT列表进行配置

获取ECU内部DAQ列表数量和ODT数目,DAQ列表数量由上传的数据周期决定,每个不同周期对应一个DAQ列表。ODT列表数则由每个周期下上传的数据个数及长度决定

向相应的ODT填入数字,及数据的存储地址和数据长度,随后根据类型和上传周期被写在不同DAQ的不同ODT中

上传周期由事件通道(Event Channel)和预分频值(Prescaler)决定.事件周期可以理解为ECU每多少ms触发一次,若为10,则说明ECU每10ms触发一次该事件。预分频值可以理解为:以事件通道的时间为基准进行分频,我们以此来复用事件通道。若预分频值设定为2,则将某一事件以20ms的周期进行触发,但使用的仍然是同一个DAQ列表。

启动DAQ,进行数据采集

DAQ Initlize and Start data transmission

CommandDescriptionRemarkCONNECT (0x01)ConnectBypass, if already connectedGET_DAQ_SIZE (0x14)Get the number of ODTS in DAQ(loop )nSET_DAQ_PTR (0x15)Set DAQ List number,ODT List number,ODT Element(Id) numberWRITE_DAQ (0x16)Set DAQ transfer bytes,extension address(DAQ element),Address of DAQ ElementSTART_STOP (0x06)Set Mode select,DAQ list number,last ODT number(the current DAQ list should be transmission the last ODT number),Event channel number ,transmission prescalerprepare data tranmissionSTART_STOP_ALL (0x08)start data transmission SHORT_UP(Short Upload)

在这里插入图片描述

在这里插入图片描述

实例视图在这里插入图片描述 后续会持续完善内容……



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3