關麗敏,李思慧,李偉剛
(1. 長安大學 電子與控制工程學院,西安 710064;2. 西安昆侖工業(集團)有限責任公司)
?

關麗敏1,李思慧1,李偉剛2
(1. 長安大學 電子與控制工程學院,西安 710064;2. 西安昆侖工業(集團)有限責任公司)
針對處于偏遠地區或惡劣環境中的無人值守設備的運行狀態的監控問題,本文應用嵌入式技術以及工業以太網技術設計了一種數據采集與監控系統的遠程監控終端。圍繞核心處理器STM32F107VC構建了終端的硬件系統,介紹了網絡接口設計、輸入/輸出接口設計和本地存儲電路設計。監控終端軟件基于ARM公司的RL-ARM中間件,實現了多任務并行的網絡實時通信、基于WebServer的遠程配置服務和臨時存儲現場數據的文件系統。應用結果表明,系統可靠性高、實時性強,有效降低了遠程監控系統成本。
遠程監控終端;STM32F107VC;WebServer;RL-ARM
數據采集與監控系統是以計算機為基礎的分布式控制系統與電力自動化監控系統,廣泛應用于電力、冶金、石油、化工等諸多領域。數據采集與監控系統依靠其數量龐大的遠程終端單元收集各終端站點信息和執行控制策略。遠程終端單元的性能、成本、可靠性對整個系統而言舉足輕重。數據采集與監控系統如圖1所示。

圖1 系統總體結構
對于終端站點現場環境惡劣或站點廣泛分散的系統,要求站點長期無人值守,如電信公司的電話光纖網絡交接設備、高速公路機電設備等。如何保證終端站點的信息高效、可靠地上傳,并能對中心系統的命令及時響應,成為目前廣泛研究的熱點問題。參考文獻[1]提出了一種基于GPRS無線傳輸的無人值守低功耗遠程終端的設計方案;參考文獻[2]設計了基于MODBUS協議的RS485通信方式的遠程終端;參考文獻[3]設計了基于CAN總線的智能監控終端。但是基于以太網通信的無人值守遠程監控終端的設計方案還較少。本文基于以太網通信方式,以STM32F107VC網絡處理器為核心單元,實現了一種低成本、高效、穩定的遠程終端單元。
對于電信公司EPON無人值守設備、高速公路無人值守機電設備等所處的遠程站點,通常布設有可以利用的可靠光纖網絡,基于網絡通信并充分利用網絡服務是監控終端設計時優先考慮的重點。作為現場環境的監控設備,遠程監控終端應具備下述功能:穩定的工業網絡標準接口;與現場信息采集設備和執行機構的輸入/輸出接口;本地大容量備份信息存儲。
1.1 系統設計
系統結構如圖2所示,采用STM32F107VC網絡處理器作為系統核心單元,此芯片具備72 MHz運行頻率和90 DMIPS的處理性能,集成了以太網、CAN總線、RS485、RS232、USB OTG等各種高性能工業標準接口,其標準外設包括10個定時器、16路12位1 Msps采樣速率的A/D模/數轉換器、2路12位D/A數模轉換器等,可以應用于多種工業場合[4]。在核心處理器的基礎上,充分利用其集成的外設單元,設計相應的外圍接口電路,實現了需求功能,保證遠程監控終端的穩定性,降低了系統成本。

