• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于GPRS遠(yuǎn)程監(jiān)控系統(tǒng)的通信實(shí)現(xiàn)

      2010-06-13 11:32:52馮凌杰范建豐
      微處理機(jī) 2010年3期
      關(guān)鍵詞:實(shí)時性線程鏈路

      馮凌杰,張 梅,范建豐

      (華南理工大學(xué)精密電子制造裝備教育部工程研究中心自動化學(xué)院,廣州510640)

      1 引言

      遠(yuǎn)程監(jiān)控是國內(nèi)外研究的前沿?zé)衢T課題,基于Internet的遠(yuǎn)程監(jiān)控取得了巨大的發(fā)展,被廣泛應(yīng)用于機(jī)器人遠(yuǎn)程分布式控制、設(shè)備遠(yuǎn)程故障診斷、遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)室等領(lǐng)域。

      目前的數(shù)據(jù)采集和遠(yuǎn)程監(jiān)控系統(tǒng)中,通訊方式分為有線通訊和無線通訊。有線通信因其線路架設(shè)成本太高,位置固定不能移動,從而限制了在偏遠(yuǎn)地區(qū)和移動環(huán)境下的應(yīng)用。無線通信則克服了有線通信的缺點(diǎn)[1]。GPRS是一種基于GSM系統(tǒng)的無線分組交換技術(shù)。GPRS借用了移動的接入網(wǎng)和傳輸網(wǎng),提供端到端、廣域的無線IP連接。所以,GPRS較其他通信鏈路具有五大優(yōu)點(diǎn):瞬間上網(wǎng)、永遠(yuǎn)在線、快速傳輸、按量計費(fèi)、自由切換。因此,GPRS通信方式廣泛的應(yīng)用于各類遠(yuǎn)程監(jiān)控系統(tǒng)。

      基于GPRS通信鏈路的實(shí)現(xiàn)方案:客戶端采用RAM7+一體化GPRS DTU實(shí)現(xiàn)數(shù)據(jù)的采集與收發(fā),服務(wù)器端采用通信模塊與數(shù)據(jù)處理模塊相分離的實(shí)現(xiàn)方案。這種實(shí)現(xiàn)降低了系統(tǒng)的開發(fā)難度,提高了系統(tǒng)的實(shí)時性。整個遠(yuǎn)程監(jiān)控系統(tǒng)的構(gòu)建如圖1所示。

      2 通信方案設(shè)計及協(xié)議選擇

      2.1 GPRS通信鏈路的選擇

      目前,GPRS的通信鏈路主要有四種實(shí)現(xiàn)方案:

      (1)中心采用ADSL等INTELNET公網(wǎng)連接,采用公網(wǎng)固定IP。監(jiān)控點(diǎn)直接向中心發(fā)起連接,系統(tǒng)運(yùn)行可靠穩(wěn)定。

      (2)中心采用主副GPRS-DTU,采用移動內(nèi)網(wǎng)動態(tài)IP+移動DNS解析服務(wù)。此方案可以節(jié)約固定IP的費(fèi)用,但某些移動公司不提供DNS解析服務(wù),所以應(yīng)用受到限制,并且此方案實(shí)時性和穩(wěn)定性較差。

      圖1 遠(yuǎn)程監(jiān)控系統(tǒng)構(gòu)建

      (3)中心采用主副GPRS-DTU,采用移動APN專網(wǎng)固定IP。這種方案具有移動內(nèi)網(wǎng)固定IP,傳輸數(shù)據(jù)不經(jīng)過公網(wǎng),節(jié)省了寬帶專線費(fèi)用,所以其穩(wěn)定性,安全性和性價比都比方案二好。

      (4)中心采用APN專線,采用內(nèi)網(wǎng)固定IP。此方案在實(shí)時性、安全性和穩(wěn)定性方面都比前三種方案有很大提高,適用于數(shù)據(jù)點(diǎn)多、安全性和實(shí)時性要求高的環(huán)境。缺點(diǎn)是費(fèi)用太高[2-3]。

      綜合考慮穩(wěn)定性和開發(fā)成本,最終決定采用方案一。

      2.2 通信協(xié)議的選擇

      GPRS有TCP和UDP兩種通信協(xié)議。TCP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP協(xié)議有五大特點(diǎn):①面向連接的傳輸;②端到端的通信;③高可靠性;④全雙工方式傳輸;⑤采用字節(jié)流方式。UDP提供的服務(wù)是不可靠的、無連接的,因UDP無需進(jìn)行確認(rèn)排序以及網(wǎng)絡(luò)信息的發(fā)送,其數(shù)據(jù)包的包頭較TCP小,占用網(wǎng)絡(luò)資源少,實(shí)時性較高。因此,TCP協(xié)議更多的應(yīng)用于對數(shù)據(jù)傳輸?shù)目煽啃砸筝^高,但對實(shí)時性要求不是很高的情況,例如文件傳送、計算機(jī)郵件等;而UDP適用于對數(shù)據(jù)傳輸?shù)目煽啃砸蟛皇呛芨?,但對?shí)時性要求比較高的情況,例如視頻電話會議系統(tǒng)等[4]。

      綜合考慮遠(yuǎn)程監(jiān)控的實(shí)時性和數(shù)據(jù)傳輸?shù)目煽啃裕瑳Q定選用TCP協(xié)議。

      3 服務(wù)器和客戶端的程序?qū)崿F(xiàn)

      3.1 客戶端實(shí)現(xiàn)

      在客戶端,利用RAM7開發(fā)出基于UC/OS II實(shí)時操作系統(tǒng)的串口通信程序,從而將RAM7采集到的數(shù)據(jù)發(fā)送給GPRS DTU模塊。UC/OS II操作系統(tǒng)是基于任務(wù)的,所以在該程序中建立了一個主函數(shù)和兩個任務(wù)。

      主函數(shù)采用UC/OS II中main函數(shù)的典型寫法,只用于初始化UC/OS II、啟動多任務(wù)環(huán)境和建立一個 TaskUart0Send 任務(wù)[5]。

      TaskUart0Send任務(wù)完成目標(biāo)板的初始化和數(shù)據(jù)的發(fā)送,并建立一個數(shù)據(jù)發(fā)送任務(wù)Taskrecv:

      UART0_Init(115200);/*初始化目標(biāo)板的串口*/

      UART1_SendStr(snd);/*向串口發(fā)送字符串snd*/

      OSTaskCreate(Taskrecv,(void*)0,&TaskStk[TaskStkLengh-1],2);

      TaskRecv任務(wù)主要完成數(shù)據(jù)的接收[6],本任務(wù)采用循環(huán)接收,每次接收一個字節(jié),直到接收完規(guī)定的字節(jié)數(shù)為止。

      for(i=0;i<8;i++)

      {if(UART0Getch())

      {

      temp=UART0Getch();

      *cp++=temp;

      }

      }

      3.2 服務(wù)器通信實(shí)現(xiàn)

      該服務(wù)器的通信模塊采用socket套接字的非阻塞實(shí)現(xiàn)形式,其基本流程如圖2所示。

      圖2 服務(wù)器通信模塊流程圖

      圖2 中啟動服務(wù)器函數(shù)的主要功能是初始化套接字[7],包括初始化 windows socket的動態(tài)庫、創(chuàng)建新的套接字并設(shè)置其為非阻塞模式、綁定套接字并進(jìn)行監(jiān)聽。

      創(chuàng)建清理資源線程和接收客戶端線程的程序模塊主要是實(shí)現(xiàn)接收客戶端請求線程和釋放資源線程的創(chuàng)建。接收客戶端請求線程用來完成接收客戶端的連接請求,釋放資源線程主要用于當(dāng)數(shù)據(jù)傳輸完畢時清理相應(yīng)線程所占的系統(tǒng)資源。

      當(dāng)完成接收客戶端請求時,在臨界區(qū)內(nèi)以sAccept套接字和addrclient客戶端地址為參數(shù)創(chuàng)建一個cClient類的實(shí)例,將該實(shí)例作為一個節(jié)點(diǎn)加入用戶鏈表cClientlist中,并為該客戶端創(chuàng)建接收和發(fā)送數(shù)據(jù)線程,從而使服務(wù)器在各自的線程中調(diào)用socket中的recv()和send()l來實(shí)現(xiàn)數(shù)據(jù)的收發(fā):

      //創(chuàng)建接收客戶端數(shù)據(jù)線程

      m_hThreadRecv=CreateThread(NULL,0,Recv-DataThread,this,0,&ulThreadId);

      //創(chuàng)建數(shù)據(jù)發(fā)送線程

      m_hThreadSend=CreateThread(NULL,0,Send-DataThread,this,0,&ulThreadId);

      結(jié)束進(jìn)程完成服務(wù)器退出是最后清理工作,清理在啟動主線程時申請的資源[8]。其中包括釋放臨界區(qū)對象和事件對象句柄、關(guān)閉SOCKET以及卸載Windows Sockets DLL。

      4 結(jié)束語

      通過實(shí)際的鏈路搭建和調(diào)試運(yùn)行,證明該系統(tǒng)可以很好的滿足遠(yuǎn)程監(jiān)控系統(tǒng)對實(shí)時性和移動性的要求,并且所用費(fèi)用不高,具有很好的性價比。實(shí)際的客戶端搭建如圖3所示。

      圖3 客戶端的搭建

      [1]GeoffreySanders.GPRSnetworks[C].Chichester,England;Hoboken,NJ:Wiley,2003:210 -230.

      [2]趙亮,黎峰.GPRS無線網(wǎng)絡(luò)在遠(yuǎn)程數(shù)據(jù)采集中的應(yīng)用[J].計算機(jī)工程與設(shè)計,2005(9)期:2552 -2554.

      [3]Yi- Bing Lin,Shun - Ren Yang.A mobility management strategy for GPRS[J].IEEE Transactions on Wireless Communications,2003,2(6):1178 -1188.

      [4]TCP/IP協(xié) 議[EB/OL].http://tieba.baidu.com/f?kz=477764940.

      [5]Labrosse J J.MicroC/OS - II The Real- Time Kenel[M].Second Edition.邵貝貝譯.北京:北京航空航天大學(xué)出版社,2006.

      [6]周立功,張華.深入淺出 RAM7-LPC213X/214X(下冊)[M].北京:北京航空航天大學(xué)出版社,2006.

      [7]Socket編程的實(shí)現(xiàn)過程[EB/OL].http://blog.sina.com.cn/s/blog_59f0cdb00100ajgl.htm.

      [8]孫海民.精通windows socket網(wǎng)絡(luò)開發(fā)[M].北京:北京郵電出版社,2008.

      猜你喜歡
      實(shí)時性線程鏈路
      家紡“全鏈路”升級
      天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
      移動通信(2021年5期)2021-10-25 11:41:48
      基于規(guī)則實(shí)時性的端云動態(tài)分配方法研究
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時性仿真
      航空電子AFDX與AVB傳輸實(shí)時性抗干擾對比
      淺談linux多線程協(xié)作
      基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
      一種車載Profibus總線系統(tǒng)的實(shí)時性分析
      高速光纖鏈路通信HSSL的設(shè)計與實(shí)現(xiàn)
      Linux線程實(shí)現(xiàn)技術(shù)研究
      盱眙县| 漳平市| 沂南县| 清苑县| 肇州县| 海原县| 华宁县| 丽江市| 浦江县| 湾仔区| 莱州市| 革吉县| 福清市| 剑阁县| 呼图壁县| 将乐县| 施秉县| 尼勒克县| 方城县| 綦江县| 祁连县| 鲜城| 浮山县| 平和县| 沙雅县| 新源县| 元江| 奇台县| 中宁县| 衡东县| 金乡县| 湘潭市| 潢川县| 合肥市| 新巴尔虎左旗| 德保县| 方城县| 兖州市| 涡阳县| 府谷县| 南木林县|