RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CC2430芯片和ZigBee2006協(xié)議實現(xiàn)無線傳感器節(jié)點的設(shè)計

電子設(shè)計 ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:臺宏達(dá);田國會;宋 ? 2021-05-05 17:19 ? 次閱讀

作者:臺宏達(dá);田國會;宋保業(yè);劉賢鍇

1 ZigBee技術(shù)及ZigBee2006協(xié)議棧簡介

1.1 ZigBee技術(shù)概述

ZigBee技術(shù)是一種短距離、低速率的無線通信技術(shù)。由于其短距離、低速率及可以實時定位等特點,被廣泛應(yīng)用于醫(yī)療、智能家居、智能建筑、工業(yè)自動化、智能空間等領(lǐng)域。

1.2 ZigBee2006協(xié)議棧簡析

ZigBee通信協(xié)議的基礎(chǔ)是IEEE 802.15.4。這是IEEE無線個人區(qū)域網(wǎng)工作組的一項標(biāo)準(zhǔn),被稱作IEEE 802.15.4標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了物理層(PHY)和媒體訪問控制層(MAC)的標(biāo)準(zhǔn)。ZigBee聯(lián)盟則定義了ZigBee協(xié)議的網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)和安全服務(wù)規(guī)范。TI/Chipcon公司在IEEE 802.15.4標(biāo)準(zhǔn)和ZigBee聯(lián)盟所推出的ZigBee2006規(guī)范的基礎(chǔ)上,發(fā)布了全功能的ZigBee2006協(xié)議棧,并通過了ZigBee聯(lián)盟的認(rèn)證。該協(xié)議棧全部用C語言編寫,免費提供給用戶,同時向后兼容。該協(xié)議棧在結(jié)構(gòu)上分為應(yīng)用層、網(wǎng)絡(luò)層、安全層、MAC層和物理層,每一層的函數(shù)都嚴(yán)格按照IEEE 802.15.4標(biāo)準(zhǔn)和ZigBee2006規(guī)范所規(guī)定的原語格式編寫。與此同時,在協(xié)議棧內(nèi)部還嵌入了一個操作系統(tǒng),用于對任務(wù)進(jìn)行統(tǒng)一的調(diào)度。對于用戶而言,只需要了解應(yīng)用層函數(shù)并進(jìn)行恰當(dāng)?shù)恼{(diào)用,就可以構(gòu)建功能完善、性能穩(wěn)定的ZigBee無線網(wǎng)絡(luò)。

2 系統(tǒng)方案設(shè)計

ZigBee無線傳感執(zhí)行網(wǎng)絡(luò)必須要有一個協(xié)調(diào)器作為整個網(wǎng)絡(luò)的傳輸與控制中心,另外還要有若干路由器和終端節(jié)點。它有3種最基本的連接方式:星狀連接、網(wǎng)狀連接和串狀連接,如圖1所示。

星狀連接方式比較簡單,只能組建包含較少節(jié)點的無線網(wǎng)絡(luò),各個終端節(jié)點通過協(xié)調(diào)器實現(xiàn)網(wǎng)絡(luò)連接。網(wǎng)狀連接中任意節(jié)點之間都可以傳遞信息。串狀連接中增加了若干路由器,用于對數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。

在ZigBee2006全功能協(xié)議棧中,網(wǎng)絡(luò)連接方式的選擇可通過在nwk_globals.c和nwk_globals.h中對 STACK_PROFILE_ID的設(shè)置來實現(xiàn)。STACK_PRO-FILE_ID有3種量,分別對應(yīng)著星狀連接、網(wǎng)狀連接和樹狀連接網(wǎng)絡(luò)。

系統(tǒng)在nwk_globals.h中加入如下語句,從而在家庭環(huán)境中構(gòu)建星狀結(jié)構(gòu)的ZigBee無線傳感執(zhí)行網(wǎng)絡(luò):

#define STACK_PROFILE_ID GENERIC_STAR

系統(tǒng)的整體結(jié)構(gòu)如圖2所示。

系統(tǒng)中布置有一個協(xié)調(diào)器與PC機(jī)相連,同時布置有若干終端節(jié)點或路由器,使其連接溫度、濕度和光敏電阻傳感器來監(jiān)測房間環(huán)境。另外,房間中還布置有一些終端節(jié)點與執(zhí)行器連接,用于控制窗簾的開關(guān)、臺燈的亮滅等。協(xié)調(diào)器和終端節(jié)點在房間內(nèi)組成了一個星狀結(jié)構(gòu)的ZigBee無線傳感執(zhí)行網(wǎng)絡(luò)。

系統(tǒng)的整體工作過程是:首先由協(xié)調(diào)器節(jié)點成功創(chuàng)建ZigBee網(wǎng)絡(luò),然后等待終端節(jié)點加入。當(dāng)終端節(jié)點及傳感器上電后,會自動查找空間中存在的 ZigBee網(wǎng)絡(luò),找到后即加入網(wǎng)絡(luò),并把該節(jié)點的物理地址發(fā)送給協(xié)調(diào)器。協(xié)調(diào)器把節(jié)點的地址信息等通過串口發(fā)送給計算機(jī)進(jìn)行保存。當(dāng)計算機(jī)想要獲取某一節(jié)點處的傳感器值時,只需要向串口發(fā)送相應(yīng)節(jié)點的物理地址及測量指令。協(xié)調(diào)器通過串口從計算機(jī)端收到物理地址后,會向與其相對應(yīng)的傳感器節(jié)點發(fā)送數(shù)據(jù),傳達(dá)傳感器測量指令。傳感器節(jié)點收到數(shù)據(jù)后,通過傳感器測量數(shù)據(jù),然后將測量結(jié)果發(fā)送給協(xié)調(diào)器,并在計算機(jī)端進(jìn)行顯示。

3 系統(tǒng)硬件設(shè)計

系統(tǒng)的協(xié)調(diào)器、路由器和終端節(jié)點的核心采用TI公司的CC2430芯片。該芯片是一款真正的系統(tǒng)芯片(SoC)解決方案,其在單個芯片上集成了 ZigBee射頻前端、微控制器和存儲器。它使用1個8位的8051內(nèi)核MCU作為控制器,其性能是工業(yè)標(biāo)準(zhǔn)8051核的8倍,且程序代碼與51系列單片機(jī)完全兼容。CC2430具有64/128 KB的可編程Flash和8 KB的RAM,其大容量的Flash完全能夠滿足ZigBee2006協(xié)議棧程序的要求;另外,還具有模/數(shù)轉(zhuǎn)換器ADC)、定時器、AES128協(xié)處理器看門狗定時器等片內(nèi)外設(shè)。

