《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 無線數(shù)傳模塊在遠程環(huán)境監(jiān)測系統(tǒng)中的應(yīng)用
無線數(shù)傳模塊在遠程環(huán)境監(jiān)測系統(tǒng)中的應(yīng)用
來源: 煙臺勾股通信技術(shù)有限公司
摘要: 現(xiàn)代世界是一個信息世界,,信息的獲取傳輸也逐步從有線過渡到無線,。隨著無線通信事業(yè)的發(fā)展,無線傳輸這一技術(shù)越來越多的為人們所熟悉,,相應(yīng)的產(chǎn)品也滲透到社會生活的各個領(lǐng)域,,如無線抄表,、數(shù)字圖像傳輸、小區(qū)傳呼,、工業(yè)數(shù)據(jù)采集,、非接觸RF 智能卡,、安全防火系統(tǒng)、區(qū)域報警系統(tǒng)的數(shù)字信號傳輸?shù)?。而這一技術(shù)的最大作用便是優(yōu)化數(shù)據(jù)傳輸系統(tǒng)的效率,。本文將此技術(shù)應(yīng)用于無線通信的遠程環(huán)境監(jiān)測系統(tǒng)中,使該系統(tǒng)不僅數(shù)據(jù)傳輸效率高,,而且結(jié)構(gòu)簡單,,操作方便。
Abstract:
Key words :

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

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

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

  中心站、子站與無線數(shù)傳模塊間的通信是通過異步串口來完成的,。異步串口采用標(biāo)準(zhǔn)的串口格式即:一個起始位,、八個數(shù)據(jù)位、一個停止位,。傳輸速率為1200bit/s,。
2、 無線數(shù)傳模塊工作過程

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

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

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

二、設(shè)計系統(tǒng)時需要考慮的一些問題
1,、傳輸協(xié)議

  因為無線通信模塊要對接收進來的數(shù)據(jù)進行處理,,就必須能夠鑒別數(shù)據(jù)的真?zhèn)危砸髠鬏敂?shù)據(jù)的雙方建立一種有效協(xié)議使得能夠識別噪聲和有效數(shù)椐,。因為噪聲是以隨機字節(jié)出現(xiàn)的,,沒有明顯的結(jié)合方式,噪聲源可能產(chǎn)生任意字節(jié)的組合,,所以研究在無線通信的過程中最好能通過一種協(xié)議能有效的抑制噪聲的產(chǎn)生,。

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

  Radom 任意內(nèi)容的字節(jié)
  Data 位數(shù)據(jù)包字節(jié)
  Length 為數(shù)據(jù)包包含的Header字節(jié)之后的所有字節(jié)的長度
  Checksum 校驗和字節(jié)
  經(jīng)過測試和試驗,發(fā)現(xiàn)0xFF 后跟0XAA,0x55 在噪聲中不容易發(fā)生,所以設(shè)置傳輸協(xié)議在數(shù)據(jù)包前加開始字節(jié)0xFF后跟0xAA,0x55發(fā)送,。因為第一個字節(jié)的數(shù)椐在發(fā)送時容易丟失,,所以在協(xié)議的開始加一個任意內(nèi)容的字節(jié),然后是0xFF后跟一個0xAA,0x55;接收協(xié)議規(guī)定只接收以0xFF 后跟0xAA,0x55 開始的包.于是就可以很方便的把以上系統(tǒng)的數(shù)據(jù)包格式定為以上格式。
2,、傳輸頻率
  在無線通信系統(tǒng)中傳輸頻率也是至關(guān)重要的,,在為劃分和合理使用頻率,國際電信聯(lián)盟(ITU)將世界分為三個區(qū),,中國屬于第三區(qū),。ITU對我國的業(yè)余業(yè)務(wù)頻率有專門的分列。而這里設(shè)定的頻段為227.00~223.00MHz,,此為國家業(yè)余頻段,,也就是說可以自由使用,當(dāng)然如果希望長期專用,則需要申請頻譜許可證,,專用該頻段,。

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

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

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

  結(jié)合本設(shè)計所采用的硬件的特點,,以及實際的運行環(huán)境,最終選擇第三種方式完成串行口通信,。
  程序流程圖如下:

                                                                              圖3 程序流程圖
  在程序中利用類CserialPort實現(xiàn)負(fù)責(zé)串口的配置,,數(shù)據(jù)傳輸?shù)难舆t處理以及讀寫。結(jié)構(gòu)如下:
  class CSerialPort : public CWnd
 ?。?br />   public:
  CSerialPort();//初始化
  void ClosePort();
  BOOL ReadByte(char* buff);//讀串口
  BOOL WriteByte(BYTE bybyte[100],int length);
  //寫串口
  BOOL OpenPort(CString portname);
  BOOL SetCommunicationTimeouts();
  //設(shè)置通信延時
  BOOL ConfigurePort(DWORD BaudRate,,
  BYTE ByteSize,DWORD fParity,
  BYTE Parity, BYTE StopBits);
  HANDLE hComm;// 用來標(biāo)識串行口句柄
  DCB m_dcb;
  COMMTIMEOUTS m_CommTimeouts;
  BOOL m_bPortReady;// 串口是否準(zhǔn)備好
  BOOL bWriteRC;
  BOOL bReadRC;
  DWORD iBytesWritten;
  DWORD iBytesRead;
  virtual ~CSerialPort();//釋放資源
  BOOL OpenPort(CString portname);
  BOOL ConfigurePort()
 ?。?br />   其中配置串行口采用DCB結(jié)構(gòu),,BOOL ReadByte(char* buff) 和BOOL
WriteByte(BYTE,int)函數(shù)為讀寫串行口,,為了識別操作是否正確,,利用BOOL bWriteRC, bReadRC設(shè)置成功標(biāo)志。同時設(shè)定DWORD iBytesWritten,,iBytesRead確定字節(jié)的個數(shù),。在收發(fā)數(shù)據(jù)時需要監(jiān)測串行口是不是準(zhǔn)備好,,這時就可以檢測m_bPortReady的狀態(tài)。
  整個程序的編制也就相應(yīng)的分為以下幾個部分:配置串口;配置數(shù)傳模塊;讀寫串行口;通信延時處理等,。
四,、總結(jié)
  環(huán)境監(jiān)測系統(tǒng)具有采樣數(shù)據(jù)量大,傳輸距離遠,,以及環(huán)境條件差別大的特點,,長期以來數(shù)據(jù)傳輸部分一直是人們關(guān)注的焦點。以往系統(tǒng)主要采用MODEM和電話機實現(xiàn)遠程通信,,但由于電話線具有通信速度慢,,質(zhì)量差的缺點,已不能滿足現(xiàn)代環(huán)境監(jiān)測的要求,。這里應(yīng)用無線數(shù)傳模塊完成遠程數(shù)據(jù)通信,,不僅克服了這些缺點,而且大大改善了該系統(tǒng)的數(shù)據(jù)傳輸性能,。經(jīng)最終測試該系統(tǒng)不僅可以在條件惡劣干擾大的環(huán)境下進行遠距離傳輸,,而且數(shù)據(jù)準(zhǔn)確率高,傳輸速度快,??筛鶕?jù)不同需要應(yīng)用于電力、水利,、石油,、林業(yè)、勘探等領(lǐng)域,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。