女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

關于用 Simulink 開發應用軟件相關介紹和分享

MATLAB ? 來源:djl ? 作者:李智慧 ? 2019-09-16 11:54 ? 次閱讀

致力于汽車行業基于模型設計流程的實現以及電控單元開發方面的技術咨詢工作。他專注于嵌入式代碼生成、系統集成、模型驗證、處理器在環(PIL)實現、模型架構設計以及MBD工具定制等方面的開發及工具鏈的深入應用。在加入邁斯沃克之前,李智慧曾供職于法雷奧、德爾福、中汽中心等公司,有10年的汽車行業產品開發經驗。

圖形化建模是架構設計普遍使用的方法。而 Simulink 已經成為許多系統工程師進行架構設計的利器。不管是在仿真驗證階段還是快速原型階段,都可以利用 Simulink 非常方便地對復雜控制模型進行功能的組織、劃分、調度等工作。

本文參考 ISO 26262 的要求,同時考慮 AUTOSAR 代碼生成的兼容性,給出使用 Simulink 實現軟件架構設計的一些建議。

應用層軟件功能劃分

ISO 26262-6 要求創建層次化結構的軟件組件(Software Components — SWC)。軟件組件應滿足規模適中、高內聚、低耦合的要求。軟件組件加上ASIL(Automotive Safety Integration Level,汽車安全完整性等級)的要求就決定了開發及驗證的方法。軟件架構中的最小實體(Entity)就是軟件單元(Software Unit)。

在 AUTOSAR(Automotive Open System Architecture)中,應用層軟件由應用軟件組件組合(Compositions of Application Software Components)組成。一個應用軟件組件(Application Software Component — ASWC)要符合特定的模板,而且通過虛擬功能總線(Virtual Functional Bus — VFB。)與其他應用組件進行通信(在控制器內部,VBF 的具體實現是運行時環境 Run-time Environment — RTE)。Runnable(或可譯為運行實體)是應用軟件組件提供的、可以獨立調度的最小代碼片段。

【注】在 AUTOSAR 文檔中,軟件組件(通常指的是原子軟件組件 - Atomic Software Component)可以細分為應用軟件組件(Application Software Component)和傳感器-執行器軟件組件(Sensor-Actuator Software Component)。本文考慮與 Simulink 建模的相關性,只講應用軟件組件。如果傳感器-執行器軟件組件也用 Simulink 建模實現,可以參照應用軟件組件開發方法,在 Simulink 建模層面不強調其差異性。

不管在 ISO 26262 還是 AUTOSAR 中,對于軟件單元在層次化結構中的具體定位都沒有明確規定,實踐中通常根據具體軟件架構以及應用復雜度而定。

在 ISO 26262 架構下,如果某個軟件組件功能獨立而且實現簡單,它本身就可以是一個軟件單元;如果功能復雜,則可以進一步劃分為幾個軟件單元。

在 AUTOSAR 中情況類似:一個應用軟件組件可以只包含一個(也可能是幾個)運行實體,而且功能簡單,那么這個應用軟件組件本身就可以使一個軟件單元;如果包含多個運行實體而且功能較為復雜,每個運行實體可以是軟件單元;如果某些運行實體的功能非常復雜,則可以進一步將一個運行實體劃分為幾個軟件單元來實現。

在 Simulink 中,功能劃分體現在:將模型虛擬分組來創建抽象層;根據調度需求將模塊(block)分組;利用模型引用(Model Reference)來控制模型的規模。具體的軟件分層類似于以上提到的 AUTOSAR 中的分層。軟件單元通常要求為獨立模型,以便于單獨開發、驗證以及管理。其他層次根據復雜度而定。

下圖給出了一個 ISO 26262、Simulink、AUTOSAR 三者的映射關系示例:

關于用 Simulink 開發應用軟件相關介紹和分享

該示例表示的是最為復雜的一種情況:一個應用軟件組件包含多個復雜運行實體,而運行實體進一步劃分,有多個軟件單元模型實現。從上到下都是通過模型引用的方式逐級展開。以下各個章節都是基于這種情況示例。

