基于RF芯片CC2510的無線傳感器網絡節點設備設計
1 引言
隨著微電子技術、計算機網絡技術和通信技術的發展,無線傳感器網絡日漸成為互聯網領域研究的熱點之一,無線傳感器網絡具有“無處不在”和節點數量龐大等特點,適用于軍事、智能家居、環境監測和預報、醫療護理、建筑物狀態監控、工業控制領域,無線傳感器網絡節點設備是構成無線傳感器網絡的基礎,基本組成和功能包括如下幾個單元[1]:傳感單元(由傳感器和模數轉換功能模塊組成)、處理單元(由嵌入式系統構成、包括cpu、存儲器等)、通信單元(由無線通信模塊組成)和電源單元,如圖1所示,此外,可選擇的其他功能單元包括定位系統、移動系統及電源自供電系統等,通常,此類設備具有微型、低功耗、低成本、可擴展性、高安全性等特點。

2 cc2510的功能及內部結構
2.1 功能
cc2510是chipcon公司于2005年11月推出的一款2.4ghz射頻收發器,該器件成本低,包含uhf rf收發器和高性能低功耗8051微控制器,集成了32kb在系統可編程flash和外設內嵌4kb
sram,cc2510功能強大,擁有128位aes安全協處理器和dma功能;系統時鐘是16mhz片內rc振蕩器或26mhz晶體振蕩器,實時時鐘采用低功耗32.768khz晶體振蕩器或內部34khz
rc振蕩器,具有高靈敏度(10kb/s下為-100dbm)和較高的接收靈敏度和阻塞功能,支持2-fsk,gfsk和msk等調制方式;支持數字rssi/lqi,工作電壓2.0v-3.6v;具有21個通用i/o接口、兩個uart/spi接口和可編程看門狗計時器,片內有1個16位定時器和3個8位定時器,真正的隨機號碼發生器,支持硬件是,有兩個數據指針。cc2510采用chipcon公司的smart
rf 04技術,以0.18μm cmos工藝制成,只需極少外部元件就可以構成性能穩定且功能極低的片上系統(soc)。cc2510的選擇性和敏感性指數優越,可確保短距離通信的有效性和可靠性,除上述特點外,該器件還包含8路8-14位adc,具備4種靈活的降功耗模式,從休眠狀態到工作狀態的過渡時間非???,內嵌溫度傳感器,非常適合作為無線傳感器網絡節點設備。
2.2 cc2510內部結構
cc2510器件的部結構如圖2所示,其中cc2510的處理器采用兼容8051單片機內核的結構及指令系統,該內核通過3種不同的內存訪問總線(sfr,data和code/xdata)對內存進行訪問控制,sfr總線負責將所有的外設同內存仲裁相連接,還負責cpu與射頻寄存器之間的交互,此外,在系統中還存在有一個處于核心地位的設備——內存仲裁。內存仲裁通過sfr總線將cpu、dma模塊、存儲器以及其他外設連接在一起。內存仲裁通過4個內存器指針選擇接入sram、flash存儲器或者sfr寄存器。系統通過中斷控制器維護4種不同優先級的18個中斷源,這些中斷源被分成6組,每組關聯一種中斷優先級。為降低功耗,系統可支持4種工作模式,表1給出了這4種工作模式的特點和狀態。

cc2510包含有8路8-14位adc,支持單端輸入和差分輸入兩種模式,能夠采用可選正向參考電壓,adc中還包含了一個溫度傳感器通道,可以直接連接片內集成的溫度傳感器,adc的輸入端口復用通用i/o端口的p0部分作為ain0-ain7端口,圖3給出了adc模塊的框圖,cc2510的adc轉換結果一般為13位,這些結果通常存儲于adc數據寄存器adch及adcl中,adc轉換結束能夠觸發自己中斷,即便是由于在adch與adcl之間讀取而造成adc無法訪問數據寄存器,并因此丟失了轉換數據,中斷仍會被觸發。

天線接收的射頻信號經過低噪聲放大器和i/o下變頻處理后,中頻信號只有2mhz,此混合i/o信號經過濾波、放大、ad變換,自動增益控制、數字調節和解擴,最終恢復出傳輸的正確數據,發射機部分基于直接上變頻,cc2510的發射部分基于rf頻率的直接合成。頻率合成器包括一個完整的片上lc壓控振蕩器和一個90°得相移器,產生接收模式時下變頻器作為合成器、ad時鐘和數字部分時鐘的參考頻率,系統使用sfr(特殊功能寄存器)寄存器作為接口為來自cpu的數據進行緩沖,寄存器的配置和狀態可以從寄存器映射存儲器xdata中查詢。數字基帶信號支持通道配置,包處理和數據緩沖,片上的電壓校正器產生一個校正過的1.8v供電電壓。

