|
网络上关于CCP协议的介绍很多,但是关于概念性质的偏多,Yordan又想起了当初毕业论文集成CCP协议的痛苦,因此想用两篇文章分别介绍CCP协议和如何在车规级芯片上集成该协议。 CCP协议(CANCalibration Protocol)是一种基于CAN总线的汽车电子控制单元(ECU)标定与测量协议,主要用于汽车开发和测试阶段.CCP协议采用CAN报文对话的方式,实现特定的功能,其中涉及命令接受对象(CRO)和数据传输对象(DTO)。这种通信方式的具体实现如图所示,通过两条CAN报文进行对话,确保了数据传输的准确性和效率。
CCP通信方式 命令接收对象(CRO)的主要功能是接收上位机发送给下位机的消息,这些消息包含了特定的命令代码和相关参数,CRO消息格式如图所示,确保了数据传输的准确性和高效性。 CRO消息格式 数据传输对象(DTO)负责将下位机反馈给上位机的消息进行传输。根据PID(数据场的第一个字节)的不同,DTO可以细分为三种类型:当PID为255时,DTO作为命令返回消息(CRM-DTO),用于传达命令执行的结果;当PID为254时,DTO则作为事件消息(EventMessage-DTO),用于报告特定事件的发生;而当PID值介于0至253之间时,DTO则充当数据采集消息(DAQ-DTO)的角色,负责传输采集到的数据。 DTO是下位机响应主设备请求的重要消息。在polling模式下,当上位机发送CRO给下位机后,下位机遵循CCP协议组织相应数据,并以DTO消息形式反馈,这种DTO被称为CRM-DTO。另一方面,当下位机检测到内部错误时,会主动向上位机发送事件消息,告知当前的故障状态,并请求上位机暂停当前工作以处理错误。这两类DTO的消息结构相同,如图所示,其中PID用于区分DTO的类型。对于CRM-DTO,ERR代码表示CRO请求命令的执行状态;而对于事件消息,ERR代码则指示下位机内部发生的具体错误类型。 命令返回消息和事件消息的格式 DAQ-DTO是用在DAQ模式当中,由ECU组织标识好的数据,周期性地向上位机发送。具体的消息结构如图6.5所示,其中每一个PID对应着一个ODT。 DAQ-DTO消息格式 CCP数据采集主要有Polling和DAQ两种模式。Polling模式类似于问答形式,上位机发出询问,下位机根据CCP协议组织答复,这种互动方式虽然简便,但数据传输效率相对较低。相比之下,DAQ模式在大量数据传输时表现更佳。
DAQ模式与Polling模式在通信机制上存在着显著的区别。DAQ模式独具特色,它赋予下位机独立且连续向上位机发送数据的能力,从而显著提升了通信效率。然而,这种高效的通信模式在实现过程中却相对复杂,需要预先在DAQ列表中填充数据,特别是在处理大数据传输时,DAQ模式可能会占用较多的内部资源。此外,ODT数据结构和DAQ列表结构如图所示,为实现高效数据传输提供了清晰的结构支持。 ODT数据结构 DAQ列表结构 本篇帖子对于CCP协议的介绍比较简单,仅介绍作用,对于协议还不能够理解的同志可以查阅其他资料,下期将利用XEP100开发板演示如何一步一步集成CCP协议。
|