<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM9和μC/OSII的多頻道數據采集系統的智能化設計

基于A(yíng)RM9和μC/OSII的多頻道數據采集系統的智能化設計

作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏
引言

隨著(zhù)IT技術(shù)、電子技術(shù)、通信技術(shù)、以及自動(dòng)控制技術(shù)的飛速發(fā)展,對工業(yè)現場(chǎng)數據的高速實(shí)時(shí)采集就成為電子產(chǎn)品和工業(yè)控制技術(shù)發(fā)展不可避免的一個(gè)環(huán)節。

本文針對高速實(shí)時(shí)多任務(wù)數據采集中的多任務(wù)實(shí)現算法以及實(shí)時(shí)性、實(shí)效性和高速性的要求,提出了基于和μC/OSII操作系統的智能化設計方案,實(shí)現了任務(wù)優(yōu)先級動(dòng)態(tài)調度、系統工作參數動(dòng)態(tài)設定、系統內部軟件智能化設計,針對低速外圍設備進(jìn)行了系統優(yōu)化,并提高了系統可靠性改善了內部任務(wù)同步性。

1 整體電路設計

整個(gè)采集系統的硬件電路如圖1所示。首先利用多路調制電路對12路信號進(jìn)行調制,這部分包含相應的信號轉換、抗干擾、以及初步的信號處理等,使得各路采集信號能夠達到內核對信號采集的要求。經(jīng)多路選擇和ADC采樣后進(jìn)入內核。為了實(shí)現對整個(gè)系統工作狀態(tài)的實(shí)時(shí)監視、實(shí)時(shí)控制和實(shí)時(shí)調節,設置了上位機監視器和現場(chǎng)顯示觸摸屏,將用戶(hù)所有要求顯示的信息在上位機顯示輸出或者在現場(chǎng)LCD同步顯示輸出。采樣按照采樣頻段分為高頻段(300~200 ksps)、中頻段(200~100 ksps)、和低頻段(小于100 ksps)3個(gè)頻段,每個(gè)頻段由4個(gè)外部采樣通道組成。ARM9內核與上位機的通信利用UART和RS232轉換電路來(lái)實(shí)現。系統工作電源由統一的電源供給,在實(shí)現電壓轉換后對PC機和ARM9內核以及相應的工作電路提供電源支持。

圖1 硬件電路

2 系統總體軟件設計思路

系統的軟件設計原理如圖2所示。12路采集信號經(jīng)調制電路多路選擇和ADC采樣后進(jìn)入各個(gè)采集任務(wù)內部通道。每一路采集通道都設計獨立的數據采集、數據存儲、數據處理以及數據提交任務(wù)。也就是說(shuō),每一路外部采集通道都對應一個(gè)獨立的內部數據通道,而且本通道數據只在本通道內進(jìn)行存儲、處理和傳遞。各個(gè)內部數據通道任務(wù)之間只有在系統調度時(shí)執行時(shí)間上的先后關(guān)系、優(yōu)先級關(guān)系,沒(méi)有數據耦合關(guān)系。

圖2 系統軟件設計原理圖

命令掃描部分由獨立的上位機和下位機掃描任務(wù)完成對上位機監視器和下位機觸摸屏的實(shí)時(shí)監控,一旦檢測到用戶(hù)命令,立即將其發(fā)送給命令解析和處理任務(wù),由該任務(wù)對用戶(hù)命令進(jìn)行分析處理。命令處理完后將提取的結果發(fā)送給用戶(hù)要操作的采樣通道,使之按照用戶(hù)要求運行。

各個(gè)頻段的各個(gè)通道采集任務(wù)均設置兩個(gè)數據緩沖區。雙數據緩沖區為采樣任務(wù)順利存儲提供了雙重保證,使得采樣工作一旦結束就有可用緩沖區,就可立即將數據存儲而后進(jìn)行下一次采集。也使得后續的數據處理任務(wù)減少數據等待時(shí)間,能迅速得到當前采樣通道需要處理的數據,并在最短的時(shí)間內處理發(fā)送給下一級任務(wù)。
采樣、數據顯示、命令掃描都涉及外圍設備,是整個(gè)系統所有任務(wù)里面運行速度最慢的,針對采樣任務(wù)設置雙數據緩沖區可以很大幅度地改善由于采樣速度慢而造成的系統速率下降問(wèn)題,顯示和命令掃描部分的優(yōu)化設計將在下文中詳細說(shuō)明。

3 內部軟件調度算法

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM9 μCOSII 數據采集系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>