《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee技術(shù)的無線溫度采集系統(tǒng)
基于ZigBee技術(shù)的無線溫度采集系統(tǒng)
景軍鋒,李嘉琨,王 波,聶魯華
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
摘要: 詳細(xì)闡述了ZigBee技術(shù)及其應(yīng)用,提出了一種基于ZigBee技術(shù)的無線溫度采集系統(tǒng)的方案。針對(duì)所提方案設(shè)計(jì)了系統(tǒng)的硬件電路及相關(guān)軟件,并通過實(shí)驗(yàn)證明了方案的可行性及正確性。
關(guān)鍵詞: PIC ZigBee DS18B20 CC2430 2.4 GHz
Abstract:
Key words :

 摘  要: 詳細(xì)闡述了ZigBee技術(shù)及其應(yīng)用,提出了一種基于ZigBee技術(shù)的無線溫度采集系統(tǒng)的方案。針對(duì)所提方案設(shè)計(jì)了系統(tǒng)的硬件電路及相關(guān)軟件,并通過實(shí)驗(yàn)證明了方案的可行性及正確性。
關(guān)鍵詞: ZigBee;DS18B20;CC2430;2.4 GHz

  在人們?nèi)粘5纳a(chǎn)生活中,經(jīng)常需要通過傳感器將一些物理量,如溫度、濕度、光照度等非電量轉(zhuǎn)變成電量,然后通過傳輸線傳輸?shù)街鳈C(jī)進(jìn)行數(shù)據(jù)處理,再產(chǎn)生相應(yīng)的控制信號(hào)。工業(yè)中的傳輸線通常采用的是現(xiàn)場(chǎng)總線,如CAN總線等。但是在一些場(chǎng)合采用這種有線介質(zhì)作為傳輸線并不是最理想的方案。比如一個(gè)大型糧倉或蔬菜大棚要實(shí)現(xiàn)多點(diǎn)的溫度采集時(shí),按照有線傳輸方案需要從各個(gè)傳感器節(jié)點(diǎn)連接很多且復(fù)雜的傳輸線到主機(jī),蔬菜大棚需要保持一定的溫濕度,長(zhǎng)期下來會(huì)對(duì)傳輸線造成腐蝕、損壞,從而影響整個(gè)系統(tǒng)的正常工作。此外,多點(diǎn)溫度采集系統(tǒng)所傳輸?shù)臄?shù)據(jù)量并不大,且對(duì)數(shù)據(jù)傳輸速率的要求也不高,所以在這種情況下采用無線方式進(jìn)行信號(hào)的采集傳輸是十分理想的。
  當(dāng)前主要的無線技術(shù)有WiFi、Bluetooth、UWB、NFC以及紅外等。采用紅外技術(shù)應(yīng)用于傳感器裝置上的缺陷是:要求傳輸雙方必須在可見范圍內(nèi)而且是定向傳輸,中間不能有障礙物否則會(huì)影響數(shù)據(jù)傳輸質(zhì)量。而其他無線技術(shù)的主要問題是開發(fā)成本過高,適用面較窄。
  ZigBee是一種短距離、架構(gòu)簡(jiǎn)單、低功耗和低傳輸速率的無線通信技術(shù),工作頻率為2.4 GHz免費(fèi)頻段,其傳輸距離一般在幾十米范圍內(nèi),數(shù)據(jù)傳輸速率為250 Kb/s。ZigBee可以基于協(xié)議棧組成網(wǎng)絡(luò)實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)的數(shù)據(jù)傳輸,并采用了碰撞避免機(jī)制,信息在整個(gè)ZigBee網(wǎng)絡(luò)中通過自動(dòng)路由的方式進(jìn)行傳輸,保證了信息的安全性。Zigee技術(shù)既解決了傳輸?shù)目煽啃詥栴},又因?yàn)槠鋫鬏敼牡?,傳輸采用免費(fèi)頻段等因素,使其降低了成本[1]。
