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。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處: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的安裝和基礎…