




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、制作者 程麗嵌入式系統(tǒng)概論第四章 嵌入式系統(tǒng)設計-實時多任務設計本章接下來介紹軟硬件功能劃分軟硬件分開設計軟硬件協(xié)同設計實時多任務設計實時多任務設計起因常規(guī)方法的不足重點并發(fā)性、實時性設計方式傳統(tǒng)方法的實時性改造要點多任務劃分基于事件、基于結構 DARTS設計過程DARTS的設計思想把系統(tǒng)結構化成并發(fā)任務,定義任務間接口;包括ARTS階段和DRTS階段;ARTS階段:實時系統(tǒng)需求模型;DRTS階段:實時系統(tǒng)設計。DARTS設計過程開發(fā)過程1. 系統(tǒng)需求定義2. 劃分子系統(tǒng)3. 劃分任務4. 定義任務接口5. 任務設計6. 編碼實現(xiàn)3. 劃分任務劃分任務的原則是I/O 依賴性 功能的時間關鍵性計
2、算需求功能內(nèi)聚時間內(nèi)聚周期執(zhí)行DARTS設計方法I/O 依賴性 DeviceI/O Task App.Task如果變換依賴于I/O,速度受限I/O,可獨立成任務在系統(tǒng)中創(chuàng)建與I/O設備數(shù)目相當?shù)腎/O任務I/O任務只實現(xiàn)與設備相關的代碼I/O任務的執(zhí)行只受限于I/O設備的速度,而不是處理器在任務中分離設備相關性 功能的時間關鍵性將有時間關鍵性(deadline)的功能分離出來, 組成獨立運行的任務賦予這些任務高的優(yōu)先級,以滿足對時間的需要event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline 2Task 2 計算需求計算需求計算量大的功
3、能占用CPU的時間多,把計算功能捆綁成任務,以消耗CPU的剩余時間賦予計算任務較低優(yōu)先級, 能被高優(yōu)先級的任務搶占,保持高優(yōu)先級的任務是輕量級的多個計算任務可安排成同優(yōu)先級,按時間片循環(huán)輪轉功能內(nèi)聚將緊密相關的功能變換組成一個任務,減少通信的開銷把每個變換都作為同一任務中一個個獨立的模塊,不僅保證了模塊級的功能內(nèi)聚,也保證了任務級的功能內(nèi)聚event 1F1(x) + F3(x)event 2F2(x)時間內(nèi)聚將在同一時間內(nèi)完成的各功能(即使這些功能是不相關的)形成一個任務功能組的各功能是由相同的外部事件驅動的(如時鐘等),這樣每次任務接收到一個事件,它們都可以同時執(zhí)行由于減少了任務調度及切換
4、的次數(shù),減少了系統(tǒng)的開銷Clock TickeventF1(x) + F2(y)+F3(z)F4(x)+F5(y)周期執(zhí)行10HZF1F2F1F210HZ15HZ15HZ一個需要周期執(zhí)行的變換可以作為一個獨立的任務,按一定的時間間隔被激活將在相同周期內(nèi)執(zhí)行的各功能組成一個任務頻率高的任務賦予高優(yōu)先級4. 定義任務接口任務間的接口采用如下兩個模塊任務間通信模塊TCM(Task Communication Module)任務同步模塊TSM(Task Synchronization Module)DARTS設計方法任務間通信模塊DARTS支持兩類不同的TCM(任務間通信模塊)消息通信模塊信息隱藏模塊
5、消息通信模塊任務間通信模塊松耦合消息通信消息隊列包括二進制信號量,用于互斥事件同步用來在隊列滿時掛起生產(chǎn)者,隊列為空時掛起消費者每個消息隊列限制了最大長度每個消息隊列都和一個事件相連,由事件激活任務緊耦合消息通信發(fā)送和接收隊列各有一個元素任務間通信模塊任務間通信模塊任務間通信模塊信息隱藏模塊系統(tǒng)中可能有一些資源如查詢數(shù)據(jù)、數(shù)據(jù)池和數(shù)據(jù)存儲區(qū)等可以被兩個或更多的任務共享使用,或是只讀,或是可讀可寫數(shù)據(jù)存儲區(qū)寫數(shù)據(jù)讀數(shù)據(jù)讀數(shù)據(jù)任務A任務B任務同步模塊任務同步用事件來實現(xiàn),目標任務等待一個事件的發(fā)生,或源任務發(fā)送事件信號激活目標任務源S:發(fā)事件信號(E)S目標D:等待事件(E)D任務同步模塊TSM任
6、務界面在DARTS中任務界面按照以下規(guī)則統(tǒng)一若傳遞信息的任務與接收信息的任務運行速度不同,用松耦合消息序列若傳遞信息的任務只有在收到接收者的回答后才能繼續(xù)執(zhí)行,用緊耦合消息/應答如果只是需要事件發(fā)生的通告,沒有數(shù)據(jù)傳輸,用事件信號需要被兩個或多個任務引用的數(shù)據(jù)區(qū)被處理成一個消息隱藏模塊每個等待多個事件的任務都需要一個任務同步互斥模塊 DARTS設計方法5. 任務設計詳細說明系統(tǒng)中各任務的設計考慮和執(zhí)行流程,以利于程序員編制程序,包括:任務體系結構:詳細定義任務包含的子模塊和模塊間的關系任務執(zhí)行流程:盡可能詳細地描述任務的處理過程任務內(nèi)數(shù)據(jù)結構任務內(nèi)模塊間接口5. 任務設計(續(xù))- 模塊構筑系統(tǒng)
7、和任務設計完成后,進行每個模塊的詳細設計,直到每個具體的函數(shù);在單元測試前不必編完模塊全部程序,可以分階段編碼和測試;模塊的詳細設計應一氣呵成,避免系統(tǒng)以非結構化方式形成。 DARTS設計方法5. 任務設計(續(xù))- 任務與系統(tǒng)集成模塊逐個連接、測試以構成任務任務被逐個連接和測試形成最終系統(tǒng)可分兩步集成在宿主機上模擬集成(軟集成)在目標機上集成 DARTS設計方法實 例 說 明機器人控制器系統(tǒng)控制設備由內(nèi)部控制器和外部控制面板組成控制器控制六個轉軸,并與數(shù)字I/O傳感器交互作用。轉軸和I/O由程序控制該程序由控制面板操作啟動執(zhí)行上電手動停止結束斷電運行程序選擇控制面板實 例 說 明機器人控制器系
8、統(tǒng)按下“上電”按鈕,系統(tǒng)進入了上電狀態(tài)。上電成功后,系統(tǒng)進入手動狀態(tài)。此時,操作者可以通過程序選擇開關選擇程序按下“運行”按鈕,則選定的程序開始運行,系統(tǒng)轉為運行態(tài)。程序運行中如果按下“停止”鍵,程序被掛起操作者可按下“運行”鍵,使程序恢復執(zhí)行,也可按下“結束”鍵,結束程序。按下“結束”鍵后,系統(tǒng)進入終止態(tài)。當程序最終終止執(zhí)行時,系統(tǒng)返回手動狀態(tài)。 控制執(zhí)行過程需求分析與說明斷電態(tài)通電態(tài)手動態(tài)運行態(tài)終止態(tài)掛起態(tài)上電上電成功斷電運行程序選擇程序終止結束運行停止狀態(tài)變遷圖結束機器人控制器數(shù)據(jù)流圖程序面板輸入有效性檢查解釋程序各語句讀傳感器處理面板輸入 處理I/O命令處理動作命令向傳感器輸出輸出動作
9、軸數(shù)據(jù)接收確認輸出到面板軸控制器讀面板 輸入按下按鈕輸入值 有效值 運行 停止 結束動作命令動作確認I/O命令傳感器值輸入狀態(tài)值控制值控制輸出值顯示燈 停止恢復軸數(shù)據(jù)軸確認軸輸入軸輸出動作數(shù)據(jù)I/O時間內(nèi)聚時間內(nèi)聚功能內(nèi)聚控制面板輸入處理器控制面板處理器控制面板輸出處理器動作軸管理器軸控制器命令解釋器傳感器輸入傳感器輸出按下按鈕燈程序傳感器I/O數(shù)據(jù)存儲輸出輸入機器人控制器的任務結構圖軸I/O動作應答動作數(shù)據(jù)恢復停止軸命令軸應答結束啟動任務設計任務設計基本設計原則盡量簡單使用靜態(tài)表盡量減少動態(tài)性恰當?shù)娜蝿諗?shù)目使用有限狀態(tài)自動機輔助設計面向對象設計減少預留接口盡量簡單不存在完善方法任何的設計都只能盡量好,不可能最優(yōu)。以成本為基準開發(fā)計劃易實現(xiàn),成本費用可控制,軟件質量有保障不能過于強調精簡軟件具有可讀性、可移植性、易維護常用模型和方法原型模型、增量模型、組件構件方法使用靜態(tài)表系統(tǒng)運行前,根據(jù)各任務的實時要求生成一張任務的運行時間表,指明各任務的起始運行時間以及運行長度運行時間表生成后,在系統(tǒng)運行過程中不再變化系統(tǒng)運行時,調度器只需根據(jù)這張表在指定的時刻啟動相應的實時任務減少動態(tài)性特點決定嵌入式系統(tǒng)中,時間資源非常
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離休人員服務管理辦法
- 引進教材選用管理辦法
- 如何編制工序管理辦法
- 育嬰員技能培訓實操課件
- 藥店養(yǎng)護崗前培訓課件
- 電氣焊培訓課件
- 員工精神培訓課件狼
- 肢體氣壓護理課件
- 磁共振在骨關節(jié)中的應用
- 福州3年級期末數(shù)學試卷
- 2025-2030中國高超音速技術行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 《SLT 582-2025水工金屬結構制造安裝質量檢驗檢測規(guī)程》知識培訓
- 【百強?!俊竞诩|卷】黑龍江省哈爾濱市第三中學2025年高三學年第一次模擬考試(哈三中一模)語文試卷
- 水廠維修工程施工方案
- 西藏幼教筆試題庫及答案
- 2025年人教遼寧版八年級語文下冊 第二學期 期末測試卷
- DB12T 1379-2024生豬規(guī)模養(yǎng)殖場消毒技術規(guī)范
- 統(tǒng)編版語文一年級上冊新教材解讀及教學建議 課件
- 醫(yī)學教材 ACAF技術手術器械的準備與圍手術期處理
- 《核輻射防護原理》課件
- 托養(yǎng)中心培訓
評論
0/150
提交評論