• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      李松濤 陶斌

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

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

      中圖分類號:TP368.1 文獻標識碼: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ù)需要進行不同的處理,例如要對這些數(shù)據(jù)進行顯示、存儲、檢測是否超過設定值,同時,系統(tǒng)還要通過通信接口與上位機通信。在通常的嵌入式數(shù)據(jù)采集系統(tǒng)中,一般是通過查詢方式或中斷方式獲取來自傳感器的數(shù)據(jù),然后再調(diào)用不同的功能函數(shù)對數(shù)據(jù)進行處理。查詢方式需要消耗時間查詢傳感器狀態(tài),所有數(shù)據(jù)處理過程串行執(zhí)行,而數(shù)據(jù)的存儲和通信過程比較耗時,有時會因為硬件異常而中斷程序的執(zhí)行,程序的執(zhí)行時間無法保證。中斷方式雖然可以滿足系統(tǒng)實時性的要求,但是在復雜系統(tǒng)中,由于需要處理的實時事件較多,有限的中斷無法滿足系統(tǒng)的要求;大量的使用中斷進程,也不利于程序的模塊化設計,程序的可讀性和易維護性下降。在嵌入式系統(tǒng)設計中采用實時操作系統(tǒng)(RTOS)可以將系統(tǒng)功能分解成多個不同的任務,各個任務獨立運行,實現(xiàn)了系統(tǒng)的模塊化設計[1,2]。任務的調(diào)度由RTOS負責,同時也滿足了系統(tǒng)可靠性和實時性的要求[3]。

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

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

      environmental monitoring system)

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

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

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

      implementation)

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

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

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

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

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

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

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

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

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

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

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

      (2)任務廣播延遲

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

      5 結論(Conclusion)

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

      參考文獻(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.嵌入式實時操作系統(tǒng)μC/OS-II[M].北京:北京航空航天大學出版社,2003.

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

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

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

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

      作者簡介:

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

      陶 斌(1979-),男,碩士,講師.研究領域:計算機網(wǎng)絡.

      猜你喜歡
      監(jiān)測系統(tǒng)數(shù)據(jù)采集
      輸電線路融冰過程監(jiān)測系統(tǒng)的設計與實現(xiàn)
      室內(nèi)有害氣體監(jiān)測系統(tǒng)設計研究
      基于數(shù)據(jù)融合的掘進機截齒磨損狀態(tài)監(jiān)測
      基于AVR單片機的SPI接口設計與實現(xiàn)
      行波故障指示器在500kV線路故障診斷中的研究與應用
      CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應用
      大數(shù)據(jù)時代高校數(shù)據(jù)管理的思考
      科技視界(2016年18期)2016-11-03 22:51:40
      鐵路客流時空分布研究綜述
      通用Web表單數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:52:53
      基于開源系統(tǒng)的綜合業(yè)務數(shù)據(jù)采集系統(tǒng)的開發(fā)研究
      长泰县| 丹江口市| 德州市| 桃园县| 新民市| 哈尔滨市| 上犹县| 青神县| 名山县| 松桃| 阿巴嘎旗| 鸡西市| 霍邱县| 长葛市| 蕲春县| 阳东县| 廉江市| 会同县| 钟祥市| 丰顺县| 兴山县| 红安县| 黄石市| 栖霞市| 高碑店市| 专栏| 横山县| 澄迈县| 石台县| 明星| 宕昌县| 洞口县| 利辛县| 鄂州市| 宾川县| 铁力市| 卓尼县| 无极县| 乐陵市| 周口市| 油尖旺区|