一種多通道實(shí)時(shí)數(shù)據(jù)采集監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[圖]

相關(guān)專題: 芯片

引言

隨著工業(yè)自動(dòng)化與信息化的不斷發(fā)展。數(shù)據(jù)采集已經(jīng)成為了計(jì)算機(jī)與外部物理世界連接的橋梁。數(shù)據(jù)采集系統(tǒng)廣泛地應(yīng)用于工業(yè)生產(chǎn)中設(shè)備工作狀況的監(jiān)測、控制領(lǐng)域中的閉環(huán)控制系統(tǒng)及仿真領(lǐng)域的半實(shí)物仿真系統(tǒng)。

傳統(tǒng)的數(shù)據(jù)采集裝置通常由單片機(jī)及采集卡組成。其采集通道數(shù)較少、單任務(wù)的軟件結(jié)構(gòu)及實(shí)時(shí)性差等不足之處已無法滿足人們的需求。ARM(Advanced RISC Machines)是基于RSIC架構(gòu)的數(shù)據(jù)寬為32位可嵌入操作系統(tǒng)的微處理器。由于其體積小、價(jià)格低、可靠性高、低功耗等特點(diǎn)在工業(yè)自動(dòng)化、國防、運(yùn)輸?shù)阮I(lǐng)域得到了廣泛的應(yīng)用。

本文設(shè)計(jì)并實(shí)現(xiàn)了基于ARM的多通道實(shí)時(shí)數(shù)據(jù)采集監(jiān)控系統(tǒng),能夠保證采集過程中數(shù)據(jù)的可靠性及實(shí)時(shí)性,并通過計(jì)算機(jī)軟件對數(shù)據(jù)進(jìn)行監(jiān)控顯示,整個(gè)系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)采集、模擬量的輸出及數(shù)據(jù)存儲(chǔ)功能。

1 系統(tǒng)工作原理

如圖1所示,數(shù)據(jù)采集監(jiān)控系統(tǒng)包括上位計(jì)算機(jī)及下位機(jī)系統(tǒng)。下位機(jī)由ARM工控開發(fā)平臺(tái),數(shù)據(jù)采集板、模擬量輸出板、LCD液晶顯示屏及SD存儲(chǔ)卡組成,使用μC/OSⅡ?qū)崟r(shí)多任務(wù)操作系統(tǒng),對任務(wù)進(jìn)行調(diào)度與管理,實(shí)現(xiàn)數(shù)據(jù)采集板對外界模擬量的多通道采集功能,將數(shù)據(jù)存儲(chǔ)于SD卡,并通過USB或以太網(wǎng)傳送至上位計(jì)算機(jī);在上位機(jī)的控制下,下位機(jī)接收模擬最輸出指令,完成模擬量輸出功能;LCD液晶顯示屏用于顯示下位機(jī)的工作狀態(tài)信息。

圖1 數(shù)據(jù)采集監(jiān)控系統(tǒng)組成圖

上位計(jì)算機(jī)通過USB或以太網(wǎng)與下位機(jī)進(jìn)行通訊,接收下位機(jī)的采集數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,圖形化顯示數(shù)據(jù)變化曲線,并可對模擬量輸出進(jìn)行設(shè)置,從而控制下位機(jī)模擬量輸出功能。

2 下位機(jī)硬件組成

根據(jù)系統(tǒng)的工作原理,采用周立功公司的Smart 2400ARM7工控開發(fā)板,其ARM為LPC2478,開發(fā)板內(nèi)嵌μC/OSⅡ?qū)崟r(shí)多任務(wù)操作系統(tǒng),集成10/1OOM以太網(wǎng)PHY芯片、以太網(wǎng)接口、USB接口、98KB SRAM、SD卡插槽、STN和TFT液晶接口、512KB Flash及MiniI SA總線,通過MiniI SA總線可以直接掛載不同功能的擴(kuò)展板。開發(fā)板組成如圖2所示。

圖2 開發(fā)板組成示意圖

圖2 開發(fā)板組成示意圖使用周立功公司的MiniISA-8208BT數(shù)據(jù)采集板及MiniISA8204CT模擬量輸出板,均基于MiniISA總線結(jié)構(gòu),通過總線與工控開發(fā)平臺(tái)進(jìn)行通訊。MiniISA8208BT 為12位的A/D轉(zhuǎn)換設(shè)備,包含8路差分或者16路單端隔離模擬信號(hào)輸入;MiniISA8204CT是4通道12位的模擬量輸出板,這兩款擴(kuò)展板的性能指標(biāo)均符合系統(tǒng)的需要。

3 軟件設(shè)計(jì)

將軟件系統(tǒng)分成下位機(jī)軟件及上位機(jī)監(jiān)控軟件分別進(jìn)行設(shè)計(jì)。

