基于RF芯片的無線傳感器網(wǎng)絡節(jié)點設備設計
1 引言
隨著微電子技術、計算機網(wǎng)絡技術和通信技術的發(fā)展,無線傳感器網(wǎng)絡日漸成為互聯(lián)網(wǎng)領域研究的熱點之一。無線傳感器網(wǎng)絡具有“無處不在”和節(jié)點數(shù)量龐大等特點,適用于軍事、智能家居、環(huán)境監(jiān)測和預報、醫(yī)療護理、建筑物狀態(tài)監(jiān)控、工業(yè)控制等領域。無線傳感器網(wǎng)絡節(jié)點設備是構成無線傳感器網(wǎng)絡的基礎,基本組成和功能包括如下幾個單元:傳感單元(由傳感器和模數(shù)轉換功能模塊組成)、處理單元(由嵌入式系統(tǒng)構成,包括CPU、存儲器等)、通信單元(由無線通信模塊組成)和電源單元,如圖l所示。此外,可選擇的其他功能單元包括定位系統(tǒng)、移動系統(tǒng)及電源自供電系統(tǒng)等。通常,此類設備具有微型、低功耗、低成本、可擴展性、高安全性等特點。
2 CC2510的功能及內部結構
2.1 功能
CC2510是Chipcon公司于2005年11月推出的一款2.4 GHz射頻收發(fā)器。該器件成本低,包含UHF RF收發(fā)器和高性能低功耗8051微控制器,集成了32 KB在系統(tǒng)可編程Flash和外設內嵌4 KBSHAM。CC2510功能強大,擁有128位AES安全協(xié)處理器和DMA功能;系統(tǒng)時鐘是16MHz片內RC振蕩器或26 MHz晶體振蕩器,實時時鐘采用低功耗32.768 kHz晶體振蕩器或內部34 kHz RC振蕩器;具有高靈敏度(10 kb/s下為-100 dBm)和較高的接收靈敏度和阻塞功能,支持2-FSK,GFSK和MSK等調制方式;支持數(shù)字RSSI/LQI,工作電壓2.0 V~3.6V;具有21個通用I/O接口、兩個UART/SPI接口和可編程看門狗計時器,片內有1個16位定時器和3個8 位定時器,真正的隨機號碼發(fā)生器,支持硬件調試,有兩個數(shù)據(jù)指針。
CC2510采用Chipcon公司的Smart RF 04技術,以0.18μm CMOS工藝制成,只需極少外部元件就可以構成性能穩(wěn)定且功耗極低的片上系統(tǒng)(SoC)。CC2510的選擇性和敏感性指數(shù)優(yōu)越,可確保短距離通信的有效性和可靠性。除上述特點外,該器件還包含8路8~14位ADC具備4種靈活的降功耗模式,從休眠狀態(tài)到工作狀態(tài)的過渡時間非???,內嵌溫度傳感器,非常適合作為無線傳感器網(wǎng)絡節(jié)點設備。
2.2 CC2510內部結構
CC2510器件的內部結構如圖2所示。其中CC2510的處理器采用兼容8051單片機內核的結構及指令系統(tǒng)。該內核通過3種不同的內存訪問總線(SFR,DATA和CODE/XDATA)對內存進行訪問控制。SFR總線負責將所有的外設同內存仲裁相連接,還負責CPU與射頻寄存器之間的交互。此外,在系統(tǒng)中還存在有一個處于核心地位的設備——內存仲裁。內存仲裁通過SFR總線將CPU、DMA模塊、存儲器以及其他外設連接在一起。內存仲裁通過4個存儲器指針選擇接入SRAM、Flash存儲器或者SVR寄存器。系統(tǒng)通過中斷控制器維護4種不同優(yōu)先級的18個中斷源,這些中斷源被分成6組,每組關聯(lián)一種中斷優(yōu)先級。為降低功耗,系統(tǒng)可支持4種工作模式。表1給出了這4種工作模式的特點和狀態(tài)。
CC2510包含有8路8~14位ADC,支持單端輸入和差分輸入兩種模式,能夠采用可選正向參考電壓。ADC中還包含了一個溫度傳感器通道,可以直接連接片內集成的溫度傳感器。ADC的輸入端口復用通用I/O端口的PO部分作為AIN0-AIN7端口。圖3給出了ADC模塊的框圖。CC2510的ADC轉換結果一般為13位,這些結果通常存放于ADC數(shù)據(jù)寄存器ADCH及ADCL中。ADC轉換結束能夠觸發(fā)自己中斷。即便是由于在ADCH與ADCL之間讀取而造成ADC無法訪問數(shù)據(jù)寄存器,并因此丟失了轉換數(shù)據(jù),中斷仍會被觸發(fā)。
天線接收的射頻信號經(jīng)過低噪聲放大器和I/Q下變頻處理后,中頻信號只有2 MHz,此混合I/Q信號經(jīng)過濾波、放大、AD變換、自動增益控制、數(shù)字解調和解擴,最終恢復出傳輸?shù)恼_數(shù)據(jù)。發(fā)射機部分基于直接上變頻。CC2510的發(fā)射部分基于RF頻率的直接合成。頻率合成器包括一個完整的片上LC壓控振蕩器和一個90°的相移器,產生接收模式時下變頻器所需的I和Q路信號。26 MHz晶體振蕩器產生的頻率作為合成器、AD時鐘和數(shù)字部分時鐘的參考頻率。系統(tǒng)使用SFR(特殊功能寄存器)寄存器作為接口為來自CPU的數(shù)據(jù)進行緩沖,寄存器的配置和狀態(tài)可以從寄存器映射存儲器XDATA中查詢。數(shù)字基帶信號支持通道配置,包處理和數(shù)據(jù)緩沖。片上的電壓校正器產生一個校正過的1.8 V供電電壓。
3 無線傳感器網(wǎng)絡節(jié)點設備設計
3.1 硬件設置
針對無線傳感器網(wǎng)絡的特點,依據(jù)CC2510的內部結構,針對器件內部已嵌入的溫度傳感器,添加其他傳感器件,可以設計基于多傳感器的無線傳感器網(wǎng)絡節(jié)點設備。圖4給出了基于片內溫度傳感器和光敏器件的溫度-光強傳感器的節(jié)點設備電路圖。其中Pa為光敏電阻,C21為去耦電容。器件本振信號可由外部有源晶體提供,也可由內部電路提供。由內部電路提供時需外加晶體振蕩器和負載電容,電容的取值決定于晶體的頻率及輸入容抗等參數(shù)。該設備可采用3.0V電池供電。
射頻輸入/輸出匹配電路主要用來匹配器件的輸入/輸出阻抗,使其輸入/輸出阻抗為50 Ω。發(fā)射部分經(jīng)過前端π型匹配網(wǎng)絡向50 Ω垂直天線饋電,如果不希望采用上述匹配網(wǎng)絡,可以采用T型PCB天線直接與器件相連。
3.2 軟件設置
軟件設置主要包括三個方面:主機調度函數(shù)、數(shù)據(jù)采集與處理方式、射頻數(shù)據(jù)收發(fā)處理函數(shù)。對于應用多傳感器的傳感器網(wǎng)絡節(jié)點設備,主機調度函數(shù)可以采用有競爭的中斷方式進行全局調度。數(shù)據(jù)采集與處理方式依據(jù)硬件自身特點實現(xiàn)。下面通過描述性語言給出主機調度函數(shù)的實現(xiàn)思想:
CC2510內置一個可以在不同操作狀態(tài)(模式)之間轉換的狀態(tài)機。應用該狀態(tài)機,可以通過使用寫入指令來實現(xiàn)狀態(tài)之間的轉換。圖5給出了射頻控制的狀態(tài)轉換圖。這里借用MARCSTATE狀態(tài)寄存器中讀出的狀態(tài)字作為各個狀態(tài)的標識。
在節(jié)點工作過程中,設定兩個激活狀態(tài):接收(RX)和發(fā)送(TX),通過CPU向RFST寄存器中寫入SRX和STX指令來實現(xiàn)狀態(tài)的遷移。當RX被激活時,器件將處于接收狀態(tài),直至RX終止定時器超時或者成功地收到一個包。如果射頻控制器當前位于發(fā)送狀態(tài),并且SRX寫入,當前的發(fā)送狀態(tài)被中止,開始向RX過渡。如果射頻控制器當前位于RX狀態(tài),當STX或者SFSTX0N命令發(fā)布時,如果是暢通的信道就進入TX狀態(tài)。如果信道不暢通,器件仍將處于RX狀態(tài)。在任何時候,SIDLF命令總是能夠迫使射頻控制器進入空閑狀態(tài)。
注意:由于使用了PQT、CS、最大同步字長和同步字評價模式,可以有效減少探測到錯誤同步字的可能性。在成功地接收到數(shù)據(jù)包以后,射頻控制器將根據(jù)系統(tǒng)設置進入如下狀態(tài):
IDLE:空閑;
FSTXON:在TX頻率時,頻率合成器打開并且已經(jīng)準備好。用STX激活TX;
TX:開始發(fā)送開端;
RX:開始搜尋一個新的包。
類似地,當TX被激活時,器件一直處于TX狀態(tài),直到當前的包被成功地發(fā)送出。然后狀態(tài)會根據(jù)MCSMl.TXOFF_MODE設置提示的狀態(tài)改變。有關狀態(tài)轉換條件需要根據(jù)實際應用場合人為地選擇設定,在此不再贅述。
4 配置傳感器網(wǎng)絡節(jié)點間的通信
根據(jù)CC2510的特點,可以人為設定MAC層協(xié)議以完成節(jié)點間通信,從而構成星型或者網(wǎng)型(MESH)無線傳感器網(wǎng)絡。本文設計了一種基于載波偵聽、沖突避免機制的可變包長的MAC層協(xié)議——MAC_S,采用8 bit地址標識各個無線傳感器節(jié)點,該協(xié)議支持基于RSSI的LQI鏈路質量描述、物理層采用曼徹斯特碼編碼的2-FSK調制方式。在這里,可以利用CC2510中通過軟件設定讓信號通過一個高斯濾波器,從而產生一個GFSK調制信號。限于篇幅有關這一MAC層協(xié)議的細節(jié)將另撰文論述,這里僅簡單介紹包格式及其處理過程。圖6給出了上述MAC_S協(xié)議的包格式。
其中,4字節(jié)引導字用于標識報文開端,同步字用于提取同步信息,包長度通常包括自身在內的后續(xù)地址和載荷報文長度,校驗域通過CRC-16算法進行校驗。在發(fā)送模式下,包處理器過程如下:發(fā)送的數(shù)據(jù)幀被送入RAM中的緩存區(qū)進行相應的幀打包操作,取發(fā)送凈荷依據(jù)轉發(fā)表填入地址并計算包長度,將一定數(shù)量的可編程的開端字節(jié),MAC_S協(xié)議用4個開端字節(jié),然后添加兩字節(jié)的同步字,在數(shù)字據(jù)中計算和加入CRC校驗和并發(fā)送出去。在接收模式時,包處理支持將會分解數(shù)據(jù)包:首先進行開端檢測、提取RSSI信息,然后進行同步字檢測,接著檢測地址、進行地址長度匹配并計算和檢查CRC。最后將數(shù)據(jù)凈荷提交上層進行處理,從而完成一次發(fā)送和接收交互。
5 結束語
CC2510是一款高集成度的工業(yè)用射頻收發(fā)器,其MAC層和PHY層可以適用于多種協(xié)議標準,工作于2.4 GHz工業(yè)、科研和醫(yī)療頻段。通過添加簡單的外設,可構成功能強大的傳感器網(wǎng)絡節(jié)點設備。Chipcon公司在推出芯片的同時,還提供該器件的系列評估軟件-Smart RFStusio。通過該軟件設置可以對器件進行性能和功能測試,方便用戶進行二次開發(fā)。