軟件單元(Software Unit)

MathWorks建議

使用 Simulink模型來表達軟件單元

相比于子系統庫而言,一個模型有自己的仿真及代碼生成配置參數,可以單獨仿真、測試以及增量式生成代碼。由于模型的使用,多個軟件單元可以并行開發,并且在配置管理系統中可以單獨管理。

MathWorks建議

使用模型引用(Model Reference)集成軟件單元

頂層模型(集成模型)只是一個整體框架,具體的各個軟件單元通過模型引用連接。在這種架構下,利用 Simulink 本身的模型更新(快捷命令 Ctrl+D)功能,可以很容易地完成軟件單元集成后的靜態驗證。可以檢查軟件單元之間的接口是否匹配,可以檢查軟件單元模型與頂層集成模型配置參數的兼容性(例如解析器的選擇、硬件相關設置等)從而保證代碼生成的一致性。

關于用 Simulink 開發應用軟件相關介紹和分享

運行實體(Runnable)內部軟件單元(SU)的集成

在頂層模型這一層,Simulink 模塊可以顯示軟件單元的模型信息以及數據流和模塊執行順序。

MathWorks建議

使用模型引用的方式測試軟件單元

通過頂層模型(Top Model。也可稱之為測試框架 – Test Harness)引用軟件單元模型的方式來進行單元測試(Unit Test)。單元測試的基本要求之一是測試人員不可以修改被測單元(不管是模型還是代碼)。所以要建立測試框架,輸入激勵信號以及輸出的觀測都要在測試框架環境下完成。對于模型,可以采用模型引用(Model Reference)實現被測模型與測試環境的獨立。

關于用 Simulink 開發應用軟件相關介紹和分享

模型 SU1 進行 PIL 模式單元測試的框架模型

一個軟件單元模型可以在多種模式下測試驗證:

正常仿真模式(Normal Mode)

模型在環(Model-in-the-loop -- MIL)

軟件在環(Software-in-the-loop -- SIL)

處理器在環(Processor-in-the-loop -- PIL)

上圖所示的測試框架模型可以由 Simulink 軟件自動生成(上圖由 Simulink Test 生成,也可以根據實際需要,由 Simulink Verification and Validation 或者 Simulink Design Verifier 生成類似的測試框架)。工程師只需要根據功能需求,輸入測試用例(測試數據或測試序列)即可。

同樣的測試框架模型以及測試用例可以在各個測試階段重復使用:

模型階段 – 正常仿真模式或模型在環 – MIL

在 PC 機上驗證生成的代碼 – SIL

在目標處理器上驗證生成的代碼 – PIL

Simulink 自帶的仿真數據觀測器(Simulation Data Inspector)可以很方便的完成測試數據觀測及分析:

不同測試用例數據(輸入或輸出)圖形化顯示或對比

不同測試階段結果對比(比如 MIL 和 SIL 對比,MIL 和 PIL 對比等)

關于用 Simulink 開發應用軟件相關介紹和分享

用仿真數據觀測器分析數據

此外,Simulink Design Verifier還可以幫助工程師生成一些特定目的的測試數據來提高測試覆蓋度。

AUTOSAR運行實體(Runnable)

MathWorks 建議

使用函數調用子系統(Function-call Subsystem)

描述運行實體

AUTOSAR 當中,一個運行實體(Runnable)是指一個原子軟件組件(AUTOSAR Atomic Software Component)提供的最小代碼段,同時也是一個可以被單獨調度的任務。函數調用子系統提供了調度控制機制,可以很容易地實現模型各個部分周期性或非周期性的調度控制。

關于用 Simulink 開發應用軟件相關介紹和分享

函數調用子系統描述運行實體

每個函數調用子系統由一個或幾個互相連接的軟件單元(如圖:運行實體內部軟件單元的集成)組成。運行實體間數據交互的完整性采用AUTOSAR 運行實體間變量(Interrunnable Variable,簡稱IRV)機制來保護。因為所有函數調用由一個統一的觸發源產生,所以仿真的時候不會產生數據完整性問題。

軟件組件(Software Component)

