<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 無(wú)線(xiàn)數傳模塊在遠程環(huán)境監測系統中的應用

無(wú)線(xiàn)數傳模塊在遠程環(huán)境監測系統中的應用

——
作者:張愛(ài)玲 仇潤鶴 時(shí)間:2007-07-05 來(lái)源:微計算機信息 收藏

摘要  本文介紹了一種在遠程環(huán)境監測系統中應用數傳實(shí)現數據傳輸的方法。對設計時(shí)需要解決的一些問(wèn)題進(jìn)行了討論,并給出了數傳與PC機串行通信的軟件實(shí)現思路。

關(guān)鍵詞  數傳;;
 
    現代世界是一個(gè)信息世界,信息的獲取傳輸也逐步從有線(xiàn)過(guò)渡到無(wú)線(xiàn)。隨著(zhù)無(wú)線(xiàn)通信事業(yè)的發(fā)展,無(wú)線(xiàn)傳輸這一技術(shù)越來(lái)越多的為人們所熟悉,相應的產(chǎn)品也滲透到社會(huì )生活的各個(gè)領(lǐng)域,如無(wú)線(xiàn)抄表、數字圖像傳輸、小區傳呼、工業(yè)數據采集、非接觸RF 智能卡、安全防火系統、區域報警系統的數字信號傳輸等。而這一技術(shù)的最大作用便是優(yōu)化數據傳輸系統的效率。本文將此技術(shù)應用于無(wú)線(xiàn)通信的遠程環(huán)境監測系統中,使該系統不僅數據傳輸效率高,而且結構簡(jiǎn)單,操作方便。

一、遠程環(huán)境監控系統組成

1、遠程環(huán)境監控系統概述


          圖1 遠程環(huán)境監測系統框圖

    遠程環(huán)境監測系統主要是對酸雨,水質(zhì),煙霧濃度等環(huán)境參數進(jìn)行集中測量,它是一種由中心站PC機、與子站PC機、模塊、數據采集器、環(huán)境測定儀所組成的主從式系統。系統結構如圖1所示。

    中心站主要位于城市或地區的環(huán)境監測總站,子站則在城市或地區的周邊。環(huán)境測定儀有碳氫化合物測定儀MODEL-745、大氣測定儀AFC-125、酸雨測定儀AR-107SNA、COD測定儀VS-3951等,他們收集的各種環(huán)境參數通過(guò)數據采集器送入子站PC機中,進(jìn)行數據處理、參數顯示和保存,并隨時(shí)準備接受中心站的查詢(xún)和定時(shí)發(fā)送。每一子站與中心站之間的遠程通信是采用北京池潤達公司的W21DM全雙工通信模塊來(lái)實(shí)現的。

    中心站、子站與無(wú)線(xiàn)數傳模塊間的通信是通過(guò)異步串口來(lái)完成的。異步串口采用標準的串口格式即:一個(gè)起始位、八個(gè)數據位、一個(gè)停止位。傳輸速率為1200bit/s。

2、 無(wú)線(xiàn)數傳模塊工作過(guò)程

         圖2無(wú)線(xiàn)數傳模塊結構圖

    圖2是無(wú)線(xiàn)數傳模塊結構框圖。無(wú)線(xiàn)數傳模塊的工作方式有全雙工和半雙工兩種,為了能充分測試系統傳輸數據的可靠性,本系統采用全雙工模式。同時(shí)注意在設置通信時(shí),必須保證通過(guò)串行口將無(wú)線(xiàn)數傳模塊的收發(fā)頻率設置相同。

 2.1模塊發(fā)送過(guò)程:

    當模塊收到PC機的串行口數據后,模塊先通過(guò)DTR線(xiàn)判斷收到的數據是命令還是發(fā)送數據,若是命令則執行相應的命令,若是發(fā)送數據則先將要發(fā)送的數據送到發(fā)送緩沖區EERAM中,并同時(shí)將模塊的狀態(tài)由接收狀態(tài)轉換成發(fā)射狀態(tài),狀態(tài)轉換完成后啟動(dòng)發(fā)送打包程序,并將這個(gè)數據包的數據送到模塊中的數據調制口以FSK的方式調制成模擬信號, 與鎖相環(huán)中的振蕩信號一起送混頻器,升頻后的射頻信號再經(jīng)發(fā)射放大器、功率放大器放大后通過(guò)天線(xiàn)發(fā)送出去。這里的數據打包要遵從事先定義好的傳輸,這樣才可以使接收雙方有規可循,而且避免其他信號干擾。具體設定下面詳細說(shuō)明。

