設計一個低成本的無線傳感器網絡節點
借助SOC技術,無線傳感網絡節點的體積就可以大大減小,應用領域和范圍不斷擴大。
計算機技術從誕生之日起就一直朝著小型化、智能化和操作簡單化發展,而且其應
用領域也在不斷擴展并逐漸深入到我們的日常生活中,特別是近幾年來無線傳感網絡技術的出現更是將這一規律推向了極致,它正在悄悄地改變著信息產業的形態,并必將影響著我們工作和生活的方方面面。
要想讓無線傳感網絡走向現實,必須從硬件設計、軟件設計、通信協議到應用研究等各方面進行深入的研究。我們將介紹一種較實用低成本的無線傳感網絡節點設計方案,希望給國內同行一定的啟發。
無線傳感網絡節點體系結構
無線傳感網絡在設計目標方面有別于傳統的無線網絡(如WLAN和蜂窩移動電話等),后者要不應用于高度移動的環境中,要不就是強調資源管理策略和服務質量保證(QOS)。而在無線傳感網絡中,網絡節點往往是相對穩定的或者靜止的,而且通常運行在十分復雜的外界環境中,節點的密集程度較高且分布隨機。其大部分應用都是需要通過電池進行供電,所以電源供電和功耗問題是無線傳感網絡節點軟硬件設計的核心問題。
無線傳感網絡節點是無線傳感網絡的主要組成部分,目前,人們普遍認為:無線傳感網絡節點在未來將是一次性的(就如同現在的一次性餐具一樣),因此,節點不僅要成本低廉,而且工作時間要盡可能長。無線傳感網絡中不應該存在專門的路由器節點,每個節點既是終端節點,又是路由器節點。節點間采用無線自組織網絡聯系起來,并采用多跳的路由機制進行通信。因此,在單個的節點上,一方面硬件必須低能耗,采用無線傳輸方式;另一方面軟件必須支持多跳的路由協議,IEEE 802.15.4/ZigBee協議充分考慮了無線傳感網絡應用需求,是目前被業界普遍看好的一種無線通信協議。基于這些基本的思想,我們設計了一種無線傳感網絡節點,并在實際中得到了應用,而且也提出了一些新的設計思路和一些有待進一步研究解決的問題。
無線傳感網絡節點的體系結構設計主要包括硬件體系結構設計、軟件體系結構設計和軟硬件協同設計三個方面。硬件一般包括傳感器﹑微控制器和無線收發器等三個部分,如圖1所示,傳感器部分是節點伸入自然界的觸角,它主要負責信息的采集并將其他如光信號、電信號、化學信號轉變為數字信號并送給微控制器;微控制器需要完成所有我們所需要的處理,其中最主要是的需要實現自組織網絡的安全可靠的無線通信協議;第三部分的射頻模塊負責發送數據,即通信的物理實現。
無線傳感網絡軟件是由嵌入式操作系統﹑無線通信協議和面向具體應用的軟件任務等所組成的,如圖2所示,可以綜合為系統層和用戶層兩大部分,圖中的系統調用層主要包括文件系統、無線通信協議、設備管理、低功耗分布式處理等,核心結構層主要包括了內存管理、進程調度、中斷管理等內容。實際上,純粹的硬件設計或是軟件是遠遠不夠的,如低功耗設計往往是需要二者的配合才能達到理想的效果。圖3中給出了中科院計算所自行設計的無線傳感網絡節點原型系統,它具有和國外最新產品幾乎完全相同的性能。
微控制器選用了ATMEL公司的低功耗微控制器ATMEGA128L,無線收發器采用了Chipcon公司
的低功耗射頻收發器CC1000,為了突出無線傳感網絡廣泛的應用場合,我們選用了9種不同類型的傳感器(包括光﹑溫度﹑濕度﹑加速度﹑光電﹑液位﹑熱釋電﹑磁感應﹑壓力)。為了調試方便及可擴展性,我們將傳感器板獨立出來,做成兩塊能相互套接的可擴展主板。
主控制器是一個8位低功耗微控制器ATMEGA128L,相對于其他通用的8位微控制器來說,它具有更加豐富的資源,并且具有極低的能耗。它具有片內128K字節的程序存儲器(Flash),4K字節的數據存儲器(SRAM,可外擴到64K)和4K字節的E2PROM。此外,它還有8個10位ADC通道,2個8位和2個16位硬件定時/計數器,并可在多種不同的模式下工作。8個PWM通道﹑可編程看門狗定時器和片上振蕩器﹑片上模擬比較器。UART﹑SPI﹑I2C總線接口。JTAG口為開發和調試提供了方便的接口。更值得一提的是,除了正常操作模式外,它還具有六種不同等級的低能耗操作模式,在每種低能耗模式下具有不同的能耗。因此該微控制器非常適合于低能耗的應用場合。
無線收發器CC1000是為低電壓無線通信的應用場合設計的單片UHF(ultra-high frequency)收發器。它除了具有工作電壓低(2.1v~3.6v均可工作)﹑能耗低﹑體積小﹑無須任何片外濾波電路,可直接和外部天線接口等非常適合于集成的特點外,還具有輸出強度和收發頻率可編程的特點。它采用FSK調制方式,最大收發波特率76.8kbps,外部采用類似于SPI的接口,可以和微控制器直接接口。非常適合于低能耗和小體積的應用場合。
在傳感器方面,我們選用了一些當今應用最為常見的傳感器,傳感器的電路部分設計較為簡單,關鍵是需要控制傳感器的能耗,通過在設計上采用power gating技術,以達到在無數據采集任務時及時關閉電源,節省電能的目的。
在電源方面,我們選用了三節可以反復充電使用的Nicd電池。在未來,我們準備對電源部分進行改造,采用微型紐扣電池,以進一步減小體積。
除了這些無線傳感網絡節點所需的最基本功能模塊之外,我們還設計了硬件ID標志。通過采用dallas公司的Ds2401的單線接口ID芯片,可以很方便的實現。
軟件設計
在軟件的設計上,為了保證軟件的可靠性和簡化軟件開發,我們使用了目前比較流行的嵌入式實時操作系統(RTO
S:Real Time Operation System)uc/osII。uc/osII的前身是uc/os,是美國嵌入式系統專家Jean J.Labrosse用C語言寫的一個源代碼開放的、占先式的多任務實時內核。目前已有十來年的歷史了。它采用靜態優先級調度,能管理64個任務,其中用戶最多可以使用56個任務。它具有執行效率高、占用空間小(內核最小可編譯至2K)、實時性優良和擴展性強的特點,非常適合于嵌入式系統的開發。但是,由于uc/osII的源碼開放性,缺乏必要的技術支持,系統的更新、功能擴充得不到有力的支持,象各種硬件的驅動程序、文件系統、通信協議等,只能由用戶自己開發,這也就在很大程度上限制了uc/osII的發展。
我們不僅成功的實現了uc/osII在ATMEGA128L上的移植,而且針對硬件電路和應用需要,增加了外圍硬件的驅動、文件系統以及無線通信協議三個部分。在外圍硬件的驅動上,主要是控制指示燈的亮滅和對傳感器的控制與數據的采樣。文件系統實質是對一塊外部EEPROM的讀寫控制,通過文件系統的管理,可以避免應用軟件對EEPROM的直接讀寫,文件系統的緩沖功能大大減少了對EEPROM的讀寫次數,延長了它的使用壽命。
無線通信協議是軟件中的一個重要問題,因為它直接關系到節點的性能,目前,無線傳感網絡的鏈路層和網絡層協議還沒有定論,許多問題仍然在學術界進行研究。因此,在鏈路層,我們設計了一個簡化的CDMA/CA協議,即任何節點在發送之前必須進行一段隨機時間的偵聽,在確認目前沒有別的節點在進行數據傳輸時才進行數據發送,收發雙方通過三次握手來交換數據。在系統空閑時,關閉偵聽功能,以盡可能降低功耗。當然,這種協議存在著隱含節點以及偵聽時的功耗損失等問題,但在一定的節點數量范圍內還是很有效的。在網絡層協議上,目前采用了簡化的IPV6的路由協議,之所以考慮采用IPV6,是考慮到IPV6的巨大的地址空間、鄰居發現功能、安全性好等優良特性恰好給無線傳感網絡的發展提供了很好的支持。
應用層軟件的設計相對比較簡單,主要是任務間的協作,根據具體的應用場合,應用層軟件也是有所不同的。
從我們對無線傳感網絡節點的實際研制過程可以看到:無線傳感網絡要能達到理想的性能指標,首先必須依賴SOC技術和MEMS技術,盡可能的把射頻控制器、微控制器以及一些外圍電路(包括傳感器)集成在一塊芯片上,這樣就可以大大減小節點的體積,擴大應用領域和應用范圍。其次,無線網絡的鏈路層,網絡層協議的性能是制約無線傳感網絡的關鍵因素。
隨著SOC和無線傳感網絡協議研究的開展,預料在不久的將來,無線傳感網絡將會很快走向每個家庭和每個人,極大提高人們的生活質量,我們期待著這一天的到來。
評論