基于RF芯片CC2510的無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備設(shè)計
1 引言
隨著微電子技術(shù)、計算機(jī)網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,無線傳感器網(wǎng)絡(luò)日漸成為互聯(lián)網(wǎng)領(lǐng)域研究的熱點之一,無線傳感器網(wǎng)絡(luò)具有“無處不在”和節(jié)點數(shù)量龐大等特點,適用于軍事、智能家居、環(huán)境監(jiān)測和預(yù)報、醫(yī)療護(hù)理、建筑物狀態(tài)監(jiān)控、工業(yè)控制領(lǐng)域,無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備是構(gòu)成無線傳感器網(wǎng)絡(luò)的基礎(chǔ),基本組成和功能包括如下幾個單元[1]:傳感單元(由傳感器和模數(shù)轉(zhuǎn)換功能模塊組成)、處理單元(由嵌入式系統(tǒng)構(gòu)成、包括cpu、存儲器等)、通信單元(由無線通信模塊組成)和電源單元,如圖1所示,此外,可選擇的其他功能單元包括定位系統(tǒng)、移動系統(tǒng)及電源自供電系統(tǒng)等,通常,此類設(shè)備具有微型、低功耗、低成本、可擴(kuò)展性、高安全性等特點。
2 cc2510的功能及內(nèi)部結(jié)構(gòu)
2.1 功能
cc2510是chipcon公司于2005年11月推出的一款2.4ghz射頻收發(fā)器,該器件成本低,包含uhf rf收發(fā)器和高性能低功耗8051微控制器,集成了32kb在系統(tǒng)可編程flash和外設(shè)內(nèi)嵌4kb
sram,cc2510功能強(qiáng)大,擁有128位aes安全協(xié)處理器和dma功能;系統(tǒng)時鐘是16mhz片內(nèi)rc振蕩器或26mhz晶體振蕩器,實時時鐘采用低功耗32.768khz晶體振蕩器或內(nèi)部34khz
rc振蕩器,具有高靈敏度(10kb/s下為-100dbm)和較高的接收靈敏度和阻塞功能,支持2-fsk,gfsk和msk等調(diào)制方式;支持?jǐn)?shù)字rssi/lqi,工作電壓2.0v-3.6v;具有21個通用i/o接口、兩個uart/spi接口和可編程看門狗計時器,片內(nèi)有1個16位定時器和3個8位定時器,真正的隨機(jī)號碼發(fā)生器,支持硬件是,有兩個數(shù)據(jù)指針。cc2510采用chipcon公司的smart
rf 04技術(shù),以0.18μm cmos工藝制成,只需極少外部元件就可以構(gòu)成性能穩(wěn)定且功能極低的片上系統(tǒng)(soc)。cc2510的選擇性和敏感性指數(shù)優(yōu)越,可確保短距離通信的有效性和可靠性,除上述特點外,該器件還包含8路8-14位adc,具備4種靈活的降功耗模式,從休眠狀態(tài)到工作狀態(tài)的過渡時間非??欤瑑?nèi)嵌溫度傳感器,非常適合作為無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備。
2.2 cc2510內(nèi)部結(jié)構(gòu)
cc2510器件的部結(jié)構(gòu)如圖2所示,其中cc2510的處理器采用兼容8051單片機(jī)內(nèi)核的結(jié)構(gòu)及指令系統(tǒng),該內(nèi)核通過3種不同的內(nèi)存訪問總線(sfr,data和code/xdata)對內(nèi)存進(jìn)行訪問控制,sfr總線負(fù)責(zé)將所有的外設(shè)同內(nèi)存仲裁相連接,還負(fù)責(zé)cpu與射頻寄存器之間的交互,此外,在系統(tǒng)中還存在有一個處于核心地位的設(shè)備——內(nèi)存仲裁。內(nèi)存仲裁通過sfr總線將cpu、dma模塊、存儲器以及其他外設(shè)連接在一起。內(nèi)存仲裁通過4個內(nèi)存器指針選擇接入sram、flash存儲器或者sfr寄存器。系統(tǒng)通過中斷控制器維護(hù)4種不同優(yōu)先級的18個中斷源,這些中斷源被分成6組,每組關(guān)聯(lián)一種中斷優(yōu)先級。為降低功耗,系統(tǒng)可支持4種工作模式,表1給出了這4種工作模式的特點和狀態(tài)。
cc2510包含有8路8-14位adc,支持單端輸入和差分輸入兩種模式,能夠采用可選正向參考電壓,adc中還包含了一個溫度傳感器通道,可以直接連接片內(nèi)集成的溫度傳感器,adc的輸入端口復(fù)用通用i/o端口的p0部分作為ain0-ain7端口,圖3給出了adc模塊的框圖,cc2510的adc轉(zhuǎn)換結(jié)果一般為13位,這些結(jié)果通常存儲于adc數(shù)據(jù)寄存器adch及adcl中,adc轉(zhuǎn)換結(jié)束能夠觸發(fā)自己中斷,即便是由于在adch與adcl之間讀取而造成adc無法訪問數(shù)據(jù)寄存器,并因此丟失了轉(zhuǎn)換數(shù)據(jù),中斷仍會被觸發(fā)。
天線接收的射頻信號經(jīng)過低噪聲放大器和i/o下變頻處理后,中頻信號只有2mhz,此混合i/o信號經(jīng)過濾波、放大、ad變換,自動增益控制、數(shù)字調(diào)節(jié)和解擴(kuò),最終恢復(fù)出傳輸?shù)恼_數(shù)據(jù),發(fā)射機(jī)部分基于直接上變頻,cc2510的發(fā)射部分基于rf頻率的直接合成。頻率合成器包括一個完整的片上lc壓控振蕩器和一個90°得相移器,產(chǎn)生接收模式時下變頻器作為合成器、ad時鐘和數(shù)字部分時鐘的參考頻率,系統(tǒng)使用sfr(特殊功能寄存器)寄存器作為接口為來自cpu的數(shù)據(jù)進(jìn)行緩沖,寄存器的配置和狀態(tài)可以從寄存器映射存儲器xdata中查詢。數(shù)字基帶信號支持通道配置,包處理和數(shù)據(jù)緩沖,片上的電壓校正器產(chǎn)生一個校正過的1.8v供電電壓。
3 無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備設(shè)計
3.1 硬件設(shè)置
針對無線傳感器網(wǎng)絡(luò)的特點,依據(jù)cc2510的內(nèi)部結(jié)構(gòu),針對器件內(nèi)部已嵌入的溫度傳感器,添加其他傳感器件,可以設(shè)計基于多傳感器的無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)備,圖4給出了基于片內(nèi)溫度傳感器和光敏器件的溫度-光強(qiáng)傳感器的節(jié)點設(shè)備電路圖,其中pa為光敏電阻,c21為去耦電容,器件本振信號可由外部有源晶體提供,也可以由內(nèi)部電路提供,由內(nèi)部電路提供時需外加晶體振蕩器和負(fù)載電容,電容的取值取決于晶體的頻率及輸入容抗等參數(shù),該設(shè)備可采用3.0v電池供電。
射頻輸入/輸出匹配電路主要用來匹配器件的輸入/輸出阻抗,使其輸入/輸出阻抗為50ω,發(fā)射部分經(jīng)過前端π型匹配網(wǎng)絡(luò)向50ω垂直天線饋電,如果不希望采用上述匹配網(wǎng)絡(luò),可以采用t型pcb天線直接與器件相連。
3.2 軟件設(shè)置
軟件設(shè)置主要包括三個方面:主機(jī)調(diào)度函數(shù)、數(shù)據(jù)采集與處理方式、射頻數(shù)據(jù)收發(fā)處理函數(shù),對于應(yīng)用多傳感器的傳感器網(wǎng)絡(luò)節(jié)點設(shè)備,主機(jī)調(diào)度函數(shù)可以采用有競爭的中斷方式進(jìn)行全局調(diào)度,數(shù)據(jù)采用與處理方式依據(jù)硬件自身特點實現(xiàn),希望通過描述性語言給出主機(jī)調(diào)度函數(shù)的實現(xiàn)思想:
cc2510內(nèi)置一個可以在不同操作狀態(tài)(模式)之間轉(zhuǎn)換的狀態(tài)機(jī),應(yīng)用該狀態(tài)機(jī),可以通過使用寫入指令來實現(xiàn)狀態(tài)之間的轉(zhuǎn)換,圖5給出了射頻控制的狀態(tài)轉(zhuǎn)換圖。這里借用marcstate狀態(tài)寄存器中讀出的狀態(tài)字作為各個狀態(tài)的標(biāo)識。
在節(jié)點工作過程中,設(shè)定兩個激活狀態(tài):接收(rx)和發(fā)送(tx),通過cpu向rfst寄存器中寫入srx和stx指令來實現(xiàn)狀態(tài)的遷移。當(dāng)rx被激活時,器件將處于接收狀態(tài),直至rx終止定時器超時或成功地收到一個包。如果射頻控制及當(dāng)前位于發(fā)送狀態(tài),并且srx寫入,當(dāng)前的發(fā)送狀態(tài)被中止,開始向rx過渡。如果射頻控制器當(dāng)前位于rx狀態(tài),當(dāng)stx或者sfstxon命令發(fā)布時,如果是暢通的信道就進(jìn)入tx狀態(tài),如果信道不暢通,器件仍將處于rx狀態(tài),在任何時候,sidle命令總是能夠迫使射頻控制器進(jìn)入空閑狀態(tài)。
注意:由于使用了pqt、cs、最大同步字長和同步字評價模式,可以有效減少探測到錯誤同步字的可能性。在成功地接收到數(shù)據(jù)包以后,射頻控制器將根據(jù)系統(tǒng)設(shè)置進(jìn)入如下狀態(tài):
idle:空閑;
fstxon:在tx頻率時,頻率合成器打開并且已經(jīng)準(zhǔn)確好,用stx激活tx;
tx:開始發(fā)送開端;
rx:開始搜尋一個新的包。
類似地,當(dāng)tx被激活時,器件一直處于tx狀態(tài),直到當(dāng)前的包被成功地發(fā)送出,然后狀態(tài)會根據(jù)mcsm1.txoff_mode設(shè)置提示的狀態(tài)改變。有關(guān)狀態(tài)轉(zhuǎn)換條件需要根據(jù)實際應(yīng)用場合人為地選擇設(shè)定,在此不再贅述。
4 配置傳感器網(wǎng)絡(luò)節(jié)點間的通信
根據(jù)cc2510的特點,可以人為設(shè)定mac層協(xié)議以完成節(jié)點間的通信,從而構(gòu)成星型或者網(wǎng)型(mesh)無線傳感器網(wǎng)絡(luò),本文設(shè)計了一種基于載波偵聽、沖突避免機(jī)制的可變包長的mac層協(xié)議——
mac_s,采用8bit地址標(biāo)識各個無線傳感器節(jié)點,該協(xié)議支持基于rssi的lqi鏈路質(zhì)量描述、物理層采用曼徹斯特碼編碼的2-fsk調(diào)制方式,在這里,可以利用cc2510中通過軟件設(shè)定讓信號通過一個高斯濾波器,從而產(chǎn)生一個gfsk調(diào)制信號,限于篇幅有關(guān)這一mac層協(xié)議的細(xì)節(jié)將另撰文論述,這里僅簡單介紹包格式及其處理過程,圖6給出了上述mac_s協(xié)議的包格式。
其中,4字節(jié)引導(dǎo)字用于標(biāo)識報文開端,同步字用于提取同步信息,包長度通常包括自身在內(nèi)的后續(xù)地址和載荷報文長度,校驗域通過crc-16算法進(jìn)行校驗,在發(fā)送模式下,包處理器過程如下:發(fā)送的數(shù)據(jù)幀被送入ram中的緩存區(qū)進(jìn)行相應(yīng)的幀打包操作,取發(fā)送凈荷依據(jù)轉(zhuǎn)發(fā)表填入地址并計算包長度,將一定數(shù)量的可編程的開端字節(jié),mac_s協(xié)議用4個開端字節(jié),然后添加兩字節(jié)的同步字,在數(shù)字據(jù)中計算和加入crc校驗和并發(fā)送出去,在接收模式時,包處理支持將會分解數(shù)據(jù)包:首先進(jìn)行開端檢測、提取rssi信息,然后進(jìn)行同步字檢測,接著檢測地址、進(jìn)行地址長度匹配并計算和檢查crc。最后將數(shù)據(jù)凈荷提交上層進(jìn)行處理,從而完成一次接收交互。
5 結(jié)束語
cc2510是一款高集成度的工業(yè)用射頻收發(fā)器,其mac層和phy層可以適用于多種協(xié)議標(biāo)準(zhǔn),工作于2.4ghz工業(yè)、科研和醫(yī)療頻段。通過添加簡單的外設(shè),可構(gòu)成功能強(qiáng)大的傳感器網(wǎng)絡(luò)節(jié)點設(shè)備。chipcom公司在推出芯片的同時,還提供該器件的系列評估軟件-smart
rfstusio。通過該軟件設(shè)置可以對器件進(jìn)行性能和功能測試,方便用戶進(jìn)行二次開發(fā)。
評論