圖2 系統結構圖
1.2 網絡通信接口設計
STM32F107VC核心處理器內部集成支持工業以太網標準IEEE1588的Ethernet MAC Interface,需要外部擴展PHY連接物理層網絡。選用美國國家半導體公司的DP83848C芯片作為物理層接口芯片,該芯片是10/100 Mb/s單路低功耗物理層接口器件,與核心處理器通過Media-Independent Interface(MII)相接。以太網通信接口電路如圖3所示。
1.3 輸入/輸出接口設計
輸入/輸出接口包括AI(Analog Input)接口、DI(Digital Input)接口和DO(Digital Output)接口。AI接口連接傳感器獲取現場連續變化的信號,如溫度、濕度、煙霧等;DI接口連接傳感器采集現場的開關量信息,如設備震動、開關門動作、水浸超標和系統斷電等;DO接口輸出數字信號控制執行機構動作,如繼電器等設備。
STM32F107VC內部集成ADC,輸入通道的幅值范圍為0~3.3 V,傳感器輸出的模擬量數據需要經過濾波、放大的處理過程輸入至ADC接口通道。ADC的精度很大程度上依賴于基準電源的精度,系統采用高精度參考電壓源AD780為STM32F107VC提供基準電壓。AD780是一款超高精度帶隙基準電壓源,可以通過4~36 V的輸入電源提供2.5~3.0 V輸出基準電壓。它具有低初始誤差、低溫度漂移和低輸出噪聲,非常適合用于增強高分辨率ADC的功能。系統的AI接口電路如圖4所示。
STM32F107VC的GPIO引腳都可以由軟件配置為輸入/輸出模式,并且輸入可承受5 V TTL電平。系統采用PC817光電耦合器實現GPIO引腳與外圍電路的電氣隔離,提升終端的電絕緣和抗干擾能力。DO接口使用大電流三極管驅動繼電器輸出開關信號。
1.4 本地存儲電路設計
遠程監控終端系統的數據存儲分為兩部分:系統參數的存儲與采集數據的存儲。系統參數的存儲使用EEPROM,保證系統掉電后數據不丟失,選取8 KB存儲容量的24LC64芯片,使用I2C總線接口對其進行讀寫操作。
選取SD卡作為現場數據的臨時存儲器。SD卡具有數據傳輸率快,移動靈活性好且具有較高的安全性等性能,當網絡出現異常時暫時存儲現場信息,以便網絡恢復正常或現場檢修時將數據信息取出。使用STM32F107VC處理器的SPI總線實現與SD卡的存儲接口。
遠程監控終端的性能和效率由系統軟件直接決定。遠程監控終端將現場傳感器采集的數據進行分類整理過濾,形成有效信息通過網絡實時地上報給監控中心的通信服務器。接收通信服務器的指令控制執行機構的動作,根據現場數據進行預判,當數據達到報警條件時,立即將報警信息報送監控中心處理。由于遠程監控終端位于數據采集與監視控制系統的最遠端,經常處于環境惡劣、地理位置偏僻的站點,還應具備遠程配置的功能。

圖3 以太網通信接口電路

圖4 輸入/輸出接口電路
系統軟件應用ARM公司的RL-ARM中間件,實現了多任務實時處理、網絡通信應用層程序及大容量文件系統。前文已述的物理層接口芯片(PHY)DP83848和STM32F107VC內部集成的網絡控制器(MAC)分別實現了網絡傳輸模型的物理層和數據鏈路層,通過RL-ARM中間件提供的TCP/IP協議棧實現了傳輸層的TCP、UDP通信以及HTTP服務。通過RL-RTX實時多任務操作系統實現系統任務的實時運行與任務間通信[5]。系統軟件結構如圖5所示。

圖5 軟件結構圖
2.1 網絡實時通信模塊設計
為了保證數據與命令傳輸的可靠性和實時性,將網絡實時通信程序分為三個子任務:數據實時采集與處理任務、信息智能上傳任務、命令執行任務。
數據實時采集與處理任務掃描GPIO端口讀取開關信號,完成狀態監測任務;通過處理器內部集成的A/D轉換控制器采集現場模擬信號,經過軟件濾波、量化等處理之后,得到現場環境的數據;通知信息上傳任務提取現場環境信息。
系統通信命令分為兩類:一類命令為控制命令,用于控制智能終端控制執行機構動作,采用面向連接的TCP傳輸協議;另一類命令為查詢命令,用于監控中心軟件查詢智能終端系統的配置信息,采用簡單、輕量級的UDP傳輸協議。命令執行任務開啟網絡監聽后,當收到TCP連接時,打開接收命令網絡端口(系統設計使用9003端口),與監控中心服務器建立TCP連接,收到控制命令后,控制執行機構動作,如打開或關閉繼電器;當收到UDP包時,打開端口,接收查詢命令,根據命令讀取配置信息,使用UDP傳輸協議發送給監控中心通信服務器。
網絡實時通信模塊依托RL-ARM中間件系統提供的Sockets底層庫,基于傳輸層協議TCP和UDP,實現自定義網絡數據幀通信協議的發送和接收。
2.2 遠程配置服務模塊設計
基于RL-ARM中間件系統提供的網絡應用層HTTP服務,實現了通過網絡對智能終端遠程配置的功能。管理員使用任一臺網絡內部的計算機,通過網絡瀏覽器即可訪問智能終端系統的遠程配置界面,經過密碼認證后,就可以對智能終端的參數進行遠程配置、查看系統狀態、對遠端站點進行手工控制等。
用HTML(HyperText Mark-up Language)和JavaScript語言設計了遠程配置服務界面,包括主界面、控制參數配置界面、網絡參數配置界面、通信參數配置界面、數字通道狀態監控界面、模擬通道狀態界面、用戶登錄管理界面、手動控制狀態界面和數據文件上傳界面。主界面如圖6所示。