3 無線傳感器網絡節點設備設計
3.1 硬件設置
針對無線傳感器網絡的特點,依據cc2510的內部結構,針對器件內部已嵌入的溫度傳感器,添加其他傳感器件,可以設計基于多傳感器的無線傳感器網絡節點設備,圖4給出了基于片內溫度傳感器和光敏器件的溫度-光強傳感器的節點設備電路圖,其中pa為光敏電阻,c21為去耦電容,器件本振信號可由外部有源晶體提供,也可以由內部電路提供,由內部電路提供時需外加晶體振蕩器和負載電容,電容的取值取決于晶體的頻率及輸入容抗等參數,該設備可采用3.0v電池供電。

射頻輸入/輸出匹配電路主要用來匹配器件的輸入/輸出阻抗,使其輸入/輸出阻抗為50ω,發射部分經過前端π型匹配網絡向50ω垂直天線饋電,如果不希望采用上述匹配網絡,可以采用t型pcb天線直接與器件相連。
3.2 軟件設置
軟件設置主要包括三個方面:主機調度函數、數據采集與處理方式、射頻數據收發處理函數,對于應用多傳感器的傳感器網絡節點設備,主機調度函數可以采用有競爭的中斷方式進行全局調度,數據采用與處理方式依據硬件自身特點實現,希望通過描述性語言給出主機調度函數的實現思想:

cc2510內置一個可以在不同操作狀態(模式)之間轉換的狀態機,應用該狀態機,可以通過使用寫入指令來實現狀態之間的轉換,圖5給出了射頻控制的狀態轉換圖。這里借用marcstate狀態寄存器中讀出的狀態字作為各個狀態的標識。

在節點工作過程中,設定兩個激活狀態:接收(rx)和發送(tx),通過cpu向rfst寄存器中寫入srx和stx指令來實現狀態的遷移。當rx被激活時,器件將處于接收狀態,直至rx終止定時器超時或成功地收到一個包。如果射頻控制及當前位于發送狀態,并且srx寫入,當前的發送狀態被中止,開始向rx過渡。如果射頻控制器當前位于rx狀態,當stx或者sfstxon命令發布時,如果是暢通的信道就進入tx狀態,如果信道不暢通,器件仍將處于rx狀態,在任何時候,sidle命令總是能夠迫使射頻控制器進入空閑狀態。
注意:由于使用了pqt、cs、最大同步字長和同步字評價模式,可以有效減少探測到錯誤同步字的可能性。在成功地接收到數據包以后,射頻控制器將根據系統設置進入如下狀態:
idle:空閑;
fstxon:在tx頻率時,頻率合成器打開并且已經準確好,用stx激活tx;
tx:開始發送開端;
rx:開始搜尋一個新的包。
類似地,當tx被激活時,器件一直處于tx狀態,直到當前的包被成功地發送出,然后狀態會根據mcsm1.txoff_mode設置提示的狀態改變。有關狀態轉換條件需要根據實際應用場合人為地選擇設定,在此不再贅述。
4 配置傳感器網絡節點間的通信
根據cc2510的特點,可以人為設定mac層協議以完成節點間的通信,從而構成星型或者網型(mesh)無線傳感器網絡,本文設計了一種基于載波偵聽、沖突避免機制的可變包長的mac層協議——
mac_s,采用8bit地址標識各個無線傳感器節點,該協議支持基于rssi的lqi鏈路質量描述、物理層采用曼徹斯特碼編碼的2-fsk調制方式,在這里,可以利用cc2510中通過軟件設定讓信號通過一個高斯濾波器,從而產生一個gfsk調制信號,限于篇幅有關這一mac層協議的細節將另撰文論述,這里僅簡單介紹包格式及其處理過程,圖6給出了上述mac_s協議的包格式。

其中,4字節引導字用于標識報文開端,同步字用于提取同步信息,包長度通常包括自身在內的后續地址和載荷報文長度,校驗域通過crc-16算法進行校驗,在發送模式下,包處理器過程如下:發送的數據幀被送入ram中的緩存區進行相應的幀打包操作,取發送凈荷依據轉發表填入地址并計算包長度,將一定數量的可編程的開端字節,mac_s協議用4個開端字節,然后添加兩字節的同步字,在數字據中計算和加入crc校驗和并發送出去,在接收模式時,包處理支持將會分解數據包:首先進行開端檢測、提取rssi信息,然后進行同步字檢測,接著檢測地址、進行地址長度匹配并計算和檢查crc。最后將數據凈荷提交上層進行處理,從而完成一次接收交互。
5 結束語
cc2510是一款高集成度的工業用射頻收發器,其mac層和phy層可以適用于多種協議標準,工作于2.4ghz工業、科研和醫療頻段。通過添加簡單的外設,可構成功能強大的傳感器網絡節點設備。chipcom公司在推出芯片的同時,還提供該器件的系列評估軟件-smart
rfstusio。通過該軟件設置可以對器件進行性能和功能測試,方便用戶進行二次開發。
評論