• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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ù)研究
    蒲城县| 翁牛特旗| 土默特左旗| 康平县| 衡阳市| 资兴市| 望江县| 崇阳县| 普安县| 马龙县| 亚东县| 丰县| 江口县| 正镶白旗| 嘉鱼县| 南平市| 兴海县| 保德县| 芮城县| 女性| 鹿泉市| 高阳县| 巴楚县| 贵阳市| 东城区| 金寨县| 建阳市| 裕民县| 康定县| 张家界市| 芦溪县| 石台县| 涟水县| 平江县| 金沙县| 定兴县| 嘉峪关市| 洛浦县| 仁寿县| 西吉县| 黄平县|