提到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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92768.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92768.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/92768.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【debug日记】MONAI SwinUNETR 目标检测项目调试总结(AI自动总结)

MONAI SwinUNETR 目标检测项目调试总结 日期: 2025年7月25日 项目: 使用 MONAI,以预训练的 SwinUNETR 为骨干网络,微调 RetinaNet 进行3D肺结节检测。 本文档旨在记录在项目配置、数据处理和模型训练过程中遇到的一系列问题及其解决方案,作为…

AI同传领域,字节跳动与科大讯飞激战进行时

在AI同声传译市场,行业巨头科大讯飞长期占据主导地位,但新晋玩家字节跳动正以迅猛姿态发起挑战。7月24日,字节旗下火山引擎正式发布豆包同声传译模型 Seed LiveInterpret 2.0,主打“人类级延迟”和“0样本声音复刻”,试…

[C++]string::substr

string substr (size_t pos 0, size_t len npos) const;substr() 主要功能是复制(截取更准确)子字符串,要求从指定位置 pos 开始,并具有指定的长度 len 。如果没有指定长度或者超出了源字符串的长度,则子字符串将延续…

KNN算法:从原理到实战全解析

一 算法介绍 K近邻(K-Nearest Neighbors, KNN)是一种基于实例的监督学习算法,适用于分类和回归任务。其核心思想是通过计算待预测样本与训练集中样本的距离,选取距离最近的K个邻居,根据这些邻居的标签进行投票&#xf…

医疗器械:DFEMA和PFEMA

在医疗器械行业,DFMEA(Design FMEA,设计失效模式及影响分析)和 PFMEA(Process FMEA,过程失效模式及影响分析)是核心的风险管理工具,旨在通过系统性识别潜在风险、分析影响并采取预防…

Qt 与 SQLite 嵌入式数据库开发

Qt 与 SQLite 的结合是开发轻量级、跨平台嵌入式数据库应用的理想选择。SQLite 作为一种零配置、文件型数据库,无需独立的服务器进程,非常适合集成到 Qt 应用中。本文将深入探讨 Qt 与 SQLite 的嵌入式数据库开发,包括基础操作、高级特性、性…

Oracle OMF 非OMF 文件 转化 不需要重建 file#.incarnation#

不需要重建就要重启, alter database datafile move 就可以在线 file#.incarnation# 是 incarnation 不是dbid Goal How to convert non OMF files to OMF files with ASM storage Datafiles are not deleted at dropping tablespace if files are non-OMF and …

大型微服务项目:听书——11 Redisson分布式布隆过滤器+Redisson分布式锁改造专辑详情接口

11 Redisson分布式布隆过滤器Redisson分布式锁改造专辑详情接口 11.1 缓存穿透解决方案&布隆过滤器 缓存穿透解决方案: 布隆过滤器: 布隆过滤器的使用: 11.2 远程调用查询所有的专辑id集合 修改: /*** 查询所有的专辑…

STM32与ADS1220实现多通道数据采集的完整分析和源程序

以下是基于STM32与ADS1220实现多通道数据采集的完整分析和源程序,结合硬件设计、通信协议及软件优化,提供高精度采集解决方案: 一、系统设计关键要点 ADS1220特性 24位高精度ΔΣ ADC,支持4路单端或2路差分输入 集成PGA(增益1~128)、基准电压和可编程电流源 多通道限制:…

百特搭AI低代码平台助力企业国际化业务敏捷拓展

在全球化浪潮下,企业扬帆出海或服务全球客户已成为重要战略。然而,开拓国际市场面临多重挑战:语言文化差异显著、本地化需求复杂多变、智能化应用需求激增、各国IT基础设施与合规要求各异。企业亟需一个能够快速响应、灵活适应,并…

epoll_event数据结构及使用案例详解

epoll_event 数据结构详解 在 Linux 的 I/O 多路复用机制 epoll 中&#xff0c;epoll_event 是关键的数据结构&#xff0c;用于描述文件描述符&#xff08;fd&#xff09;上的事件和关联数据。其定义在头文件 <sys/epoll.h> 中&#xff1a; struct epoll_event {uint32_t…

C++11STL容器map和set简单介绍

一、引言map和set底层结构比较复杂&#xff0c;我认为我们先谈基本介绍再谈C11&#xff0c;最后再谈map和set底层以及map和set封装。二、简单介绍一下map和setmap和set底层都是红黑树&#xff0c;是二叉搜索树的一种&#xff0c;查找非常快。不像数组、链表一样一个一个对比&am…

Java线程基础面试复习笔记

1. 线程与进程的区别进程是正在运行程序的实例&#xff0c;线程是进程中的执行单元。主要区别&#xff1a; 内存空间&#xff1a;不同进程使用不同的内存空间&#xff0c;同一进程下的线程共享内存空间资源开销&#xff1a;线程更轻量&#xff0c;线程上下文切换成本比进程上下…

面试题(技术面+hr面)

面试技术面HR面后端HR面常见问题*稳定性&#xff0c;上进心&#xff0c;目标感&#xff0c;抗压能力&#xff0c;学习能力*回答问题时注意体现上面五点&#xff0c;即使瞎扯也尽量往上靠。面经项目相关介绍一下你收获最大的一个项目你们团队有多少人&#xff0c;怎么分工的开发…

本地部署Dify教程

克隆 Dify 代码仓库克隆 Dify 源代码至本地。git clone hts://github.com/langgenius/dify.git启动 Dify进入 Dify 源代码的 docker 目录&#xff0c;执行一键启动命令:cd dify/docker #切换到指定目录 cp .env.example .env #修改文件名 docker compose up -d #启动

Android Kotlin 协程全面指南

协程是 Kotlin 提供的一套简化异步编程的轻量级线程操作框架&#xff0c;特别适合 Android 开发中的异步任务处理。以下是 Android 开发中需要掌握的协程核心知识点&#xff1a;1. 协程基础概念1.1 协程是什么轻量级线程&#xff1a;比线程更高效&#xff0c;可以在单个线程中运…

【Linux】进程切换与优先级

前言&#xff1a; 上文我们讲到了操作系统与Linux中进程的状态【Linux】进程状态-CSDN博客 本文我们来讲进程的优先级、以及进程的切换 进程优先级 什么是优先级&#xff1f; CPU中资源是有限的&#xff0c;而进程的数量一定是远大于CPU资源的&#xff0c;所以优先级是进程得…

首发即开源!DAWorkBench数据可视化分析软件正式发布!(附源码下载网址)

1 系统介绍DAWorkBench是一款面向科研实验和工程测试场景的数据可视化分析开源软件&#xff0c;支持实现数据清洗、信号处理和交互式可视化等功能。系统集成文件IO、数据处理以及可视化交互三大模块&#xff0c;支持多维数据分析与高质量图表生成&#xff0c;助力用户高效完成从…

Android Studio历史版本快速下载(二次修改记录)

原版&#xff1a;Android Studio历史版本快速下载_android studio 历史版本下载-CSDN博客 一. 最新版本 https://developer.android.com/studio?hlzh-cn 二. 历史版本 中国官网的历史版本为何不能下载&#xff1f;&#xff08;https://developer.android.com/studio/archi…

The Missing Semester of Your CS Education 学习笔记以及一些拓展知识(六)

文章目录The Missing Semester of Your CS Education 学习笔记以及一些拓展知识版本控制Git笔记部分Git的基本工作原理Git 的核心工作原理&#xff1a;快照而非差异Git 的三大工作区域Git的核心对象Git的四个对象对象之间的关系与工作流程&#xff1a;对象的引用Git的安装和基础…