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