基于ARM9和μC/OSII的多頻道數(shù)據(jù)采集系統(tǒng)設(shè)計
引言 隨著IT技術(shù)、電子技術(shù)、通信技術(shù)、以及自動控制技術(shù)的飛速發(fā)展,對工業(yè)現(xiàn)場數(shù)據(jù)的高速實時采集就成為電子產(chǎn)品和工業(yè)控制技術(shù)發(fā)展不可避免的一個環(huán)節(jié)。 本文針對高速實時多任務(wù)數(shù)據(jù)采集中的多任務(wù)實現(xiàn)算法以及實時性、實效性和高速性的要求,提出了基于ARM9和μC/OSII操作系統(tǒng)的智能化設(shè)計方案,實現(xiàn)了任務(wù)優(yōu)先級動態(tài)調(diào)度、系統(tǒng)工作參數(shù)動態(tài)設(shè)定、系統(tǒng)內(nèi)部軟件智能化設(shè)計,針對低速外圍設(shè)備進(jìn)行了系統(tǒng)優(yōu)化,并提高了系統(tǒng)可靠性改善了內(nèi)部任務(wù)同步性。 1 整體電路設(shè)計 整個采集系統(tǒng)的硬件電路如圖1所示。首先利用多路調(diào)制電路對12路信號進(jìn)行調(diào)制,這部分包含相應(yīng)的信號轉(zhuǎn)換、抗干擾、以及初步的信號處理等,使得各路采集信號能夠達(dá)到ARM9內(nèi)核對信號采集的要求。經(jīng)多路選擇和ADC采樣后進(jìn)入ARM9內(nèi)核。為了實現(xiàn)對整個系統(tǒng)工作狀態(tài)的實時監(jiān)視、實時控制和實時調(diào)節(jié),設(shè)置了上位機(jī)監(jiān)視器和現(xiàn)場顯示觸摸屏,將用戶所有要求顯示的信息在上位機(jī)顯示輸出或者在現(xiàn)場LCD同步顯示輸出。采樣按照采樣頻段分為高頻段(300~200 ksps)、中頻段(200~100 ksps)、和低頻段(小于100 ksps)3個頻段,每個頻段由4個外部采樣通道組成。ARM9內(nèi)核與上位機(jī)的通信利用UART和RS232轉(zhuǎn)換電路來實現(xiàn)。系統(tǒng)工作電源由統(tǒng)一的電源供給,在實現(xiàn)電壓轉(zhuǎn)換后對PC機(jī)和ARM9內(nèi)核以及相應(yīng)的工作電路提供電源支持。 圖1 數(shù)據(jù)采集系統(tǒng)硬件電路 2 系統(tǒng)總體軟件設(shè)計思路 系統(tǒng)的軟件設(shè)計原理如圖2所示。12路采集信號經(jīng)調(diào)制電路多路選擇和ADC采樣后進(jìn)入各個采集任務(wù)內(nèi)部通道。每一路采集通道都設(shè)計獨立的數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)處理以及數(shù)據(jù)提交任務(wù)。也就是說,每一路外部采集通道都對應(yīng)一個獨立的內(nèi)部數(shù)據(jù)通道,而且本通道數(shù)據(jù)只在本通道內(nèi)進(jìn)行存儲、處理和傳遞。各個內(nèi)部數(shù)據(jù)通道任務(wù)之間只有在系統(tǒng)調(diào)度時執(zhí)行時間上的先后關(guān)系、優(yōu)先級關(guān)系,沒有數(shù)據(jù)耦合關(guān)系。 圖2 系統(tǒng)軟件設(shè)計原理圖 命令掃描部分由獨立的上位機(jī)和下位機(jī)掃描任務(wù)完成對上位機(jī)監(jiān)視器和下位機(jī)觸摸屏的實時監(jiān)控,一旦檢測到用戶命令,立即將其發(fā)送給命令解析和處理任務(wù),由該任務(wù)對用戶命令進(jìn)行分析處理。命令處理完后將提取的結(jié)果發(fā)送給用戶要操作的采樣通道,使之按照用戶要求運行。
評論