設計一個低成本的無線傳感器網絡節點

設計一個無線傳感器網絡節點


■ 中科院計算所 徐朝農 趙磊 徐勇軍

藉助SOC技術,無線傳感器網絡節點的體積就可以大大減小,應用領域和範圍會不斷擴大。

計算機技術從誕生之日起就一直朝着小型化、智能化和操作簡單化發展,而且其應用領域也在不斷擴展並逐漸深入到我們的日常生活中,特別是近幾年來無線傳感網絡技術的出現,更是將這一規律推向了極致。它正在悄悄地改變着信息產業的形態,並必將影響着我們工作和生活的方方面面。

要想讓無線傳感器網絡走向現實,必須從硬件設計、軟件設計、通信協議到應用研究等各方面進行深入的研究。我們將介紹一種實用的低成本的無線傳感網絡節點設計方案,希望能給國內同行一定的啓發。

體系結構

無線傳感器網絡在設計目標方面有別於傳統的無線網絡(如WLAN等),後者要不應用於高度移動的環境中,要不就是強調資源管理策略和服務質量保證(QoS)。而在無線傳感器網絡中,網絡節點往往是相對穩定的或者靜止的,而且通常運行在十分複雜的外界環境中,節點的密集程度較高且分佈隨機。其大部分應用都需要通過電池進行供電,所以電源供電和功耗問題是無線傳感器網絡節點軟硬件設計的核心問題。

目前,人們普遍認爲:無線傳感器網絡節點在未來將是一次性的(就如同現在的一次性餐具一樣),因此,節點不僅要成本低廉,而且工作時間要儘可能長。無線傳感網絡中不應該存在專門的路由器節點,每個節點既是終端節點,又是路由器節點。節點間採用移動自組織網絡聯繫起來,並採用多跳的路由機制進行通信。因此,在單個節點上,一方面硬件必須低能耗,採用無線傳輸方式;另一方面軟件必須支持多跳的路由協議。IEEE 802.15.4/ZigBee協議充分考慮了無線傳感器網絡應用的需求,是目前被業界普遍看好的一種無線通信協議。基於這些基本的思想,我們設計了一種無線傳感器網絡節點,並在實際中得到了應用。

無線傳感器網絡節點的體系結構設計主要包括硬件體系結構設計、軟件體系結構設計和軟硬件協同設計三個方面。硬件一般包括傳感器、微控制器和無線收發器等三個部分,如圖1所示,傳感器部分是節點伸入自然界的觸角,主要負責信息的採集並將其他如光信號、電信號、化學信號轉變爲數字信號並送給微控制器;微控制器需要完成所有我們所需要的處理,其中最主要的是需要實現自組織網絡的安全可*的無線通信協議;第三部分的射頻模塊負責發送數據,即通信的物理實現。

無線傳感器網絡軟件是由嵌入式操作系統、無線通信協議和麪向具體應用的軟件任務等組成,如圖2所示,可以綜合爲系統層和用戶層兩大部分。圖中的系統調用層主要包括文件系統、無線通信協議、設備管理、低功耗分佈式處理等;核心結構層主要包括了內存管理、進程調度、中斷管理等內容。

實際上,純粹的硬件設計或軟件是遠遠不夠的,如低功耗設計往往是需要二者的配合才能達到理想的效果。

系統級設計

硬件結構如圖3所示。圖中的微控制器選用了ATMEL公司的低功耗微控制器ATMEGA128L;無線收發器採用了Chipcon公司的低功耗射頻收發器CC1000;爲了突出無線傳感網絡廣泛的應用場合,我們選用了9種不同類型的傳感器(包括光、溫度、溼度、加速度、光電、液位、熱釋電、磁感應、壓力)。爲了調試方便及可擴展性,我們將傳感器板獨立出來,做成兩塊能相互套接的可擴展主板。

