CCP协议

2023-11-15

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命令的剩余六个字节为命令参数,每个命令有不同参数
  • 在这里插入图片描述
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要对应起来
  • 剩余的五个字节为参数
  • 在这里插入图片描述
DAQ类型:用于定期反馈数据

在这里插入图片描述

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

工作模式

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

在这里插入图片描述

  • 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 命令。

错误句柄

  • 错误处理框图:在这里插入图片描述

  • 错误类别及处理:在这里插入图片描述

示例工作流程

会话登陆(Session log-in )
  • 在这里插入图片描述

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

下载块(Block DownLoad )
  • 在这里插入图片描述

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

上载块(Block UpLoad )
  • 在这里插入图片描述

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

校准数据初始化(Calibration Data Initialization )
  • 在这里插入图片描述
DAQ列表初始化(DAQ List Initialization )
  • 在这里插入图片描述
代码升级(Code Update )
  • 在这里插入图片描述

命令说明

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

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

  • 在这里插入图片描述

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

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

  • 在这里插入图片描述

GET_SEED (Get Seed for Key )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

UNLOCK(Unlock Protection)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

SET_MTA(Set Memory Transfer Address )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

DNLOAD(Data Download )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

DNLOAD_6(Data Download 6 Bytes)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

UPLOAD(Data Upload )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

SHORT_UP(Short Upload)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

SELECT_CAL_PAGE(Select Calibration Data Page)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

GET_DAQ_SIZE(Get Size of DAQ list)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

SET_DAQ_PTR(Set DAQ list pointer)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

WRITE_DAQ(Write DAQ list entry)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

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

  • 在这里插入图片描述

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

  • 在这里插入图片描述

DISCONNECT (Disconnect)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

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

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

  • 状态
    在这里插入图片描述

  • 在这里插入图片描述

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

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

  • 在这里插入图片描述

BUILD_CHKSUM (Build Checksum )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

CLEAR_MEMORY (Clear Memory)
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

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

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

  • 在这里插入图片描述

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

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

  • 在这里插入图片描述

MOVE (Move memory block )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

DIAG_SERVICE (Diagnostic Service )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

ACTION_SERVICE (Action Service )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

TEST (Test Availability )
  • CRO数据帧:在这里插入图片描述

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

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

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

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

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

GET_CCP_VERSION (Get implemented Version of CCP )
  • CRO数据帧:在这里插入图片描述

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

  • 在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CCP协议 的相关文章

  • 从浅到深理解bert

    更多查看https github com B C WANG AI Storage 4 2 4 2从浅到深理解bert 4 2 1 理解Attention 参考https www cnblogs com robert dlut p 86382
  • Pytorch save_image和make_grid函数详解

    Pytorch save image和make grid函数详解 make grid用于把几个图像按照网格排列的方式绘制出来 save image用于保存图像 这两个函数的函数签名差不多 所以只说一个 def make grid tenso