2.2模塊的接收過(guò)程:
   在接收狀態(tài)下,通過(guò)天線(xiàn)接收進(jìn)來(lái)的射頻信號經(jīng)射頻發(fā)大器后,與鎖相環(huán)中的振蕩信號一起送到混頻器,降頻后的中頻信號,通過(guò)中頻濾波器、中頻放大器放大后送到調制解調器,以FSK解調后的數字信號按照將有效數據送到存儲器中,再經(jīng)串行口送到計算機。

二、設計系統時(shí)需要考慮的一些問(wèn)題

1、傳輸協(xié)議
    因為無(wú)線(xiàn)通信模塊要對接收進(jìn)來(lái)的數據進(jìn)行處理,就必須能夠鑒別數據的真偽,所以要求傳輸數據的雙方建立一種有效協(xié)議使得能夠識別噪聲和有效數椐。因為噪聲是以隨機字節出現的,沒(méi)有明顯的結合方式,噪聲源可能產(chǎn)生任意字節的組合,所以研究在無(wú)線(xiàn)通信的過(guò)程中最好能通過(guò)一種協(xié)議能有效的抑制噪聲的產(chǎn)生。

    經(jīng)過(guò)比較選擇,采用了以下的數據傳輸協(xié)議格式:

    Radom 任意內容的字節
    Data   位數據包字節
    Length 為數據包包含的Header字節之后的所有字節的長(cháng)度
    Checksum 校驗和字節

    經(jīng)過(guò)測試和試驗,發(fā)現0xFF 后跟0XAA,0x55 在噪聲中不容易發(fā)生,所以設置傳輸協(xié)議在數據包前加開(kāi)始字節0xFF 后跟0xAA,0x55發(fā)送。因為第一個(gè)字節的數椐在發(fā)送時(shí)容易丟失,所以在協(xié)議的開(kāi)始加一個(gè)任意內容的字節,然后是0xFF 后跟一個(gè)0xAA,0x55;接收協(xié)議規定只接收以0xFF 后跟0xAA,0x55 開(kāi)始的包.于是就可以很方便的把以上系統的數據包格式定為以上格式。

2、傳輸頻率

    在無(wú)線(xiàn)通信系統中傳輸頻率也是至關(guān)重要的,在為劃分和合理使用頻率,國際電信聯(lián)盟(ITU)將世界分為三個(gè)區,中國屬于第三區。ITU對我國的業(yè)余業(yè)務(wù)頻率有專(zhuān)門(mén)的分列。而這里設定的頻段為227.00~223.00MHz,此為國家業(yè)余頻段,也就是說(shuō)可以自由使用,當然如果希望長(cháng)期專(zhuān)用,則需要申請頻譜許可證,專(zhuān)用該頻段。

    系統中數據的遠距離傳輸是根據接受雙方的頻率來(lái)判斷是否接受的。所以需要編寫(xiě)一定的程序完成頻率設置。如寫(xiě)頻時(shí),把DTR置低,指令格式為:D7H:FFH:AAH:AAH:AAH:BBH:BBH:BBH,AAH:AAH:AAH表示發(fā)射頻率,如229.100MHz表示為22H:91H:00H三字節,同理BBH:BBH:BBH表示接收頻率。而傳送數據時(shí),DTR置高或懸空。

