专栏名称: 汽车MCU软件设计
汽车MCU软件工程师,分享汽车功能安全、网络安全和AutoSAR
目录
相关文章推荐
程序员小灰  ·  DeepSeek做AI代写,彻底爆了! ·  3 天前  
史事挖掘机  ·  中国历史朝代时间表与歌谣 ·  昨天  
51好读  ›  专栏  ›  汽车MCU软件设计

汽车标定技术-- 集成标定栈时主机厂、供应商应该做什么?

汽车MCU软件设计  · 公众号  ·  · 2024-04-08 19:00

正文

目录

1. 供应商视角

1.1 确认需求

1.2 代码移植阶段

1.3 考虑标定参数实现方式

1.4 A2L生成

2. 主机厂视角

3.小



这个问题应该困扰了不少朋友。
在之前做基础软件供应商时,经常接到这些问题:A2L文件里标定量、测量量地址怎么替换呀?你们给的A2L Master文件怎么在INCA上用不了呢?每次模型生成代码都得手动给标定、观测量分配地址空间,有没有简单办法?
以至于我后来在释放配置参考手册都把这部分增值服务写进去了。
所以,今天就来谈谈不同开发视角下对于标定栈集成需要注意什么。

1. 供应商视角

供应商角度来看,如果是人力外包到OEM这种,那没啥好说的,整套活都得自己干了;所以我们就以这种模式来看看,做XCP移植时需要注意什么?

1.1 确认需求

这是最恐怖的事情,因为OEM多数人也不知道具体XCP需求是什么?大部分连指令都不关心,所以常常会接到这样的需求:我要能标定、观测就可以了;哦,对了,我们习惯用INCA,走CAN。
这就是总纲,那么具体我们应该如何拆解需求呢?先借用Vector关于标定的一张神图:

通过上图我们就知道了,要完成标定栈移植至少得准备A2L文件、标定上位机、标定协议栈配置。

1.2 代码移植阶段

首先要考虑的就是怎么将XCP协议栈集成到工程里。
这里分两种情况:
  • 买的AUTOSAR包自带XCP模块,化身点点工程师可加速开发;
  • 另外买的XCP包,非AUTOSAR标准,这就需要考虑如何在RTE中调度、如何与If层Driver层集成
不管遇到上面哪种情况,在配置或者移植时都需要从以下方面进行思考:
  • 选择XCP栈基础指令:
    • 特别地,是否需要Seed&Key这类安全机制,涉及到制作特定dll,需要有经验的客户还能去要一要,没有的那就是只能自己提供了;
    • 是否需要block download/upload等功能以提升性能;
    • 是否需要基于XCP的Program功能。


  • 设计DAQ list:
    • 选择动态还是静态DAQ list;
    • 确定DAQ List个数;
    • 动态DAQ最大支持的ODT和ODT Entry;
  • 设计标定量存储位置设计:
    • 一般来讲,标定量是放到PFlash里,就不去抢占NvM有限空间了,但不排除有客户想用NvM
  • 考虑页切换功能,根据芯片是否支持Overlay:
  • 考虑是否需要STIM功能:
  • 设计XCP Event个数:
    • 用于STIM还是DAQ
    • Event周期
    • Event优先级
有了上述思路,就可以大体开始点点点或者写写写了。

1.3 考虑标定参数实现方式

在没有AUTOSAR之前,标定参数的设计其实比较粗暴,模型中选择paremeter和signal,即可生成代码和A2L文件,如下:

但AUTOSAR进来之后,由于有了RTE,一切都变了。因为有了SWC的概念,所以标定参数有了两种变体:
  • SWC内部标定量,仅该SWC可用;
  • 单独的标定SWC为多个其他SWC标定参数
其实标定和测量的本质就是对于memory地址的访问,所以我个人没理解这样分的意义,估计是为了模块化和解耦。
因此,在设计之初就要和应用层开发人员确定好使用怎样的开发方式,考虑标定参数的属性,从而会影响整个应用层的架构设计。
例如在Simulink里提供了AUTOSAR.parameter这样的属性,如下图:

它可以生成对应的代码和arxml,导入到RTE配置工具即可识别;
如果模型早就搭好了,沿用的是simulink.parameter,甚至是SWC都是手写代码,那就需要在RTE配置工具里创建对应的SWC以及Calibration port,以davinci developer为例:

1.4 A2L生成

完成移植后,我们得试一下能不能标呀?
因此A2L文件的制作变成了另一个难题。根据经验,OEM买标定工具的时候很少考虑A2L编辑工具的采购,所以如果人力外包这种形式驻场,最好还是找一个祖传A2L,结合Matlab提供的地址替换函数来做A2L的合并;
当然,如果有ASAP2Editor之类的工具,那就快得多,唯一需要注意的是INCA和CANape的Master A2L在语法上有些许区别。

2. 主机厂视角

那么从主机厂视角来看,供应商如果能一套包完,可以直接用连上工具开始标定是最舒服的。
但是为了更深入地理解彼此和加快开发速度,个人认为可以从以下几个方面给供应商提需求:
  • 确定所使用的标定工具以及对应版本,方便A2L的制作;
  • 确定应用层SWC使用什么方式开发:模型还是手写,这会影响到集成效率和集成难度;
  • 确定链接文件中标定量观测量Flash和Ram存放位置;
  • 确定芯片是否支持Overlay功能,以便页切换功能的开发量预估;
  • 确定A2L文件中标定量、观测量的生成方式,与供应商沟通A2L合并方式;
  • 确定观测量的DAQ测量周期,以便BSW的配置
随着主机厂自研的需求越来越高,供应商释放BSW参考Demo的交付方式越来越多;因此主机厂开发人员要求会的技能也要越来越多,掌握INCA、CANape工程的创建、A2L的编辑、XCP指令具体含义甚至是BSW xcp模块的配置等等。


3.小结

以上是从不同开发角度来看待集成XCP协议栈需要注意的要点, 仅列举一些常见,如果大家还有更多想要了解或者发现遗漏的,欢迎补充,期待与大家共同进步!




往期回顾:

1.汽车标定精选

汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR 精选

AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)






请到「今天看啥」查看全文