對于應用層軟件來說,ISO 26262當中的軟件組件(SWC)對應于 AUTOSAR 中的應用軟件組件(ASWC)。

MathWorks建議

采用獨立模型來描述AUTOSAR應用軟件組件(ASWC)

在一個Simulink模型里將一個軟件組件對應的所有函數調用子系統封裝起來,在用Embedded Coder生成代碼時,這些函數調用子系統會自動映射到相應的運行實體(Runnable)。

MathWorks建議

要對應用模型架構與AUTOSAR 的兼容性進行驗證

在架構設計的早期,工程師可以只創建運行實體(Runnable)模型框架,其中的軟件單元(Software Unit)為空模型(只有頂層輸入及輸出,內部沒有邏輯及連接,如下圖所示)。

關于用 Simulink 開發應用軟件相關介紹和分享

空白的軟件單元模型

Embedded Coder(要求包含 AUTOSAR 支持包)可以分析模型架構,確認各個應用軟件組件(ASWC)是否可以根據 AUTOSAR(指定版本)的要求正確地訪問數據接口以及是否可以正確地使用運行實體間變量(IRV)。

關于用 Simulink 開發應用軟件相關介紹和分享

AUTOSAR 接口配置驗證

軟件單元(Software Unit)集成完成之后,在應用軟件組件(ASWC)生成代碼之前,可以利用 Embedded Coder 分析模型的 AUTOSAR 符合性,包括軟件單元(Software Unit)建模正確性分析,比如數據的耦合性檢查、全局數據存儲檢查、全局跳轉模塊檢查等等。

Embedded Coder 在生成 C 代碼的同時,還會生成對應的 arxml 文件,該文件符合指定的 AUTOSAR 版本,可以導入到外部 AUTOSAR 編輯工具(AAT)進一步完成系統級集成。

MathWorks建議

在 Simulink 環境下完成

AUTOSAR應用軟件組件的測試驗證

應用軟件組件(ASWC)這一級的集成測試可以完全在 Simulink 的環境下完成。

為了驗證生成的源代碼,Embedded Coder 將生成的代碼編譯打包成 S 函數(S-Function),創建軟件在環模塊(SIL block)。由于選擇了 autosar.tlc 作為系統目標文件(System Target File),S 函數運行所需要的 AUTOSAR RTE 接口會自動配置(不需要RTE代碼生成)。

軟件在環(SIL)和處理器在環(PIL)模塊可以在原始模型測試環境下直接替換被測模型(采用模型引用配置)。

關于用 Simulink 開發應用軟件相關介紹和分享

同一測試環境完成不同測試

軟件組件(Software Component -- SWC)的層次化結構

MathWorks建議

用虛擬子系統描述應用抽象層

ISO 26262 建議采用層次化的結構來組織軟件組件(參照 ISO 26262-6 第 7 章)。在AUTOSAR 中,應用軟件組件(ASWC)集成在一起稱為組合(Composition)。在 Simulink 中,采用虛擬子系統對功能模塊進行分組,從而實現抽象層的概念。組合(Composition)加上被控對象模型(Plant Model),可以仿真運行整個應用系統(下圖省略了調度部分)。

關于用 Simulink 開發應用軟件相關介紹和分享

系統級模型

在組合層次采用模型引用來集成軟件組件:

關于用 Simulink 開發應用軟件相關介紹和分享

組合模型引用軟件組件模型

應用軟件調度

ISO 26262 要求指定每一個算法塊的調度方法及執行順序。

運行實體(Runnable)內部軟件單元(SU)的執行順序

MathWorks建議

如果沒有對具體數據的依賴性,要將執行順序顯示出來

在函數調用子系統(Runnable)內部,Simulink可以顯示每個模型(軟件單元 - SU)的執行順序(參考上圖:運行實體內部軟件單元的集成)。如果模型之間存在數據依賴,Simulink可以自動判斷并設定執行順序。如果沒有依賴,Simulink根據輸出端口編號給出推薦的執行順序,用戶可以通過優先級選項修改執行順序。

運行實體的調度(Scheduling of Runnables)

MathWorks建議

