基于 CC2530 的 ZigBee 物聯網系統設計 - IOT

大家好,今天給大家介紹基于 CC2530 的 ZigBee 物聯網系統設計

1.1設計背景

無線傳感器網絡是目前研究的熱門領域,它集成 了多門學科的知識,應用領域廣泛,因此深受國際社會 的關注。 鑒于傳感器網絡技術的研究及應用價 值,許多部門、機構、學校等對其開始了基礎理論和關鍵技術的研究,而通過無線方式對環境現場的數據進 行實時采集、傳輸和后臺監控是大量挑戰性的研究課 題之一。

無線數據采集是利用無線數據采集模塊或設備, 將工業現場的傳感器輸出的電壓、電流等物理量進行 實時采集和處理。 傳統的數據采集系統一般采用事先 布線以及人工的方式采集設備的各項數據,而隨著生 產力技術的發展,工業生產中的生產設備分布越來越 分散,分布的地域也越來越廣,對處于高溫和高壓等惡 劣環境下的設備進行現場數據采集和維護是比較困難 和危險的,需要投入大量的人力成本和財力資源,這些 狀況在很大程度上制約著企業的發展和生產效益的提 高。 對于最新的無線傳感器網絡技術 Zigbee 而言,它 采用了無線傳輸方式來構建相應的無線傳感器網絡, 能夠較好地解決人工及有線方式存在的問題。

1.2設計要求

本次設計要求我們熟練使用Linux系統,以及了解Zigbee協議,最終實現IAR軟件環境搭建、常用傳感器和外設的操作,節點的數據采集以及數據的無線收發。

2.1Zigbee協議

Zigbee是基于IEEE802.15.4標準的低功耗局域網協議。根據國際標準規定,Zigbee技術是一種短距離、低功耗的無線通信技術。這一名稱(又稱紫蜂協議)來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構成了群體中的通信網絡。其特點是近距離、低復雜度、自組織、低功耗、低數據速率。主要適合用于自動控制和遠程控制領域,可以嵌入各種設備。簡而言之,Zigbee就是一種便宜的,低功耗的近距離無線組網通訊技術。Zigbee是一種低速短距離傳輸的無線網絡協議。Zigbee協議從下到上分別為物理層(PHY)、媒體訪問控制層(MAC)、傳輸層(TL)、網絡層(NWK)、應用層(APL)等。其中物理層和媒體訪問控制層遵循IEEE 802.15.4標準的規定。

2.1.1Zigbee協議特點

(1)工作周期短、收發信息功耗較低,并且RFD(Reduced Function Device,簡化功能器件)采用了休眠模式,不工作時都可以進入睡眠模式。

(2)低成本。通過大幅簡化協議(不到藍牙的1/10),降低了對通信控制器的要求,以8051的8位微控制器測算,全功能的主節點需要32KB代碼,子功能節點少至4 KB代碼。

(3)低速率、短延時。Zigbee的最大通信速率達到250 kb/s(工作在2.4GHz時),滿足低速率傳輸數據的應用需求。Zigbee的響應速度較快,一般從睡眠轉入工作狀態只需15ms,節點連接進入網絡只需30ms,進一步節省了電能。相比較,藍牙需3~10S、Wi-Fi需3S。

(4)近距離,高容量。傳輸范圍一般介于10~100 m,在增加RF發射功率后,亦可增加到1~3km。這指的是相鄰節點間的距離,若通過路由和節點間通信的接力,擴展后達到幾百米甚至幾公里。Zigbee可采用星狀、片狀和網狀網絡結構。由一個主節點管理若干子節點,最多一個主節點可管理254個子節點。

(5)高可靠性和高安全性。Zigbee的媒體接入控制層(Medium Access Control,MAC)采用CSMA/CA的碰撞避免機制,同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突。Zigbee還提供了3級安全模式,包括無安全設定、使用接人控制清單防止非法獲取數據以及采用高級加密標準(Advanced Encryption Standard,AES)的對稱密碼,以靈活確定其安全屬性。

(6)免執照頻段。采用直接序列擴頻在工業科學醫療(Industrial Scientific Medical,ISM)頻段,分別為2.4GHz(全球)、915MHz(美國)和868MHz(歐洲)。

2.1.2Zigbee的網絡結構

Zigbee網絡分為4層,從下向上分別為物理層、MAC層、網絡層、和應用層。其中物理層和MAC層由IEEE802.15.4標準定義,合稱IEEE802.15.4通信層;網絡層和應用層由Zigbee聯盟定義。如圖1所示。