1 系統(tǒng)方案
  當(dāng)系統(tǒng)組成1個(gè)ZigBee網(wǎng)絡(luò)時(shí),根據(jù)實(shí)際情況來確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)關(guān)系到網(wǎng)絡(luò)成本、網(wǎng)絡(luò)維護(hù)的難易、網(wǎng)絡(luò)可靠性以及網(wǎng)絡(luò)穩(wěn)定性。ZigBee基本的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)有如下幾種:星型網(wǎng)絡(luò)、樹型網(wǎng)絡(luò)以及網(wǎng)型網(wǎng)絡(luò)[1-3]。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。


  網(wǎng)絡(luò)中存在3種類型的節(jié)點(diǎn):子節(jié)點(diǎn)(RFD)、路由節(jié)點(diǎn)(FFD)、主節(jié)點(diǎn)(COORDINATOR)。子節(jié)點(diǎn)與傳感器連接,散布在現(xiàn)場(chǎng)中,主要作用是采集信號(hào)并傳輸;路由節(jié)點(diǎn)的作用是擴(kuò)展網(wǎng)絡(luò)深度與廣度,星型網(wǎng)絡(luò)中若對(duì)網(wǎng)絡(luò)深度廣度要求不高,可以省略路由節(jié)點(diǎn);主節(jié)點(diǎn)與上位監(jiān)控PC機(jī)連接,主要作用是建立網(wǎng)絡(luò),處理各個(gè)子節(jié)點(diǎn)及路由節(jié)點(diǎn)發(fā)送的信息,相當(dāng)于有線網(wǎng)絡(luò)中的服務(wù)器[2-3]。
  本文采用了星型拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)了一種基于無線ZigBee技術(shù)的溫度系統(tǒng),系統(tǒng)總體方案框圖如圖2所示。


  系統(tǒng)的工作過程為:主節(jié)點(diǎn)先建立網(wǎng)絡(luò),等待各自節(jié)點(diǎn)的加入;子節(jié)點(diǎn)加入網(wǎng)絡(luò)后,把溫度傳感器采集到的溫度數(shù)據(jù)打包并攜帶自己的地址通過無線形式傳輸給主節(jié)點(diǎn);主節(jié)點(diǎn)接收到數(shù)據(jù)包后進(jìn)行數(shù)據(jù)處理,并將溫度信息以及子節(jié)點(diǎn)地址等有效信息存儲(chǔ)并顯示在監(jiān)控界面上。
2 硬件設(shè)計(jì)
  系統(tǒng)采用Chipcon公司的CC2430芯片,CC2430是一款片上系統(tǒng)芯片,內(nèi)部帶有豐富的系統(tǒng)資源,只需要很少的外圍部件就能實(shí)現(xiàn)接收或發(fā)送信號(hào)功能[2,4]。系統(tǒng)的傳感器采用DS18B20型溫度傳感器。DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)[5]。系統(tǒng)的硬件電路圖如圖3、圖4所示。


    圖3所示是由CC2430芯片及一些外圍器件組成的ZigBee節(jié)點(diǎn)的典型電路,子節(jié)點(diǎn)與主節(jié)點(diǎn)均采用了這種電路結(jié)構(gòu)。主節(jié)點(diǎn)是由CC2430電路和1個(gè)MAX3232接口電路組成,MAX3232接口電路是為了實(shí)現(xiàn)主節(jié)點(diǎn)與上位監(jiān)控PC機(jī)之間的通信;子節(jié)點(diǎn)是由CC2430電路和DS18B20溫度傳感器組成,實(shí)現(xiàn)各點(diǎn)溫度的采集;由于本采集系統(tǒng)工作的范圍不大,所以沒有設(shè)計(jì)路由節(jié)點(diǎn)。ZigBee節(jié)點(diǎn)的實(shí)物圖如圖5所示,中間為CC2430,前端為一個(gè)PCB天線。