使用Stateflow 或MATLAB模塊創建集中的調度器

Simulink 中的函數調用子系統由函數調用事件(Function-call Event)觸發。可以產生觸發事件的模塊有 Stateflow、MATLAB 模塊及函數調用生成器(Function-call Generator)。為了清楚表達所有軟件單元復雜的調度關系,建議使用 Stateflow 狀態圖。

關于用 Simulink 開發應用軟件相關介紹和分享

Stateflow 實現集中化調度示例

在Stateflow中,時間邏輯(Temporal Logic)可以用來產生周期性觸發事件,數據輸入端的轉移條件可以用來產生非周期觸發事件。每個并行狀態右上角的數字顯示了該狀態的執行次序。每個狀態里的事件列表定義了觸發的先后順序。

應用層通常有許多觸發事件。為了提高效率,可以用 MATLAB 腳本自動創建這樣的調度器,并且自動連接到相應的函數調用子系統。

軟件集成人員在 AUTOSAR RTE 中進行運行實體(Runnable)的運行任務分配時,可以參照用 Stateflow 描述的任務調度。反過來,也可以參照 RTE 中的任務分配調度,設計 Stateflow 調度器。

應用層軟件接口

ISO 26262 要求完整定義軟件單元(SU)及軟件組件(SWC)之間的接口。

ISO 26262 建模標準檢查(Model Advisor)可以驗證軟件單元建模的合規性。通過運行模型更新檢查功能,Simulink 引擎自動檢查接口連接及數據定義的正確性。Embedded Coder(包括 AUTOSAR 支持包)可以用來確認應用軟件組件(ASWC)接口定義是否完整以及是否符合 AUTOSAR 的要求。