随机推荐

  • excel python插件_再见 VBA!神器工具统一 Excel 和 Python

    大家好 我是东哥 经常给大家推荐好用的数据分析工具 也收到了铁子们的各种好评 这次也不例外 我要再推荐一个 而且是个爆款神器 Excel和Jupyter Notebok都是我每天必用的工具 而且两个工具经常协同工作 一直以来工作效率也还算不
  • 线段树模板

    线段树属于高级数据结构 本文粗略地讲解了一下线段树的模板 大家直接拿去用就好 long long ls int x return x lt lt 1 long long rs int x return x lt lt 1 1 const i
  • 电感选型计算

    转载 https www richtek com Design 20Support Technical 20Document AN053 电感之种类与其特性分析 摘要 电感器是开关转换器中非常重要的元器件 如用于储能及功率滤波器 电感器的种
  • react render中进行if判断

    在render中进行if条件判断然后加载相应的模块进行渲染方法如下 第一种 第二种
  • Spark的DataFrame和Schema详解和实战案例Demo

    1 概念介绍 Spark是一个分布式计算框架 用于处理大规模数据处理任务 在Spark中 DataFrame是一种分布式的数据集合 类似于关系型数据库中的表格 DataFrame提供了一种更高级别的抽象 允许用户以声明式的方式处理数据 而不
  • 【数据分析之道-NumPy(四)】numpy广播机制

    文章目录 专栏导读 1 广播机制 2 一维数组和二维数组的广播 3 二维数组和三维数组的广播 4 标量和数组的广播 5 形状不兼容的数组不能进行广播 专栏导读 作者简介 i阿极 CSDN Python领域新星创作者 专注于分享python领
  • 小游戏:红色警戒争霸战!

    这个是当年自己在学校里面写的小游戏 现在看看好弱智啊 第一代的代码 public struct Heros public string name public double hp public double mp public double
  • a标签下载pdf文档

    开发过程中 有时我们需要点击a标签然后可以下载pdf文档 但是结果经常是pdf文档直接就在浏览器中打开了 那么想要直接下载需要怎么实现呢 实现方式 在a标签的href中写上要下载的pdf文档的地址 加上download下载属性 最后记得让后
  • Tencent://Message/协议的实现原理 .

    Tencent Message 协议的实现原理 2008年07月17日 星期四 12 04 腾讯官方通过 Tencent Message 协议可以让QQ用户显示QQ TM的在线状态发布在互联网上 并且点击 不用加好友也可以聊天 官方链接 h
  • C语言中关键字一次说清楚!!!

    目录 一 static 1 作用 2 一些例子帮助大家更深刻的理解static的几个作用 1 修饰局部变量 2 修饰全局变量和函数 二 const 1 作用 使得变量不允许被修改 提高代码的健壮性 2 本质 给编译器看的 在编译阶段起作用
  • golang 中strconv包用法

    https blog csdn net chenbaoke article details 40318357
  • .netcore windows app启动webserver

    创建controller using Microsoft AspNetCore Mvc using Microsoft Extensions Logging using System using System Collections Gen
  • 判断input输入框的值,用到input事件,blur事件,focus事件

    需求 当输入框有字或者正在输入时 右边的圆形取消按钮才出现 否则不出现
  • 网络h

    注 所有标题带h的博客不保证准确性和正确性 写这篇博客原因是因为网络知识学了又忘 忘又学 翻来覆去 所以做个笔记 正如上文注明 此篇博客所写内容不够准确和专业 甚至不正确 只是为了便于理解记忆 概念 以太网 ethernet 双绞线 同轴线
  • Tkinter中字体大小与部件大小的关系

    我是小鱼 今天是2022年2月10日 之前用python在做扫雷游戏时 发现总是拿不准部件大小与字体之间的关系 为此 当时还特地写了一篇BLOG Tkinter中的标签 Lable 与按钮 Button 的大小问题 扫雷写完后我有时间慢慢回
  • Centos下yum安装nginx本地仓库无nginx源解决方案

    一 问题描述 在CentOS下使用yum install nginx y 命令时 出现如下错误 root docker 05 yum install nginx y 已加载插件 fastestmirror Loading mirror sp
  • Hadoop Hbase 升级

    Hadoop HDFS 与Hbase升级笔记 由于之前使用了hadoop1 0 2 hbase 使用的是hbase 0 92 1 但是一次事故导致元数据丢失 且修复元数据的类本身有BUG 所以摆在眼前的只有两条路 1 修改hbase源码重新
  • CNI Plugin 介绍

    CNI 插件包括两种类型 CNI Plugin 和 IPAM IP Address Management Plugin CNI Plugin 负责为容器配置网络资源 IPAM Plugin 负责对容器的 IP 地址进行分配和管理 IPAM
  • Mac 下配置 Python3 和 Selenium3 环境

    Selenium 是一套 Web 测试框架 Selenium2 中新增加了 Webdriver 可以用了测试 UI 层 控制浏览器执行爬虫等操作 而 chromedriver 是 Selenium 控制浏览的必要驱动 一 安装 seleni
  • CCP协议

    CCP协议 2021 11 12 标定流程 将标定数据保存在Flash中 在程序初始化过程中 标定数据映射至RAM当中 程序从RAM中调取数据 标定过程开始时 在上位机中建立Flash存储区镜像 并保存至HEX文件 标定过程中 通过DNLO