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