【AUTOSAR】CCP协议的代码分析与解读(八)----CCP协议应用流程

  1. CCP协议应用流程
    1. 主从设备建立逻辑连接

按照CCP协议,当主设备需要用某个ECU通信时,必须首先与ECU建立连接。CCP建立连接的步骤如下:

  • 按地址Tester与ECU建立逻辑连接:CONNECT
  • 统一从、主设备CCP协议版本:GET_CCP_VERSION
  • 交换站标识符:EXCHANGE_ID
  • 获取开启某项功能的密钥:GET_SEED
  • 使用密钥解除某项功能的保护状态:UNLOCK
  • 设置当前通信状态字节:SET_S_STATUS

主设备需要发送一系列命令与ECU建立逻辑连接,EXCHANGE_ID与seed&key算法是可选步骤,根据实际情况而定。

  1. 2.数据下载

当主设备需要对ECU中某个变量进行标定时,需要进行数据下载,步骤如下:

  • 建立逻辑连接:CONNECT
  • 将MTA0 地址设置到下载数据的起始地址:SET_MTA
  • 开始下载数据:DNLOAD

备注:这里的数据下载指的是驻留在RAM或EEPROM中的变量。根据下载数据的大小,可选用DNLOAD或DNLOAD_6命令。

  1. 3.数据上传

测试时,主设备需要ECU上传数据,步骤如下:

  • 建立逻辑连接:CONNECT
  • 将MTA0 地址设置到上传数据的起始地址:SET_MTA
  • 开始上传数据:UPLOAD

备注:根据上传数据的大小,可选用UPLOAD或UPLOAD_6命令。数据上传适用于polling模式下数据上传,即主设备发送一则命令消息,ECU上传一次数据。

  1. 4.DAQ列表初始化

主设备可要求ECU以DAQ模式上传数据,上传数据前必须首先对每个DAQ列表进行配置,步骤如下:

  • 建立逻辑连接:CONNECT
  • 设置状态字节DAQ=0(xxxx xx0x):SET_S_STATUS
  • 获取DAQ列表大小:GET_DAQ_SIZE
  • 设置DAQ入口地址指针:SET_DAQ_PTR
  • 写入数据:WRITE_DAQ
  • 设置状态字节DAQ=1(xxxx xx1x):SET_S_STATUS
  • 开始以DAQ模式传输,并设置参数:START_STOP

在对DAQ列表进行初始化前,需要将状态字节中的DAQ位设置为0,表明DAQ列表还未完成初始化配置。随后主设备通过GET_DAQ_SIZE命令获取DAQ列表大小,即其中有多个ODT列表,根据ODT列表数,主设备分n次将数据写入DAQ列表中的每个ODT。完成DAQ列表的配置后,主设备将状态字节中的DAQ位改写为1,表示DAQ列表完成初始化。最后通过START_STOP命令,开始DAQ通信。

如果有多个DAQ列表需要通信,则需要多次重复GET_DAQ_SIZE到WRITE_DAQ的步骤。

  • 标定数据初始化
  • 建立逻辑连接:CONNECT
  • 设置阶段状态(xxxx xxx0):SET_S_STATUS
  • 将MTA0设置到目标内存区域的起始地址:SET_MTA
  • 为某块内存区域建立checksum:BUILD_CHECKSUM
  • 如果checksum结果不符,开始下载数据:DNLOAD
  • 选择标定数据页:SELECT_CAL_PAGE
  • 设置阶段状态CAL=1(xxxx xxx1):SET_S_STATUS

  • 代码更新
  • 建立逻辑连接:CONNECT
  • 将MTA0设置到起始地址:SET_MTA
  • 清除从设备内存中的数据:CLEAR_MEMORY
  • 编程:PROGRAM
  • Size=0:PROGRAM

备注:PROGRAM命令用来更新驻扎在非易失性内存(Flash、EEPROM)中的数据和变量,最后通过将PROGRAM命令中的Size位(标定数据长度)设置为0来结束数据更新。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Autosar是汽车行业广泛使用的一种软件架构标准,旨在提高汽车电子系统的可靠性和可维护性。它通过提供标准化的接口和通信协议,使得不同厂家和供应商开发的软件和硬件组件可以相容且互操作。Autosar标准包含了许多不同的模块和组件,它们分别负责不同的功能,如通信、诊断、操作系统等。要读懂Autosar代码,首先需要了解Autosar标准的整体架构和各个模块之间的关系。 在阅读Autosar代码时,需要熟悉标准中定义的各种接口和数据结构,了解它们的作用和用法。此外,还需要理解Autosar中使用的不同软件架构模式和设计模式,例如发布订阅模式、状态机模式等。很多Autosar代码都会按照这些模式进行设计和实现,因此读懂这些模式对于理解代码至关重要。 此外,由于Autosar标准是由多个汽车厂商和供应商共同制定和维护的,因此在阅读Autosar代码时还需要关注不同厂商或供应商对标准的实现方式和扩展。虽然Autosar标准化了接口和通信协议,但在实际应用中仍然存在一些厂商特定的实现和扩展,这些内容也需要在阅读代码时予以理解。 总之,要读懂Autosar代码,需要对Autosar标准有深入的了解,包括整体架构、各种接口和数据结构、软件架构模式和设计模式,以及不同厂商或供应商的实现方式和扩展。同时,也需要对汽车行业的背景和需求有一定的了解,这样才能更好地理解Autosar代码的含义和用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值