系統(tǒng)的工作原理是:在協(xié)調(diào)器端,CC2430通過RS232異步串行通信與PC機(jī)進(jìn)行通信。協(xié)調(diào)器成功組建網(wǎng)絡(luò)時,會向PC機(jī)發(fā)送組網(wǎng)成功指示。當(dāng)有路由器或終端節(jié)點加入網(wǎng)絡(luò)時,協(xié)調(diào)器通過RS232向PC機(jī)發(fā)送節(jié)點加入指示。在路由器和終端節(jié)點處,上電后CC2430尋找可用信道并加入網(wǎng)絡(luò),然后等待指令。路由器或終端節(jié)點一旦收到協(xié)調(diào)器發(fā)送來的測量指令,將會讀取傳感器的數(shù)據(jù)并傳送。

本系統(tǒng)中溫度和濕度測量使用Sensirion公司的SHT11數(shù)字溫濕度傳感器。該傳感器具有相對濕度和溫度一體測量、超快的響應(yīng)時間等優(yōu)良特性。對臺燈和窗簾的控制是通過繼電器TQ2-3V來實現(xiàn)的。

4 軟件設(shè)計

4.1 系統(tǒng)采集溫濕度的程序設(shè)計

系統(tǒng)溫濕度的采集使用的SHT11數(shù)字式溫濕度傳感器采用兩線制數(shù)字接口,編程十分方便。溫濕度采集程序流程如圖3所示。

4.2 光敏電阻阻值讀取

光敏電阻阻值的讀取用CC2430內(nèi)部的ADC實現(xiàn)。通過設(shè)置CC2430的 ADCCON3寄存器可對A/D轉(zhuǎn)換的一些參數(shù)進(jìn)行設(shè)置。具體如下:使用14位的分辨率,采樣通道設(shè)置為AINO,參考電壓設(shè)置為內(nèi)部1.25 V。通過實驗可以測定,當(dāng)P0.1的電壓值等于1.25 V時,環(huán)境光照強(qiáng)度已經(jīng)足夠弱,可以控制空間中的其他執(zhí)行器做出動作,如開燈、打開窗簾等。

