電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>硬件實時操作系統(tǒng)的設(shè)計

硬件實時操作系統(tǒng)的設(shè)計

2017-10-31 | rar | 0.2 MB | 次下載 | 1積分

資料介紹

隨著嵌入式技術(shù)的發(fā)展,實時操作系統(tǒng)RTOS(Real Time Operating System)被越來越多地應(yīng)用在嵌入式系統(tǒng)中,如:航空航天、工業(yè)控制汽車電子和核電站建設(shè)等眾多領(lǐng)域。對于現(xiàn)有基于軟件實現(xiàn)的實時操作系統(tǒng),單純依靠改進調(diào)度算法已不能使其實時性有更大的提高。如果采用硬件邏輯實現(xiàn)RTOS中的任務(wù)調(diào)度、中斷處理和定時器管理等功能,則可使其實時性和確定性顯著提高。因為硬件邏輯獨立于處理器運行,不占用處理器的處理時間,所節(jié)省的時間用于執(zhí)行任務(wù)程序,從而提高了任務(wù)集合的可調(diào)度性和實時性。本文基于“外部處理器+FPGA”的硬件平臺結(jié)構(gòu)[1],在FPGA上設(shè)計和實現(xiàn)了硬件實時操作系統(tǒng)。
  1 硬件實時操作系統(tǒng)的結(jié)構(gòu)和運行原理
  硬件實時操作系統(tǒng)能實現(xiàn)典型實時操作系統(tǒng)的各種功能模塊,包括:任務(wù)調(diào)度內(nèi)核、中斷管理模塊、定時器模塊、資源管理模塊和內(nèi)存管理模塊等[2]。為了實現(xiàn)穩(wěn)定可靠的系統(tǒng),本文采用逐步演進的方法。首先實現(xiàn)由任務(wù)調(diào)度內(nèi)核(也稱作硬件調(diào)度內(nèi)核)、中斷管理、定時器管理和接口軟件構(gòu)成的最小系統(tǒng),然后逐步增加其他功能模塊。
  硬件RTOS的結(jié)構(gòu)如圖1所示。調(diào)度內(nèi)核是系統(tǒng)的核心,負(fù)責(zé)任務(wù)的調(diào)度管理;中斷管理模塊負(fù)責(zé)管理外部中斷;定時器模塊負(fù)責(zé)任務(wù)延時和周期執(zhí)行。硬件RTOS的數(shù)據(jù)通過接口總線與外部系統(tǒng)通信[3]。
  硬件實時操作系統(tǒng)的設(shè)計
  任務(wù)調(diào)度內(nèi)核使用FPGA的片內(nèi)寄存器實現(xiàn)任務(wù)控制塊TCB(Task Control Block)隊列(簡稱任務(wù)隊列)。所有未執(zhí)行任務(wù)放在等待隊列和就緒隊列中。等待隊列中的任務(wù)在條件滿足時將變?yōu)榫途w任務(wù)。本文中,等待任務(wù)主要等待定時器時間和中斷到達。任務(wù)調(diào)度內(nèi)核能在每個調(diào)度時機計算出優(yōu)先級最高的就緒任務(wù)。調(diào)度內(nèi)核采用搶占式調(diào)度機制,每個調(diào)度時機輸出優(yōu)先級最高的就緒任務(wù)。
  中斷模塊接管處理器除通知中斷以外的所有外部中斷,中斷服務(wù)程序稱作“中斷處理任務(wù)”,與普通任務(wù)一樣被硬件內(nèi)核調(diào)度。外部中斷到來時,觸發(fā)硬件內(nèi)核的調(diào)度時機,保證中斷任務(wù)的實時執(zhí)行。此時,軟件實時操作系統(tǒng)的中斷嵌套已經(jīng)轉(zhuǎn)換為處理器中任務(wù)的搶占,高優(yōu)先級的中斷任務(wù)可以搶占低優(yōu)先級任務(wù)。
  定時器管理模塊實現(xiàn)任務(wù)的延時和周期運行,在設(shè)定任務(wù)周期或延時時間后,每當(dāng)設(shè)定時間到時便會使對應(yīng)任務(wù)就緒,并觸發(fā)硬件內(nèi)核的調(diào)度時機,由后者執(zhí)行一次任務(wù)調(diào)度。
  接口總線硬件實現(xiàn)處理器與硬件RTOS之間的數(shù)據(jù)傳輸和事件通知。接口軟件從功能上分為兩類:(1)系統(tǒng)API。被應(yīng)用程序調(diào)用,能通過接口總線向硬件RTOS發(fā)送命令。硬件RTOS收到命令后,解析數(shù)據(jù),執(zhí)行相應(yīng)操作。(2)通知中斷服務(wù)程序。硬件RTOS進行一次任務(wù)調(diào)度后,如果發(fā)現(xiàn)新“選出”的最高優(yōu)先級就緒任務(wù)與當(dāng)前處理器正在執(zhí)行的任務(wù)不同,則需要進行現(xiàn)場切換。硬件調(diào)度內(nèi)核將利用通知中斷告知處理器該就緒任務(wù)的ID和堆棧地址,觸發(fā)后者執(zhí)行中斷服務(wù)程序,以執(zhí)行現(xiàn)場切換。
  任務(wù)存在阻塞(S0)、就緒(S1)和運行(S2)三個狀態(tài),定時器存在停止(T0)、運行(T1)兩個狀態(tài),中斷模塊存在無效(I0)、有效(I1)兩個狀態(tài)。圖2描述了最小系統(tǒng)各模塊的運行狀態(tài)。
  硬件實時操作系統(tǒng)的設(shè)計
  2 系統(tǒng)設(shè)計與實現(xiàn)
  本文選用ARM9系列的處理器S3C2410和Actel公司的FPGA芯片APA075,用后者實現(xiàn)硬件實時操作系統(tǒng),調(diào)度在處理器上執(zhí)行的任務(wù)。
  2.1 任務(wù)調(diào)度內(nèi)核的設(shè)計實現(xiàn)
  實時操作系統(tǒng)的核心是任務(wù)調(diào)度內(nèi)核,其主要功能是根據(jù)調(diào)度算法,在每個調(diào)度時機確定下一個將要執(zhí)行的任務(wù),并適時進行現(xiàn)場切換。為此,調(diào)度內(nèi)核需要維護一系列的任務(wù)隊列(如就緒任務(wù)隊列和等待任務(wù)隊列),并在每個調(diào)度時機,根據(jù)優(yōu)先級重新排列就緒隊列,以計算出優(yōu)先級最高的就緒任務(wù)。
  合理的任務(wù)控制塊是實現(xiàn)硬件調(diào)度內(nèi)核的關(guān)鍵,應(yīng)能根據(jù)調(diào)度算法分配優(yōu)先級,并利于優(yōu)先級比較,而且能夠索引最終結(jié)果。根據(jù)上述需求,設(shè)計了如圖3所示的任務(wù)控制塊結(jié)構(gòu)。其中ID為任務(wù)號,State為任務(wù)狀態(tài),Prio為任務(wù)優(yōu)先級,SP_End為任務(wù)堆棧終止地址,Run_Time 為任務(wù)起始運行時間,End_Time為任務(wù)結(jié)束運行時間。起始和截止時間能根據(jù)特定算法分配任務(wù)的優(yōu)先級。Delay_Counter為任務(wù)延時計數(shù)器,Timer_Counter為周期任務(wù)分頻計數(shù)器,Int_Number為中斷號。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1GBT1094.11-2022電力變壓器第11部分:干式變壓器
  2. 14.12 MB   |  3次下載  |  免費
  3. 2FT-7800R對講機維修手冊附原理圖
  4. 3.35 MB   |  2次下載  |  免費
  5. 3串口工具UartAssist5.0.exe
  6. 0.60 MB   |  2次下載  |  免費
  7. 4爬電距離和電氣間隙計算
  8. 0.75 MB   |  2次下載  |  1 積分
  9. 5UC3584DW次級側(cè)后置穩(wěn)壓器EVM板原理圖
  10. 38.97KB   |  2次下載  |  免費
  11. 6UCC38C42 25瓦自諧振復(fù)位正激變換器
  12. 320.6KB   |  1次下載  |  免費
  13. 7ZX-D37 BLE主從一體藍牙模塊技術(shù)手冊
  14. 1.22 MB   |  1次下載  |  免費
  15. 8使用15個時鐘周期的ADS7841和ADS7844
  16. 188.55KB   |  1次下載  |  免費

本月

  1. 1無刷電機控制方案設(shè)計合作
  2. 1.05 MB   |  22次下載  |  免費
  3. 2美的超薄電磁爐TM-S1-09B主板原理圖
  4. 0.08 MB   |  20次下載  |  免費
  5. 3純電動汽?的主要部件及?作原理
  6. 5.76 MB   |  12次下載  |  5 積分
  7. 4GP328和GP88S對講機的維修實列資料合集免費下載
  8. 0.03 MB   |  10次下載  |  10 積分
  9. 5舒爾SLX4無線話筒接收機原理圖:二次變頻超外差部分
  10. 0.27 MB   |  8次下載  |  免費
  11. 6IP5385_DEMO開發(fā)資料
  12. 1.96 MB   |  7次下載  |  2 積分
  13. 7i.MX Linux開發(fā)實戰(zhàn)指南—基于野火i.MX系列開發(fā)板
  14. 17.86 MB   |  7次下載  |  免費
  15. 8Type-C VL160數(shù)據(jù)手冊
  16. 0.92 MB   |  7次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191363次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分