3.1下位機(jī)軟件設(shè)計(jì)

下位機(jī)采用μC/OSⅡ?qū)崟r(shí)多任務(wù)操作系統(tǒng),μC/OSⅡ是一個(gè)源碼公開、可移植、可固化、可裁剪、搶占式的實(shí)時(shí)多任務(wù)操作系統(tǒng),完全基于優(yōu)先級(jí)來管理任務(wù),總是使處于就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)運(yùn)行。不支持時(shí)間片輪轉(zhuǎn)調(diào)度,所以必須按照任務(wù)的重要性和實(shí)時(shí)性要求程度,將系統(tǒng)功能合理的分解為若干不同優(yōu)先級(jí)的任務(wù),任務(wù)及優(yōu)先級(jí)劃分的合理性將直接影響軟件設(shè)計(jì)的質(zhì)量。

對系統(tǒng)功能進(jìn)行任務(wù)劃分時(shí),首先要使所有任務(wù)滿足實(shí)時(shí)性要求,即使在最壞的情況下,系統(tǒng)中所有對實(shí)時(shí)性有要求的功能都能夠正常實(shí)現(xiàn);并且任務(wù)數(shù)目要合理,簡化軟件系統(tǒng)以降低對資源的需求。根據(jù)數(shù)據(jù)采集監(jiān)控系統(tǒng)的工作原理及任務(wù)劃分的原則,將下位機(jī)系統(tǒng)任務(wù)劃分為USB通訊任務(wù)、以太網(wǎng)通訊任務(wù)、SD卡寫數(shù)據(jù)文件任務(wù)、數(shù)據(jù)采集任務(wù)、LCD液晶屏顯示任務(wù)、模擬量輸出任務(wù)。此外,賦予緊迫性、執(zhí)行快捷性任務(wù)較高優(yōu)先級(jí),人機(jī)接口顯示任務(wù)實(shí)時(shí)性要求低,賦予較低優(yōu)先級(jí)。優(yōu)先級(jí)劃分如下所示。

①TASK1任務(wù),優(yōu)先級(jí)1,USB通訊任務(wù);

②TASK2任務(wù),優(yōu)先級(jí)2,以太網(wǎng)通訊任務(wù);

③TASK3任務(wù),優(yōu)先級(jí)3,SD卡寫數(shù)據(jù)文件任務(wù);

④TASK4任務(wù),優(yōu)先級(jí)4,數(shù)據(jù)采集任務(wù);

⑤TASK5任務(wù),優(yōu)先級(jí)5,模擬量輸出任務(wù);

⑥TASK6任務(wù),優(yōu)先級(jí)6,LCD液晶屏顯示任務(wù)。

下位機(jī)軟件系統(tǒng)中,任務(wù)間的通訊主要是通過消息郵箱來完成的。消息郵箱是用來在任務(wù)之間或中斷與任務(wù)之間傳遞一個(gè)指針,以便任務(wù)可以通過指針發(fā)送和接收任意類型的數(shù)據(jù)。定義3個(gè)消息郵箱,消息郵箱1用于數(shù)據(jù)采集任務(wù)向通訊發(fā)送任務(wù)傳遞數(shù)據(jù);消息郵箱2用于通訊接收任務(wù)與模擬量輸出任務(wù)之間的通信;消息郵箱3用于數(shù)據(jù)采集任務(wù)向SD卡寫數(shù)據(jù)文件任務(wù)發(fā)送數(shù)據(jù)。如以下程序語句所示,使用消息郵箱必須先定義消息郵箱指針,再創(chuàng)建消息郵箱,最后等待其它任務(wù)發(fā)送郵箱或者發(fā)送郵箱至其它任務(wù)。

OS_EVENT*mbox;//定義消息郵箱指針

mbox=OSMboxCreate(NULL);//創(chuàng)建消息郵箱

OSMboxPend(mbox,0,&err);//等待消息郵箱數(shù)據(jù)

OSMboxPost(mbox,Buf);//發(fā)送消息郵箱,數(shù)據(jù)為緩沖區(qū)Buf中數(shù)據(jù)

應(yīng)用程序運(yùn)行時(shí),首先調(diào)用OSInit()初始化μC/OSⅡ,接著通過調(diào)用OSTaskCreate()依次創(chuàng)建任務(wù),隨后執(zhí)行OSStart()啟動(dòng)多任務(wù)環(huán)境,從而進(jìn)行多任務(wù)管理調(diào)度。下位機(jī)程序模塊及流程如圖3所示。

圖3 下位機(jī)程序模塊及流程圖

