亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)

        2016-10-25 15:54:18李松濤陶斌
        軟件工程 2016年8期
        關(guān)鍵詞:監(jiān)測系統(tǒng)數(shù)據(jù)采集

        李松濤 陶斌

        摘 要:在環(huán)境監(jiān)測中,相對于傳統(tǒng)的設(shè)計(jì)方法,使用嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)可以更有效地實(shí)現(xiàn)模塊和通信管理。通過消息郵箱,數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)實(shí)現(xiàn)了傳感器數(shù)據(jù)在不同任務(wù)之間的廣播發(fā)送,對接收任務(wù)設(shè)置不同的優(yōu)先級,可以調(diào)整其接收數(shù)據(jù)的順序。在實(shí)際開發(fā)中,使用基于ARM核的STM32F103VE微控制器實(shí)現(xiàn)了溫濕度數(shù)據(jù)的實(shí)時(shí)采集和廣播發(fā)送,測試結(jié)果表明,任務(wù)的切換順序取決于優(yōu)先級,不同接收任務(wù)之間的時(shí)間延遲在10ms之內(nèi),滿足了數(shù)據(jù)處理系統(tǒng)的實(shí)時(shí)性和可靠性的要求。

        關(guān)鍵詞:RTOS;消息郵箱;數(shù)據(jù)采集;監(jiān)測系統(tǒng)

        中圖分類號:TP368.1 文獻(xiàn)標(biāo)識碼:A

        Abstract:Compared with traditional design methods, the embedded real-time operating system (RTOS) can more effectively achieve the module management and the communication management in environment monitoring.With the message mailbox and real-time data acquisition and processing system,the sensor data can be broadcasted and transmitted among different tasks.By setting different priorities to the receiving task,the order of data reception can be adjusted.In practical development,the STM32F103VE microcontroller based on ARM core is used to implement the acquisition and the broadcast transmission of the humidity data.The test results show that task switching sequence is determined by the priority and time delay among different receiving tasks is within 10ms,which meets the requirements of the data processing system with real-time and reliability.

        Keywords:RTOS;the message mailbox;data acquisition;the monitoring system

        1 引言(Introduction)

        在環(huán)境監(jiān)測的數(shù)據(jù)處理系統(tǒng)中,對來自傳感器的數(shù)據(jù)需要進(jìn)行不同的處理,例如要對這些數(shù)據(jù)進(jìn)行顯示、存儲、檢測是否超過設(shè)定值,同時(shí),系統(tǒng)還要通過通信接口與上位機(jī)通信。在通常的嵌入式數(shù)據(jù)采集系統(tǒng)中,一般是通過查詢方式或中斷方式獲取來自傳感器的數(shù)據(jù),然后再調(diào)用不同的功能函數(shù)對數(shù)據(jù)進(jìn)行處理。查詢方式需要消耗時(shí)間查詢傳感器狀態(tài),所有數(shù)據(jù)處理過程串行執(zhí)行,而數(shù)據(jù)的存儲和通信過程比較耗時(shí),有時(shí)會因?yàn)橛布惓6袛喑绦虻膱?zhí)行,程序的執(zhí)行時(shí)間無法保證。中斷方式雖然可以滿足系統(tǒng)實(shí)時(shí)性的要求,但是在復(fù)雜系統(tǒng)中,由于需要處理的實(shí)時(shí)事件較多,有限的中斷無法滿足系統(tǒng)的要求;大量的使用中斷進(jìn)程,也不利于程序的模塊化設(shè)計(jì),程序的可讀性和易維護(hù)性下降。在嵌入式系統(tǒng)設(shè)計(jì)中采用實(shí)時(shí)操作系統(tǒng)(RTOS)可以將系統(tǒng)功能分解成多個(gè)不同的任務(wù),各個(gè)任務(wù)獨(dú)立運(yùn)行,實(shí)現(xiàn)了系統(tǒng)的模塊化設(shè)計(jì)[1,2]。任務(wù)的調(diào)度由RTOS負(fù)責(zé),同時(shí)也滿足了系統(tǒng)可靠性和實(shí)時(shí)性的要求[3]。

        本文使用消息郵箱將傳感器采集到數(shù)據(jù)以廣播的方式向數(shù)據(jù)處理任務(wù)發(fā)送,數(shù)據(jù)處理任務(wù)作為接收者可以并發(fā)接收來自傳感器的數(shù)據(jù),在保證實(shí)時(shí)性的同時(shí),也實(shí)現(xiàn)了任務(wù)模塊之間的松耦合。

        2 環(huán)境監(jiān)測系統(tǒng)任務(wù)劃分(Task division of

        environmental monitoring system)

        在基于μC/OS-II的嵌入式系統(tǒng)中,將環(huán)境監(jiān)測系統(tǒng)中環(huán)境因子的數(shù)據(jù)采集和處理功能分配在不同的任務(wù)中,任務(wù)之間由RTOS進(jìn)行調(diào)度,各個(gè)任務(wù)有不同的優(yōu)先級,任務(wù)按照優(yōu)先級的高低分時(shí)使用CPU。在μC/OS-II中,可以將任務(wù)分成64個(gè)不同的優(yōu)先級[4],且任務(wù)優(yōu)先級各不相同。其中空閑任務(wù)和統(tǒng)計(jì)任務(wù)是系統(tǒng)保留的優(yōu)先級,用戶不可用。其他的優(yōu)先級根據(jù)實(shí)現(xiàn)的功能進(jìn)行設(shè)置。環(huán)境監(jiān)測系統(tǒng)中任務(wù)及優(yōu)先級分配如表1所示。

        數(shù)據(jù)采集任務(wù)使用單通道ADC采集傳感器數(shù)據(jù),數(shù)據(jù)以DMA方式保存在存儲器中,采集數(shù)據(jù)的周期在任務(wù)中設(shè)置。雖然系統(tǒng)對實(shí)時(shí)性的要求不是很高,但是考慮到采集任務(wù)需要向其他任務(wù)提供數(shù)據(jù)源,因此將該任務(wù)設(shè)置為最高優(yōu)先級。監(jiān)測及報(bào)警任務(wù)負(fù)責(zé)對數(shù)據(jù)上下限范圍的監(jiān)測,對敏感數(shù)據(jù)的聲光報(bào)警,因此將其優(yōu)先級設(shè)置為僅次于數(shù)據(jù)采集任務(wù)。對于串口通信任務(wù)和LCD顯示任務(wù),相對于前兩個(gè)任務(wù),實(shí)時(shí)性和重要性不高,可以將它們設(shè)置為較低的優(yōu)先級。任務(wù)模式根據(jù)各個(gè)任務(wù)在數(shù)據(jù)處理中的不同作用,分為數(shù)據(jù)廣播者和數(shù)據(jù)接收者。數(shù)據(jù)采集任務(wù)是數(shù)據(jù)廣播者,其他任務(wù)是數(shù)據(jù)接收者。

        3 廣播模式及實(shí)現(xiàn)(Broadcast mode and

        implementation)

        3.1 任務(wù)間數(shù)據(jù)廣播

        μC/OS-II中實(shí)現(xiàn)數(shù)據(jù)的廣播通信有兩種方法,一種是利用信號量來實(shí)現(xiàn)。由于信號量只能標(biāo)識事件的發(fā)生,所以在使用信號量實(shí)現(xiàn)時(shí),需要使用兩種不同類型的信號量方式:計(jì)數(shù)信號量表示事件的發(fā)生;互斥信號量用來保護(hù)臨界資源。在大型系統(tǒng)中,需要設(shè)置多個(gè)信號量,程序流程復(fù)雜。另外一種是使用消息郵箱方式[5]。μC/OS-II提供的通用消息處理函數(shù)只能一次發(fā)送一個(gè)消息,數(shù)據(jù)讀取后自動清空消息郵箱,無法實(shí)現(xiàn)消息的廣播。通過對消息郵箱函數(shù)的擴(kuò)展,實(shí)現(xiàn)了數(shù)據(jù)采集任務(wù)向多個(gè)接收任務(wù)廣播數(shù)據(jù)?;谙⑧]箱的廣播方式具有編程簡單,結(jié)構(gòu)清晰的特點(diǎn)。

        基于消息郵箱的廣播模式實(shí)現(xiàn)過程如圖1所示。數(shù)據(jù)采集任務(wù)的采樣周期設(shè)置為5s,數(shù)據(jù)采集任務(wù)SensorTask獲取數(shù)據(jù)后,向其他三個(gè)任務(wù)LCDTask、COMTask和ALARMTask通過消息郵箱廣播發(fā)送數(shù)據(jù),這時(shí)需要實(shí)現(xiàn)多個(gè)任務(wù)之間的同步。當(dāng)SensorTask獲得來自ADC的數(shù)據(jù)后,要將此數(shù)據(jù)以消息的方式通知所有數(shù)據(jù)接收任務(wù),SensorTask以O(shè)SMboxPostOpt()廣播數(shù)據(jù)。其他任務(wù)在同步點(diǎn)調(diào)用OSMboxPend()等待來自SensorTask的消息,獲取數(shù)據(jù)后,LCDTask、COMTask和ALARMTask中處于就緒狀態(tài)的任務(wù)就可以根據(jù)優(yōu)先級的高低切換上下文獲取系統(tǒng)資源,執(zhí)行相應(yīng)的操作。

        3.2 任務(wù)內(nèi)部的狀態(tài)轉(zhuǎn)換

        μC/OS-II以任務(wù)的形式管理程序的執(zhí)行,內(nèi)核為創(chuàng)建的任務(wù)分配棧空間,并根據(jù)任務(wù)的優(yōu)先級進(jìn)行任務(wù)的調(diào)度,將就緒任務(wù)列表中優(yōu)先級最高的任務(wù)置為運(yùn)行態(tài)。數(shù)據(jù)采集任務(wù)和數(shù)據(jù)接收任務(wù)的狀態(tài)轉(zhuǎn)換如圖2(a)和圖2(b)所示,分別是數(shù)據(jù)采集任務(wù)SensorTask和數(shù)據(jù)接收任務(wù)(以LCDTask為例)的狀態(tài)轉(zhuǎn)換圖。數(shù)據(jù)采集任務(wù)SensorTask有最高的優(yōu)先級,最先獲得CPU的使用權(quán),啟動ADC轉(zhuǎn)換模塊采集數(shù)據(jù)并將采集到的數(shù)據(jù)通過廣播的形式發(fā)送,然后調(diào)用延時(shí)函數(shù)進(jìn)入等待狀態(tài),讓出CPU的使用權(quán),其他低優(yōu)先級任務(wù)獲得運(yùn)行機(jī)會。延時(shí)時(shí)間到后,通過時(shí)鐘中斷進(jìn)入就緒態(tài),由于SensorTask在所有處于就緒態(tài)的任務(wù)中具有最高的優(yōu)先級,一旦就緒就可以通過上下文切換立即進(jìn)入到運(yùn)行態(tài),開始進(jìn)行下一個(gè)周期的數(shù)據(jù)采集和發(fā)送。數(shù)據(jù)接收任務(wù)LCDTask創(chuàng)建后進(jìn)入就緒態(tài),其中優(yōu)先級最高的任務(wù)在數(shù)據(jù)采集任務(wù)延時(shí)期間可以進(jìn)入運(yùn)行態(tài),時(shí)間延時(shí)或等待消息事件都會使數(shù)據(jù)接收任務(wù)進(jìn)入等待狀態(tài)。當(dāng)獲得廣播消息后,數(shù)據(jù)接收任務(wù)就可以進(jìn)入就緒態(tài),優(yōu)先級最高的任務(wù)首先獲得CPU的使用權(quán),進(jìn)入到執(zhí)行狀態(tài),任務(wù)執(zhí)行結(jié)束后延時(shí)開始下一個(gè)周期的循環(huán)。

        4 系統(tǒng)性能分析(System performance analysis)

        4.1 系統(tǒng)硬件實(shí)現(xiàn)

        系統(tǒng)采用的控制芯片為STM32F103VE,其上運(yùn)行經(jīng)過移植的μC/OS-II 2.86 RTOS。STM32F103VE采用32位的Cortex-M3 ARM內(nèi)核,工作頻率72MHz, 具有低成本、低功耗等特點(diǎn)[6,7]。溫濕度傳感器采用DHT11[8],通過PD12端口與控制器相連,如圖3所示。

        4.2 系統(tǒng)性能測試分析

        (1)系統(tǒng)任務(wù)之間的切換

        不同任務(wù)之間切換如圖4所示。大部分時(shí)間里,CPU運(yùn)行具有最低優(yōu)先級的空閑任務(wù)IdleTask,在每一次數(shù)據(jù)采集點(diǎn),SensorTask獲取CPU資源,開始執(zhí)行任務(wù),由于該任務(wù)具有最高優(yōu)先級,可以無中斷的運(yùn)行結(jié)束。其他任務(wù)根據(jù)優(yōu)先級的不同相續(xù)獲取CPU資源,執(zhí)行各自的功能。由于一個(gè)數(shù)據(jù)采集周期遠(yuǎn)遠(yuǎn)大于各個(gè)任務(wù)的執(zhí)行時(shí)間,因此在系統(tǒng)中不存在任務(wù)的中斷。

        (2)任務(wù)廣播延遲

        理論上來講,在廣播方式下,各個(gè)接收任務(wù)應(yīng)該同時(shí)接收到消息,但由于接收任務(wù)有不同的優(yōu)先級,優(yōu)先級高的任務(wù)首先進(jìn)入運(yùn)行態(tài)。數(shù)據(jù)采集任務(wù)發(fā)送數(shù)據(jù)與接收任務(wù)接收數(shù)據(jù)的延時(shí)時(shí)間主要有兩部分組成:當(dāng)前處于運(yùn)行態(tài)的任務(wù)執(zhí)行任務(wù)的時(shí)間和任務(wù)切換時(shí)間。不同任務(wù)的數(shù)據(jù)延遲時(shí)間統(tǒng)計(jì)如圖5所示。

        5 結(jié)論(Conclusion)

        基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng),將功能分解到任務(wù),使軟件結(jié)構(gòu)清晰,實(shí)現(xiàn)了各個(gè)功能模塊的松耦合,提高了系統(tǒng)實(shí)時(shí)性和靈活性,實(shí)際測試結(jié)果表明,不同任務(wù)之間的時(shí)間延遲在10ms之內(nèi),滿足了數(shù)據(jù)處理系統(tǒng)實(shí)時(shí)性的要求。

        參考文獻(xiàn)(References)

        [1] E Barakat,N Sinno,C Keyrouz.A Remote Monitoring System for Voltage, Current,Power and Temperature Measurements[J].Physics Procedia, 2014,55:421-428.

        [2] M Rockwood,et al.Using a Real-time Operating System for Multitasking in Remote Patient Monitoring[J].IEEE International Symposium on Medical Measurements & Applications,2014:1-5.

        [3] J M Fontana,M Farooq,E Sazonov.Automatic Ingestion Monitor:A Novel Wearable Device for Monitoring of Ingestive Behavior[J].IEEE Transactions on Biomedical Engineering,2014,61(6):1772-1779.

        [4] Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[M].北京:北京航空航天大學(xué)出版社,2003.

        [5] 劉林真.消息郵箱機(jī)制在煙花倉庫溫濕度監(jiān)控系統(tǒng)中的應(yīng)用[J].福州大學(xué)學(xué)報(bào):自然科學(xué)版,2015(5):622-626.

        [6] 賈鵬輝,等.基于STM32F103VCT6的振弦式傳感器數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2015(2):67-70.

        [7] 王晨輝,吳悅,楊凱.基于STM32的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(1):51-53.

        [8] 麥軍,鄧巧茵,萬智萍.基于CC2530的ZigBee無線組網(wǎng)溫度監(jiān)測系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(22):117-121.

        作者簡介:

        李松濤(1971-),男,碩士,講師.研究領(lǐng)域:嵌入式系統(tǒng).

        陶 斌(1979-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)網(wǎng)絡(luò).

        猜你喜歡
        監(jiān)測系統(tǒng)數(shù)據(jù)采集
        輸電線路融冰過程監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        室內(nèi)有害氣體監(jiān)測系統(tǒng)設(shè)計(jì)研究
        基于數(shù)據(jù)融合的掘進(jìn)機(jī)截齒磨損狀態(tài)監(jiān)測
        基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)
        行波故障指示器在500kV線路故障診斷中的研究與應(yīng)用
        CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
        大數(shù)據(jù)時(shí)代高校數(shù)據(jù)管理的思考
        科技視界(2016年18期)2016-11-03 22:51:40
        鐵路客流時(shí)空分布研究綜述
        通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:52:53
        基于開源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開發(fā)研究
        少妇人妻偷人精品视蜜桃| 曰日本一级二级三级人人| 日韩不卡的av二三四区| 亚洲 欧美 国产 制服 动漫| 中文字幕国产精品一二三四五区| 99久久99久久久精品齐齐| 天堂中文最新版在线中文| 中文字幕久无码免费久久| 亚洲国产另类久久久精品小说| 亚洲中文字幕有综合久久| 99久久婷婷国产精品网| 午夜精品久久久久久久| 伊人久久大香线蕉av色| 99久久人人爽亚洲精品美女 | av无码天堂一区二区三区| 久久无码精品精品古装毛片| 99热久久只有这里是精品| 中文字幕日韩高清乱码| 国产一区二区三区小说| 中文字幕精品一二三四五六七八 | 色老汉免费网站免费视频| 视频二区 无码中出| 日本一区二区三区清视频| 在线播放国产自拍av| 欧美精品国产综合久久| 亚洲av综合色区无码一二三区 | 亚洲乱码一区二区av高潮偷拍的| 麻花传媒68xxx在线观看| 少妇性l交大片| 日本少妇人妻xxxxx18| 久久AⅤ无码精品色午麻豆| 日本女优中文字幕四季视频网站| 日本第一影院一区二区| 亚洲欧美日韩另类精品一区| 少妇饥渴xxhd麻豆xxhd骆驼| 欧美h久免费女| 日本一区二区三区四区在线视频| 中文字幕亚洲欧美在线不卡| 欧美成人一区二区三区| 亚洲国产精品久久久久婷婷软件| 一区二区三区四区黄色av网站|