一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

MATLAB ? 來源:djl ? 作者:李智慧 ? 2019-09-16 11:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

應用層軟件功能劃分

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

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

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

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

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

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

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

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

軟件單元(Software Unit)

MathWorks建議

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

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

MathWorks建議

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

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

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

MathWorks建議

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

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

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

正常仿真模式(Normal Mode)

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

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

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

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

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

模型階段 – 正常仿真模式或模型在環(huán) – MIL

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

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

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

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

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

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

AUTOSAR運行實體(Runnable)

MathWorks 建議

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

描述運行實體

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

函數調用子系統(tǒng)描述運行實體

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

軟件組件(Software Component)

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

MathWorks建議

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

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

MathWorks建議

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

空白的軟件單元模型

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

AUTOSAR 接口配置驗證

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

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

MathWorks建議

在 Simulink 環(huán)境下完成

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

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

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

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

同一測試環(huán)境完成不同測試

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

MathWorks建議

用虛擬子系統(tǒng)描述應用抽象層

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

系統(tǒng)級模型

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

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

應用軟件調度

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

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

MathWorks建議

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

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

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

MathWorks建議

使用Stateflow 或MATLAB模塊創(chuàng)建集中的調度器

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

關于用 Simulink 開發(fā)應用軟件相關介紹和分享

Stateflow 實現集中化調度示例

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

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

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

應用層軟件接口

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

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

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

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

    關注

    8

    文章

    7256

    瀏覽量

    91867
  • 調制解調器
    +關注

    關注

    3

    文章

    874

    瀏覽量

    39615
  • 函數
    +關注

    關注

    3

    文章

    4381

    瀏覽量

    64870
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于瑞薩64位MPU RZ/G2L進行32位應用軟件開發(fā)

    本文主要介紹基于瑞薩64位MPU RZ/G2L進行32位應用軟件開發(fā)介紹,用于解決客戶32位軟件移植相關問題,供客戶參考。
    的頭像 發(fā)表于 06-26 15:48 ?949次閱讀
    基于瑞薩64位MPU RZ/G2L進行32位<b class='flag-5'>應用軟件開發(fā)</b>

    S8711A UXM5G 測試應用軟件

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

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

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

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

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

    怎么Clion開發(fā)APM32

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

    Simulink自定義模塊開發(fā)教程 Simulink 在控制系統(tǒng)中的應用

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

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

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

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

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

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

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

    Matlab/Simulink/Stateflow建模開發(fā)及仿真測試

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

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

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

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

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

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

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

    esp32什么軟件編程

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

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

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