?

基于UCOS-II的礦用數據采集單元(DTU)系統設計

2017-06-19 19:29何雅琴
實驗室研究與探索 2017年5期
關鍵詞:信號量礦用采集器

張 飛, 何雅琴

(常州機電職業技術學院 a.電氣工程學院,b.信息工程學院,江蘇 常州 213164)

基于UCOS-II的礦用數據采集單元(DTU)系統設計

張 飛a, 何雅琴b

(常州機電職業技術學院 a.電氣工程學院,b.信息工程學院,江蘇 常州 213164)

為了實現礦用數據采集單元(DTU)的相關功能,提出了采用基于UCOS-II的DTU系統設計。該DTU的處理器選用STM32F103VE,并把實時操作系統UCOS-II移植到該CPU上。介紹了系統硬件和軟件的設計方案。通過使用實時操作系統,簡化了軟件的編寫過程,增加了軟件的可維護性。通過調試,該DTU系統能夠滿足企業的需求。

礦用; 中央處理器; 實時操作系統; 硬件; 軟件

0 引 言

礦用DTU(數據采集單元)主要用于礦上環境及參數等的數據采集。由于DTU工作環境多樣,而且一般都要長時間運行,所以設計的DTU系統必須具備高可靠性。本文根據企業的實際需求,采用STM32F103VE(ARM)設計的一種高可靠礦用DTU系統,為了簡化軟件設計難度,增加軟件可維護性和可擴展性,系統還移植了UCOS-II實時操作系統。

1 UCOS-II及Modbus協議

1.1 UCOS-II簡介

實時操作系統UCOS-II自1992年發布以來,得到了各行各業的廣泛應用。該RTOS的核心代碼都采用C語言編寫,很容易移植到各種CPU上,而且源代碼公開[1-4],方便軟件的開發和根據需要對相關代碼進行改寫。UCOS-II的任務可以處于休眠態,就緒態、運行態、掛起態和被中斷態5種不同的狀態[5]。

1.2 Modbus協議

Modbus是一種使用與工業現場的總線協議,支持RS232、RS485以及網絡通信等,很多智能儀表都在采用此協議通信。該協議提供RTU和ASCII兩種傳輸模式供用戶選擇。RTU模式一般使用 CRC校驗,ASCII模式采用LRC校驗來保障數據傳輸的準確性。使用Modbus協議構建的通信網絡中,一般只有一個主機,Modbus協議的數據格式如表1所示[6]。

表1 Modbus協議的數據格式表

2 系統方案

DTU系統可以單獨一個DTU使用,也可以多個DTU組網使用,一般都是以組網的形式使用。多DTU組網使用過程如圖1所示。

圖1 多DTU組網圖

多個DTU可以通過RS485總線與服務器相連,也可以通過GPRS與服務器連接。當采用RS485總線時,服務器發送數據采集命令給每個DTU,DTU分別從前端采集器(一般為傳感器模塊、也可以是數字量)采集數據,并把相關數據打包發送給服務器做進一步分析和統計。數據傳送的時候采用MODBUS協議。一般企業要求每個DTU要支持多種通信接口,如:RS232,RS485,RS422等,以此滿足DTU在不同應用領域的需求。而且DTU必須提供各種工作電壓,為前端采集器供電,如5 V、3.3 V等。本文設計的DTU主要包括:CPU模塊、電源模塊、通信模塊、存儲模塊(用于系統參數保存)、溫度檢測模塊、GPRS模塊等。系統框圖見圖2。

圖2 系統框圖

3 部分硬件設計

3.1 防爆說明

由于本DTU要在煤礦企業使用,必須考慮防爆性。該系統被安裝到金屬型DTU安裝盒內,系統采用Exibmb[ib]d IIB T4及防爆(本安關聯+澆封+本安+隔爆組合型)設計,并通過國家防爆電器產品認證。

3.2 電源部分

電源部分設計采用了一片LM2596和一片LM1117-3.3電源芯片。LM2596將24 V電壓轉變成5 V電壓,LM1117-3.3芯片進一步將5 V電壓轉變成3.3 V電壓為CPU和相關芯片供電。5 V電壓和3.3 V電壓也可以用于對前端采集器供電。電源部分原理圖如圖3所示。

圖3 電源部分原理圖

3.3 CPU和調試接口部分

系統采用STM32F103VE為CPU,該CPU采用了Cortex-M3內核,具有512KB內部FLASH和64KB RAM[7],能夠滿足移植實時操作系統的需求。而且,STM32F103VE包含5個串行通信口、7個定時器/計數器,18通道12位模數轉換接口[8],完全能滿足DTU的設計需要。系統所有的數字量通信都采用CPU的輸入輸出引腳。CPU原理圖如圖4所示。

圖4 CPU部分原理圖

系統調試接口采用了JTAG接口。JTAG是一種片上調試系統與外部調試器之間的通信接口[9]。通過該接口,可以對系統進行調試,并把程序下載到STM32F103VE ARM。

3.4 GPRS部分

GPRS部分采用了通過國家防爆認證的本安型GSM/GPRS無線通信Modem。Modem與DTU之間采用RS232通信,Modem與DTU的連接如圖5所示。

