0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

ECU電控軟件開發(fā)及測試介紹

經(jīng)緯恒潤 ? 2024-09-26 14:25 ? 次閱讀

伴隨著電動化、智能化、網(wǎng)聯(lián)化等技術發(fā)展的時代背景,各行各業(yè)電子電氣架構都在發(fā)生深度變革。新型架構逐漸取代傳統(tǒng)架構,比如汽車、工程機械、儲能、船舶等領域,電子電氣架構從傳統(tǒng)分布式向域集中式,甚至向著中央集中式發(fā)展,控制器功能呈現(xiàn)集中化、復雜化的特點。為了提升開發(fā)效率、提高軟件的穩(wěn)定性以及便于平臺移植,基于 AutoSar 架構開發(fā)復雜軟件已成為行業(yè)共識。

另外,行業(yè)內(nèi)競爭愈發(fā)激烈,開發(fā)周期大大壓縮,加之軟件復雜度的提升,在快速迭代的情況下確保軟件質(zhì)量是一個重要課題。加之 ASPICE、ISO26262 等過程體系和法規(guī)標準的要求,如何開發(fā)符合 AutoSar 架構的應用軟件、評估軟件質(zhì)量和性能、優(yōu)化軟件結構、驗證壓力場景下的 ECU 穩(wěn)定性成為各廠商面臨的新挑戰(zhàn)。

本文重點介紹符合 AutoSar 架構的應用軟件開發(fā)、MBD 開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化方案、復雜場景下的 ECU 性能壓力測試方案。

符合 AutoSar 架構的應用軟件開發(fā)介紹

對于 AutoSar 軟件架構,分為經(jīng)典平臺 AutoSar CP 和自適應平臺 AutoSar AP,二者應用場景存在一定差別:AutoSar CP 具有高安全、高實時性,其通常部署在微控制器 MCU 類型芯片或多核異構芯片 M 核;AutoSar AP 具有動態(tài)性和可擴展性,適用于大數(shù)據(jù)并行處理和高性能計算等應用場景,通常部署在 MPU 或多核異構芯片 A 核。目前從行業(yè)內(nèi)來看,無論是域控制器還是中央 + 區(qū)域控制器,通常都是多核的,甚至是多核異構的,不同核根據(jù)實際使用需求部署 AutoSar CP 或 AP,基礎軟件通常采用標準的 BSW 協(xié)議棧。下圖所示是 AutoSar 軟件架構示例:

wKgaomb0_OKAT9W7AADiOtArmc4665.pngAutoSar 軟件架構

那對于應用層軟件來說,如果要開發(fā)符合 AutoSar 架構的軟件,需要考慮以下兩個重要問題:

·采用何種開發(fā)工具鏈

·采用何種開發(fā)模式

對于應用軟件開發(fā)工具鏈,通常涉及 SWC 軟件架構設計工具和軟件編程實現(xiàn)工具。SWC 軟件架構設計工具主要對應用層軟件架構進行實現(xiàn),定義 SWC、配置 SWC 的交互接口、配置 Runnable、導出 ARXML 文件等,一般不同品牌的協(xié)議棧都有對應的 SWC 軟件架構設計工具,經(jīng)緯恒潤自研 AutoSar 協(xié)議棧提供工具鏈方案為 EAS-SWCDesigner。

wKgZomb0_P2AW4LTAADQL54Fdc4688.pngEAS-SWCDesigner 界面

而軟件編程實現(xiàn)可基于圖形化編程自動生成代碼或手寫代碼的方式,AutoSar CP 和 AP 架構應用層軟件開發(fā)實現(xiàn)方法略有差別,CP 架構應用層更多采用基于模型設計方法開發(fā),工具鏈通常采用 Matlab/Simulink,其對 CP 架構應用層開發(fā)的支持比較完善且成熟,但是由于其對 AP 架構應用軟件開發(fā)支持還存在不完善的點,故 AP 架構應用層軟件開發(fā)目前更多還是基于手寫 C++ 代碼的方式,工具鏈基于一些代碼編輯工具比如 Vscode。