2.2CC2530芯片介紹

CC2530 是用于2.4-GHz IEEE 802.15.4、Zigbee 和RF4CE 應用的一個真正的片上系統(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網絡節點。芯片外觀如圖2所示。

CC2530 結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM 和許多其它強大的功能。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低能源消耗。其引腳分布如圖

Linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。Linux命令在系統中有兩種類型:內置Shell命令和Linux命令。其常見的指令如圖

基于CC2530的Zigbee物聯網系統的設計方案

2.4.1Zigbee 數據采集系統采集數據的原理

Zigbee 網絡通常由三個節點構成:協調器(Coordinator) 節點、路由器 ( Router) 節點、傳  器 ( End Device)節點。 傳感器節點也稱為終端設備。

協調器用 來創建一個 Zigbee 網絡,并為最初加入網絡的節點分 配地址,每個 Zigbee 網絡需要且只需要一個協調器; 路由器也稱為 Zigbee 的全功能節點,可以轉發數據, 起到路由的作用,也可以收發數據,當成一個數據節點,還能保持網絡,為后加入的節點分配地址;終端設備通常只周期性地發送數據,不接收數據。

由于本系統是在實驗室小范圍內進行的實驗,因此不設 Zigbee 路由節點。 在實驗中,Zigbee 的協調器節點和終端設 備節點形成星型網絡拓撲結構,并且在網絡中設置了 一個協調器節點和兩個終端設備節點。

協調器節點也 稱為匯聚節點,將多個終端設備節點置于不同的位置, 它們會按照要求把采集到的數據傳給匯聚節點,匯聚 節點先要對數據進行處理,然后才把數據通過串口傳 給 PC 機。 文中主要介紹傳感器網絡采集數據的具體實現,不討論上位機的用戶界面的設計。 系統原理示 意圖如圖所示。

2.4.2 傳感器節點硬件設計

Zigbee 傳感器節點的硬件設計與協調器節點的硬 件設計類似,由 CC2530 芯片、電壓轉換器件、電源電 路、收發器、路燈以及天線組成。 CC2530 處理器可采 集路燈的亮度數據(即電壓值),路燈也可以用來顯示 節點的網絡狀態,如:節點是否加入網絡。 處理器把采 集到的數據信號經模數轉換后由天線發送到協調器 端。 與協調器不同的是,在 Z-Stack 協議棧中,要將編 譯好的關于傳感器節點的代碼下載到終端設備中,終 端設備便可實現采集路燈數據并將數據發送給協調器 的功能。

2.4.3Zigbee 協調器節點建立網絡的過程

Zigbee 的網絡層(NWK) 能夠為應用層提供服務 接口,它也是 Zigbee 協議棧的核心層,NWK 層在概念 上由 NLME 網絡層管理實體和 NLDE 網絡層數據實體 這兩個服務實體構成。

Zigbee 協調器的應用層通過 NLME-NETWORKFORMATION. request 的請求原語向它的網絡層發出新 建一個網絡的請求,而應用層相對應的程序通過直接 調用
NLME_NetworkFormationRequest 函數來實現這一
 操作過程,如果此函數判定這個設備不具有 Zigbee 協 調器的能力時,就會發起 NLME-NETWORK-FORMA-TION. conform 原語來返回請求原語執行的結果,它的狀態值為 INVALID_REQUEST;如果此函數判定這個設備具有 Zigbee 協調器的能力,接著它會繼續判斷網 絡中是否已經有這個設備存在,若判斷有此設備存在, 就表明網絡在此之前已經建好了,不需要重新建立網 絡,若無此設備存在,此函數將通過 MLME-SCAN. request 原語來執行檢測信道能量是否有效的操作,

具體操作過程由網絡層調用存在于 MAC 層中的 MLMESCAN. request 函數來實現;MAC 層中的 MLME_ScanConfirm 函數會返回信道檢測的結果,網絡層管理實體 (NLME)將根據檢測的結果為新建的網絡選擇一個合 適的信號傳輸信道并給該信道分配一個名為 PANId 的網絡號,否則 MLME_ScanConfirm 函數會向應用層返 回 STARTUP-FAILURE 建網失敗的信息。 若成功建立 網絡并且選定了合適的 PANId 網絡號,網絡層就會通 過 MLME - SET. request 原  將 PANId 號   到 macPANId 的屬性中,macPANId 位于 MAC 層中。

若要 運行新建立的網絡,則需要網絡層向 MAC 層發送請 求,具體由 MLME -START. request 請求原語來實現。 通常建立網絡成功會有建網成功的提示信息,否則會 有建網失敗的提示信息。

2.4.4系統的軟件設計

本系統采用星型網絡拓撲結構,網絡中設置了一 個協調器節點和兩個終端設備節點。 終端設備節點之 間不能通信,只能與協調器節點通信。 協調器節點要 能接收到終端設備節點采集的數據,就得存儲由終端 設備節點發來的其在加入網絡后所分配到的網絡地址 信息,之后協調器端才能成功接收終端設備節點的數 據并控制該節點。 協調器建立網絡成功后,終端設備 節點會尋找并加入網絡,當加入網絡成功后,網絡狀態 改變事件反饋中的定時器被觸發,使得傳感器節點定 時采集數據,并發送到協調器端,協調器再通過串口把數據傳給 PC 機。系統的軟件流程圖如圖 所示。

基于CC2530的zigbee物聯網系統設計方案實施

CC2530單元模塊功能及電路設計

(1) CPU 和內存

(2) 時鐘和電源管理

(3) 外設

(4) 無線設備

CC2530 具有一個IEEE 802.15.4 兼容無線收發器。RF 內核控制模擬無線模塊。另外,它提供了MCU 和無線設備之間的一個接口,這使得可以發出命令,讀取狀態,自動操作和確定無線設備事件的順序。無線設備還包括一個數據包過濾和地址識別模塊。

CC2530的各個引腳與外部連接電路如上圖所示,根據其引腳的功能接入不同的傳感器采集數據。

3.2 基于CC2530的zigbee物聯網系統設計整體電路圖

將設計中所用到的各種傳感器,如LED,電位器等與CC2530的相應的引腳相連接起來,實現數據的采集。外圍電路如圖所示。


將設計中所用到的各種傳感器,如LED,電位器等與CC2530的相應的引腳相連接起來,實現數據的采集。

3.3 元器件清單

本次設計主要用到CC2530模塊以及相關的傳感器,通過傳感器采集相關的數據,傳輸到CC2530模塊,進行后續處理。所用到的元器件主要如下:

元器件

數量(個)

CC2530模塊

2

氣體傳感器

2

繼電器

2

溫度傳感器

2

熱紅外

2

脫機下載器

1

天線

2


基于CC2530的zigbee物聯網系統設計的硬件制作與調試

下位機電路的連接與調試

1.下位機一共有2塊實驗版(1個協調器1個終端節點)。終端節點:

用IAR打開\實訓資料\實訓項目最終版\下位機\節點一\ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp\CC2530DB\GenericApp

2.協調器:用IAR打開\實訓資料\實訓項目最終版\下位機\節點二\ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp\CC2530DB\GenericApp

協調器要插串口將數據傳輸到主機上,線終端節點的傳感器與cc253的連接和跳冒如下圖。當三個板子的黃色LED亮時,表明組網成功。

4.2 上位機電路的連接與調試

1.導入工程, 導入需要的jar,建立需要的數據庫;將上位機文件目錄下的工程文件按照正確的導入方式導入到MyEclipse;實訓項目最終版\上位機\SerialportClientMN;將上位機文件目錄下的包文件下的jar包導入到前面導入的工程中。把上位機文件目錄下的數據庫文件夾下的data文件用sqlserver打開,然后點擊執行,就會在sqlserver里面建立對應的數據庫以及表;把上位文件目錄下的win32下的dll文件(此文件是串口通信)放到工程根目錄下,如果電腦是64位就用win64文件下的。

2.程序使用。運行程序將會出現登錄界面,如果沒有賬戶就點擊注冊,注冊成功后再進行登錄;登錄成功會將會進入到主控制和操作界面,然后可以先設置自己需要的默認串口以及波特率, 自動刷新的時間,動態圖的刷新時間;串口和波特率的設置將會在下次登錄生效。(設置不是必須的)在操作界面,首先選擇串口以及波特率然后打開串口。可以打開和關閉自動刷新,以及服務器。也可以點擊變化圖選擇需要查看對應的溫度,氣體, 光強的變化情況(此圖沒有做數據處理, 當數據兩大的時候圖將變得相當的密集);如果需要查看當前的采集到的數據,可以點擊菜單下的查看歷史記錄。在歷史記錄界面下,可以刪除(支持批量刪除)和修改選擇的數據;查詢功能不可用。

4.3 基于CC2530的zigbee物聯網系統設計的實現

下位機與協調器電路連接調試成功后,將處理后的數據通過串口傳遞到上位機通過界面顯示傳輸的數據。運行后的界面如下圖所示。

the end

評論(0)