圖5 Modem與DTU的連接圖

3.5 通信部分

不同的模塊級礦用傳感器模塊生產廠家,前端采集器的通信口可能不同,一般為RS232,RS485,RS422 3種,為了增加DTU的兼容性,系統必須實現RS232,RS485,RS422通信。RS232通信采用了一片SP3232芯片,如圖6所示。

圖6 RS232接口原理圖

RS485通信采用了Maxim公司生產的MAX485芯片[10-11],原理圖如圖7所示。

圖7 MAX485接口原理圖

由于MAX485芯片是一款半雙工通信芯片,通過控制引腳實現雙向通信,而本設計的RS422接口必須實現全雙工通信,故可以采用兩片MAX485芯片實現RS422通信。

3.6 其他設計說明

對于接盤部分,采用了獨立式的按鈕。溫度的檢測采用了一片DS18B20芯片。聲音提示部分采用了直流蜂鳴器。D/A部分輸出電壓主要為一些特殊的采集器提供高精度電壓,采用了一片TI公司生產的串行D/A芯片DAC8411實現[12]。存儲部分用于存儲系統參數,具備掉電保存功能,采用了一片AT24C256實現,該芯片采用IIC與CPU通信。

4 軟件設計

4.1 UCOS-II的移植

軟件的開發使用了KEIL軟件,該軟件可以實現函數的可重入性能夠滿足移植UCOS-II對軟件重入性的需求。由于UCOS-II的作者在設計該操作系統時就考慮了該系統的可移植性,故移植UCOS-II比移植嵌入式Linux、Wince等要簡單的多。移植過程如下:在OS_CPU.H中設置時鐘節拍、聲明數據類型和相關宏;在OS_CPU_C.C和OS_CPU_A.S中編寫任務切換、堆棧保存等函數[13-15]。

4.2 應用軟件設計

由于系統移植了實時操作系統UCOS-II,故軟件的設計采用了多任務編程的方式。根據系統的需求,將整個軟件功能分解成一個個的小任務,各個任務共同實現系統功能。根據DTU的功能,把系統功能分解成8個任務:起始任務、主通信任務、從通信任務、DA任務、存儲任務、I/O任務、聲音提示任務、溫度探測任務。同時還包括主通信中斷、從通信中斷、按鍵中斷3個中斷服務程序。任務中斷劃分表如表2所示。

表2 任務中斷分配表

系統啟動后,通過起始任務初始化系統,然后該任務放棄運行權利,系統進入多任務運行狀態。按下開始按鍵,按鍵中斷發送信號量給主通信任務,主通信任務等待主通信中斷發送的信號量。當服務器端發送數據采集命令后,觸發主通信中斷,主通信中斷服務程序發送信號量給主通信任務。主通信任務解包服務器發送的命令,根據命令發送信號量給其他任務。當主通信任務接收到參數保存命令,就發送信號量給參數保存任務,參數保存任務就保存當前參數,并發送信號量給聲音提示任務,聲音提示任務控制蜂鳴器發出“滴”的一聲作為提示。當主通信任務接收到DA設置命令,主通信任務發送信號量給DA任務,DA任務控制DA輸出值。當主通信任務接收到溫度采集命令,就發送信號量給溫度采集任務,該任務采集DTU工作環境溫度。當主通信任務接收到I/O信號采集命令,就發送信號量給I/O任務,該任務采集DTU的輸入輸出相關信息。當主通信任務接收到數據采集任務,就發送信號量給從通信任務,從通信任務從前端采集器采集相關數據并打包存儲,然后發送信號量給主通信任務,主通信任務采用Modbus協議把數據發送到服務器。各任務以及中斷之間的關系如圖8所示。

圖8 任務以及中斷之間關系圖

4.3 信號量的分配

為了協調各任務以及任務和中斷間的協調運行,系統創建了7個信號量,如表3所示。

表3 信號量說明表

4.4 任務說明

(1) 起始任務。該任務執行后完成系統初始化,創建各個信號量和其他7個任務,然后通過OSTaskDel(OS_PRIO_SELF)把自身刪除。

(2) 主通信任務。該任務是整個系統的核心任務,優先級最高。它接收按鍵中斷、從通信中斷以及其他任務發送的信號量Sem_mcom,同時該任務還根據服務器端不同的命令向其它各任務發送相關信號量。

(3) 從通信任務。該任務負責采集前端采集器的數據。接收主通信中斷發送的Sem_scom信號量,同時也能發送Sem_mcom給主通信任務。

(4) DA任務。該任務接收到主通信任務發送的信號量Sem_da后,根據參數設定D/A輸出值,然后發送Sem_mcom給主通信任務。

(5) 存儲任務和聲音提示任務。存儲任務接收到主通信任務發送的信號量Sem_save后保存相關參數,并發送信號量Sem_vo給聲音提示任務,發出提示音,聲音提示任務發送Sem_mcom給主通信任務。

(6) 溫度探測任務。該任務接收到主通信任務發送的信號量Sem_tmp后,完成溫度檢測任務,然后發送Sem_mcom給主通信任務。

