国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

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

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

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

本文引用地址:http://m.ptau.cn/article/194823.htm

  各個頻段的各個通道采集任務均設置兩個數(shù)據(jù)緩沖區(qū)。雙數(shù)據(jù)緩沖區(qū)為采樣任務順利存儲提供了雙重保證,使得采樣工作一旦結束就有可用緩沖區(qū),就可立即將數(shù)據(jù)存儲而后進行下一次采集。也使得后續(xù)的數(shù)據(jù)處理任務減少數(shù)據(jù)等待時間,能迅速得到當前采樣通道需要處理的數(shù)據(jù),并在最短的時間內(nèi)處理發(fā)送給下一級任務。

  采樣、數(shù)據(jù)顯示、命令掃描都涉及外圍設備,是整個系統(tǒng)所有任務里面運行速度最慢的,針對采樣任務設置雙數(shù)據(jù)緩沖區(qū)可以很大幅度地改善由于采樣速度慢而造成的系統(tǒng)速率下降問題,顯示和命令掃描部分的優(yōu)化設計將在下文中詳細說明。

  3 內(nèi)部軟件調度算法

  系統(tǒng)內(nèi)部各個頻段命令如圖3所示。命令掃描函數(shù)捕捉到用戶命令后,對用戶命令進行驗證、分析、提取,而后將提取結果以廣播的方式發(fā)送至各個頻段的命令等待隊列。該隊列如得到新的命令,將用戶命令發(fā)送給本隊列下轄的各個采樣任務函數(shù),用戶命令將立即得到執(zhí)行,包括通道切換、變換采樣周期、改變當前任務優(yōu)先級、顯示特定通道數(shù)據(jù)等。如沒有得到新的命令,等待超時后采樣任務按照原有方式繼續(xù)工作。這也是一種智能化設計,以很簡單的方式實現(xiàn)了按照用戶命令隨時對任何通道的查看、監(jiān)督、操作、工作狀態(tài)切換、通道切換、由單通道到所有通道并行實時采集切換等所有功能的任意切換。

圖3 各個頻段內(nèi)部命令

  3.1 任務優(yōu)先級設置及采樣任務優(yōu)先級動態(tài)調度

  μC/操作系統(tǒng)是基于優(yōu)先級的搶占式操作系統(tǒng),所有任務必須有各自獨立且唯一的優(yōu)先級[1]。命令掃描和數(shù)據(jù)顯示分別設置為最高優(yōu)先級和最低優(yōu)先級。掃描函數(shù)的最高優(yōu)先級可以確保隨時對用戶命令進行響應,而顯示任務由于其運行速速慢,將其設置為最低優(yōu)先級。只要系統(tǒng)設計合理,適當避免低優(yōu)先級任務的饑餓現(xiàn)象,即可實現(xiàn)將用戶有效信息顯示輸出。

  內(nèi)部優(yōu)先級設置規(guī)則是,低頻段、中頻段、高頻段3個頻段的任務之間優(yōu)先級依次遞減。低頻段的采樣周期明顯比高頻段長,在低頻段的空閑時間里系統(tǒng)可以順利地將CPU使用權切換給其他任務,使其他任務得到CPU使用權并執(zhí)行。每個頻段內(nèi)部的各個任務的優(yōu)先級從采樣到數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)提交依次遞減。

  為了使得整個系統(tǒng)實現(xiàn)優(yōu)先級動態(tài)調度也可以修改其他采樣參數(shù),在軟件設計時將所有頻段采樣任務的優(yōu)先級、采樣周期以全局變量的形式在進入操作系統(tǒng)之前進行設置,并將其定義為volatile格式分配獨立的變量存儲地址。而后設立獨立的掃描任務,來專門完成這些參數(shù)的判斷、修改、存儲和動態(tài)更新。這樣便使得系統(tǒng)除了可以按照根據(jù)采樣周期設計的初始化優(yōu)先級和初始化參數(shù)運行外,還可以依據(jù)用戶自身需要對各個頻段、各個通道的采樣任務優(yōu)先級以及采樣頻率進行設置和修改。修改完并確認后,修改任務會保存、更新當前系統(tǒng)工作參數(shù)并退出操作系統(tǒng),而后重新啟動并初始化,整個采集系統(tǒng)將按照全新的狀態(tài)開始工作。當然,在這里用戶優(yōu)先級和采樣周期設置是受限的,必須符合上文提及的優(yōu)先級規(guī)則及各個頻段對采樣周期的要求。

 3.2 任務時限設置

  為了對整個系統(tǒng)的時間調度進行優(yōu)化,首先說明幾個內(nèi)部工作時間。i386體系和Linux2.5內(nèi)核中操作系統(tǒng)節(jié)拍率都設置為1000 Hz[2]。在這里將μC/操作系統(tǒng)調度時間OS_TICKS_PER_SEC也設置為1000,也就是說操作系統(tǒng)的任務調度以ms為單位。內(nèi)核CPU工作頻率設置為400 MHz,即CPU機械周期以ns為單位。外設包括上位機命令掃描和上位機、下位機顯示部分工作都以s為單位。μC/系統(tǒng)中任務切換、調度及延時都以系統(tǒng)節(jié)拍率為單位,而內(nèi)部代碼的運行是以機械周期為單位。內(nèi)部任務時限可以以節(jié)拍律為單位,也可以以實時時間為基準,獲得一個絕對時間差。

  單個采樣任務通道內(nèi)部只有采樣任務需要時限設置。為了達到智能化,用消息隊列的等待延時替代了采樣任務時限,而該延時便是本通道的采樣周期。其他的后續(xù)任務包括內(nèi)存開辟、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送,都依次等待上一級任務消息,受上一級任務鉗制不設置任務時限。顯示任務時限按ms設置為絕對時間差。



評論


相關推薦

技術專區(qū)

關閉