新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM9和μC/OSII的多頻道數(shù)據(jù)采集系統(tǒng)的智能化設(shè)計(jì)

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

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

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

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

1 整體電路設(shè)計(jì)

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

圖1 硬件電路

2 系統(tǒng)總體軟件設(shè)計(jì)思路

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

圖2 系統(tǒng)軟件設(shè)計(jì)原理圖

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

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

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

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


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