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