标定协议之CCP协议实现流程介绍

      最后更新:2022-06-27 00:38:57 手机定位技术交流文章

      前 两 条 介绍 了 初始 的 CCP 分配 协议,每个人都应该有某种理解。介绍了CCP分配协议的实现.让你更好地了解CCP分配协议.当前的CCP协议版本为V2.1,有关的例子载于Vector网站,基于Vector的CCP协议实例, 本文在STM32F103平台执行端口.执行参数的监测测量

      CCP标记协议实例功能和过程实现的介绍

      数据定义区间说明

      在前面《 如何实现标定 介绍了基于RAM和ROM数据映射的定义.本文基于STM32F103平台,它的RAM大小是0x100byte,未指定的参数在RAM中设置为0x200和0xF00,定义的参数为0x200F00和0x200100,相应的指定的ROM范围为0x807F00到0x80800,分配的RAM和ROM空间的大小必须一致.

      CCP指定通信过程说明

      Vector提供的CCP实例代码只执行参数监控,没有后参数标记的闪光刷刷功能部分。本文首先基于代码端口的实例实现,实现CCP通信和参数监控,矢量CANape作为顶层机器的标记,上位主机发送0x100的CRO消息ID,控制器响应DTO消息ID为0x101,收集了实例的通讯报告数据,在介绍具体实施过程之前,首先,让我们总结整个实现过程:

      CCP标记协议实施过程简介

      以下为基于获取通信消息数据的执行过程的指示,详细说明具体的执行过程:

      连接-连接

      连接过程实现简单,CRO消息有效数据长为3字节,DTO消息有效数据长也是3字节。 如果控制器支持CCP连接,可以设置对正响应的直接响应,否则错误代码会被返回。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      交换ID-EXCHANGE_ID

      定义协议的通信由主多向模式支持,因此在建立连接时,高级软件需要获得当前通信控制器的ID和控制器的指令和支持CCP分配功能的能力。

      CRO报文定义:

      DTO报文定义:

      DTO报告中的资源可用性面具和资源保护面具都定义了CCP在控制器中支持的功能描述。每个字节中的资源可用性面具定义它是否支持此功能,每个字节中的资源保护面具定义了函数是否锁定,如果锁定,则解除命令用于解除锁定。

      示例通讯报文数据:

      控制器ID信息:控制器ID长度为7字节,当CANape接收DTO响应时,通过UPLOAD(0x04)指令,将ID数据传输到顶层机上,同时,由于每个DTO消息发送最大5字节的数据,因此,派出了两个“UPLOAD”命令。

      资源可用性面具:DTO数据为0x43,控制器可支持PGM、DAQ和CAL的所有功能

      资源保护面具:DTO数据为0x00,所有功能已解锁

      设置内存地址-SET_MTA

      在开始分配之前,上层机器需要向控制器发送当前的ROM数据,允许指定工程师确定数据的状态。因此,首先需要通过命令配置发送ROM数据区的初始地址,该配置地址与上面描述的控制器中定义的数据指定的ROM地址一致,然后数据通过UPLOAD(0x04)传输。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      配置分配的ROM数据启动地址为0x807F00。为方便数据分析,本例中实际分配的CANape配置ROM大小为0x10,因此在SET_MTA命令之后执行四个UPLOAD命令。

      获取CCP协议版本-GET_CCP_VERSION

      由于CCP规格协议的不同版本,因此,需要对上层机器和控制器的CCP协议版本进行匹配。否则, 就不会有正常的沟通.监理员通过指示向控制器发送监理员软件的CCP协议版本。同时获取控制器中CCP协议的版本进行比较。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      在高级机器和控制器中支持的CCP协议版本是V2.Version 1.

      获取DAQ大小 - GET_DAQ_SIZE

      CANape通过此命令识别控制器中支持的数据通道和每个DAQ的ODT大小。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      在CANape上游机上配置了两个DAQ通道,控制器中的CCP协议也支持两个DAQ通道,每个DAQ频道都支持三个ODT。当上位主发送第三个GET_DAQ_SIZE命令时,该频道返回 0 ODT,上位主机决定下位主机只能支持两个DAQ通道,然后再发送DAQ频道1的确认请求,完成执行命令.

      配置DAQ

      CANape上层配置完成控制器的DAQ通道,需要在顶层机上配置的参数的地址将写入控制器的DAQ列表中,以便通过DAQ传输,首先,您需要通过SET_DAQ_PTR指定ODT通道中的ODT位置和ODT中的参数位置,控制器接收和响应由WRITE_DAQ命令写入的参数的地址,并在命令之后发送到顶层机器。

      SET_DAQ_PTT-CRO报告定义:

      SET_DAQ_PTT-DTO报告定义:

      WRITE_DAQ-CRO报告定义:

      WRITE_DAQ-DTO报告定义:

      示例通讯报文数据:

      为方便数据分析,这个例子中设置了DAQ参数,它的数据长度是2字节,在CANape上层机器中,DAQ根据一个字节长度模式配置,DAQ参数的配置由两个set_DAQ_PTT和WRITE_DAQ命令完成。

      DAQ传输预备-START_STOP

      当DAQ配置完成时,CANape上层机器将通过命令通知控制器在启动DAQ传输之前对DAQ传输的准备,只有控制器作出积极响应后才能执行后续相关操作。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      开始传输 -START_STOP_ALL

      CANape接收控制器响应的DAQ准备完成一个正响应,并通过命令在需要停止传输时,启动所有数据的传输,包括DAQ和投票模式。

      CRO报文定义:

      DTO报文定义:

      示例通讯报文数据:

      参数传输

      在这个例子中,一个10msDAQ传输参数和50msPolling传输参数被配置,当当前的面部相关配置正确完成后,控制器将根据相应的周期参数传输。

      本文通过向向量子提供CCP堆栈代码到STM32F103平台,并且CANape作为指定的高级机器用于通信测试,分析收集的报告,介绍了CCP分配协议的实现过程,并介绍了该过程的各个步骤的具体实现过程。我希望通过这篇文章,您能更了解CCP标记协议,下面的主题将介绍使用CANape标签软件的相关知识。

      为了获得更多及时的信息和学习资源,请注意以下事项:闻道工程师之家这是我第一次收到文章的转发!

      免责声明:本条内容源自互联网,版权归原作者,如有侵权,请与我联络删除。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28576.html

          热门文章

          文章分类