STM32F107VC的嵌入式遠程監(jiān)控終端設計
系統(tǒng)軟件應用ARM公司的RL-ARM中間件,實現(xiàn)了多任務實時處理、網絡通信應用層程序及大容量文件系統(tǒng)。前文已述的物理層接口芯片(PHY)DP83848和STM32F107VC內部集成的網絡控制器(MAC)分別實現(xiàn)了網絡傳輸模型的物理層和數(shù)據鏈路層,通過RL-ARM中間件提供的TCP/IP協(xié)議棧實現(xiàn)了傳輸層的TCP、UDP通信以及HTTP服務。通過RL-RTX實時多任務操作系統(tǒng)實現(xiàn)系統(tǒng)任務的實時運行與任務間通信。系統(tǒng)軟件結構如圖5所示。
2.1 網絡實時通信模塊設計
為了保證數(shù)據與命令傳輸?shù)目煽啃院蛯崟r性,將網絡實時通信程序分為三個子任務:數(shù)據實時采集與處理任務、信息智能上傳任務、命令執(zhí)行任務。
數(shù)據實時采集與處理任務掃描GPIO端口讀取開關信號,完成狀態(tài)監(jiān)測任務;通過處理器內部集成的A/D轉換控制器采集現(xiàn)場模擬信號,經過軟件濾波、量化等處理之后,得到現(xiàn)場環(huán)境的數(shù)據;通知信息上傳任務提取現(xiàn)場環(huán)境信息。
系統(tǒng)通信命令分為兩類:一類命令為控制命令,用于控制智能終端控制執(zhí)行機構動作,采用面向連接的TCP傳輸協(xié)議;另一類命令為查詢命令,用于監(jiān)控中心軟件查詢智能終端系統(tǒng)的配置信息,采用簡單、輕量級的UDP傳輸協(xié)議。命令執(zhí)行任務開啟網絡監(jiān)聽后,當收到TCP連接跡打開接收命令網絡端口(系統(tǒng)設計使用9003端口),與監(jiān)控中心服務器建立TCP連接,收到控制命令后,控制執(zhí)行機構動作,如打開或關閉繼電器;當收到UDP包時,打開端口,接收查詢命令,根據命令讀取配置信息,使用UDP傳輸協(xié)議發(fā)送給監(jiān)控中心通信服務器。
網絡實時通信模塊依托RL-ARM中間件系統(tǒng)提供的Sockets底層庫,基于傳輸層協(xié)議TCP和UDP,實現(xiàn)自定義網絡數(shù)據幀通信協(xié)議的發(fā)送和接收。
2.2 遠程配置服務模塊設計
基于RL-ARM中間件系統(tǒng)提供的網絡應用層HTTP服務,實現(xiàn)了通過網絡對智能終端遠程配置的功能。管理員使用任一臺網絡內部的計算機,通過網絡瀏覽器即可訪問智能終端系統(tǒng)的遠程配置界面,經過密碼認證后,就可以對智能終端的參數(shù)進行遠程配置、查看系統(tǒng)狀態(tài)、對遠端站點進行手工控制等。
用HTML(Hyper Text Mark-up Language)和JavaScript語言設計了遠程配置服務界面,包括主界面、控制參數(shù)配置界面、網絡參數(shù)配置界面、通信參數(shù)配置界面、數(shù)字通道狀態(tài)監(jiān)控界面、模擬通道狀態(tài)界面、用戶登錄管理界面、手動控制狀態(tài)界面和數(shù)據文件上傳界面。主界面如圖6所示。
控制參數(shù)配置界面用于修改和查詢系統(tǒng)預存儲的現(xiàn)場環(huán)境臨界參數(shù);網絡參數(shù)配置界面用于修改和查詢智能終端系統(tǒng)的網絡配置參數(shù),如本機IP地址、子網掩碼、網關IP地址等;通信參數(shù)配置界面用于修改和查詢通信主機IP地址、各通信任務的端口地址等參數(shù);數(shù)字通道狀態(tài)監(jiān)控界面用于對系統(tǒng)開關量輸入通道的狀態(tài)進行監(jiān)測;模擬通道狀態(tài)界面用于對系統(tǒng)模擬量輸入通道的狀態(tài)進行監(jiān)測;用戶登錄管理界面用于設置和查詢系統(tǒng)管理員ID和密碼;手動控制狀態(tài)界面用于對系統(tǒng)的執(zhí)行機構進行手動操作和測試;數(shù)據文件上傳界面可以將系統(tǒng)本地存儲的臨時數(shù)據文件上傳至管理員計算機。
2.3 本地數(shù)據存儲模塊設計
數(shù)據存儲軟件設計分為24LC64(EEPROM)驅動程序設計和文件系統(tǒng)的實現(xiàn)。在ST公司發(fā)布的I2C總線驅動程序基礎上,設計了24LC64驅動程序,包括單字節(jié)讀/寫函數(shù),按頁讀/寫函數(shù)和隨機讀/寫函數(shù)。
本地數(shù)據存儲程序的另一個重要任務是實現(xiàn)基于SD卡的文件系統(tǒng),目的是將網絡異常時的數(shù)據以文件格式保存,供網絡恢復時或操作員現(xiàn)場讀取。利用RL-ARM中間件系統(tǒng)提供的文件系統(tǒng)模塊,建立SD卡文件系統(tǒng),可以兼容FAT32格式文件,支持TFTP服務對文件的存取。由于系統(tǒng)硬件使用SPI總線連接SD卡,軟件采取數(shù)據流方式對SD卡進行讀寫操作,文件系統(tǒng)依賴DMA(Direct Memory Access),所以在初始化程序中應加入DMA的參數(shù)設置。
結語
本文所設計的遠程監(jiān)控終端具有以下特點:
①以STM32網絡處理器為核心,充分利用其集成的外設單元,實現(xiàn)了低成本的工業(yè)網絡遠程監(jiān)控終端,能夠對無人值守機電設備現(xiàn)場運行情況進行有效監(jiān)測。
②基于RL-ARM的實時多任務操作系統(tǒng),分別實現(xiàn)現(xiàn)場信息同步上傳、智能報警信息上傳、通信命令執(zhí)行子任務的獨立運行,保證了智能終端與遠程主機網絡通信的實時性和可靠性。
③設計了基于HTTP的WebServer遠程配置服務和基于TFTP的網絡文件傳送服務,實現(xiàn)對智能終端的遠程配置和管理。
④在SD卡上實現(xiàn)了智能終端的本地文件系統(tǒng),為網絡異常情況時的數(shù)據存儲提供了保證。
評論