3、串行數據的傳送方式
    由于設計采用的是無(wú)線(xiàn)傳輸,所以當通過(guò)串行口將數據送到無(wú)線(xiàn)數傳模塊的時(shí)候需要考慮數據的傳輸格式。一般來(lái)說(shuō),通常我們發(fā)送的是字符或者數字,這時(shí)我們就需要在軟件中根據ASCII碼的規則將他們轉化為十六進(jìn)制數形式,以字節方式傳送。同時(shí)也需考慮發(fā)送與接收串口之間的延遲。

三、的軟件設計

    串行口是常用的計算機與外部串行設備之間的數據傳輸通道,而Visual C++6.0是一種功能強大的可視化的面向對象的Windows編程開(kāi)發(fā)平臺,利用其進(jìn)行串行通信方便易行,應用廣泛。通常情況下VC++中有三種實(shí)現串行通信的編程技術(shù):1)利用控件MSComm實(shí)現串行通信:在對話(huà)框中創(chuàng )建通信控件 MSComm,這種方法簡(jiǎn)單易用,但必須拿到對話(huà)框中使用,靈活性較差;2)多線(xiàn)程實(shí)現串行通信:在自定義的串行通信類(lèi)中創(chuàng )建端口監視線(xiàn)程,進(jìn)行多線(xiàn)程控制,并在指定的事件發(fā)生時(shí)向相關(guān)的窗口發(fā)送通知消息。該方法實(shí)時(shí)性強,但是系統復雜;3)在單線(xiàn)程中建立自定義的通信類(lèi)實(shí)現串行通信;利用VC++的MFC類(lèi)庫實(shí)現。與控件方法相比,靈活性強,可按不同需要定制靈活的串口通信類(lèi)來(lái)實(shí)現,同時(shí)也比多線(xiàn)程通信結構簡(jiǎn)單。

    結合本設計所采用的硬件的特點(diǎn),以及實(shí)際的運行環(huán)境,最終選擇第三種方式完成。

程序流程圖如下:


 
圖3  程序流程圖

    在程序中利用類(lèi)CserialPort實(shí)現負責串口的配置,數據傳輸的延遲處理以及讀寫(xiě)。結構如下:


    其中配置串行口采用DCB結構,BOOL ReadByte(char* buff) 和BOOL WriteByte(BYTE,int)函數為讀寫(xiě)串行口,為了識別操作是否正確,利用BOOL bWriteRC, bReadRC設置成功標志。同時(shí)設定DWORD   iBytesWritten,iBytesRead確定字節的個(gè)數。在收發(fā)數據時(shí)需要監測串行口是不是準備好,這時(shí)就可以檢測m_bPortReady的狀態(tài)。

    整個(gè)程序的編制也就相應的分為以下幾個(gè)部分:

    配置串口;配置數傳模塊;讀寫(xiě)串行口;通信延時(shí)處理等。

四、總結

    環(huán)境監測系統具有采樣數據量大,傳輸距離遠,以及環(huán)境條件差別大的特點(diǎn),長(cháng)期以來(lái)數據傳輸部分一直是人們關(guān)注的焦點(diǎn)。以往系統主要采用MODEM和電話(huà)機實(shí)現遠程通信,但由于電話(huà)線(xiàn)具有通信速度慢,質(zhì)量差的缺點(diǎn),已不能滿(mǎn)足現代環(huán)境監測的要求。這里應用無(wú)線(xiàn)數傳模塊完成遠程數據通信,不僅克服了這些缺點(diǎn),而且大大改善了該系統的數據傳輸性能。經(jīng)最終測試該系統不僅可以在條件惡劣干擾大的環(huán)境下進(jìn)行遠距離傳輸,而且數據準確率高,傳輸速度快??筛鶕煌枰獞糜陔娏?、水利、石油、林業(yè)、勘探等領(lǐng)域。

參考文獻:
1、上海桑博電子科技有限公司技術(shù)文檔   2003
2、李現勇 Visual C++串口通信技術(shù)與工程實(shí)踐
          人民郵店出版社  2002年5月
3、 王宏偉 吳建設 基于VC++6.0的串行通信設計與實(shí)現 黃石高等專(zhuān)科學(xué)校學(xué)報 2003(4)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>