4.3 ZigBee2006協(xié)議棧常用函數(shù)及工作過程

系統(tǒng)軟件基于TI/Chipcon公司免費提供的Zig-Bee2006協(xié)議棧,程序中嵌入了實時操作系統(tǒng),用于對網(wǎng)絡(luò)組建、節(jié)點加入、數(shù)據(jù)收發(fā)等功能運行統(tǒng)一調(diào)度。進(jìn)行程序設(shè)計時,首先在協(xié)議棧應(yīng)用層程序中添加相應(yīng)的任務(wù),然后運行任務(wù)即可處理。ZigBee2006協(xié)議棧的main函數(shù)流程如圖4所示。

OSAL層初始化時,通過osalAddTasks函數(shù)提供任務(wù)列表,向?qū)崟r操作系統(tǒng)中添加用戶所需要的任務(wù)。在該函數(shù)中,TI公司已經(jīng)添加了一些任務(wù),如硬件應(yīng)用層初始化及處理函數(shù)、網(wǎng)絡(luò)層初始化及處理函數(shù)、應(yīng)用層初始化及處理函數(shù)等。在該函數(shù)中添加自己的任務(wù),添加任務(wù)函數(shù)如下: osalTaskAdd(CSCE_Init,CSCE_ProcessEvent,OSAL_TASK_PRIORI-TYLOW);

osalTaskAdd 函數(shù)在OSAL層中的OSAL_Task.C文件中定義,其作用是添加一個任務(wù)到任務(wù)列表。其中,第1個參數(shù)CSCE_Init為用戶任務(wù)的初始化函數(shù)的函數(shù)名,第2個參數(shù)CSCE_ProcessEvent為用戶任務(wù)的處理函數(shù)的函數(shù)名,第3個參數(shù) OSAL_TASK_PRlORITY_LOW為用戶任務(wù)的優(yōu)先級。

任務(wù)初始化函數(shù)CSCE_Init和任務(wù)處理函數(shù)CSCE_ProcessEvent都需要遵循ZigBee2006協(xié)議棧的格式。其中,CSCE_Init函數(shù)和CSCE_ProcessEvent函數(shù)需要在應(yīng)用層頭文件SampleApp.h中進(jìn)行聲明。

CSCE_Init函數(shù)有一個參數(shù)task_id,該參數(shù)為任務(wù)ID,具體值由OSAL進(jìn)行分配。CSCE_ProcessEvent函數(shù)有2 個參數(shù):第 1個參數(shù)與CSCE_Init函數(shù)相同,為任務(wù)ID;第2個參數(shù)events為需要處理的事件,它是一個16位的二進(jìn)制數(shù),每一位代表一個事件。

利用OSAL層進(jìn)行任務(wù)設(shè)計時,必須保留系統(tǒng)任務(wù)事件SYS_EVENT_MSG(0x8000),該事件為強(qiáng)制事件。進(jìn)行任務(wù)處理時,首先要對系統(tǒng)任務(wù)事件是否發(fā)生進(jìn)行判斷,任務(wù)處理流程如圖5所示。由于ZigBee2006協(xié)議棧為全功能協(xié)議棧,不需要對IEEE 802.15.4和ZigBee規(guī)范進(jìn)行全面的了解,只需要在應(yīng)用層進(jìn)行一些設(shè)計和改動,即可實現(xiàn)數(shù)據(jù)的發(fā)送、接收以及網(wǎng)絡(luò)組建功能。在終端節(jié)點的 CSCE_ProcessEvent函數(shù)的上電初始化處理部分,加入物理地址和短地址提取函數(shù),然后調(diào)用發(fā)送函數(shù)將物理地址向協(xié)調(diào)器發(fā)送。協(xié)議棧中的物理地址獲取函數(shù)為NLME_GetExtAddr(),其返回結(jié)果為一個指向節(jié)點的64位IEEE地址的指針。短地址的獲取函數(shù)為 NLME_GetShortAddr(),其返回結(jié)果為一個16位的無符號整型數(shù)據(jù)。

數(shù)據(jù)發(fā)送函數(shù)在ZigBee2006規(guī)范的原語中已經(jīng)規(guī)定了其參數(shù)的順序及意義。具體到TI/Chipcon公司所提供的ZigBee2006協(xié)議棧中,該函數(shù)為AF_DataRequest,其具體形式如下:

