中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式的地鐵雜散電流監(jiān)測裝置的設計

        基于嵌入式的地鐵雜散電流監(jiān)測裝置的設計

        作者: 時間:2009-05-21 來源:網(wǎng)絡 收藏

        本文引用地址:http://www.antipu.com.cn/article/152477.htm

        可以看到,傳統(tǒng)的程序是單任務機制的,各個模塊構成一個整體,作為一個任務運行。在實際應用中,這種程序的安全性差,只要一個系統(tǒng)的模塊出了錯誤,整個系統(tǒng)工作就會被打亂,只有利用看門狗進行復位。這對于比較復雜的系統(tǒng),在實際運行中看門狗就會頻繁地發(fā)生復位操作。而且由于數(shù)據(jù)采集和鍵盤程序的執(zhí)行頻率可能相差很多,這樣對系統(tǒng)的定時要求就會很高,傳統(tǒng)的程序流程對實時性就難以很好地滿足。
        3.3.2  ucosII 的系統(tǒng)程序流程
        ucosII 的程序流程如圖4所示。程序中,每個模塊對應一個任務,彼此之間是并行的,但每個模塊都對應著一個不同的優(yōu)先級,由進行調度運行。系統(tǒng)可以通過監(jiān)控模塊對其他模塊的工作進行監(jiān)控,從而減少看門狗的復位次數(shù)。而且通過ucosII 內核的任務調度,系統(tǒng)的實時性會提高很多。

        3. 4 任務的劃分和構成
        系統(tǒng)中并行存在的幾個任務按優(yōu)先級從高到低依次是:顯示任務、鍵盤管理任務、輸出任務、各路數(shù)據(jù)數(shù)據(jù)采集任務和數(shù)據(jù)處理任務。系統(tǒng)采用靜態(tài)優(yōu)先級,這樣系統(tǒng)的控制會相對比較簡單。
        系統(tǒng)中的每個任務包括應用程序、任務堆棧以及任務控制塊( TCB) 三部分。任務控制塊是一個數(shù)據(jù)結構,當任務的CPU 使用權被剝奪時,ucosII 用它來保存該任務的狀態(tài)。當任務重新獲得CPU 的使用權時,任務控制塊能確保任務從被中斷的那一點執(zhí)行下去。可以通過查詢任務控制塊的內容從而對任務進行管理。系統(tǒng)中任務的狀態(tài)有5 種:休眠態(tài)、就緒態(tài)、運行態(tài)、中斷服務和等待態(tài)。狀態(tài)之間的轉換如圖5所示。

        休眠態(tài)時任務駐留在程序空間中,還沒有交給uc/ os2II 管理。當任務一旦建立,就進入就緒態(tài)。就緒態(tài)中優(yōu)先級最高的任務轉為運行態(tài)。如果系統(tǒng)的運行導致就緒態(tài)中的一個任務優(yōu)先級高于運行態(tài)的任務優(yōu)先級,則系統(tǒng)通過調度使運行態(tài)任務喪失對CPU 的控制權轉為等待態(tài)或者就緒態(tài),轉而運行就緒態(tài)中的那個任務。這樣就實現(xiàn)了任務的切換。
        每個處于等待態(tài)的任務都對應一個等待時間,時間管理函數(shù)可將等待時間已過的等待態(tài)的任務轉為就緒態(tài),這實際上也就是時鐘中斷的中斷服務程序。
        3.5 任務的通信和調度
        本系統(tǒng)中任務間的通信采用消息隊列來完成的。消息隊列是uc/ os2II 中的一種通信機制,可以使一個任務或者中斷服務子程序向另一任務發(fā)送以指針方式定義的變量。為方便易用,采用消息隊列,用于數(shù)據(jù)采集任務、數(shù)據(jù)處理任務、鍵盤管理任務、輸出任務、顯示任務之間的通信。系統(tǒng)通過隊列控制塊來管理消息隊列,每個消息隊列對應一個隊列控制塊。消息的存取基于優(yōu)先級原則,隊列控制塊中等待任務列表內優(yōu)先級任務最高的任務先從消息隊列中取消息,系統(tǒng)采用搶占式內核,調度函數(shù)總是保證優(yōu)先級最高的就緒態(tài)任務轉為運行態(tài)。當就緒態(tài)的任務搶占CPU 時,系統(tǒng)執(zhí)行一次中斷服務程序。當任務中的消息發(fā)送完成以及中斷返回時,系統(tǒng)調用調度函數(shù),將任務從等待態(tài)轉為就緒態(tài),這樣就緒態(tài)中任務的最高優(yōu)先級就會發(fā)生變化,進而影響到運行態(tài)和就緒態(tài)間的任務切換。在本系統(tǒng)中,正在運行的任務需要通過消息(調用OSQPEND( ) 函數(shù)) 來等待一個事件的發(fā)生。假如該事件一直沒有出現(xiàn),調用該函數(shù)的任務將被置于等待狀態(tài)(優(yōu)先級最低的任務可不需要等待某個消息) 。此時下一個優(yōu)先級最高的任務將立即獲得CPU 控制權。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        基爾霍夫電流相關文章:基爾霍夫電流定律




        評論


        相關推薦

        技術專區(qū)

        關閉