(7) I/O任務。該任務接收到主通信任務發送的信號量Sem_io后,記錄相關IO口的狀態,并發送Sem_mcom給主通信任務。

5 實 驗

為了驗證設計的有效性,在實驗室構建了密閉實驗房,DTU聯網后采集溫度、濕度、瓦斯濃度模塊檢測的數據,并發送到服務器,圖9為某次探測上位機監測畫面。實驗表明,本文設計的礦用DTU系統能準確采集傳感器模塊探測到的數據信息。通過60次數據采集統計發現,該系統通過Modbus協議的數據傳送丟包率為0%。

圖9 上位機監測畫面

6 結 語

本文將UCOS-II移植到STM32F103VE芯片上,實現了礦用DTU系統的開發,服務器和DTU之間可以采用RS485或GPRS通信, DTU和前端采集器的通信都采用MODBUS協議。經過調試和試用,該DTU完全能夠滿足企業要求的性能指標。通過使用嵌入式實時操作系統,使軟件的開發和維護變得更為簡單。

[1] 包化偉,肖小庭,龍 飛,等. 基于UCOSⅡ的恒溫槽自動檢測儀設計實現[J].電子科技,2014,24(10):163-166,174.

[2] 王 念,盛 榮,郝宇浩. 基于嵌入式ucos的智能礦井機器人設計[J]. 煤礦機械,2014,35(1):19-21.

[3] 麥源振,谷 剛,王志平. 基于STM32和uCOS—Ⅱ的注塑車間MES數據采集與監控系統設計[J].制造業自動化,2015,37(7):151-154.

[4] 張 峰,郭玲玲,徐 釗. 基于CC2530/uCOS-Ⅱ的井下數據采集器[J].儀表技術與傳感器,2014(1):34-36.

[5] Labrosse JJ. C/OS The real-time kernel[C]//Kansas:R&D Publication Inc,1992:1-80.

[6] 宋 磊,彭道剛,趙斌斌,等. 基于嵌入式STM32的Modbus RTU協議實現[J].儀表技術,2014(11):33-36,54.

[7] 徐 偉. 探地雷達顯控單元中的HPI應用技術研究[J].現代電子技術,2013,36(5):10-12.

[8] 李勇軍. 基于STM32F103VE單片機的AT自耦變壓器保護裝置設計[J].科技創新與應用,2015(4):35-36.

[9] 陳 銳. 基于JTAG的SoC片上調試系統設計[J].電子設計工程,2015,23(3):154-156.

[10] 江賢志,劉華章,張教育,等. 基于C8051F020單片機的RS485串行通信設計[J].電子測量技術,2014,37(3):121-124.

[11] 孟仕印,羅天蘭,孟傳良.回轉窯分布式控制系統RS485總線通信系統設計[J].自動化與儀器儀表,2015(5):112-113.

[12] 馮 洋.低功耗數字式對講機設計[J].電子設計工程,2016,24(8):182-184.

[13] 何雅琴,張 飛,仲 潘. 基于uCOS-II的空氣質量檢測系統設計[J]. 軟件導刊,2015,14(2):119-121.

[14] 諶 進,馬尚昌. 基于UCOS-Ⅱ和LwIP的串口設備聯網技術研究[J].電子設計工程,2015(10):75-78.

[15] 朱東亮. 基于LPC1343的UCOS—II移植[J].中國新通信,2013,15(17):111-112.

Design of Mine-used DTU System Based on UCOS-II

ZHANGFeia,HEYaqinb

(a. Department of Electrical Engineering, b. Department of Information Engineering, Changzhou Institute of Mechatronic Technology, Changzhou 213164, Jiangsu, China)

In order to realize the function of DTU, a design of mine-used DTU system based on UCOS-II is given. The DTU uses the STM32F103VE as processor, and the real-time operating system (UCOS-II ) is transplanted to this CPU. The design scheme of the hardware and software of the system is introduced in this paper. The software is simplified, and the maintainability of the software is increased by using the real-time operating system. Through the debugging, the DTU system can meet the needs of the enterprises.

mine-used; central processing unit(CPU); real-time operating system; hardware; software

2016-09-20

江蘇高校品牌專業建設工程資助項目(PPZY2015C238);江蘇省前瞻性研究專項資金項目(BY2014043)

張 飛(1981-),男,江蘇常州人,碩士,講師、工程師,主要研究方向:自動化技術、人工智能。E-mail:czmeczf@163.com

TD 65

A

1006-7167(2017)05-0131-04

猜你喜歡
信號量礦用采集器
COVID-19大便標本采集器的設計及應用
Nucleus PLUS操作系統信號量機制的研究與測試
基于ARM9 技術的礦用智能云起爆器設計
基于ZigBee的大型公共建筑能耗采集器設計
基于LabVIEW的多數據采集器自動監控軟件設計與開發
礦用巡檢機器人設計及其應用
稀土元素對礦用低鈷超粗硬質合金性能的影響
硬件信號量在多核處理器核間通信中的應用
改性碳納米管在礦用阻燃輸送帶覆蓋膠中的應用
多接口溫濕度數據采集器的設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合