在協(xié)調(diào)器端和路由器(或終端節(jié)點)的CSCE_Pro-cessEvent函數(shù)中接收到數(shù)據(jù)部分(即CSCE_MessageMS-GCB函數(shù))中對數(shù)據(jù)進(jìn)行處理,將所接收到的數(shù)據(jù)(即物理地址和短地址)通過串口發(fā)送到計算機(jī)端,進(jìn)行顯示。

ZigBee2006協(xié)議棧中設(shè)計了串口接收處理函數(shù):

該函數(shù)在MT目錄的SPIMgr.C中。實驗中,在協(xié)調(diào)器端調(diào)用該函數(shù),即可從PC機(jī)端接收數(shù)據(jù)并進(jìn)行相應(yīng)的處理。

4.4 傳感器程序與ZigBee2006協(xié)議棧的融合

系統(tǒng)程序中,傳感器端的物理地址及短地址的發(fā)送部分程序,添加在ZigBee2006協(xié)議棧中的CSCE_ProcessEv-ent函數(shù)的上電初始化部分,即ZDO_STATE_CHANGE消息下。協(xié)調(diào)器及傳感器端的數(shù)據(jù)接收都添加在CSCE_ProcessEvent函數(shù)的數(shù)據(jù)接收部分,即 AF_INCOMING_MSG_CMD消息下。系統(tǒng)整體工作過程如圖6所示。

4.5 PC機(jī)端程序

在系統(tǒng)中,節(jié)點上電加入網(wǎng)絡(luò)后,協(xié)調(diào)器會通過RS232向PC機(jī)發(fā)送新加入節(jié)點的IEEE地址。PC機(jī)將從串口接收到的物理地址和短地址進(jìn)行存儲,并改變計算機(jī)中所存儲的房間地圖中的節(jié)點顏色進(jìn)行指示。該程序使用Visual C++6.O編寫。

對用戶而言,當(dāng)想要獲取房間內(nèi)傳感器所測量區(qū)域的溫濕度、光照等情況時,只需要點擊PC機(jī)所顯示的地圖上相應(yīng)的節(jié)點。程序會調(diào)用已存儲在相應(yīng)位置的傳感器節(jié)點的物理地址,通過串口和ZigBee網(wǎng)絡(luò)向該節(jié)點發(fā)送測量傳感器數(shù)據(jù)的指令,并等待接收傳感器傳回的溫濕度,并在PC機(jī)界面進(jìn)行顯示。

5 結(jié)論

實驗表明,節(jié)點的功耗較低,每個節(jié)點使用電池供電可以工作3~6個月,可見應(yīng)用ZigBee構(gòu)建家庭環(huán)境的傳感執(zhí)行網(wǎng)絡(luò)是可行的。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423138
  • ZigBee
    +關(guān)注

    關(guān)注

    158

    文章

    2270

    瀏覽量

    242729
  • 無線傳感器
    +關(guān)注

    關(guān)注

    15

    文章

    770

    瀏覽量

    98350
