引言
WSN(無線傳感器網絡)是一種基于多跳的自組織網絡,通過部署在監測區域的大量微型傳感器節點,協作地感知、采集和處理網絡覆蓋區域中感知對象的信息,并發送給觀察者。WSN技術在美國商業周刊和MIT技術評論的預測未來技術發展報告中,分別被列為21世紀最有影響的21項技術和改變世界的10大技術之一。WSN在軍事、民用及工商業領域都具有廣闊的應用前景。通過WSN,在軍事領域,可將戰場上獲取的信息及時迅速地傳回指揮部;在民用領域,可以應用在智能家居、環境監測、醫療保健災害預測等;在工商業領域,應用于工業自動化及空間探索等。WSN是當今國內外通信領域的一大研究熱點。
在WSN中,傳感器節點是網絡中最基本的單元,是構成WSN的基礎。傳感器節點一般由傳感器單元、處理器單元、無線通信單元及電源供應單元4部分組成。傳感器節點采用電池供電,節點能量有限,而且它的數據處理能力、存儲能力及節點間通信能力也有限,因此,傳感器節點設計的好壞將直接影響網絡的穩定性。本文根據上述特點要求,采用CC1110芯片設計WSN節點,設計結果較好地滿足了特點要求。
1、CC111O芯片簡介
CC1110芯片是美國TI公司的一款1 GHz以下頻帶的低功耗RF(射頻)SoC(片上系統)解決方案。該芯片采用Chipcon公司Smart RF 04技術,以0.18 μmCMOS工藝制成,只需極少外部元件就可以構成性能穩定且功耗極低的SoC。
CC1110芯片的工作電壓為2.0 V~3.6 V,具有豐富的外圍接口。片內具有21個GPIO、2個USART接口和可編程看門狗計時器;擁有1個16位定時器、3個8位定時器以及隨機數發生器;嵌入式128位AES安全協處理器和強大的DMA功能等。在RF性能上,具有高靈敏度(在1.2 kBaud的速率下為-110 dBm)和較高的接收靈敏度和阻塞功能;支持2-FSK、GFSK和MSK等調制方式,頻率范圍為300。MHz~348 MHz、391 MHz~464 MHz及782 MHz~928 MHz;支持數字RSSI/LQI;最大輸出功率可以達到10 dBm,最大數據率可以達到500 kBaud。
總之,CC1110具有高集成度與低功耗特性,在6 mm×6 mm的QLP封裝中,集成了CC1101 RF收發器、增強型8051微控制器、8/16/32 kB Flash存儲器及1/2/4 kB RAM等強大功能;擁有4種功耗管理模式,從低功耗狀態切換到工作狀態的過渡時間非???。因此,適用于報警與安全、自動讀表、工業監控以及樓宇自動化等領域,能夠滿足WSN對電池使用壽命、尺寸、成本以及產品開發時間的要求。
2、節點硬件設計
CC1110芯片只要極少數外圍元件就能夠搭建穩定可靠且功耗低的SoC,大大簡化了RF電路的設計過程。設計的傳感器節點工作在433 MHz頻段。圖2是CC1110的參考設計,主要由CC1110芯片、射頻匹配電路和其他外圍元件組成。
RF匹配電路用來匹配芯片輸入、輸出阻抗,使其輸入、輸出阻抗為50 Ω,同時,為芯片內部的PA(功率放大器)及LNA(低噪聲放大器)提供直流偏置。阻抗匹配電路采用BALUN電路,由L232、L242、C234和C241組成。CC1110的RF信號采用差分方式,在433 MHz頻段,其最佳差分阻抗為116+j41 Ω。
RF部分電路設計參考圖2的典型設計,但對電路進行了少量修改,加入PA。根據實際應用環境需要,節點可以工作在有PA、無PA兩種狀態,比如Coordi-nator、Range Extender兩節點可以工作在加PA的方式下(一般采用市電供電),實現遠距離傳輸。設計的傳感器節點實物圖如圖3所示。
節點的傳感器模塊采用瑞士SENSIRION公司的基于Sensirion技術的全校準數字式溫濕度傳感器SHT71。在一個芯片上,集成了溫濕度傳感器、信號放大調整器、A/D轉換器和總線接口,可以提供-40℃~120℃范圍內分辨率為14 bit的溫度測量以及0~100%范圍內分辨率為12 bit的濕度測量。SHT71采用串行接口與CC1110相連,它的串行時鐘輸入線SCK和串行數據線DATA直接與CC1110的GPIO口線相連,電路連接示意圖如圖4所示。
3、節點軟件設計
節點的軟件設計主要包括溫濕度采集部分和無線數據通信部分。
3.1溫濕度采集
溫濕度傳感器SHT71通過SCK與CC1110保持同步,通過DATA線收發通信協議命令和數據。其控制流如下:CC1110發送一組“啟動傳輸”時序進行數據傳輸初始化,然后發送一組測量命令,釋放DATA線,等待SHT71下拉DATA線至低電平,表示測量結束,同時接收數據。CC1110收到測量值后,可根據如下公式計算出溫度T和相對濕度H:
式中:系數d1、d2、c1、c2和c3可以查閱相關手冊。
3.2無線數據通信
下面以節點間點對點通信為例,介紹無線傳感器節點間通信實現方法及通信過程。CC1110的MAC幀結構簡單,剔除物理層的前導碼和同步字,只包含一個可選的長度字節n、一個可選的地址字節,用戶數據和兩個可選的CRC字節,如圖5所示。
為了方便通信過程中的數據處理,軟件上定義了如下數據收發處理結構:
其中,標志位flags占1個字節,用于表示當前數據幀的類型。flags字節中的flags字節的第0位為1時,表示目標節點在收到該數據幀后不要ACK;第1位為1時,表示目標節點在收到該數據幀后要ACK;第2位為1時表示該幀是ACK幀;第3位為1時,表示該幀是超時重傳幀;最高位為1時,表示該幀是數據序列中的一幀。
接著闡述傳感器節點的通信射頻設置。節點工作時使用的晶振頻率為26 MHz,RF初始化時,設置寄存器FREQ2、FREQ1和FREQ0,配置RF的物理層最低信道的工作頻率;通過寄存器CHANNR的CHAN位域來設置通信信道;設置寄存器MDMCFG0的CHANSPC_M位域及寄存器MDMCFG1的CHANSPC_E位域來設置信道間隔。具體的載波頻率fc可以用下式表示:
式中:fref為26 MHz,最大信道間隔為405 kHz。當然,可以通過TI公司的軟件SmartRF Studio來計算這些寄存器設置值。
節點軟件設計中通過DMA方式實現RF模塊與Memory間數據訪問,而不用CPU干預。DMA通道描述的數據結構如下:
以發送為例,闡述DMA的配置過程及每個結構體成員的意義。
在發送時,首先將數據的源地址SRCADDRH和SRCADDRL設為所要發送數據的起始地址,目標地址DESTADDRH和DESTADDRL設為寄存器RFD的地址。
然后,在LENH和LENL位域設置所要發送數據的長度,VLEN位域設為0;將WORDSIZE位域設為0,讓DMA一次只傳輸1個字節;將TMODE位域設置為0(SINGLE模式,DMA的數據傳送模式可分成4種),即表示數據傳送過程中,一次DMA觸發可進行一個WORDSIZE的傳輸。將TRIG位域配置為RF觸發模式(DMA觸發信號有31種);CSRCINC位域和DES-TINC位域分別用于設置數據源地址和目標地址的變化方式,可設為不變、增1、增2或減1。本例中數據源地址選擇增1,而數據目標地址設置為不變(只有RFD寄存器);IRQMASK位域位用于設置在DMA數據傳輸完后是否發中斷信號,本例設為禁止DMA中斷;M8位域是按字節傳輸時的數據寬度,設為0表示8位傳輸,為1時表示只傳輸字節的低7位;將PRIORITY位域設置為低優先級。
4、實驗結果
傳感器節點采用模塊化設計,結構緊湊,體積小。設計的CC1110傳感器節點在通信頻率為433 MHz、調制方式為2-FSK時進行了單包發送、連續發送以及點對點對發測試,并進行了誤碼率測試。實驗結果較為理想,空曠環境通信距離達到1 km左右,誤碼率為1%左右。功率放大測試中,帶PA功能的節點輸出功率達到25 dBm左右,很好地滿足了設計性能。
5、結束語
本文闡述了基于CC1110的無線傳感器節點的設計及實現過程。節點能夠采集現場環境的溫濕度,并上發至上層網絡節點。本文的研究工作為進一步研究無線傳感器通信協議提供了良好的硬件基礎。實現結果也表明,以CC1110為核心的傳感器節點為WSN的實現提供了一種解決方案,具有較強的應用價值。
責任編輯:gt
評論
查看更多