【A2L文件生成脚本学习路线】A2L文件是什么?

A2L文件是什么?

  • DAY 1 A2L文件的学习

A2L文件介绍

A2L文件基于ASAP2标准生成,是一个标定的描述文件,基于文本格式,描述ECU的通信等相关的参数,以及标定,观测变量的地址以及物理值计算公式等等。A2L 文件中的信息允许 XCP 主站通过 XCP 连接与从站模块通信。格式化的文本文件包含事件和测量定义以及其他配置信息,用于采集和激励数据以及执行其他函数。
可以把A2L文件理解为一个通讯矩阵,包含了项目信息、ECU信息、标定变量信息、测量变量信息等等。

A2L文件组成

  1. A2L文件头HEADER(项目配置信息等,一般不随软件编译变化,除非对应参数调整)
  2. 标定变量描述CHARACTERISTIC(包含的地址信息每次编译都有可能变化)
  3. 观测变量描述MEASUREMENT(包含的地址信息每次编译都有可能变化)
  4. 其他辅助信息,转换公式等 (一般不随软件编译变化,除非对应参数调整)
/begin PROJECT  //表示一整个项目,一个文件一个项目
	ident Name  
	string LongIdentifier  
	[-> HEADER]  
	{-> MODULE}*  
/end PROJECT 

其中,PROJECT 为关键字,指明当前变量的类型,/begin 和/end 是分界符,表示 PROJECT 的作用范围,通常称为一个模块。
Name 表示 PROJECT 的名称,LongIdentifier 表示当前变量注释。
HEADERMODULE 当前变量的成员,通常称为关键字。
参照 ASAP2 标准,紧接在关键字后直接被定义的成员是必选项,即该项内容必须存在,如 Name 和 LongIdentifier。
[-> ]表示的是可选项,即该项内容可以出现一次或者不出现,如 HEADER,
{-> }表示的是任选项,即该项内容可以出现多次或不出现,如 MODULE。
HEADER 表示该 PROJECT 的头信息,以下为HEADER包含的内容:

version of the parameter file format //[keyword VERSION, page 220]
project
project identifier
project number //[keyword PROJECT_NO, page 170]
remarks, comments

MODULE表示PROJECT 包含的设备信息,以下为 MODULE中的详细信息:

control unit management data //(e.g. users responsible,...)[MOD_PAR, page 158]
control unit internal structures //(e.g. standard record layout) [MOD_COMMON, page 156]
communication interfaces //[IF_DATA, see Part C]
adjustable and measurement objects //[CHARACTERISTIC, page 61 and MEASUREMENT, page 145]
conversion rules //[COMPU_METHOD, page 71]

以下为MODULE内部具体书写格式:

/begin MODULE Device/*描述ECU需要的所有信息,一个ECU对应一个MODULE块*/

      /begin MOD_PAR /*管理ECU的数据,编号等,内存的分段分页管理,类似DSP中的CMD文件*/
      /end   MOD_PAR 

      /begin MOD_COMMON/*一般性描述信息,比如大小端,数据的对齐方式*/
      /end   MOD_COMMON

      /begin CHARACTERISTIC/*定义标定变量,包含被标定的变量的名字,地址,长度,计算公式,精度,最大最小值等信息*/
      /end   CHARACTERISTIC /*可定义多个*/

      /begin AXIS_PTS
      /end AXIS_PTS

      /begin MEASUREMENT/*定义测量变量,包含了被测量的变量的名字,地址,长度,计算公式,精度,最大最小值等信息*/
      /end MEASUREMENT/*可定义多个*/

      /begin COMPU_METHOD/*定义计算公式,及原始值和物理值之前的转换关系 如phy = ax+b*/
      /end COMPU_METHOD

      /begin COMPU_TAB /*定义原始值和物理值的映射关系 一般是枚举变量*/
      /end COMPU_TAB

      /begin FUNCTION /*该块不是必须的*/
      /end FUNCTION

      /begin GROUP /*把标定变量和测量变量按照一定的逻辑组织起来,可选*/
      /end GROUP

      /begin RECORD_LAYOUT/*定义标定变量的物理存储结构(一维,二维表,三维表等)*/
      	/* Name               */  Scalar_BOOLEAN
  		FNC_VALUES 
      /end RECORD_LAYOUT

 /end  MODULE Device

MOD_PAR:这个块里包含了用于管理ECU的数据,例如客户名,编号,CPU类型,ECU的内存分配等,其中最重要的就是ECU的内存分配,开发人员需要根据ECU内存分段情况定义MEMORY SEGMENT和SEGMENT里边的PAGE,这里的SEGMENT/PAGE的概念和在线标定中的概念是一致的,一个MODULE里边只能出现一次。

MOD_COMMON:该块用来指定ECU的一些标准的一般性描述信息,比如大小端,数据的对齐方式,FLOAT变量的处理方式等,一个MODULE里也只能出现一次。

RECORD_LAYOUT:内存布局,描述数据的存放方式(单个变量,二维表,三维表等)。

CHARACTERISTIC:该块用来定义标定变量,里边包含了可以被标定的变量的名字,地址,长度,计算公式,精度,最大最小值等信息,一个MODULE里边可以出现很多次这样的块,也就是说一个ECU可以有很多的标定变量。

MEASUREMENT:该块用来定义测量变量,里边包含了可以被测量的变量的名字,地址,长度,计算公式,精度,最大最小值等信息,一个MODULE里边可以出现很多次这样的块,也就是说一个ECU可以有很多的测量变量。

COMPU_METHOD:该块用于定义计算公式,及原始值和物理值之前的转换关系,这些公式可以被标定变量和测量变量来引用,从而将原始值转换成便于用户阅读和使用的物理值。具体有6种转换方法。

COMPU_VTAB:该块用来定义原始值和物理值的映射关系,是一种特殊的转换关系,它一般应用于枚举变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值