跳转至

A2L文件解析

A2L文件说明

A2L文件是类XML语言的描述性语言。是一种方便XCP进行工作的描述性语言。

XCP是标定协议,主要是在汽车控制器等等在工作的时候,我们可以修改参数以及查看参数。控制器本身不适合实时修改和查看参数,因此引入PC,使用CAN、USB等等通信数据;PC查看和修改参数。而A2L则是告诉PC端上位机关于控制的通信、工作模式等等相关信息的,使PC端上位机可以和控制配合完成标定与观测任务。

因此A2L文件就是包含了通信接口、项目信息、控制器信息、标定变量信息、观测变量信息的一个文件。当然要完成标定与观测之前信息的传递也可以使用其他方案,例如定义协议使用CAN、USB等接口完成所有信息传递。各有优劣,ASAM小组选择了当前方案。

A2L文件总概

/begin PROJECT /* 表示一个项目 */

    /begin HEADER  /* 描述项目信息:项目编号、项目版本、厂家名称等 */ 
    /end HEADER

    /begin MODLUE  /* 描述ECU信息:一个ECU一个MODULE块 */

         /begin A2ML /*描述接口:包括传输命令、DAQ、传输层 */
         /end  A2ML 

         /begin MOD_PAR /* 内存的分段分页管理 */
         /end   MOD_PAR 

         /begin MOD_COMMON /* 一般性描述信息:数据的对齐方式等 */
         /end   MOD_COMMON

         /begin IF_DATA /* 接口具体的参数 */
         /end   IF_DATA

         /begin CHARACTERISTIC /* 标定变量:名称、地址、长度、计算公式、精度、最大最小值等 */
         /end   CHARACTERISTIC

         /begin AXIS_PTS /* 标定变量:二维三维数据时使用 */
         /end AXIS_PTS

         /begin MEASUREMENT /* 观测变量:名称、地址、长度、计算公式、精度、最大最小值等 */
         /end MEASUREMENT

         /begin COMPU_METHOD /* 定义计算公式 */
         /end COMPU_METHOD

         /begin COMPU_TAB /* 定义原始值和物理值的映射关系 */
         /end COMPU_TAB

         /begin RECORD_LAYOUT /* 定义标定变量的物理存储结构 */
         /end RECORD_LAYOUT

    /end MODLUE

/end PROJECT

这个部分主要包含项目编号、项目版本等信息。可以没有。

A2ML

这个部分主要是描述接口数据格式。例如将XCP协议支持的某种模式全部在该部分定义出来,会在后面的接口具体的参数部分直接使用。该部分在官方文档中会直接给出参考写法。

MOD_PAR

MOD_PAR部分管理控制器数据,最重要的信息是内存的分段分页管理会在标定时用到。

MOD_COMMON

MOD_COMMON部分主要是数据的对齐方式的描述信息。

IF_DATA

这块是A2L文件的主要内容。Timeout、支持的命令等等。OPTIONAL_CMD就是选择可选。指令,列出控制器支持的指令,必实现的指令不在此处。控制器是一定要实现的。

这块还有DAQ的配置,DAQ类型(动态/静态)、数量,用到的事件等等。

还有CAN的配置信息,ID、波特率、采样设置等等。

CHARACTERISTIC

标定量部分,包含了被标定的变量的名称、地址、长度、计算公式、精度,最大最小值等信息。

MEASUREMENT

定义观测量,包含了被观测量的名称、地址、长度、计算公式、精度,最大最小值等信息。

COMPU_METHOD

用于定义计算公式,即原始值和物理值之间的转换关系,将原始值通过相应的计算方法转换成便于用户阅读和使用的物理值。

RECORD_LAYOUT

用来定义标定变量的物理存储结构。