CCP协议

CCP协议

2021-11-12

标定流程

  1. 将标定数据保存在Flash中。
  2. 在程序初始化过程中,标定数据映射至RAM当中,程序从RAM中调取数据。
  3. 标定过程开始时,在上位机中建立Flash存储区镜像,并保存至HEX文件。
  4. 标定过程中,通过DNLOAD,DNLOAD_6等命令修改RAM中数据,实现在线标定,更新上位机Hex。
  5. 标定结束后,将更新后的数据,一次性写入Flash。
  6. 重启控制器,将新的标定数据映射值RAM中。

数据

CCP协议是在应用层也就是使用CAN的数据帧来传递命令,分为CRO(主设备向从设备发送)和DTO(从设备向主设备发送)
CRO数据帧

在这里插入图片描述

  • CRO命令的第一个字节为CMD,命令代码,命令表一共有28条命令
  • CRO命令的第二个字节为CTR,命令计数器,由上位机计数
  • CRO命令的剩余六个字节为命令参数,每个命令有不同参数
  • CCP协议_第1张图片
DTO数据帧

在这里插入图片描述

CRM类型:用于反馈CRO命令的报文
  • 第一个字节为PID,表示类型,CRM类型为0xff
  • 第二个ERR字节,表示错误类别,命令返回码表一共有18条命令,0x00是无错误,CRM类型就对应0x00
  • 第三个CTR字节,表示回答的哪条CRO命令,两者的CTR要对应起来
  • 剩余的五个字节为参数
Event Message类型:用于反馈错误的报文
  • 第一个字节为PID,表示类型,EM类型为0xfe
  • 第二个ERR字节,表示错误类别,命令返回码表一共有18条命令,0x00是无错误,EM类型对应命令返回码表除0x00的剩余17条命令
  • 第三个CTR字节,表示回答的哪条CRO命令,两者的CTR要对应起来
  • 剩余的五个字节为参数
  • CCP协议_第2张图片
DAQ类型:用于定期反馈数据

在这里插入图片描述

  • 第一个字节为PID,0≤ PID ≤253,PID的值与ODT的编号值有关系
  • 剩余的七个字节为数据

工作模式

Polling模式:查询
  • 主设备与从设备间每一次通信都由主设备发送命令来起始,从设备收到主设备命令后,执行相应操作并反馈一帧报文
处理过程:
  • 获取并解读主设备的CCP命令,并执行该命令;命令执行完后,向主设备发送应答;若执行出错,应答中应包含向主设备报错的信息;
  • 若主设备命令要求对DAQ进行操作,则该操作传送给DAQ处理器处理,由DAQ处理器完成DAQ操作。
DAQ模式:固定上报
  • 主设备首先发送一条请求DAQ命令,从设备收到后,按命令中参数自行配置并组织需要上传数据,然后按一定周期自主向主设备上传数据
处理过程:

CCP协议_第3张图片

  • DAQ传送的数据由一系列的表来组织,这些表称为ODT。ODT作用是将存储器中的数据元素被分配到列表中。 该表保存每个元素的地址、地址扩展和长度,ODT是有顺序的。
  • 当DAQ机制启动后,按设定的周期,将每个ODT表描述的参数当前的值顺次放入相应的DAQ-DTO帧中,然后发送给上位机
ODT创建方法
  1. 清除 ECU 中的当前列表,并通过发送命令 GET_DAQ_SIZE 让 ECU 为一个 DAQ 列表分配内存。
  2. 在 GET_DAQ_SIZE 命令之后,ECU 报告当前 DAQ 列表中 ODT 的可用内存。
  3. 循环发送SET_DAQ_PTR 命令,参数为 DAQ 列表号、ODT 号、ODT 中的元素号;WRITE_DAQ命令参数为元素大小、地址扩展、32 位基地址,直到 ODT 完成
  4. 初始化 DAQ-DTO 的传输,发出 START_STOP 命令。

错误句柄

  • 错误处理框图:CCP协议_第4张图片

  • 错误类别及处理:CCP协议_第5张图片

示例工作流程

会话登陆(Session log-in )
  • CCP协议_第6张图片

  • 连接-确认版本-交换标识-获取密钥-解锁-设置会话状态

下载块(Block DownLoad )
  • CCP协议_第7张图片

  • 连接-将块的内存地址传入-下载块

上载块(Block UpLoad )
  • CCP协议_第8张图片

  • 连接-将块的内存地址传入-上载块

校准数据初始化(Calibration Data Initialization )
  • CCP协议_第9张图片
DAQ列表初始化(DAQ List Initialization )
  • CCP协议_第10张图片
代码升级(Code Update )
  • CCP协议_第11张图片

命令说明

Connect
  • CRO数据帧:CCP协议_第12张图片

  • DTO数据帧:CCP协议_第13张图片

  • CCP协议_第14张图片

EXCHANGE_ID(Exchange Station Identifications)
  • CRO数据帧:在这里插入图片描述

  • DTO数据帧:CCP协议_第15张图片

  • CCP协议_第16张图片

