ZigBee的節(jié)點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)
自20 世紀(jì)90 年代開始,無線網(wǎng)路技術(shù)逐漸發(fā)展,從GSM到Bluetooh,從無線 ATM到無線局域網(wǎng),它們以不同的方式、不同的數(shù)據(jù)速率、在不同的距離上實(shí)現(xiàn)網(wǎng)絡(luò)連接,實(shí)現(xiàn)信息的及時(shí)傳遞. 雖然人們能夠隨時(shí)隨地與大洋彼岸的親朋通話,且無線局域網(wǎng)能夠使人們方便的接入英特網(wǎng),但仍然要為家庭安裝一個(gè)傳感器或開關(guān)的布線而煩惱,為野外安裝大量傳感器的供電絞盡腦汁,即需要一種短距離、低數(shù)據(jù)速率、低成本、低功耗的無線網(wǎng)絡(luò)技術(shù). 在這種情況下,ZIGBEE技術(shù)應(yīng)運(yùn)而生. 2004 年12 月,ZigBee聯(lián)盟正式發(fā)布了該技術(shù)標(biāo)準(zhǔn), 許多公司和生產(chǎn)商已經(jīng)陸續(xù)推出了自己的產(chǎn)品和開發(fā)系統(tǒng), 如飛思卡爾的MC13192、Chipcon 公司的 CC2430、CC2530 Atmel 公司的 AT86RF210 等,2007 年初韓國移動(dòng)手持設(shè)配制造商 CuritelCommunications 公司已經(jīng)開始研制世界上第一款ZigBee手機(jī),這種手機(jī)融入了 ZigBee 技術(shù),能夠使手機(jī)用戶在短距離內(nèi)操縱電動(dòng)開關(guān)和控制電子設(shè)備。
.我國也有不少科研工作者關(guān)注這一領(lǐng)域,如西安達(dá)泰電子科技有限公司有各系列的實(shí)用開發(fā)系統(tǒng)推向市場,推出了ZigBee 2430、2530模塊http://www.dataie.com
1 CC2430功能特點(diǎn)及內(nèi)部單元模塊
CC2430 芯片是 Chipcon 公司生產(chǎn)的首款符合 ZigBee 技術(shù)的 2.4GHz 射頻系統(tǒng)單芯片,適用于各種ZigBee無線網(wǎng)絡(luò)節(jié)點(diǎn), 包括協(xié)調(diào)器、 路由器和終端設(shè)備. 它集成了增強(qiáng)型 51 內(nèi)核MCU、 閃存、 IEEE802.15.4所需要的全部硬件. CC2430 soc家族包括3 個(gè)不同系列的產(chǎn)品, CC2430-F32、 CC2430-F64 和CC2430-F128.它們的區(qū)別在于內(nèi)置閃存的容量不同,分別是32K、64K和128K 片內(nèi)FLASH。.
芯片內(nèi)部集成有兩個(gè)低壓降高效率電壓調(diào)整器voltage regulator,其中一個(gè)為芯片內(nèi)部數(shù)字部分(如MCU內(nèi)核、DMA、存儲(chǔ)器、定時(shí)器、USART 等)提供 3.3V 數(shù)字電源,另一個(gè)電壓調(diào)整器為芯片內(nèi)部模擬部分如射頻前端、RC振蕩器、晶體振蕩器、片內(nèi)溫度傳感器、ADC 部分提供3.3V穩(wěn)定的模擬電源.芯片上有一個(gè)片上調(diào)試接口,此調(diào)試接口支持對(duì)片內(nèi)FLASH 編程、訪問內(nèi)部 MEMORY 和SFR,還支持?jǐn)帱c(diǎn)調(diào)試、單步運(yùn)行、寄存器修改等功能. 此調(diào)試接口使用兩個(gè)線控制,分別是 DEBUG DATA 和DEBUG CLOCK,占用兩個(gè)I/O口,當(dāng)不需要調(diào)試功能時(shí),被占用的I/O 口可配置為通用I/O口使用. 利用此調(diào)試接口,可開發(fā)出低成本的芯片燒寫器和芯片仿真器http://www.dataie.com,極大地方便了應(yīng)用。
睡眠定時(shí)器(SLEEP TIMER)是一個(gè)低功耗的工作在32.768KHZ時(shí)鐘下的 24bi t 向上計(jì)數(shù)睡眠定時(shí)器,上電復(fù)位后即自動(dòng)開始運(yùn)行,支持24 位捕獲,可觸發(fā)中斷和DMA. 利用其低功耗、低時(shí)鐘下工作特性,工作在PM2 模式,實(shí)現(xiàn)芯片定時(shí)喚醒。
芯片內(nèi)部有4 類物理存儲(chǔ)器空間, 分別是8KB 靜態(tài) RAM、 硬件SFR寄存器、 硬件RF 寄存器和FLASH存儲(chǔ)器. 芯片將物理存儲(chǔ)器空間分別對(duì)應(yīng)到 8051 內(nèi)核 MCU、CODE、DATA、SFR、XDATA 邏輯存儲(chǔ)區(qū)域. CODE區(qū)是16 位寬度的只讀程序存儲(chǔ)器區(qū)域. DATA區(qū)是 8 位寬度的可讀寫數(shù)據(jù)存儲(chǔ)器區(qū)域,CPU訪問速度快,一個(gè)CPU周期訪問. SFR 區(qū)是8 位寬度可讀寫寄存器區(qū)域,可位尋址,CPU訪問速度快,一個(gè)CPU周期訪問. XDATA 區(qū)是16 位寬度可讀寫數(shù)據(jù)存儲(chǔ)器區(qū)域,CPU訪問速度最慢,通常要4~5 各CPU周期訪問. 為了充分發(fā)揮DMA控制的優(yōu)勢,CC2430 設(shè)計(jì)成將所有物理存儲(chǔ)器區(qū)域(Physical Memory)映射到XDATA區(qū)域上,以使DMA可在不同物理存儲(chǔ)器區(qū)域上搬運(yùn)數(shù)據(jù)如圖:
2 系統(tǒng)總體方案設(shè)計(jì)
分布式溫度測量系統(tǒng)主要由一臺(tái)數(shù)據(jù)集中器(ZIGBEE協(xié)調(diào)器)、 一臺(tái)PC機(jī)和放置在各處的溫度監(jiān)測節(jié)點(diǎn)(ZIGBEE 設(shè)備)組成. 數(shù)據(jù)集中器與各個(gè)溫度測量節(jié)點(diǎn)組成一個(gè) ZIGBEE 星型網(wǎng)絡(luò)。 CC2430 芯片的標(biāo)準(zhǔn)通信距離 80m時(shí),溫度節(jié)點(diǎn)放置范圍可在以數(shù)據(jù)集中器為中心80m 半徑范圍內(nèi)。適當(dāng)?shù)脑龃蟀l(fā)射功率可加大通信距離。增強(qiáng)型 ZIGBEE 模塊有效通信距離可達(dá) 1000m. 溫度監(jiān)測節(jié)點(diǎn)的結(jié)構(gòu)非常簡單,僅由一個(gè)CC2430 模塊和2 節(jié)1.5V電池構(gòu)成,各個(gè)溫度測量節(jié)點(diǎn)被初始化為無信標(biāo)網(wǎng)絡(luò)中的終端設(shè)備。上電復(fù)位后,開始搜索指定信道上的 PAN協(xié)調(diào)器,并發(fā)出連接請求,建立連接成功后,它將得到一個(gè)16 位短地址,并在以后用這個(gè)短地址通信,開啟睡眠定時(shí)器,每隔10 秒鐘醒來一次,醒來后使用一種簡單的非時(shí)隙 CSMA-CA 機(jī)制,通過競爭取得信道使用權(quán),主動(dòng)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)利用片內(nèi)溫度傳感器檢測環(huán)境溫度,并發(fā)送給主節(jié)點(diǎn),然后立即再次進(jìn)入睡眠狀態(tài),最大程度地降低功耗,延長從節(jié)點(diǎn)電池使用時(shí)間。數(shù)據(jù)集中器負(fù)責(zé)接收各溫度節(jié)點(diǎn)的數(shù)據(jù),并將數(shù)據(jù)及時(shí)通過RS232 串口按一定格式上傳 PC 機(jī)顯示出來。
Z_STACK協(xié)議棧提供了實(shí)現(xiàn)MAC 層底層管理及數(shù)據(jù)收發(fā). 還提供了一些API 函數(shù)來簡化分配、回收信息緩沖區(qū)、發(fā)送信息、信息的入隊(duì)列、出隊(duì)列等操作. 很多函數(shù)參數(shù)是個(gè)結(jié)構(gòu)體指針,往往有多個(gè)成員項(xiàng). 以這些基本功能函數(shù)為依托,構(gòu)造適合分布式溫度測量系統(tǒng)的上層應(yīng)用程序代碼即可。
基于CC2430的ZigBee開發(fā)套件可以用在設(shè)計(jì)各種需要實(shí)現(xiàn)分布式溫度檢測的場合,也可以用來監(jiān)測濕度或其他溫度物理量。