中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 762查看
  • 0回复

[车身电子] 了解 CCP/XCP协议

[复制链接]
  • TA的每日心情
    奋斗
    29-5-2022 14:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 29-5-2022 16:47:49 | 显示全部楼层 |阅读模式

    汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


    CCP



    CCP(CAN Calibration Protocol CAN 标定协议)和XCP(Universal Measurement and Calibration Protocol 通用测量与标定协议),由自动化和测量系统标准化协会(ASAM)定义,设计用于从ECU 对CAN 进行校准和数据采集。这些通常用于汽车车辆运行时的自动化测试。CCP是一种面向地址的协议,它使用“主-从”概念进行测量、标定、仿真、轮询、刷新和数据采集。该标准专为各种总线系统而设计,涉及到将采集的数据从“从节点”连续移动,并将校准数据移动到从节点。



    它专门用于将标定系统连接到ECU,调整内部参数,并获取ECU 内部变量的当前值。CCP/ XCP 是顶层(第7层)协议,它们充当CAN 的应用层。这些协议不描述如何创建位置和字节,而是使用CAN 2.0B 协议物理层、数据链路层和网络层。



    CCP 支持以下功能:

    • 它CAN 总线上处理多个节点

    • 将数据读/写到ECU 内部存储器

    • 从ECU 采集同步循环数据

    • 同时数据采集和标定

    • 既能处理小型 8 位微控制器,又能处理高性能ECU


    微信图片_20220511153728.png



    在CCP 中,当主设备向从设备发送命令时,通信就会启动。因此,它使用通用命令。

    • 这些通用命令不是特定于节点的

    • 每个节点/模块必须有一个单独的站点地址

    • 在发送任何命令之前,需要建立主从设备之间的逻辑连接

    • 直到主设备发送断开命令,或者如果主设备决定连接到另一个从设备,则当前连接将暂停

    • 一旦建立连接, 主设备就会控制主设备和从设备之间的整个通信

    • 来自从设备的每条报文之后,都会出现一条包含数据或错误代码的应答报文





    XCP



    微信图片_20220511153738.png



    通用测量和标定协议或XCP 在测量和标定系统中充当单个主设备,PC 或ECU 作为从设备运行。在汽车领域,XCP 用于预生产车辆的测量和标定,以及内燃机、变速箱、气候控制等的测试台。



    最初的协议CCP 升级到XCP,以满足网络上对ECU 资源的高需求,并将数据传输量提高到最大限度。XCP 被引入。这里XCP 中的 “X”  代表可变和可互换的传输层。



    与CCP 一样,XCP 是一种面向地址的协议,它使用“主-从”概念进行测量,校准,仿真,轮询,闪烁和数据采集。设计用于各种总线系统,如FlexRay,Ethernet,CAN,CAN FD 和许多其他高性能平台。XCP 被细分为协议层和传输层。



    微信图片_20220511153744.png



    开发XCP的主要目标是在ECU中实现尽可能的精益实施,以及功能和资源利用率的高度可扩展性。



    XCP 支持以下功能:

    • 用很少的资源为CAN 或SCI 提供8位微控制器

    • 在高性能平台上充分利用了FlexRay 或以太网的潜力

    • 减少对ECU 资源的高需求

    • 支持通信网络的最大数据传输

    • 它包括同步的数据采集和仿真

    • 对标定数据进行读/写访问

    • 执行内存页管理

    • 支持异步和异步接口

    • 用作模拟测量的标准化接口





    CCP/XCP 中的CRO 和DTO 报文



    在CCP/XCP 中,只需要两种类型的CAN报文:命令接收对象 (CRO) 和数据传输对象 (DTO)。这些信息由 ASAM MCD 2MC/ASAP2 标准定义的配置文件“A2L 文件”确定。此配置文件用于配置主设备。A2L文件有时也可能包含有关从属存储器组织的信息。


    微信图片_20220511153750.png



    CRO:这些是从主设备发送到从设备的报文。这些报文包含指令,此处的第一个字节是为命令代码 (CMD) 保留的,CMD 描述报文的目的。第二个字节是为命令计数器 (CTR) 保留的,用于跟踪记录通信,它是在从节点的DTO 报文中作为应答发送的。字节 2-7 用来存放数据参数,具体数据参数取决于命令代码。报文的长度始终为 8 个字节,未定义的字节可忽略。



    微信图片_20220511153755.png



    DTO:这些是从设备发送到主设备的报文,作为接收CRO报文的进行确认,同时用于数据采集。报文中的第一个字节称为 PID( 地址包)。PID 的值描述报文类型。有三种类型的报文:

    • 0xFF,命令返回报文(CRM), DTO 作为 CRO 报文的接收确认

    • 0xFE,事件报文,如果 DTO 报告内部从节点状态变化,以便调用错误恢复或其他服务

    • 0 – 0xFD,数据采集报文(DAQ)。此 PID 的值包含ODT(对象描述符表)的值,稍后将对此进行介绍







    XCP 中的 CTO 和 DTO 消息

    CTO:命令传输对象

    DTO:数据传输对象


    微信图片_20220511153759.png



    除了支持其他传输层外, XCP 协议还包含许多功能改进,例如:

    • 同步数据激励

    • 更好地利用ECU中的资源

    • 通过块传输命令优化通信

    • 即插即用的配置

    • 支持启动测量

    • 通过测量ECU 中的时间戳,实现更精确的测量数据采集

    • 允许客户使用单独的A2L 文件中定义的格式访问ECU 上的内存



    数据采集:


    主设备可以从从属设备启动数据采集。数据通过特殊的DAQ-DTO 从节点发送。数据字节在DAQ 列表中组织,该列表由多个ODT 列表组成。ODT 列表最多包含 7 个指向存储数据的ECU 中内存地址的指针。除了指向内存地址的指针外,ODT 列表还可以包含地址扩展和要发送的字节数。所有从属设备都不会处理长度超过一个字节的数据元素,这就需要主设备通过将数据拆分为单个字节来解决此问题。



    微信图片_20220511153805.png


    DAQ-DTO 由   PID 和  ODT 列表点中内存点所指向的数据元素组成。PID 号(通常与 ODT 列表相同)的值介于 0 和 253 之间,这意味着同时只能有 254 个 ODT 列表。



    微信图片_20220511153809.png



    CCP 规范允许同时激活多个DAQ 列表,由主设备通过START_STOP 命令启动DAQ列表的传输。ODT 列表中的数据字节在从设备中采样,然后以DAQ-DTO 的形式发送到CAN 总线上。如果从设备在正在进行的DAQ 周期完成之前收到新的START_STOP 命令,则有两种反应方式:

    • 启动新的DAQ 命令,终止正在进行的命令

    • 忽略新的DAQ 命令,继续正在进行的命令直到周期完成

    这两种方法都有优点和缺点,CCP 规范没有说明选择哪一种。





    用于数据记录的 XCP/CCP 设置窗口



    Influx 为您带来了全系列的 Rebel 数据记录仪,可在CAN 上使用 CCP/XCP 进行车辆工程测试。下面的屏幕截图显示了Infulx 的DiaLog(软件)从A2L 文件采取的通信设置。



    微信图片_20220511153813.png



    此外,Rebel 系列还提供先进的协议功能,如CAN2.0监控,J1939,CCP,CAN 总线上的XCP,OBD2和UDS。

    补充内容 (1-6-2022 14:36):
    欢迎致电交流学习:15911801108

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 20-4-2024 12:45 , Processed in 0.211517 second(s), 30 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.