GET_SEED (Get Seed for Key )
  • CRO数据帧:CCP协议_第17张图片

  • DTO数据帧:CCP协议_第18张图片

  • CCP协议_第19张图片

UNLOCK(Unlock Protection)
  • CRO数据帧:CCP协议_第20张图片

  • DTO数据帧:CCP协议_第21张图片

  • CCP协议_第22张图片

SET_MTA(Set Memory Transfer Address )
  • CRO数据帧:CCP协议_第23张图片

  • DTO数据帧:CCP协议_第24张图片

  • CCP协议_第25张图片

DNLOAD(Data Download )
  • CRO数据帧:CCP协议_第26张图片

  • DTO数据帧:CCP协议_第27张图片

  • CCP协议_第28张图片

DNLOAD_6(Data Download 6 Bytes)
  • CRO数据帧:CCP协议_第29张图片

  • DTO数据帧:CCP协议_第30张图片

  • CCP协议_第31张图片

UPLOAD(Data Upload )
  • CRO数据帧:CCP协议_第32张图片

  • DTO数据帧:CCP协议_第33张图片

  • CCP协议_第34张图片

SHORT_UP(Short Upload)
  • CRO数据帧:CCP协议_第35张图片

  • DTO数据帧:CCP协议_第36张图片

  • CCP协议_第37张图片

SELECT_CAL_PAGE(Select Calibration Data Page)
  • CRO数据帧:CCP协议_第38张图片

  • DTO数据帧:CCP协议_第39张图片

  • CCP协议_第40张图片

GET_DAQ_SIZE(Get Size of DAQ list)
  • CRO数据帧:CCP协议_第41张图片

  • DTO数据帧:CCP协议_第42张图片

  • CCP协议_第43张图片

SET_DAQ_PTR(Set DAQ list pointer)
  • CRO数据帧:CCP协议_第44张图片

  • DTO数据帧:CCP协议_第45张图片

  • CCP协议_第46张图片

WRITE_DAQ(Write DAQ list entry)
  • CRO数据帧:CCP协议_第47张图片

  • DTO数据帧:CCP协议_第48张图片

  • CCP协议_第49张图片

START_STOP (Start / Stop Data transmission )
  • CRO数据帧:CCP协议_第50张图片

  • 在这里插入图片描述

  • DTO数据帧:CCP协议_第51张图片

  • CCP协议_第52张图片

DISCONNECT (Disconnect)
  • CRO数据帧:CCP协议_第53张图片

  • DTO数据帧:在这里插入图片描述

  • CCP协议_第54张图片

SET_S_STATUS(Set Session Status)
  • CRO数据帧:CCP协议_第55张图片

  • DTO数据帧:CCP协议_第56张图片

  • 状态
    CCP协议_第57张图片

  • CCP协议_第58张图片

GET_S_STATUS (Get Session Status )
  • CRO数据帧:在这里插入图片描述

  • DTO数据帧:CCP协议_第59张图片

  • CCP协议_第60张图片

BUILD_CHKSUM (Build Checksum )
  • CRO数据帧:CCP协议_第61张图片

  • DTO数据帧:CCP协议_第62张图片

  • CCP协议_第63张图片

CLEAR_MEMORY (Clear Memory)
  • CRO数据帧:CCP协议_第64张图片

  • DTO数据帧:CCP协议_第65张图片

  • CCP协议_第66张图片

PROGRAM (Program)
  • CRO数据帧:CCP协议_第67张图片

  • DTO数据帧:CCP协议_第68张图片

  • CCP协议_第69张图片

PROGRAM_6 (Program 6 Bytes )
  • CRO数据帧:在这里插入图片描述

  • DTO数据帧:CCP协议_第70张图片

  • CCP协议_第71张图片

MOVE (Move memory block )
  • CRO数据帧:CCP协议_第72张图片

  • DTO数据帧:CCP协议_第73张图片

  • CCP协议_第74张图片

DIAG_SERVICE (Diagnostic Service )
  • CRO数据帧:CCP协议_第75张图片

  • DTO数据帧:CCP协议_第76张图片

  • CCP协议_第77张图片

ACTION_SERVICE (Action Service )
  • CRO数据帧:CCP协议_第78张图片

  • DTO数据帧:CCP协议_第79张图片

  • CCP协议_第80张图片

TEST (Test Availability )
  • CRO数据帧:CCP协议_第81张图片

  • DTO数据帧:CCP协议_第82张图片

START_STOP_ALL (Start / Stop Synchronised Data transmission )
  • CRO数据帧:在这里插入图片描述

  • DTO数据帧:CCP协议_第83张图片

GET_ACTIVE_CAL_PAGE (Get currently active Calibration Page )
  • CRO数据帧:在这里插入图片描述

  • DTO数据帧:CCP协议_第84张图片

GET_CCP_VERSION (Get implemented Version of CCP )
  • CRO数据帧:CCP协议_第85张图片

  • DTO数据帧:CCP协议_第86张图片

  • CCP协议_第87张图片

你可能感兴趣的:(单片机)