日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于ARM9和μC/OSII的多頻道數(shù)據(jù)采集系統(tǒng)設計

          基于ARM9和μC/OSII的多頻道數(shù)據(jù)采集系統(tǒng)設計

          作者: 時間:2011-07-26 來源:網(wǎng)絡 收藏

          本文引用地址:http://yuyingmama.com.cn/article/194823.htm

            3.3 針對外設的時間優(yōu)化

            針對命令掃描和解析任務,將其設置為中斷方式,在檢測到有用戶命令輸入時發(fā)生中斷,在中斷里對用戶命令進行解析、分析、提取和處理。在中斷下半部分對命令進行廣播式發(fā)布,發(fā)布到各個采樣任務函數(shù)使其立即刷新執(zhí)行。因為用戶工作方式改變,命令刷新頻率并不高而且任務量不大,所以完全可以利用中斷的快速處理來實現(xiàn)這種功能。

          圖4 顯示任務工作原理圖

            在處理完命令掃描和采樣任務之后,影響整個系統(tǒng)性能的就剩下上位機和下位機顯示部分了。顯示任務工作原理如圖4所示,利用μC/系統(tǒng)提供的消息隊列對顯示部分進行改善。分別建立兩個長度為16的消息隊列和內(nèi)存塊鏈表,數(shù)據(jù)提交任務從空閑內(nèi)存池中得到可用內(nèi)存塊之后將本任務要顯示的數(shù)據(jù)存入該內(nèi)存塊,此時該內(nèi)存就變成了帶有數(shù)據(jù)的待顯示數(shù)據(jù)塊。而后將該內(nèi)存塊的地址以消息的形式注冊在顯示消息隊列上。消息隊列的長度設置為16,雖然這里只有12個任務會發(fā)送消息給消息隊列,但在實時多任務程序中,各個任務的運行是隨機的,消息隊列在一段時間內(nèi)得到的消息個數(shù)是個不定值,所以留出4個空位作為裕度。而且設置初始值為16的計數(shù)信號量來保護消息隊列,數(shù)據(jù)提交任務在提交數(shù)據(jù)之前先檢測該信號量,如該信號量有效就可以發(fā)送信號,如信號量無效則需等待,直到有可用信號位時方可將信號發(fā)出。在外部硬件操作端,由外部發(fā)送任務將消息隊列中的消息按照固定速率發(fā)送到外部信號線上。

            這樣設計,消息隊列就相當于一個緩沖區(qū),使得所有提交任務都可以向這個緩沖區(qū)發(fā)送待顯示數(shù)據(jù),有效地避免了多個任務爭用一個外圍設備而引起的死鎖、競爭冒險等問題。同時減少了任務數(shù)量,減少了任務切換的次數(shù),充分利用了系統(tǒng)時間,提高了系統(tǒng)性能。

            3.4 關鍵區(qū)保護

            多任務設計中每個任務在任何時刻都可能被其他任務打斷,必須充分考慮代碼的安全性、可重入性、可靠性、饑餓、互鎖、死鎖等情況。[3]

            為了避免上述情況,任務間消息發(fā)送和傳遞時以及在數(shù)據(jù)采樣時對相應函數(shù)體進行關鍵區(qū)保護,在這些函數(shù)運行的時候禁止中斷和任務調(diào)度,以保證數(shù)據(jù)傳遞和數(shù)據(jù)采樣的絕對正確性和系統(tǒng)運行的絕對安全性。

            4 極限頻率測定及總結(jié)

            上位機超級終端接收到的極限頻率測試結(jié)果如圖5所示。

          圖5 極限頻率測量結(jié)果

            分別測試了高頻段、中頻段和低頻段的極限頻率,結(jié)果在CPU使用率80%~90%的情況下測定。該系統(tǒng)成功實現(xiàn)了智能化設計和優(yōu)先級動態(tài)調(diào)度、系統(tǒng)參數(shù)動態(tài)設置等功能,達到了設計指標。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術(shù)專區(qū)

          關閉