3 軟件設(shè)計(jì)
    系統(tǒng)中的主節(jié)點(diǎn)和子節(jié)點(diǎn)在硬件結(jié)構(gòu)上差異并不大,主要是通過程序的編寫實(shí)現(xiàn)主子節(jié)點(diǎn)各自不同的功能。程序主要分為主節(jié)點(diǎn)程序和子節(jié)點(diǎn)程序。主節(jié)點(diǎn)首先形成網(wǎng)絡(luò)等待各個(gè)子節(jié)點(diǎn)的加入,網(wǎng)絡(luò)形成后接收來自各子節(jié)點(diǎn)的數(shù)據(jù)并加以處理,再與上位PC機(jī)進(jìn)行通信;子節(jié)點(diǎn)上電后尋找可加入的網(wǎng)絡(luò),成功加入后開始采集溫度,并將溫度信息以及自身網(wǎng)絡(luò)地址打包并通過無線形式傳給主節(jié)點(diǎn),實(shí)現(xiàn)星型無線網(wǎng)絡(luò)的功能。部分重要程序段如下,并對(duì)無線網(wǎng)絡(luò)的形成及數(shù)據(jù)傳輸?shù)裙δ軐?shí)現(xiàn)加以解釋說明。
  # ifdef COORDINATOR    //若節(jié)點(diǎn)定義為COORDINATOR
  aplFormNetwork();               //格式化1個(gè)新網(wǎng)絡(luò)
  while(apsBusy()){apsFSM();}               //延時(shí)等待
  conPrintROMString(“Network formed,waiting for RX\n”);
  Print(“Network formed!”);           //顯示網(wǎng)絡(luò)形成
  Print(“ZigBee COORDINATOR”);
  Print(“Waiting for nodes”)
  # else    //若不是COORDINATOR則認(rèn)為是RFD節(jié)點(diǎn)
  do
  {aplJoinNEtwork();                  //加入網(wǎng)絡(luò)函數(shù)
    While(apsBusy()) {apsFSM();}         //等待加入網(wǎng)絡(luò)
    if(aplGetStatus()==STATUS_SUCCESS)
    {
      conPrintROMString(“Network Join succeeded!/n”);
      conPrintROMString(“My ShortAddress is:”);
      conPrintUINT16(aplGetMyShortAddress());
                                   //串口輸出網(wǎng)絡(luò)地址
      conPrintLADDR(aplGetParentLongAddress());
                                   //串口輸出物理地址
        }
        else
        {
        conPrintROMString(“Network Join Failed!Waiting, then try again”);
        }
        # endif
        # ifdef RFD                       //子節(jié)點(diǎn)函數(shù)
           {
   dstADDR.saddr=0;
                                             //RFD發(fā)送數(shù)據(jù)的目的地址為網(wǎng)絡(luò)主節(jié)點(diǎn)
   aplSendMSG(APS_DSTMODE_SHORT,
   &dstADDR,                             //目的地址
       &payload[0],                             //數(shù)據(jù)存儲(chǔ)區(qū)
       apsGenTSN(),
       FALSE);                          //無需APS層應(yīng)答
       }
       #endif
  通過比較ZigBee以及其他幾種無線傳輸方式的優(yōu)缺點(diǎn),本文提出了基于ZigBee技術(shù)的無線溫度采集系統(tǒng)的整體方案,并設(shè)計(jì)實(shí)現(xiàn)了系統(tǒng)的硬件電路及相應(yīng)程序。系統(tǒng)運(yùn)行穩(wěn)定,數(shù)據(jù)傳輸準(zhǔn)確性高,能夠達(dá)到預(yù)期所設(shè)想的目標(biāo)。
參考文獻(xiàn)
[1] IEEE 802.15.4 standard specification, standards. IEEE. org/getieee802/.
[2] 李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技入門與實(shí)踐[M].北京:北京航空航天出版社,2007.
[3] 夏蕓.CC1010芯片在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)與自動(dòng)化技術(shù),2005,31(5).
[4] Chipcon Products from Texas Instruments. CC2430 Datasheet.
[5] DS18B20 Programmable Resolution Wire Digital Termometer. www. dalsemi. com.

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