對于應用軟件開發(fā)模式,分為自上而下開發(fā)、自下而上開發(fā)和雙向開發(fā)模式。自上而下開發(fā)比較適用于正向開發(fā)流程,在有 EE 架構輸入的情況下采用該模式,這種模式的好處是可以繼承 EE 架構的工作產(chǎn)品,但是缺點是工作鏈路會比較長,應用層和底層軟件開發(fā)都需要依耐 SWC 架構設計導出的 ARXML 文件作為輸入,影響開發(fā)迭代效率;自下而上開發(fā)是直接在軟件編程工具實現(xiàn)軟件,然后配置 AutoSar 接口,再導出 ARXML,然后對 ARXML 文件進行合并,這種方式比較適用于沒有 EE 架構輸入的情況,應用軟件開發(fā)工程師獨立配置 AutoSar 接口,這種模式的好處是不依耐 AutoSar 工具鏈,比較靈活,但是缺點是對每個應用軟件開發(fā)人員 AutoSar 知識要求高些;雙向開發(fā)模式就是結合自上而下和自下而上開發(fā)模式的優(yōu)點,針對第一版軟件采用自上而下開發(fā)模式,后續(xù)版本軟件更新迭代采用自下而上開發(fā)模式。

wKgaomb0_R6AbY3IAAC0HYJycpI476.png應用軟件開發(fā)模式

MBD 開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化方案

MBD 全稱是 Model Based Design(基于模型設計),是一種以可視化模型開發(fā)為主的開發(fā)方式,區(qū)別于傳統(tǒng)的以文本編碼為媒介的代碼開發(fā)。采用模型化的方式來描述控制算法設計,無論是可讀性、可維護性、可移植性、測試驗證的便利性等方面,相比于從前手工 C 代碼都有長足的進步?;谝陨匣谀P烷_發(fā)的特點基于 Simulink 的模型化 + 自動代碼生成的開發(fā)方式在汽車電子行業(yè)正在逐漸演變成開發(fā)的標準配置。接踵而來如何保證 MBD 開發(fā)方式下軟件質(zhì)量問題也成為現(xiàn)階段人們熱議的話題

針對軟件質(zhì)量直接有效的手段便是開展完備的測試或在軟件開發(fā)過程中優(yōu)化軟件結構減少問題的引入。

如何開展完備的模型測試?

模型驗證方法可以分為靜態(tài)驗證和動態(tài)驗證,模型靜態(tài)驗證,是一種通過 MAAB 和 dSPACE 等建模公司提供的建模規(guī)則指南來驗證模型設計是否符合規(guī)則的測試方法。此外,還有一種模型度量元指標檢查方法,可以分析模型的復雜程度,以此評判模型在可維護性、可移植性、可重用性等不同維度的質(zhì)量特性。綜上所述,在模型靜態(tài)驗證部分,可以看出有兩種方法:建模規(guī)范規(guī)則檢查和模型度量元指標檢查。與模型靜態(tài)驗證不同,模型動態(tài)驗證可以通過比較在執(zhí)行實際模型時的輸出值來進行驗證。通過根據(jù)用戶輸入預期結果值對比實際模型結果值來動態(tài)驗證模型。通過檢查模型的覆蓋率,可以提高測試用例針對需求的覆蓋率以及測試用例的充分性。此外借助 ASPICE 過程管理的思維,在整個測試過程中加入過程管理思維,確保測試過程、測試環(huán)境、測試策略的可靠性以及測試用例的充分性、一致性、追溯性,以此確保模型質(zhì)量。

如何優(yōu)化軟件結構?

現(xiàn)階段我們模型生成的代碼是否會存在以下問題:

·生成代碼一個函數(shù)可能會上萬行代碼

·看不懂 matlab 生成代碼后的變量的定義及過程轉(zhuǎn)化

·要不要針對模型生成的代碼做修改

優(yōu)化軟件的前提是已經(jīng)開展靜態(tài)測試優(yōu)化完畢模型結構。確保模型結構的規(guī)范性。針對每一個軟件設計單元生成獨立函數(shù)、每一個軟件組件生成與之相對應的 C 文件可以確保模型生成代碼的結構清晰。同時不對模型生成的代碼做任何的修改是 MBD 開發(fā)過程中的軟件維護準則。

綜上讓我們一起來期待恒潤針對 MBD 開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化的解決方案。

復雜場景下的 ECU 性能壓力測試方案

