基于CC2420的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
無(wú)線傳感器網(wǎng)絡(luò)是當(dāng)今國(guó)內(nèi)外通信領(lǐng)域的一大研究熱點(diǎn),它在軍事、民用及工商業(yè)領(lǐng)域都具有廣闊的應(yīng)用前景。在軍事領(lǐng)域,通過(guò)無(wú)線傳感器網(wǎng)絡(luò),隱蔽地分布在戰(zhàn)場(chǎng)上的傳感器可將獲取的信息回給指揮部;在民用領(lǐng)域,無(wú)線傳感器網(wǎng)絡(luò)可在家居智能化、環(huán)境監(jiān)測(cè)、醫(yī)療保健、災(zāi)害預(yù)測(cè)等方面得到廣泛應(yīng)用;在工商業(yè)領(lǐng)域,無(wú)線傳感器網(wǎng)絡(luò)在工業(yè)自動(dòng)化、空間探索和其他商業(yè)用途卜得到廣泛應(yīng)用。
考慮到無(wú)線傳感器網(wǎng)絡(luò)在通信上消耗能量較大,故選用功耗較小的CC2420芯片作為通信芯片來(lái)設(shè)計(jì)節(jié)點(diǎn)。
1 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的特征
無(wú)線傳感器網(wǎng)絡(luò)由大量體積小、能耗低、具有無(wú)線通信、傳感和數(shù)據(jù)處理功能的傳感器節(jié)點(diǎn)組成。因此,傳感器節(jié)點(diǎn)是尤線傳感器網(wǎng)絡(luò)的基本單元,節(jié)點(diǎn)設(shè)計(jì)的好壞直接影響到整個(gè)網(wǎng)絡(luò)的質(zhì)量。無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)主要負(fù)責(zé)對(duì)周圍信息的采集和處理,并發(fā)送自己采集的數(shù)據(jù)給相鄰節(jié)點(diǎn)或?qū)⑾噜徆?jié)點(diǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)轉(zhuǎn)發(fā)給基站或更靠近基站的節(jié)點(diǎn)。它一般由傳感器模塊(傳感器、A/D轉(zhuǎn)換器)、處理器模塊(微處理器、存儲(chǔ)器)、無(wú)線通信模塊(無(wú)線收發(fā)器)和能量供應(yīng)模塊(電池)組成,如圖1所示。
所有無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)都具有相同的功能,但在某一時(shí)刻,各個(gè)節(jié)點(diǎn)可能正在執(zhí)行不同的功能。根據(jù)功能,可以把節(jié)點(diǎn)分成傳感器節(jié)點(diǎn)、簇頭節(jié)點(diǎn)和匯聚節(jié)點(diǎn)3種類型。當(dāng)節(jié)點(diǎn)作為傳感器節(jié)點(diǎn)時(shí),主要是采集周圍環(huán)境的數(shù)據(jù)(溫度、光度和濕度等),然后進(jìn)行A/D轉(zhuǎn)換,交由處理器處理,最后由通信模塊發(fā)送到相鄰節(jié)點(diǎn),同時(shí)該節(jié)點(diǎn)也要執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)的功能,即把相鄰節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)發(fā)送到匯聚節(jié)點(diǎn)或離匯聚節(jié)點(diǎn)更近的節(jié)點(diǎn);當(dāng)節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)時(shí),主要是收集該簇內(nèi)所有節(jié)點(diǎn)所采集到的信息,經(jīng)數(shù)據(jù)融合后,發(fā)往匯聚節(jié)點(diǎn);當(dāng)節(jié)點(diǎn)作為匯聚節(jié)點(diǎn)時(shí),其主要功能就足連接傳感器網(wǎng)絡(luò)與外部網(wǎng)絡(luò)(如Internet),將傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)通過(guò)互聯(lián)網(wǎng)或衛(wèi)星發(fā)送給用戶。
2 CC2420芯片的性能和結(jié)構(gòu)特點(diǎn)
CC2420是Chipcon公司開發(fā)的首款符合Zigbee標(biāo)準(zhǔn)的2.4 GHz射頻芯片,集成了所有Zigbee技術(shù)的優(yōu)點(diǎn),可快速應(yīng)用到Zigbee產(chǎn)品中。Zigbee是建立在IEEE 802.15.4定義的可靠的PHY(物理層)和MAC(媒體訪問(wèn)控制層)之上的標(biāo)準(zhǔn),它定義了網(wǎng)絡(luò)層、安全層和應(yīng)用層。Zigbee的協(xié)議架構(gòu)如圖2所示。
Zigbee技術(shù)的特點(diǎn)如下:
a) 數(shù)據(jù)傳輸速率低:只有20~250 kbit/s,專注于低傳輸速率的應(yīng)用。
b) 時(shí)延短:休眠激活時(shí)延和活動(dòng)設(shè)備接入信道時(shí)延均為15 ms,典型的搜索設(shè)備時(shí)延為30 ms,這便可以使系統(tǒng)有更多的睡眠時(shí)問(wèn),從而大大降低能量消耗。
c) 功耗低:由于Zigbee的傳輸速率低,且采用了休眠模式,因此大大降低了功耗。單靠?jī)晒?jié)5號(hào)電池便可維持6到24個(gè)月,這是其他無(wú)線通信技術(shù)望塵莫及的。
d) 安全性高:Zigbee提供了基于CRC(循環(huán)冗余校驗(yàn))的數(shù)據(jù)包完整性檢查功能,支持鑒權(quán)和認(rèn)證,采用高級(jí)加密標(biāo)準(zhǔn)(AES-128)的對(duì)稱密碼,以靈活確定其安全屬性。
e) 免執(zhí)照頻段:采用直接序列擴(kuò)頻在ISM(工業(yè)、科學(xué)、醫(yī)療)頻段,2.4 GHz(全球)、915 MHz(美國(guó))和868 MHz(歐洲),均為免執(zhí)照頻段。
f) 網(wǎng)絡(luò)容量大:Zigbee可采用星狀、樹狀和網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu),并采用IEEE標(biāo)準(zhǔn)的64-bit編址和16 bit短編址。由一個(gè)主節(jié)點(diǎn)管理若干子節(jié)點(diǎn),最多一個(gè)主節(jié)點(diǎn)可管理254個(gè)子節(jié)點(diǎn);同時(shí),主節(jié)點(diǎn)還可由上一層網(wǎng)絡(luò)節(jié)點(diǎn)管理,最多可組成65 000個(gè)節(jié)點(diǎn)的大網(wǎng)。
g) 可靠性高:采用了CSMA-CA技術(shù)來(lái)避免發(fā)送數(shù)據(jù)的競(jìng)爭(zhēng)和沖突。MAC層采用了完全確認(rèn)的數(shù)據(jù)傳輸模式,每個(gè)發(fā)送的數(shù)據(jù)包都必須等待接收方的確認(rèn)信息。
h) 低成本:由于Zigbee數(shù)據(jù)傳輸速率低,協(xié)議簡(jiǎn)單,因此大大降低了成本。
CC2420芯片除了擁有以上Zigbee的所有優(yōu)點(diǎn)外,還具有與微控制器的接口配置容易(四線SPI串行口)、接收與發(fā)送采用不同存儲(chǔ)空間、所需外部元件較少以及采用QLP-48封裝,外形尺寸只有7 mm×7 mm等性能特征。
CC2420芯片的內(nèi)部結(jié)構(gòu)如圖3所示。天線接收的信號(hào)經(jīng)低噪聲放大器放大,并通過(guò)I/Q降頻轉(zhuǎn)換為2 MHz的中頻信號(hào)。該信號(hào)再經(jīng)濾波、放大、A/D轉(zhuǎn)換、自動(dòng)增益控制、終端信道過(guò)濾以及信號(hào)修正等,最終得到正確數(shù)據(jù)。當(dāng)要發(fā)送數(shù)據(jù)時(shí),先把要發(fā)送的數(shù)據(jù)放入容量為128字節(jié)的發(fā)送緩沖區(qū)。報(bào)頭和起始幀由硬件自動(dòng)生成。根據(jù)IEEE 802.15.4標(biāo)準(zhǔn),將數(shù)據(jù)流的每4個(gè)比特?cái)U(kuò)展為32碼片,然后送到D/A轉(zhuǎn)換器。最后,經(jīng)過(guò)低通濾波和上變頻混頻,并在能量放大器中進(jìn)行放大后,交由天線發(fā)送。
3 節(jié)點(diǎn)設(shè)計(jì)
由于在設(shè)計(jì)中用到的傳感器較少(主要是溫度傳感器和光傳感器),因此將傳感器模塊集成到處理器模塊中。所以對(duì)節(jié)點(diǎn)設(shè)計(jì)的描述將分為處理器模塊、通信模塊和供電模塊3部分。其中處理器模塊選用ATmega128L作為處理器芯片,通信模塊選用CC2420作為通信芯片,在電源方面,采用2節(jié)5號(hào)電池提供3V供電。
3.1 處理器模塊
處理器是整個(gè)節(jié)點(diǎn)的中心,其他模塊都要通過(guò)處理器來(lái)聯(lián)系,因此處理器性能的好壞決定了整個(gè)節(jié)點(diǎn)的性能。ATmega128L芯片是ATMEL公司開發(fā)的一款高性能、低功耗的8位AVR微處理器。它有128 kB的系統(tǒng)可編程Flash存儲(chǔ)器,4 kB EEPROM,以及4 kB的片內(nèi)SRAM,同時(shí)還可以擴(kuò)展外部存儲(chǔ)器;采用先進(jìn)的RISC結(jié)構(gòu),大部分指令在一個(gè)時(shí)鐘周期內(nèi)完成;有64個(gè)10引腳,都與通用單片機(jī)兼容;片內(nèi)提供1個(gè)串行外圍接口SPI、1個(gè)兩線串行接口TWI和2個(gè)通用同異步串行接口,用于與外部元件的通信;并提供8通道10位采樣精度的A/D轉(zhuǎn)換器,該器件同時(shí)支持16路差分電壓輸入組合。
處理器與傳感器的連接如圖4所示。因?yàn)楣鈧鞲衅髋c溫度傳感器的工作原理相似,因此它們可采用同樣的電路圖。圖中的R1為光敏電阻或熱敏電阻,R2為10kΩ電阻,用于保護(hù)電路,加入電容C1是為使A/D轉(zhuǎn)換器采樣所得到的數(shù)據(jù)更精確。
電路的工作原理是:用ATmega128L的一個(gè)引腳給電路提供電源,從圖中的電源端輸入電路。R1的阻值根據(jù)光(R1為光敏電阻)或溫度(R1為熱敏電阻)的變化而發(fā)生變化,從而引起其壓降的變化。將R1的負(fù)端與處理器的一個(gè)A/D轉(zhuǎn)換器端口連接,處理器即可收到一個(gè)電信號(hào),然后處理器啟動(dòng)A/D轉(zhuǎn)換功能,將電信號(hào)轉(zhuǎn)換為數(shù)字存入寄存器,當(dāng)MCU需要處理或發(fā)送該數(shù)據(jù)時(shí)便可來(lái)取。利用下式可計(jì)算出十位二進(jìn)制A/D轉(zhuǎn)換器讀數(shù)DADC。
式中:Vin為A/D轉(zhuǎn)換器引腳的輸入電壓;Vref為參考電壓。
3.2 通信模塊
在無(wú)線傳感器網(wǎng)絡(luò)中,最關(guān)鍵的技術(shù)是實(shí)現(xiàn)節(jié)點(diǎn)間的通信。隨著集成電路的發(fā)展,芯片的集成度越來(lái)越高,能耗越來(lái)越少,因此,傳感器節(jié)點(diǎn)的能量主要是耗費(fèi)在通信上。所以,選擇一塊低能耗的通信芯片將為節(jié)點(diǎn)節(jié)省能量,延長(zhǎng)壽命。
CC2420是Chipeon公司開發(fā)的一款低功耗通信芯片。由于其喚醒時(shí)延短,使得它能有更多的時(shí)間處于睡眠狀態(tài),從而大大降低了節(jié)點(diǎn)的能耗,延長(zhǎng)節(jié)點(diǎn)的壽命。CC2420與ATmega128L的連接如圖5所示。
CC2420有4個(gè)SPI通信接口:CSn、SI、SO、SCLK,剛好對(duì)應(yīng)ATmega128L的4個(gè)SPI通信接口:SS、MO-SI、MISO、SCLK。通過(guò)這4條線,處理器可以對(duì)CC2420進(jìn)行寫入或讀取配置信息,也可以收發(fā)數(shù)據(jù)。由于CC2420只有從機(jī)模式,因此處理器只能采用主機(jī)模式。如圖5所示,由處理器的SCLK引腳提供時(shí)鐘頻率;SS引腳控制數(shù)據(jù)收發(fā)的同步性,在接收和發(fā)送時(shí),都要保證CSn為低電平;MOSI與MISO分別是數(shù)據(jù)輸出和輸入的引腳。SFD引腳在發(fā)送或接收完開始幀后置為高電平,然后繼續(xù)發(fā)送和接收后面的數(shù)據(jù)。在接收模式下,若地址識(shí)別功能使能且識(shí)別成功或地址識(shí)別功能不使能,則SFD引腳直到所有數(shù)據(jù)發(fā)送完成才降為低電平。若地址識(shí)別功能使能但識(shí)別失敗,SFD引腳將馬上降為低電平。處理器的ICP引腳可以通過(guò)與SFD引腳的連接獲取數(shù)據(jù)發(fā)送和接收的時(shí)間信息。與CCA引腳的連接可使處理器獲取清除通道評(píng)估信號(hào)。FIFO和FIFOP是與CC2420的RXFIFO(接收數(shù)據(jù)存儲(chǔ)區(qū))相關(guān)的兩個(gè)信號(hào)。當(dāng)RXFIFO中有數(shù)據(jù)時(shí),F(xiàn)IFO就變?yōu)楦唠娖?,直到RXFIFO為空為止。這樣,處理器便可通過(guò)讀取FIFO引腳的電平來(lái)判斷CC2420中是否有接收到的數(shù)據(jù)。當(dāng)RXFIFO中未被讀取的數(shù)據(jù)超過(guò)某個(gè)門限值(可編程沒定)或整個(gè)數(shù)據(jù)包接收完成后還未被讀取時(shí),F(xiàn)IFOP引腳就變成高電平。但是,當(dāng)CC2420的地址識(shí)別功能使能時(shí),只有到地址識(shí)別成功后FIFOP引腳才會(huì)發(fā)揮作用,這是為了防止處理器在CC2420的地址識(shí)別完成前讀取那些可能無(wú)效的數(shù)據(jù)。當(dāng)RXFIFO發(fā)生溢出時(shí),F(xiàn)IFO將變?yōu)榈碗娖?,同時(shí),F(xiàn)IFOP變?yōu)楦唠娖健K耘cFIFO引腳和FIFOP引腳的連接可以讓處理器知道何時(shí)該讀取數(shù)據(jù)。將FIFOP引腳與處理器的一個(gè)外部中斷引腳連接,是為了讓處理器能及時(shí)讀取CC2420的RXFIFO中的數(shù)據(jù),從而盡量避免RXFIFO的溢出。
3.3 供電模塊
由于無(wú)線傳感器網(wǎng)絡(luò)可能工作在人煙稀少或人類無(wú)法到達(dá)的地區(qū),所以大多只能采用電池供電,且一般不可能更換電池。因此,如何降低節(jié)點(diǎn)能耗是無(wú)線傳感器網(wǎng)絡(luò)研究中最關(guān)心的問(wèn)題之一。CC2420芯片采用低電壓供電(2.1 V~3.6 V),同時(shí),采用休眠模式,且從休眠模式被激活的時(shí)延短,因此有更多的時(shí)間處于休眠狀態(tài),而處于休眠狀態(tài)時(shí)芯片的能耗極低,從而大大減少了能耗。CC2420各狀態(tài)下的電流消耗典型值如下:穩(wěn)壓器關(guān)閉為0.02μA,低電位模式為20μA,空閑模式為426μA,接收模式為18.8 mA,發(fā)送模式(輸出功率P=0 dBm)為17.4 mA。
同時(shí),ATmega128L也是一款采用低電壓供電的芯片(2.7 V~5.5 V)。而且ATmega128L有6種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby模式以及擴(kuò)展的Standby模式。可根據(jù)需要,通過(guò)軟件編程或硬件復(fù)位等方式來(lái)控制處理器進(jìn)入睡眠模式,節(jié)省能耗。同時(shí),各種睡眠模式都有各自的喚醒源,當(dāng)有數(shù)據(jù)需要處理器處理時(shí),便可由喚醒源將其喚醒,進(jìn)入工作狀態(tài),一旦處理完成,再次進(jìn)入睡眠狀態(tài)。采用這種工作方式,處理器能夠最大限度地節(jié)約能耗。
3.4 設(shè)計(jì)要點(diǎn)
無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用的特殊性要求其節(jié)點(diǎn)體積越小越好,因此在元器件的選擇上當(dāng)然是選擇同類型中體積最小的。但是節(jié)點(diǎn)體積越小,在設(shè)計(jì)電路板布線時(shí)可能會(huì)因?yàn)榫€路間距離太小而產(chǎn)生十?dāng)_,因此抗干擾設(shè)計(jì)是節(jié)點(diǎn)設(shè)計(jì)時(shí)的重點(diǎn)問(wèn)題??梢园央娐钒逶O(shè)計(jì)成4層板。頂層布信號(hào)線,主要是傳輸通過(guò)天線接收和發(fā)送的信號(hào)。該層空白區(qū)域用金屬層覆蓋,并通過(guò)幾個(gè)孔接地;第2層可以布數(shù)據(jù)線,將用于節(jié)點(diǎn)內(nèi)部數(shù)據(jù)傳輸?shù)木€路都布置在這一層;第3層布供電線路;第4層作為接地層。各元件的接地引腳應(yīng)使用單獨(dú)過(guò)孔,盡量靠近封裝引腳接地,去耦電容也應(yīng)盡量靠近電源腳放置,并通過(guò)單獨(dú)過(guò)孔接地。同時(shí),為了抗電磁干擾,最好把數(shù)字電源和模擬電源、數(shù)字地和模擬地隔離開來(lái),一般可采用0 Ω電阻或磁珠來(lái)進(jìn)行隔離。
4 節(jié)點(diǎn)的優(yōu)勢(shì)
選擇CC2420作為無(wú)線收發(fā)芯片的一個(gè)顯然的優(yōu)勢(shì)就是它工作于ISM免執(zhí)照頻段。此外,由于芯片采用了休眠模式,使其具有超低能耗和以年計(jì)算的壽命。由于芯片的成本低,因此也就更符合傳感器網(wǎng)絡(luò)需要大量分布節(jié)點(diǎn)的特點(diǎn)。再者,芯片已經(jīng)集成了CRC和數(shù)據(jù)完整性檢查等功能,這就相對(duì)減少了程序員編程的工作量,而且硬件處理速度一般都快于軟件處理速度,因此加快了通信的速度,減少了能量消耗。同時(shí),芯片還采用了CSMA-CA技術(shù)來(lái)避免數(shù)據(jù)發(fā)送時(shí)的競(jìng)爭(zhēng)和沖突,減少了一部分不必耍的能量消耗。
5 結(jié)束語(yǔ)
近幾年,無(wú)線傳感器網(wǎng)絡(luò)越來(lái)越受到人們的重視,尤其隨著集成電路和無(wú)線通信技術(shù)的飛速發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)越來(lái)越少,能耗越來(lái)越少,適用范圍越來(lái)越廣。Zigbee協(xié)議是由Zigbee聯(lián)盟開發(fā)的一種針對(duì)短距離、低速率、低功耗應(yīng)用的無(wú)線通信協(xié)議,于2004年12月正式獲得批準(zhǔn)。CC2420是Chipcon公司開發(fā)的全球首塊符合Zigbee標(biāo)準(zhǔn)的無(wú)線收發(fā)芯片?;?strong>CC2420的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)具有成本低、能耗小等特點(diǎn),而這些特點(diǎn)正是傳感器網(wǎng)絡(luò)研究中最為重視的熱點(diǎn),因此,該設(shè)計(jì)方案有廣闊的應(yīng)用前景。