CCP通信流程.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CCP通信流程

概述 CCP通信按信息传输方式分为:POLLING(问答)和DAQ方式;按功能模式分为以下三种: SESSION(会话) CAL(标定) DAQ(查询) 工作流程是:程序初始化完成后,通过SET_S_STATE设置节点当前工作状态(Session/CAL/DAQ),若触发CAL和DAQ,需要在初始化时对该功能初始化。 正常情况下设置为会话模式(SESSION),需要CAL和DAQ时再初始化。 多ECU组网工作时,不仅需要调用SET_S_STATE设置单节点工作状态,还需调用CONNECT和DISCONNECT在多个ECU间切换工作。 从错误代码处理流程图上也可以看出CCP通信协议的分为这四大模块,初始化、会话、标定、DAQ数据传输。 问题 问题一: 初始化SEED和UNLOCK解码成功后对SESSION、CAL和DAQ权限是否有效? 初始化时首先需要对三种功能及权限查询,若有功能无权限需要分别发送SEED和UNLOCK获得对应功能的权限。 问题二: SESSION、CAL和DAQ三种状态设置方式? 三种状态并行兼容工作。 问题三: error任务的处理方式检测?上位机驱动编写不好容易造成故障遗失 可以借鉴下位机错误代码。 一、初始化 应用程序完成CAN Driver 初始化后,调用CCP功能前需要对其进行初始化,按顺序包括以下工作: 命令 物理意义 备注 TEST 物理连接 测试是否物理连接建立起来,返回ECU的station address。因为该命令在可选命令中,所以介绍文档中没有介绍(可选) CONNECT 通信连接 建立点对点(master-slave)的物理链接,声明接下来的命令都时针对当前从节点发送的,至到另一从节点被选中,此时当前的节点处于暂时断开状态。从设备不相应任何指令除非先用带正确station address信息的CONNECT命令链接。PlugPlay GET_CCP_VERSION 版本校验 协议三原则: 大版本号一定要相同; 小版本号主节点大于等于从节点。 主节点支持有Non-Optional命令(初始化) EXCHANGE_ID 交换ID MCS调用包含ECU软件版本信息文件与ECU软件信息版本的匹配,识别。 返回参数包括ID长度,ID加密style及CAL、DAQ、PGM功能状态及权限。 GET_SEED 获取SEED EXCHANGE_ID 执行完后,自动将MTA0设置到相关位置,接到该命令后返回SEED,用来加密交互。 UNLOCK 发送KEY解锁 与SEED和加密style配合,计算出Key,返回功能权限信息,三种权限CAL、DAQ及PGM需要三次破解。 SET_S_STATUS 设置状态位 设置ECU内CCP通信状态,一般进入等待状态。 bit 0 CAL初始化完成 bit 1 DAQ初始化完成 bit 2 保存DAQlist设置,上电开始传输 bit 6 CAL参数掉电不丢失 bit 7 Session in progress 解锁完成后,依据任务的分配,系统工作状态可以设置为以下三种状态: 等待会话状态,接收命令,触发命令操作; 继续初始化CAL和DAQ,例如:设置DAQ掉电不丢失,上电自动传输,此时需要设置为DAQ初始化完成状态; DISCONNECT,休眠当前节点。多ECU并行工作时,初始化时把所有节点都初始化,断开连接把每个ECU设置为休眠状态,通过CONNECT再唤醒具体ECU,多ECU切换工作。单节点工作时可以不需要此命令,直接进入某种工作状态。 会话、、标定、查询三种状态设置存在可靠性,优先定义为会话状态,工作顺序 测试结果 二、会话状态 会话状态主要定义具体应用协议,接受具体代码,执行相关命令,返回结果数据。典型函数两条: ACTION_SERVICE:行动响应(Action Service) DIAG_SERVICE:诊断服务(Diagnostic Service) 都是先发送协议命令,从节点接收到命令信息后按照执行具体行动,并自动设置MTA0到要返回的数据存储首地址,通过DTO带回要返回信息长度。信息量大时调用UPLOAD读取,信息量小于3bytes,直接附在DTO未定义位返回,例如执行结果,增加执行效率。 UPLOAD、DNLOAD两个函数也可以实现会话服务,但传递数据需要先调用SET_MTA指定具体存储地址,容易造成内存区存储混乱,且传输效率低,主要应用于批量数据传输。而ACTION_SERVICE 和DIAG_SERVICE 传递的是握手信息,不需要明确传递参数的具体存储地址。 DNLOAD_6 相同。 SHORT_UP与UPLOAD命令区别在于和MTA0无关,CRO自带存储区首地址,且执行完后MTA0不自增,适

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档