圖3下位機(jī)程序模塊及流程圖數(shù)據(jù)采集任務(wù)中,板卡初始化完成后,使用定時(shí)器周期定時(shí)啟動(dòng)采集功能,以查詢方式讀取各個(gè)采集端口的數(shù)據(jù),并且進(jìn)行算術(shù)平均濾波處理,連續(xù)讀取5次采樣值進(jìn)行算術(shù)平均運(yùn)算,然后通過消息郵箱將數(shù)據(jù)傳遞給通訊任務(wù)及SD卡寫數(shù)據(jù)文件任務(wù)。

使用ADS1.2開發(fā)下位機(jī)應(yīng)用程序,利用LPC2400系列專用工程模板,由于Smart2400開發(fā)板內(nèi)嵌μC/OSⅡ操作系統(tǒng),所以開發(fā)過程中不必進(jìn)行移植操作系統(tǒng)工作,只需將μC/OSⅡ源文件加載到工程中,對程序所用到的源文件、驅(qū)動(dòng)文件、頭文件等進(jìn)行相應(yīng)的修改、加載,編譯鏈接成功后,即可通過仿真器燒寫至Flash中。

3.2上位機(jī)軟件設(shè)計(jì)

上位機(jī)數(shù)據(jù)采集監(jiān)控軟件使用VC++6.0開發(fā)。當(dāng)USB與以太網(wǎng)均連通時(shí),使用USB進(jìn)行通訊。主要實(shí)現(xiàn)以下幾個(gè)功能:

①通過USB及以太網(wǎng)與下位機(jī)進(jìn)行通訊;

②創(chuàng)建數(shù)據(jù)接收線程,通過通訊接口接收下位機(jī)采集的數(shù)據(jù),實(shí)時(shí)顯示于監(jiān)控界面上,同時(shí)繪制數(shù)據(jù)變化曲線圖;

③通過上位機(jī)軟件設(shè)定相應(yīng)的模擬量輸出值,控制下位機(jī)進(jìn)行模擬量輸出工作;

④顯示通訊接口的連接狀態(tài)及下位機(jī)工作狀況信息。上位機(jī)軟件流程如圖4所示。

圖4 上位機(jī)軟件流程圖

4 實(shí)驗(yàn)驗(yàn)證

為了驗(yàn)證數(shù)據(jù)采集監(jiān)控系統(tǒng),將模擬量輸出板的4個(gè)輸出通道分別與數(shù)據(jù)采集板的采集通道1、2、3、4連接,使用上位機(jī)軟件控制模擬量輸出板輸出模擬電壓,初始值為1.5V,經(jīng)過一段延遲時(shí)間后線性減少至1.0V,最終保持在1.0V,延遲時(shí)間由數(shù)據(jù)采集監(jiān)控軟件設(shè)置,設(shè)置為100s.下位機(jī)IP地址設(shè)為192 168 1.2, 上位機(jī)IP地址設(shè)為192 168 1.3,使兩者位于同一局域網(wǎng)內(nèi)。數(shù)據(jù)采集監(jiān)控系統(tǒng)工作時(shí),上位機(jī)軟件運(yùn)行情況如圖5所示。

圖5 數(shù)據(jù)采集監(jiān)控軟件運(yùn)行界面

上位機(jī)軟件"設(shè)置"按鈕按下后,下位機(jī)模擬量輸出板開始輸出4通道模擬電壓,輸出值從1.5V經(jīng)過100s線性減至1.0V,數(shù)據(jù)采集板采集模擬電壓并將數(shù)據(jù)傳送至上位機(jī)及儲(chǔ)存至SD卡。上位機(jī)軟件對采集數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,并繪制數(shù)據(jù)變化曲線。通過實(shí)驗(yàn)驗(yàn)證,此系統(tǒng)成功實(shí)現(xiàn)了數(shù)據(jù)采集監(jiān)控功能,完成了數(shù)據(jù)的采集、監(jiān)控、存儲(chǔ)及模擬量的輸出,系統(tǒng)運(yùn)行過程中具有良好的實(shí)時(shí)性及穩(wěn)定性。

5 結(jié)論

本文對基于ARM的多通道實(shí)時(shí)數(shù)據(jù)采集監(jiān)控系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。下位機(jī)采用μC/OSⅡ?qū)崟r(shí)多任務(wù)操作系統(tǒng),實(shí)現(xiàn)了數(shù)據(jù)的采集、存儲(chǔ)及模擬量的輸出,具有人機(jī)接口顯示功能;上位機(jī)軟件成功完成了對采集數(shù)據(jù)的實(shí)時(shí)監(jiān)控顯示及對模擬量輸出的控制。整個(gè)系統(tǒng)具有精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)等特點(diǎn),能夠有效地應(yīng)用于一般的系統(tǒng)監(jiān)控和武器系統(tǒng)中。

作者:薛源 劉衛(wèi)東 來源:《計(jì)算機(jī)測量與控制》


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動(dòng):6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息