<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM和GPRS的遠程監(jiān)測終端設(shè)計

          基于ARM和GPRS的遠程監(jiān)測終端設(shè)計

          作者: 時間:2012-02-23 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/149578.htm

          f.jpg


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

          g.jpg



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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();