CANape之ASAP2 Studio介绍

提到ECU的测量标定工具,很多小伙伴第一个想到的就是CANape。但其实,除了强大的测量标定功能之外,CANape还有很多其他功能。例如,CANape中集成的小工具——ASAP2 Studio,其支持对A2L文件(由ASAM组织所定义)进行编辑、修改、更新等操作。接下来就请各位跟着小编一起去了解一下CANape是如何实现这部分功能的吧。

在此之前,让我们先来了解一下什么是ASAM组织及A2L文件

ASAM全称为Association for Standardization of Automation and Measuring Systems即自动化及测量系统标准协会。其目的是提供通用软、硬件接口标准,以解决由于不同制造商提供的控制器存在的接口不匹配问题。目前ASAM组织在全球范围内已有200余家会员。

在标定领域里,ASAM组织定义了标定的三重架构,分别为ECU(电子控制单元)、测量标定系统(如CANape)、自动化系统。如下图所示:

其中我们所熟知的XCP协议,就是ECU与测量标定系统的通讯协议。

而A2L文件(ASAM MCD-2 MC文件)则是用于描述ECU标定和测量数据的标准文件格式。在A2L文件中主要定义了ECU与测量标定系统的通信参数、变量名称、数据类型、地址、转换规则等信息。下图为A2L文件的基本架构:

言归正传本文将向大家介绍一些ASAP2 Studio的主要功能。包括如何加载并更新A2L文件,如何生成变量并为变量设置详细信息(例如备注与单位、精度与数据范围、转换规则、DAQ测量通道等属性)

一、如何加载并更新A2L文件

在ASAP2 Studio中导入A2L文件主要有两种方法。一种是选择Open选项,打开一个新的A2L文件,另一种是选择Recent Files选项,打开最近所使用的A2L文件。

在ASAP2 Studio中最常用的一个功能就是加载MAP文件并根据MAP文件中的信息去更新A2L文件的信息。

首先,我们需要在Tools菜单栏下选择Load MAP File选项,加载MAP文件。在这一步我们需要注意的是选择对应自己MAP文件的Reader格式,否则ASAP2 Studio将无法解析MAP文件。

成功解析MAP文件后,可以在Display菜单下选择MAP File Window查看MAP文件中的变量信息。

最后,回到Tools菜单栏下,选择Update选项更新A2L文件。我们可以根据自己要更新的内容去对应选择需要激活的选项。

需要注意的是,在工作中一定要保证A2L与MAP文件的版本对应。例如,A2L文件中的数据类型或变量地址与MAP文件不符,可能会导致CANape中解析出来的变量值发生偏移或报错。

另外,关于MAP Reader的设置也有值得我们注意的地方。

例一,在默认情况下,为了提高MAP文件的解析速度,MAP文件中数组变量的默认解析长度为16。如需解析更大长度的数组,可进入ASAP2 Studio Options界面配置

例二,在默认情况下,ELF格式的MAP文件不解析结构体信息,如果想要解析结构体信息首先需要将MAP Reader选择为可以解析ELF文件的“ELF/DWARF 32/64 Bit”,然后将ELF_USE_CPP_EXTENSION_DWARF2的值更改为yes

二、如何生成变量并为变量设置详细信息

在A2L文件中为了实现变量的分级管理,可以创建不同的Groups,并且同一变量可以分配在不同的Group下。

1. 生成变量

ASAP2 Studio支持直接通过MAP文件生成变量,变量的类型主要包括测量量(Measurement)、标定量(Parameter)数组类型的变量需要创建成Map或Curve。

基于MAP文件创建的变量,其变量名称、数据类型、地址等信息均会与MAP文件保持一致。

2.变量属性

除了上述提到过的变量名称、数据类型、地址等属性,变量的属性还包括备注单位转换规则数据范围等。

关于备注和单位:

关于变量的精度和数据范围:

在实际工作中我们的变量都是有范围的。例如,下图所示的标定量ampl,其初始范围的设置为0到200。当工程师想要将ampl的值修改为255时,CANape就会报错。因为这已经超出了A2L文件中设置的变量范围,此时我们只需要在ASAP2 Studio中更改变量的取值范围并保存即可:

关于转换规则:

其中用得较多的是线性关系Linear:f(x) = Factor*x + 0ffset以及枚举Identical

转换规则的创建有两种操作方式。一种是在Navigation窗口中右键Conversion Methods,另一种是在Start菜单下选择Conversion选项。

这里是对CANape Demo工程中所设置的转换规则的示例:

注意同一转换规则可以应用于不同的变量,只需要通过Conversion Method为变量选择合适的转换规则即可。

关于DAQ测量通道:

在ASAP2 Studio,以提前配置信号的测量通道(即上传的周期或触发上传的事件)CANape的Measurement Configuration窗口添加信号后,会默认为预先在ASAP2 Studio配置好的测量通道。测量通道的配置如下所示

其中,None/Fixed/Variable的含义如下:

补充小知识:

在XCP协议中定义了两种测量方式。一种是Polling(轮询),另一种是DAQ(同步数据采集),两种方式各有特点。

关于Polling,是由主机(测量标定系统)向从机(ECU)下发SHORT_UPLOAD命令,从机接收到命令后,进行回复并上传数据即可。它的配置很简单,只需要ECU支持测量就可以,同时它也不占用ECU内存。但通过Polling获取数据,每次获取都需要两条报文来完成,这使得总线上的负载变高。当轮询多个信号时,需要按顺序发送命令/响应,每个请求之间留有延迟,这个延迟客观存在,所以Polling是异步的且无法保证信号的关联性。

关于DAQ,DAQ是一种同步数据采集方式,这很好的弥补了Polling无法保证时间同步、信号关联性以及总线负载高的问题。但DAQ的配置较为复杂,需要配置DAQ列表下发给从机,这将占用ECU的内存资源。在DAQ列表中会指定从机需要上传的信号的地址等信息,然后将不同的DAQ列表与不同的事件通道关联,之后ECU就会按照所关联的事件通道周期性或触发上传数据。

以上就是关于ASAP2 Studio的相关介绍,如有其他相关问题,欢迎直接留言或者联系邮箱support@dotrustech.com。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值