基于ARM和GPRS的遠程監測終端設計
3.2.1 顯示界面模塊
界面顯示模塊:界面顯示由兩部分組成。一是實時顯示各模塊的采集數據及一定時間以內的歷史數據數據;二是顯示GPRS模塊設置界面,通過這個界面設置串口參數、設置數據采集時間間隔、設置主機IP地址及端口號、發送AT指令、回顯模塊返回信息等。編寫界面設計文件mainwindow.h和mainwindow.cpp,其中串口參數設置、網絡連接和GPRS數據傳輸封裝成相應的子函數,利用Qt的信號槽機制,當捕捉到
相應的信號便執行對應的函數。通過繼承Qt中的QThread線程類來完成GPRS數據讀取模塊和SPI模塊的功能。SPI模塊接收底層數據采集模塊的各種數據,顯示到界面并編碼通過GPRS通道傳輸到上位機,GPRS返回的一些重要信息業需顯示到LCD界面上。
3.2.2 GPRS網絡連接任務
GPRS網絡連接任務主要完成通過GPRS網絡建立與上位機的數據傳輸鏈路的過程。啟動GTM900C后,首先,需對PPP連接所使用的物理串口進行初始化,包括確定用于PPP連接的串行端口號以及通信波特率。然后,直接使用AT指令,撥號到中國移動的GPRS節點服務器(GGSN)。使用以下幾條燈指令使GTM900C進入數據通訊狀態:
“AT+CGATY?”用于查詢GTM900C是否已附著在中國移動的GPRS網絡,GTM900C將返回當前狀態;
“AT+CGATT=1”用于設置GTM900C附著于中國移動的GPRS網絡,操作成功GTM900C將返回OK;
“A1,+CGDCONT=1,“IP”“CMNET””用于設置中國移動的GPRS節點服務器的名稱和屬性,操作成功則返回OK;
“AT%ETCPIP”用于實現PDP激活和TCP/IP的初始化,使模塊進入TCP/IP功能,操作成功返回OK;
“AT%IOMODE=0.2,0”設置數據傳輸模式,操作成功返回OK;
“AT%IPOPEN=1,“TCP”,“115.24.116.19”,5000..1026”打開一條TCP/IP鏈接,選擇TCP傳輸,115.24.116.19為上位機IP地址,5000為上位機接受程序端口號,成功與上位機連接返回CONNECT。另外模塊還具有數據透傳功能,數據透明傳輸功能將實現TCP/IP上直接數據傳輸,進入透傳模式的AT指令是:“AT%TPS=1,1,3000,1024”,進入透傳模式后模塊將不會相應其它AT指令,直接通過串口寫入數據便可實現與上位機之間的數據傳輸。以上使模塊附著在GPRS網絡的過程封裝在gprsConnect()函數中。
PPP配置、認證通過以后,即應用程序就已經通過GTM900C成功進入了Internet網絡。最后,通過變量GPRSOK=1指示GPRS撥號成功并建立數傳狀態。在run()程序中隔一段時間判斷當前網絡連接狀態,若網絡斷開則變量GPRSOK=0,并調用gprsConnect()函數開始撥號任務重新建立數傳鏈路。
3.2.3 SPI數據通信模塊
SPI通信程序包括兩部分,一是用于數據采集的單片機這邊需要通過SPI發送現場數據,接收控制指令,二是ARM主控制器需要讀取數據,發送控制指令。數據采集模塊使用是帶有SPI接口的C8051f020單片機,SPI的數據寄存器是SHODAT。單片機和主控制器的SPI通信參數設置要一致。
在主設備ARM這邊,SPI驅動已經配置好,直接使用read(),write()等函數便可進行數據的讀取與接收。在單片機這邊采用中斷的方式進行SPI數據的發送與接收。對于從設備C8051f021單片機來說,只有將片選線線接低電平才會啟動數據傳輸,可利用這一點進行多字節數據傳輸,拉低一次便傳輸一個字節,這可用作與主設備之間的同步信號。主設備選一根I/O口線作為片選線,將其拉低,執行一次SPI讀操作,再拉高,延時一定時間,這時從設備退出從模式,重新往SPIODAT里寫新數據及其他一些處理,主設備再將片選線拉低,執行一次SPI讀操作。這樣便可進行多字節傳輸了。SPI主從設備通信流程圖如圖6所示。本文引用地址:http://cqxgywz.com/article/149578.htm

3.3 終端性能測試
將編譯好的界面應用程序下載到終端處理器中并運行,主線程為顯示界面,隨時可與用戶進行信息,兩個子線程為讀SPI總線線程和串口讀寫線程,這3個線程同時并行運行。其中GPRS傳輸部分的界面如圖7所示,通過這個顯示界面設置串口、上位機IP地址、TCP端口和數據定時發送的時間間隔,發送文本框會顯示SPI總線讀取的數據值,接收文本框回顯GPRS模塊返回的信息。上位機用自己的PC機,通過軟件soeket tool監聽終端發送給上位機數據,實驗證明終端界面應用程序工作良好,數據傳輸也很準確。

4 結論
系統的上位機接受界面可用VB編寫,并建立數據庫,方便分析、處理監測現場數據,這部分程序正在完善中。監測終端的數據采集部分采用模塊化設計,可以靈活增減,終端軟件可以根據不同現場用戶自行設計計算公式處理數據,把終端設置好,在上位機通過GPRS網絡便可實時監測現場。該檢測終端結構靈活,實時性好,適用范圍廣,具有廣泛的應用前景。











評論