圖6 主界面
控制參數配置界面用于修改和查詢系統預存儲的現場環境臨界參數;網絡參數配置界面用于修改和查詢智能終端系統的網絡配置參數,如本機IP地址、子網掩碼、網關IP地址等;通信參數配置界面用于修改和查詢通信主機IP地址、各通信任務的端口地址等參數;數字通道狀態監控界面用于對系統開關量輸入通道的狀態進行監測;模擬通道狀態界面用于對系統模擬量輸入通道的狀態進行監測;用戶登錄管理界面用于設置和查詢系統管理員ID和密碼;手動控制狀態界面用于對系統的執行機構進行手動操作和測試;數據文件上傳界面可以將系統本地存儲的臨時數據文件上傳至管理員計算機。
2.3 本地數據存儲模塊設計
數據存儲軟件設計分為24LC64(EEPROM)驅動程序設計和文件系統的實現。在ST公司發布的I2C總線驅動程序基礎上,設計了24LC64驅動程序,包括單字節讀/寫函數,按頁讀/寫函數和隨機讀/寫函數。
本地數據存儲程序的另一個重要任務是實現基于SD卡的文件系統,目的是將網絡異常時的數據以文件格式保存,供網絡恢復時或操作員現場讀取。利用RL-ARM中間件系統提供的文件系統模塊,建立SD卡文件系統,可以兼容FAT32格式文件,支持TFTP服務對文件的存取。由于系統硬件使用SPI總線連接SD卡,軟件采取數據流方式對SD卡進行讀寫操作,文件系統依賴DMA(Direct Memory Access),所以在初始化程序中應加入DMA的參數設置。
本文所設計的遠程監控終端具有以下特點:
① 以STM32網絡處理器為核心,充分利用其集成的外設單元,實現了低成本的工業網絡遠程監控終端,能夠對無人值守機電設備現場運行情況進行有效監測。
② 基于RL-ARM的實時多任務操作系統,分別實現現場信息同步上傳、智能報警信息上傳、通信命令執行子任務的獨立運行,保證了智能終端與遠程主機網絡通信的實時性和可靠性。
③ 設計了基于HTTP的WebServer遠程配置服務和基于TFTP的網絡文件傳送服務,實現對智能終端的遠程配置和管理。
④ 在SD卡上實現了智能終端的本地文件系統,為網絡異常情況時的數據存儲提供了保證。

[1] 李美蓮. 基于GPRS的遠程監控終端的研究[J]. 計算機與網絡,2010(16):629.
[2] 彭道剛, 張浩, 李輝,等. 基于Modbus協議的ARM嵌入式監測平臺設計與實現[J]. 電力自動化設備,2009, 29(1):115-119.
[3] 周丹峰, 李杰. 基于CAN總線的懸浮控制器監控終端的設計[J]. 微型機與應用,2005(10):28-29.
[4] 程小艷. 嵌入式STM32F107VCT6微處理器接口模塊開發及應用研究[D].合肥:合肥工業大學, 2012.
[5] 方安平, 武永誼. 基于MDK RTX的Cortex-M3多任務應用設計[J]. 單片機與嵌入式系統應用, 2008(12):30-33.
關麗敏(工程師),主要從事嵌入式系統及應用以及控制工程領域的工作和研究。

Guan Limin1, Li Sihui1, Li Weigang2
(1.School of Electronic and Control Engineering, Chang’an University, Xi’an 710064, China;2.Xi’an Kunlun Industry(Group) Company)
Aiming at the problem that unattended equipments are usually in remote areas and harsh environments, the paper designs a remote monitoring terminal of data acquisition and monitoring system. Based on the the core processor STM32F107VC, the hardware system of the terminal is designed,the input/output interface and local storage circuit are designed. The software of the monitoring terminal is based on RL-ARM middleware of ARM. It completes the multitasking parallel network real-time communication, based on the WebServer remote configuration services and temporary storage of field data file system. Application results show that the system has high reliability, strong real-time performance and effectively reduces the cost of remote monitoring system.
remote monitoring terminal; STM32F107VC; WebServer; RL-ARM
TP23
A
迪娜
2014-01-21)