隨著控制器數(shù)量的激增和模塊交互復雜度的提升,只針對軟件基礎功能驗證的效果存在一定的缺陷,越來越多的項目實踐表明,軟件的偶發(fā)性故障需要從軟件性能指標、壓力場景來進行補充驗證,以確保軟件產(chǎn)品的質(zhì)量。

性能測試針對 ECU 電控軟件的內(nèi)存(堆棧、RAM/ROM/FLASH)、CPU 負載進行最差工況的分析,保證資源占用的合理性;壓力測試構建通信、IO 驅(qū)動、診斷、網(wǎng)絡管理等模塊的異常注入、總線故障、高頻觸發(fā)等場景,保證軟件功能在壓力場景下不存在致命風險。

基于 AbsInt 的靜態(tài)性能分析

?客戶收益

·評估資源使用率,指導芯片選型和工程優(yōu)化

·保證軟件的任務、中斷預留堆??臻g和分配周期合理性

·保證芯片內(nèi)存占用率和 CPU 負載在閾值范圍內(nèi)

·開展符合功能安全和 ASPICE 流程要求的測試

?測試內(nèi)容

·內(nèi)存:自動化分析最差工況的堆棧用量、RAM/ROM/Flash 占用率

·WCET:分析最差工況下的執(zhí)行時間,測試周期穩(wěn)定性和任務實時性

·調(diào)度仿真模擬任務調(diào)度,建模仿真 CPU 負載率和任務占比

?方案特點

·借助 AbsInt 工具,針對工程二進制可執(zhí)行文件進行自動化分析,無需依賴源碼

·支持 PPC、V850、Tricore、ARM 等多種架構芯片的堆棧、時間分析

·分析遍歷工況,結果涵蓋程序的各個入口

·圖形化展示最差工況下的執(zhí)行路徑和占比用量,指導性能優(yōu)化

·不依賴測試用例,執(zhí)行效率高,項目周期短

·AbsInt 工具滿足 ASIL D 等級功能安全標準

wKgZomb0_UiAdZXzAAEGUCwJq4c966.png基于 AbsInt 的測試流程

wKgaomb0_WSAPXXeAABWxfaCoyI098.png函數(shù)調(diào)用關系及用量顯示

wKgaomb0_XyAGUNyAACm1z3uUvE673.png數(shù)據(jù)化表格用量展示

基于 RVS 的動態(tài)性能測試

?客戶收益

·在 PIL、HIL、車載環(huán)境下進行時序分析,確保軟件行為安全

·可視化監(jiān)測任務調(diào)度和 CPU 負載,為系統(tǒng)升級提供優(yōu)化參考

·保證多任務和多核運行的合理性,規(guī)避優(yōu)先級反轉(zhuǎn)、死鎖等時序問題

·開展符合功能安全和 ASPICE 流程要求的測試

?測試內(nèi)容

·WCET:分析任務 / 中斷的最差工況執(zhí)行時間,測試周期穩(wěn)定性和響應實時性

·任務調(diào)度:評估 WCRT,監(jiān)測任務時序特征,圖形化顯示多核、多任務調(diào)度關系

·負載率:基于實際工況對 CPU 負載率進行實時統(tǒng)計和分析,評估極限負載下的 CPU 負載率占用情況

?方案特點

·借助 RVS 分析套件進行實時數(shù)據(jù)采集和分析,還原實際環(huán)境下的執(zhí)行工況

·支持全量數(shù)據(jù)采集和長時間監(jiān)測運行,追蹤定位軟硬件交互情況

·自定義程度高,項目復用性強,可針對任意函數(shù)、模塊或代碼段進行時序分析

·支持集成多種處理器 + 編譯器環(huán)境,實現(xiàn) PIL/HIL/ 車載環(huán)境下分析

·RVS 工具可以支持產(chǎn)品功能安全認證等級 ASIL D

wKgZomb0_aCANDiNAAFFLNjctGI446.png基于 RVS 的測試流程

wKgZomb0_baAcl8UAAFU7IJBC1w814.png時序調(diào)度分析

基于自動化測試框架的壓力測試

?客戶收益

·保證通信、診斷、操作系統(tǒng)、IO 驅(qū)動、網(wǎng)絡管理等模塊在壓力場景下不存在致命風險