收藏 人收藏

    評論

    相關(guān)推薦

    基于CC2430ZigBee無線傳感系統(tǒng)電路設(shè)計

    ZigBee 是一種基于IEEE802.15.4標(biāo)準(zhǔn)的個域網(wǎng)協(xié)議,是一種低成本、低功耗的近距離無線組網(wǎng)通信技術(shù)。文中提出了一種基于ZigBee 與51內(nèi)核的高頻
    發(fā)表于 12-05 15:32 ?9475次閱讀
    基于<b class='flag-5'>CC2430</b>的<b class='flag-5'>ZigBee</b><b class='flag-5'>無線</b><b class='flag-5'>傳感</b>系統(tǒng)電路設(shè)計

    基于CC2430ZigBee無線網(wǎng)絡(luò)節(jié)點設(shè)計

    與微控制于一體的片上系統(tǒng)CC2430作為ZigBee無線網(wǎng)絡(luò)節(jié)點的核心器件,提出帶功率放大器的ZigB
    發(fā)表于 04-24 09:29

    基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計_電子技術(shù)應(yīng)用

    基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計_電子技術(shù)應(yīng)用
    發(fā)表于 08-12 22:56

    cc2530 Zigbee 智能家居無線網(wǎng)路傳感器節(jié)點設(shè)計

    2530設(shè)計了一種Zigbee無線網(wǎng)絡(luò),用于遠(yuǎn)距離通訊的無線傳感器節(jié)點。這個系統(tǒng)采用CC2530
    發(fā)表于 03-08 10:53

    基于CC2430無線傳感器網(wǎng)絡(luò)系統(tǒng)設(shè)計

    精密偏置電流。  由于CC2430芯片具有低功耗的特性,選用2節(jié)2 800 mAh的干電池為節(jié)點機(jī)供電。天線選用外置天線?! ?b class='flag-5'>CC2430與溫濕度
    發(fā)表于 11-02 15:11

    基于CC2430的三種無線傳感器網(wǎng)絡(luò)系統(tǒng)的設(shè)計

    ADC,通過對無線傳感器網(wǎng)絡(luò)系統(tǒng)的設(shè)計和對CC2430的了解,ZigBee技術(shù)未來的應(yīng)用前景被看好。未來的幾年里,它將在工業(yè)控制、汽車自動化、樓宇自動化、消費電子等多個領(lǐng)域
    發(fā)表于 11-08 15:44

    CC2430無線傳感器網(wǎng)絡(luò)節(jié)點如何進(jìn)行設(shè)計

    基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計基于無線傳感器網(wǎng)絡(luò)的特點,以
    發(fā)表于 04-24 08:27

    怎么實現(xiàn)基于CC2430ZigBee2006協(xié)議棧的通信模塊設(shè)計?

    本文以CC2430為主體設(shè)計了無線通信模塊的硬件,并選用TI/Chipcon公司免費提供的ZigBee2006協(xié)議棧作為軟件開發(fā)平臺。通過實驗驗證,設(shè)計的硬件
    發(fā)表于 05-31 06:05

    基于ZigBee技術(shù)的射頻芯片CC2430

    CC2430芯片是Chipcon公司生產(chǎn)的首款符合zigBee技術(shù)的2.4 GHz射頻系統(tǒng)單芯片。適用于各種zigBee或類似
    發(fā)表于 01-15 12:33 ?150次下載

    基于CC2430ZigBee無線網(wǎng)絡(luò)節(jié)點設(shè)計

    ZigBee無線網(wǎng)絡(luò)結(jié)構(gòu)簡單、設(shè)計成本低廉,功耗低,并擁有簡單而靈活的通信網(wǎng)絡(luò)協(xié)議,應(yīng)用非常廣泛。采用集射頻與微控制于一體的片上系統(tǒng)CC2430
    發(fā)表于 02-10 16:07 ?187次下載

    基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計

    基于CC2430無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計 基于無線傳感器網(wǎng)絡(luò)的特點,以
    發(fā)表于 09-19 09:44 ?1465次閱讀
    基于<b class='flag-5'>CC2430</b>的<b class='flag-5'>無線</b><b class='flag-5'>傳感器</b>網(wǎng)絡(luò)<b class='flag-5'>節(jié)點</b>設(shè)計

    CC2430ZigBee2006協(xié)議棧的通信模塊設(shè)計

    CC2430ZigBee2006協(xié)議棧的通信模塊設(shè)計 摘要:介紹了CC2430芯片的基本特性和Zig
    發(fā)表于 04-03 12:01 ?1943次閱讀
    <b class='flag-5'>CC2430</b>和<b class='flag-5'>ZigBee2006</b><b class='flag-5'>協(xié)議</b>棧的通信模塊設(shè)計

    基于CC2430無線傳感器網(wǎng)絡(luò)的實現(xiàn)

    基于CC2430無線傳感器網(wǎng)絡(luò)的實現(xiàn)。
    發(fā)表于 01-25 10:28 ?13次下載

    基于CC2430Zigbee無線通信設(shè)計

    基于CC2430Zigbee無線通信設(shè)計
    發(fā)表于 09-01 14:11 ?16次下載
    基于<b class='flag-5'>CC2430</b>的<b class='flag-5'>Zigbee</b><b class='flag-5'>無線</b>通信設(shè)計

    使用ZigBee協(xié)議利用CC2430完成分布式溫度測量系統(tǒng)的設(shè)計方案說明

    針對ZigBee 技術(shù)的發(fā)展現(xiàn)狀、規(guī)范及ZigBee 芯片CC2430 的特點,提出了使用CC2430完成分布式溫度測量系統(tǒng)的設(shè)計方案,包括
    發(fā)表于 11-05 17:24 ?7次下載
    使用<b class='flag-5'>ZigBee</b><b class='flag-5'>協(xié)議</b>利用<b class='flag-5'>CC2430</b>完成分布式溫度測量系統(tǒng)的設(shè)計方案說明
    RM新时代网站-首页