Simulink 軟件提供的工具鏈(主要用到算法開發類、測試驗證類、代碼生成類等工具箱)以及開發方法可以很好地滿足符合 ISO 26262 及 AUTOSAR 要求的應用軟件開發。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7241

    瀏覽量

    91033
  • 調制解調器
    +關注

    關注

    3

    文章

    872

    瀏覽量

    39441
  • 函數
    +關注

    關注

    3

    文章

    4371

    瀏覽量

    64220
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    S8711A UXM5G 測試應用軟件

    蘇/州/新/利/通 S8711A UXM 5G 測試應用軟件 簡述 Keysight S8711A UXM 5G 測試應用軟件是一款交互式實時測試工具,適用于從早期原型測試一直到集成和驗證的整個芯片
    的頭像 發表于 02-20 16:58 ?302次閱讀
    S8711A UXM5G 測試<b class='flag-5'>應用軟件</b>

    眾合云科旗下101HR榮獲紐約數字獎應用軟件組銀獎

    北京2025年2月11日?/美通社/ -- 1月14日,由國際獎項協會IAA評選的「2024年度紐約數字獎」評選結果正式公布,眾合云科旗下101HR榮獲紐約數字獎應用軟件組銀獎,同批獲獎的還有宜家
    的頭像 發表于 02-11 15:32 ?308次閱讀
    眾合云科旗下101HR榮獲紐約數字獎<b class='flag-5'>應用軟件</b>組銀獎

    請問關于ADS5407內部寄存器有沒有相關的中文介紹的?

    請問關于ADS5407內部寄存器有沒有相關的中文介紹的?其中有幾個寄存器的功能不是特別明白,麻煩啦
    發表于 01-17 07:36

    MathWorks積極推動MATLAB與Simulink在教學項目中的應用

    全球領先的數學計算軟件開發商 MathWorks 今天宣布,其 MATLAB 和 Simulink 平臺在中國的高校教育中取得顯著成效。隨著科技的迅猛發展,國家新質生產力對未來人才提出了更高的創新
    的頭像 發表于 12-27 15:32 ?742次閱讀

    怎么Clion開發APM32

    APM32 官方 SDK 中提供了三種開發環境:Keil、IAR 和 Eclipse。不否認這三種環境的強大,但是在 AI 時代做嵌入式開發這三種環境就顯得有點不夠優雅了。本篇文章主要介紹
    的頭像 發表于 12-17 09:19 ?1577次閱讀
    怎么<b class='flag-5'>用</b>Clion<b class='flag-5'>開發</b>APM32

    Simulink自定義模塊開發教程 Simulink 在控制系統中的應用

    在控制系統的設計和分析中,Simulink 提供了一個強大的工具集,允許工程師通過圖形化界面快速構建和測試復雜的系統模型。然而,Simulink 的標準庫可能不包含所有特定的功能,這時就需要開發
    的頭像 發表于 12-12 09:21 ?1981次閱讀

    可以直接ADS1192ECG-FE連接到電腦上CCS進行調試嗎?

    如何用ADS1192開發板進行調試呢,user\'s guid 中無關于調試介紹,別回復讓我自己去看,要么你就詳細指出來在哪里,還有就是關于CCS
    發表于 12-12 06:58

    數據智能應用軟件公司明略科技遞表港交所

    近日,中國數據智能應用軟件領域的佼佼者明略科技(匯智控股)正式向港交所遞交了上市申請,標志著公司在資本市場的新征程。
    的頭像 發表于 12-03 11:22 ?835次閱讀

    潤和軟件榮獲全國首批應用軟件國產化等級認證證書

    近日,中國質量認證中心在南京召開“2024(首屆)認證賦能江蘇高質量發展大會”并頒發了全國首批“應用軟件國產化等級認證”證書,江蘇潤和軟件股份有限公司(以下簡稱“潤和軟件”)等四家企業成為全國首批
    的頭像 發表于 11-17 09:19 ?1232次閱讀

    Matlab/Simulink/Stateflow建模開發及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發及仿真測試,熟悉V模型開發流程。 熟悉自動代碼生成,能夠編寫或者配置自動代碼生成腳本。
    發表于 10-24 17:23

    ECU電控軟件開發及測試介紹

    本文重點介紹符合AutoSar架構的應用軟件開發、MBD開發模式下的軟件質量評估與優化方案、復雜場景下的ECU性能壓力測試方案。
    的頭像 發表于 09-26 14:25 ?3907次閱讀
    ECU電控<b class='flag-5'>軟件開發</b>及測試<b class='flag-5'>介紹</b>

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

    本次研討會,經緯恒潤將結合業務團隊多年來在軟件開發和測試領域的工程實踐經驗,分享探討基于AutoSar架構的應用軟件開發、基于MBD開發軟件質量評估和優化、復雜場景下ECU性能壓力測
    的頭像 發表于 09-26 14:18 ?1700次閱讀
    9月12日云技術研討會 | ECU電控<b class='flag-5'>軟件開發</b>及測試全流程解決方案

    使用MATLAB、Simulink和Polyspace加速軟件定義汽車開發

    開發軟件定義汽車 (SDV) 時,開發團隊必須具備新的能力,例如進行連續的軟件發布,減少軟件更改的交付周期以及盡可能減少部署失敗。同時,平臺團隊需要為車載計算機和區域控制器創建新
    的頭像 發表于 09-05 09:57 ?982次閱讀
    使用MATLAB、<b class='flag-5'>Simulink</b>和Polyspace加速<b class='flag-5'>軟件</b>定義汽車<b class='flag-5'>開發</b>

    esp32什么軟件編程

    。 概述 ESP32具有豐富的外設接口和靈活的編程方式,支持多種編程語言和開發環境。本文將詳細介紹ESP32的編程軟件,包括開發環境、編程語言、庫函數、
    的頭像 發表于 08-19 17:24 ?6326次閱讀

    8月8日在線研討會 | 如何快速開發量產級別功能安全應用軟件

    本次研討會經緯恒潤將結合自身控制器產品研發及國內外功能安全開發、集成、測試、咨詢的實踐經驗,重點基于功能的應用監控軟件,從需求定義、架構設計、單元設計及測試驗證等多個環節,分享功能安全量產軟件實施
    的頭像 發表于 08-01 16:10 ?459次閱讀
    8月8日在線研討會 | 如何快速<b class='flag-5'>開發</b>量產級別功能安全<b class='flag-5'>應用軟件</b>