8位低功耗微控制器ATMEGA128L具有更加豐富的資源和極低的能耗。它具有片內128KB的程序存儲器(Flash),4KB的數據存儲器(SRAM,可外擴到64KB和4KB的E2PROM。此外,它還有8個10位ADC通道,2個8位和2個16位硬件定時/計數器,並可在多種不同的模式下工作;8個PWM通道、可編程看門狗定時器和片上振盪器、片上模擬比較器;UART、SPI、I2C總線接口;JTAG口爲開發和調試提供了方便的接口。更值得一提的是,除了正常操作模式外,它還具有六種不同等級的低能耗操作模式,每種低能耗模式具有不同的能耗。因此該微控制器非常適合於低能耗的應用場合。

無線收發器CC1000是爲低電壓無線通信的應用場合設計的單片UHF(ultra-high frequency)收發器。它除了具有工作電壓低、能耗低、體積小、無需任何片外濾波電路,可直接和外部天線接口等非常適合於集成的特點外,還具有輸出強度和收發頻率可編程的特點。它採用FSK調製方式,最大收發波特率76.8kbps,外部採用類似於SPI的接口,可以和微控制器直接接口,非常適合於低能耗和小體積的應用場合。

我們選用了應用最爲常見的傳感器。傳感器的電路部分設計較爲簡單。爲了控制傳感器的能耗,在設計上採用power gating技術,以達到在無數據採集任務時及時關閉電源、節省電能的目的。

在電源方面,我們選用了三節可以反覆充電使用的Nicd電池。未來,將採用微型鈕釦電池,以進一步減小體積。

軟件設計

在軟件的設計上,爲了保證軟件的可*性和簡化軟件開發,我們使用了目前比較流行的嵌入式實時操作系統uc/osII。uc/osII是一個源代碼開放的、佔先式的多任務實時內核,目前已有十餘年的歷史了。它具有執行效率高、佔用空間小(內核最小可編譯至2K)、實時性優良和擴展性強的特點,非常適合於嵌入式系統的開發。但是,由於uc/osII的源碼開放性,缺乏必要的技術支持,系統的更新、功能擴充得不到有力的支持,像各種硬件的驅動程序、文件系統、通信協議等,只能由用戶自己開發,限制了uc/osII的發展。

我們不僅成功地實現了uc/osII在ATMEGA128L上的移植,而且針對硬件電路和應用需要,增加了外圍硬件的驅動、文件系統以及無線通信協議三個部分。在外圍硬件的驅動上,主要是控制指示燈的亮滅和對傳感器的控制與數據的採樣。文件系統實質是對一塊外部EEPROM的讀寫控制,通過文件系統的管理,可以避免應用軟件對EEPROM的直接讀寫,文件系統的緩衝功能大大減少了對EEPROM的讀寫次數,延長了其使用壽命。

無線通信協議是軟件中的一個重要問題,它直接關係到節點的性能。目前,無線傳感器網絡的鏈路層和網絡層協議還沒有定論,許多問題仍然處在學術界研究階段。因此,在鏈路層,我們設計了一個簡化的CDMA/CA協議,即任何節點在發送之前必須進行一段隨機時間的偵聽,在確認目前沒有別的節點在進行數據傳輸時才進行數據發送,收發雙方通過三次握手來交換數據。在系統空閒時,關閉偵聽功能,以儘可能降低功耗。當然,這種協議存在着隱含節點以及偵聽時的功耗損失等問題,但在一定的節點數量範圍內還是很有效的。在網絡層協議上,目前採用了簡化的IPv6的路由協議。

應用層軟件的設計相對比較簡單,主要是任務間的協作,根據具體的應用場合,應用層軟件也有所不同。

 

從我們對無線傳感器網絡節點的實際研製過程可以看到:無線傳感網絡要能達到理想的性能指標,首先必須依賴SOC技術和MEMS(微電機系統)技術,儘可能地把射頻控制器、微控制器以及一些外圍電路(包括傳感器)集成在一塊芯片上,這樣就可以大大減小節點的體積,擴大應用領域和應用範圍;其次,無線網絡的鏈路層、網絡層協議的性能是制約無線傳感器網絡的關鍵因素。

隨着SOC和無線傳感器網絡協議研究的開展,預料在不久的將來,無線傳感器網絡將會很快走向每個家庭和每個人,將極大提高人們的生活質量。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章