·作為功能驗證的補充,發(fā)現(xiàn)軟件質(zhì)量潛在問題,確保軟件魯棒性、穩(wěn)定性

·構建標準化的壓力測試用例模板,有助于形成符合功能安全要求的測試流程

·測試用例搭載自動化測試框架進行測試執(zhí)行、用例管理、問題追溯

?測試內(nèi)容

·針對 NVM、IO 驅(qū)動、CAN、LIN、ETH、COM 等模塊進行壓力場景構建

·分析系統(tǒng)不同組件間的時延特性,驗證模塊運行時間穩(wěn)定性

·驗證在異常注入、高頻觸發(fā)、總線故障等因素影響下的功能穩(wěn)定性

·驗證極限工況下的核心功能有效性及軟件后續(xù)響應的合理性

?方案特點

·借助自動化測試框架執(zhí)行測試用例,測試周期短、測試效率高、測試復用性強

·支持軟硬件交互,可監(jiān)測底層函數(shù)、上層報文、外部信號

·支持在 PIL/HIL 環(huán)境下開展測試,可同步注入多種激勵進行測試驗證

wKgaomb0_daAYOzsAADSqLBjfwc262.png測試流程示意

wKgaomb0_e-AEeNlAAERdSqnC-o476.png測試框架示意

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件開發(fā)

    關注

    0

    文章

    588

    瀏覽量

    27288
  • AUTOSAR
    +關注

    關注

    10

    文章

    341

    瀏覽量

    21365
  • ecu
    ecu
    +關注

    關注

    14

    文章

    865

    瀏覽量

    54230
