基于ATmega128L與CC2420的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的研究與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是新興的研究領(lǐng)域,在軍事、環(huán)境、健康、家庭、商業(yè)領(lǐng)域等許多方面有著巨大的潛在應(yīng)用前景。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)是組成網(wǎng)絡(luò)的基本單元,無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的迅速發(fā)展,給無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)和管理提出了許多挑戰(zhàn)。
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是集數(shù)據(jù)采集、處理及通信功能于一體的分布式自組織網(wǎng)絡(luò)。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)由在一定區(qū)域范圍內(nèi)的多個(gè)具有無(wú)線(xiàn)通信、傳感、數(shù)據(jù)處理功能的網(wǎng)絡(luò)節(jié)點(diǎn)組成。傳感器節(jié)點(diǎn)負(fù)責(zé)采集、處理、壓縮數(shù)據(jù)、中轉(zhuǎn)其他節(jié)點(diǎn)的數(shù)據(jù)包并將數(shù)據(jù)包發(fā)送出去。在不同的應(yīng)用中,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)不盡相同,一般由數(shù)據(jù)采集單元(傳感器、A/D轉(zhuǎn)換器)、數(shù)據(jù)處理和控制單元(微處理器、存儲(chǔ)器)、無(wú)線(xiàn)通信單元(無(wú)線(xiàn)收發(fā)器)和供電單元(電池)等組成。
相對(duì)于傳統(tǒng)無(wú)線(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn),無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有明顯的技術(shù)特點(diǎn):(1)網(wǎng)絡(luò)節(jié)點(diǎn)密度高,數(shù)量大;(2)節(jié)點(diǎn)的計(jì)算和存儲(chǔ)能力有限;(3)節(jié)點(diǎn)體積微小,通常攜帶能量十分有限的電池,節(jié)點(diǎn)能量有限;(4)通信能力有限,傳感器網(wǎng)絡(luò)的通信帶寬較窄,節(jié)點(diǎn)間的通信單跳距離通常只有幾十到幾百米,因此在有限的通信能力下如何設(shè)計(jì)網(wǎng)絡(luò)通信機(jī)制以滿(mǎn)足傳感器網(wǎng)絡(luò)的通信是必須考慮的問(wèn)題;(5)各傳感器節(jié)點(diǎn)位置隨機(jī)分布,具有自組織特性。
由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有以上特點(diǎn),在節(jié)點(diǎn)的設(shè)計(jì)上,要求節(jié)點(diǎn)硬件成本較低、必須低能耗、必須支持多跳的路由協(xié)議。IEEE802.15.4/ZigBee協(xié)議充分考慮了無(wú)線(xiàn)傳感器網(wǎng)絡(luò)應(yīng)用的需求,具有設(shè)備省電、通信可靠、網(wǎng)絡(luò)自組織、自愈能力強(qiáng)、成本低廉、網(wǎng)絡(luò)容量大、網(wǎng)絡(luò)安全等特點(diǎn)。由這些基本要求,進(jìn)行了支持802.15.4/ZigBee協(xié)議的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的硬件設(shè)計(jì)。
網(wǎng)絡(luò)結(jié)構(gòu)
節(jié)點(diǎn)可以組成三種拓樸結(jié)構(gòu):星型結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)(Mesh)和簇狀結(jié)構(gòu)(Cluster tree)。節(jié)點(diǎn)以自組織形式構(gòu)成網(wǎng)絡(luò)、每個(gè)節(jié)點(diǎn)都可以自主采集數(shù)據(jù),數(shù)據(jù)通過(guò)單跳方式或多跳中繼方式送到匯聚節(jié)點(diǎn)(Sink節(jié)點(diǎn))。匯聚節(jié)點(diǎn)將收集的數(shù)據(jù)發(fā)送到遠(yuǎn)程的控制中心,或通過(guò)RS232接口把數(shù)據(jù)發(fā)送給PC機(jī)進(jìn)行數(shù)據(jù)處理和存儲(chǔ)。
節(jié)點(diǎn)設(shè)計(jì)
節(jié)點(diǎn)硬件采取模塊化結(jié)構(gòu)設(shè)計(jì)如圖1所示,由運(yùn)算及通信子板、傳感器子板、充電及狀態(tài)顯示子板構(gòu)成。運(yùn)算及通信子板由微處理器、數(shù)據(jù)存儲(chǔ)電路、無(wú)線(xiàn)通信模塊、電源管理模塊等組成,主要作用是儲(chǔ)存、處理數(shù)據(jù),完成節(jié)點(diǎn)間的無(wú)線(xiàn)通信并為系統(tǒng)提供能量。傳感器子板由若干傳感器組成,負(fù)責(zé)監(jiān)測(cè)區(qū)域內(nèi)信息的采集。充電及狀態(tài)顯示子板由充電模塊和LCD液晶顯示模塊組成,用來(lái)顯示節(jié)點(diǎn)電池充電情況節(jié)點(diǎn)的工作狀態(tài)以及電池的電量。
微處理器電路
微處理器電路采用Atmel公司的ATmega128L微控制器,它采用低功耗CMOS工藝生產(chǎn),基于RISC結(jié)構(gòu),具有片內(nèi)128KB的程序存儲(chǔ)器(Flash)、4KB的數(shù)據(jù)存儲(chǔ)器(SRAM)和4KB的EEPROM,有8個(gè)10位ADC通道、2個(gè)8位和2個(gè)16位硬件定時(shí)/計(jì)數(shù)器、8個(gè)PWM通道,具有可編程看門(mén)狗定時(shí)器和片上振蕩器、片上模擬比較器、JTAG、UART、SPI、I2C總線(xiàn)等接口。ATmega128L可在多種不同模式下工作,除了正常操作模式外,還具有六種不同等級(jí)的低能耗操作模式,因此該微控制器適合于低能耗的應(yīng)用場(chǎng)合。其接口示意圖如圖2所示。
ATmega128L的工作時(shí)鐘源可以選取外部晶振、外部RC振蕩器、內(nèi)部RC振蕩器、外部時(shí)鐘源等方式。工作時(shí)鐘源的選擇通過(guò)ATmega128L的內(nèi)部熔絲位來(lái)設(shè)計(jì),熔絲位可以通過(guò)JTAG編程、ISP編程等方式設(shè)置。本設(shè)計(jì)中ATmega128L采用兩個(gè)外部晶振:7.3728MHz晶振作為ATmega128L的工作時(shí)鐘;32.768kHz晶振作為實(shí)時(shí)時(shí)鐘源。
數(shù)據(jù)存儲(chǔ)電路
由于無(wú)線(xiàn)傳感器節(jié)點(diǎn)的通信模塊傳輸能力有限,加上節(jié)點(diǎn)工作的占空比非常小,很多數(shù)據(jù)不能實(shí)時(shí)轉(zhuǎn)發(fā)出去,所以需要有一個(gè)可管理的存儲(chǔ)器存儲(chǔ)這些數(shù)據(jù),暫存自己采集的或需要轉(zhuǎn)發(fā)的其他節(jié)點(diǎn)采集來(lái)的數(shù)據(jù)。本設(shè)計(jì)選用512KB串行FLASHAT45DB041存儲(chǔ)數(shù)據(jù)。與普通的數(shù)據(jù)存儲(chǔ)器相比,該芯片具有功耗低、體積小、串行接口、外部電路簡(jiǎn)單等特點(diǎn),適合傳感器節(jié)點(diǎn)使用。數(shù)據(jù)存儲(chǔ)電路示意圖如圖3所示。
無(wú)線(xiàn)通信模塊
無(wú)線(xiàn)通信模塊采用無(wú)線(xiàn)射頻CC2420模塊。它是Chipcon公司在2003年底推出的一款兼容2.4GHz IEEE802.15.4標(biāo)準(zhǔn)的無(wú)線(xiàn)收發(fā)模塊,基于Chipcon公司的SmartRF03技術(shù),使用CMOS工藝生產(chǎn),工作電壓低、能耗低、體積小,具有輸出強(qiáng)度和收發(fā)頻率可編程等特點(diǎn)。該芯片只需晶體振蕩器及負(fù)載電容、輸入/輸出匹配元件和電源去耦電容等很少的外部元件即可正常工作,可確保短距離通信的有效性和可靠性,其最大收發(fā)速率為250kbps。
CC2420有33個(gè)16位配置寄存器、15個(gè)命令選通寄存器、1個(gè)128字節(jié)的發(fā)送FIFO緩存區(qū)、1個(gè)128字節(jié)的接收FIFO緩存區(qū)、1個(gè)112字節(jié)的安全信息存儲(chǔ)器。CC2420與處理器的連接比較簡(jiǎn)便,它使用SFD、FIFO、FIFOP和CCA四個(gè)引腳表示收發(fā)數(shù)據(jù)的狀態(tài);處理器通過(guò)SPI接口(CSn、SO、SI、SCLK)與CC2420交換數(shù)據(jù)、發(fā)送命令,使用RESETn引腳復(fù)位芯片,使用VREG_EN引腳使能CC2420的電壓調(diào)整器,使其產(chǎn)生CC2420所需要1.8V電壓,從而使CC2420進(jìn)入正常工作的狀態(tài);CC2420通過(guò)單極天線(xiàn)或PCB天線(xiàn)進(jìn)行通信。其模塊示意圖如圖4所示。