收藏 人收藏

    評論

    相關推薦

    瑞薩電子推出完整的集成開發(fā)環(huán)境, 無需硬件即可實現(xiàn)ECU級車用軟件開發(fā)

    全新集成軟件開發(fā)環(huán)境支持多芯片ECU, 縮減開發(fā)時間和后期設計修改工作量 ? 2022 年 9 月 28 日,中國北京訊 - 全球半導體解決方案供應商瑞薩電子(TSE:6723)今日宣布,推出全新
    發(fā)表于 10-08 10:21 ?772次閱讀
    瑞薩電子推出完整的集成<b class='flag-5'>開發(fā)</b>環(huán)境, 無需硬件即可實現(xiàn)<b class='flag-5'>ECU</b>級車用<b class='flag-5'>軟件開發(fā)</b>

    ECU/MCU軟件開發(fā)

    汽車電子技術——ECU/MCU軟件開發(fā)1. ECU/MCU軟件開發(fā)知識儲備1.1 ECU/MCU相關基礎知識1.2 C語言編程知識1.3 外
    發(fā)表于 09-10 08:13

    基于OSEKturbo的電控柴油機ECU軟件開發(fā)與實現(xiàn)

    采用基于OSEKturbo的模塊化方法設計電控柴油機ECU軟件開發(fā)框架。在此框架下進行了ECU軟件開發(fā),并分析目標代碼的可調(diào)度性。實驗證明采
    發(fā)表于 04-21 22:01 ?68次下載

    測試程序軟件開發(fā)平臺的實現(xiàn)

    測試程序軟件開發(fā)平臺的實現(xiàn)討論了測試程序軟件設計平臺的基本功能、組成和軟件結構,并介紹了與
    發(fā)表于 01-09 16:59 ?41次下載
    <b class='flag-5'>測試</b>程序<b class='flag-5'>軟件開發(fā)</b>平臺的實現(xiàn)

    ARM嵌入式軟件開發(fā)

    ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)
    發(fā)表于 01-15 17:29 ?64次下載

    TI的軟件開發(fā)系統(tǒng)的使用應用和資料概述

    本文的主要內(nèi)容介紹的是TI的軟件開發(fā)系統(tǒng)介紹和使用應用和資料概述
    發(fā)表于 05-03 10:22 ?3次下載
    TI的<b class='flag-5'>軟件開發(fā)</b>系統(tǒng)的使用應用和資料概述

    Linux軟件開發(fā)環(huán)境

    Linux軟件開發(fā)環(huán)境介紹
    發(fā)表于 03-25 15:46 ?7次下載
    Linux<b class='flag-5'>軟件開發(fā)</b>環(huán)境

    汽車電子技術——ECU/MCU嵌入式軟件開發(fā)

    汽車電子技術——ECU/MCU軟件開發(fā)1. ECU/MCU軟件開發(fā)知識儲備1.1 ECU/MCU相關基礎知識1.2 C語言編程知識1.3 外
    發(fā)表于 10-25 11:06 ?20次下載
    汽車電子技術——<b class='flag-5'>ECU</b>/MCU嵌入式<b class='flag-5'>軟件開發(fā)</b>

    汽車軟件開發(fā)流程介紹

    在汽車軟件開發(fā)中,軟件開發(fā)流程是軟件工程的核心,因為它們?yōu)?b class='flag-5'>軟件開發(fā)實踐“提供了一個骨架并確保了它的嚴謹性”。軟件開發(fā)的流程包含“階段”“活動
    發(fā)表于 08-15 12:03 ?1.4w次閱讀

    汽車電控底層及應用層軟件開發(fā)介紹

    底層軟件開發(fā)內(nèi)容有:一方面是設備驅(qū)動的實現(xiàn),基于主芯片有:底層驅(qū)動PORTS,ADC,PWM,SPI,CAN,SENT等,基于外圍芯片的復雜驅(qū)動。
    發(fā)表于 10-10 09:13 ?3613次閱讀

    軟件開發(fā)的流程和方法有哪些?

    需求定義階段要對項目可行性和用戶需求進行分析,確定能否開發(fā);軟件開發(fā)階段包括概要設計、詳細設計、編碼過程、調(diào)試和測試過程;軟件維護是周期最長的階段,在這個過程中需
    的頭像 發(fā)表于 12-27 10:56 ?1960次閱讀
    <b class='flag-5'>軟件開發(fā)</b>的流程和方法有哪些?

    ecu測試是什么 汽車ecu測試的共性有哪些

    ECU開發(fā)測試中,通常會把二者區(qū)分開來,我們從以下幾個角度來看差異點: 測試對象:軟件測試
    發(fā)表于 07-25 09:33 ?772次閱讀
    <b class='flag-5'>ecu</b><b class='flag-5'>測試</b>是什么 汽車<b class='flag-5'>ecu</b><b class='flag-5'>測試</b>的共性有哪些

    AUTOSAR軟件開發(fā)環(huán)境之EB tresos Studio簡介

    EB tresos是一款經(jīng)典的AUTOSAR軟件開發(fā)環(huán)境,依賴于一致的單一工具環(huán)境來通過汽車開放系統(tǒng)架構 AUTOSAR 開發(fā)電子控制單元 (ECU);它能夠?qū)崿F(xiàn)配置、驗證和生成 ECU
    的頭像 發(fā)表于 09-19 10:06 ?7413次閱讀
    AUTOSAR<b class='flag-5'>軟件開發(fā)</b>環(huán)境之EB tresos Studio簡介

    Vector DaVinci Team解決方案實現(xiàn)AUTOSAR Classic ECU軟件開發(fā)

    隨著軟件技術的發(fā)展,車輛的開發(fā)過程從硬件主導轉(zhuǎn)變?yōu)?b class='flag-5'>軟件定義汽車(SDV),軟件開發(fā)在汽車的開發(fā)過程中扮演著舉足輕重的角色。車輛E/E架構由原
    的頭像 發(fā)表于 09-13 11:23 ?276次閱讀
    Vector DaVinci Team解決方案實現(xiàn)AUTOSAR Classic <b class='flag-5'>ECU</b><b class='flag-5'>軟件開發(fā)</b>

    9月12日云技術研討會 | ECU電控軟件開發(fā)測試全流程解決方案

    本次研討會,經(jīng)緯恒潤將結合業(yè)務團隊多年來在軟件開發(fā)測試領域的工程實踐經(jīng)驗,分享探討基于AutoSar架構的應用軟件開發(fā)、基于MBD開發(fā)軟件
    的頭像 發(fā)表于 09-26 14:18 ?173次閱讀
    9月12日云技術研討會 | <b class='flag-5'>ECU</b><b class='flag-5'>電控</b><b class='flag-5'>軟件開發(fā)</b>及<b class='flag-5'>測試</b>全流程解決方案