基于TinyOS的嵌入式無線傳感器網絡設計
雷遠 熊建設 趙曉慧 賈吉慶
來源:現代電子技術
摘要: 無線傳感器網絡是集信息采集、信息傳輸、信息處理于一體的綜合智能信息系統(tǒng)。由于它由大量體積小,成本低,具有無線通信、傳感、數據處理能力的傳感器網絡節(jié)點組成。所以功耗、成本、體積、處理能力等受到嚴格的限制。以此超低功耗單片機MSP430為核心,結合無線收發(fā)模塊nRF24E1,對無線傳感器網絡的普通節(jié)點和網關節(jié)點進行了設計。
Abstract:
Key words :
0 引 言
無線傳感器網絡是集信息采集、信息傳輸、信息處理于一體的綜合智能信息系統(tǒng)。由于它由大量體積小,成本低,具有無線通信、傳感、數據處理能力的傳感器網絡節(jié)點組成。所以功耗、成本、體積、處理能力等受到嚴格的限制。以此超低功耗單片機MSP430為核心,結合無線收發(fā)模塊nRF24E1,對無線傳感器網絡的普通節(jié)點和網關節(jié)點進行了設計。
1 無線傳感器網絡
由于傳感器節(jié)點功率的限制,傳遞的距離非常有限,網絡節(jié)點除了從外界環(huán)境采集數據外,還要接收鄰近節(jié)點的數據,對數據進行處理、融合、轉發(fā)。圖1中節(jié)點A通過節(jié)點B,C,D將數據傳送至網關節(jié)點E。再由網關節(jié)點與外部網絡相聯,將數據發(fā)送給用戶。
2 硬件設計
無線傳感器網絡節(jié)點主要由傳感器模塊、處理器模塊、無線收發(fā)模塊、電源模塊構成,如圖2所示。
2.1 數據采集模塊
數據采集模塊直接與外界接觸進行信息感知和采集。它將采集的物理量通過積分、放大電路的整形處理后經過A/D轉化為數字信號送給處理器。
2.2 數據處理和控制模塊
數據處理和控制模塊是傳感器節(jié)點的核心,它主要實現設備控制、任務調度、資源管理等功能。作為硬件平臺的中心模塊,應該具有集成度高,功耗低,運行速度快,I/O和擴展接口多等特點,并應適應整個網絡的需要?;谝陨显颍梢圆捎肨I公司的 MSP430系列超低功耗處理器、高效的16位.RISC CPU確保任務的快速執(zhí)行,以縮短工作時間;可以從睡眠模式到活動模式的6μs轉換時間延長待機時間,降低電池的功耗;集成12位A/D轉換器、溫度傳感器、FLASH程序存儲器和2 KB RAM,具有豐富的端口資源,可以與各種傳感器連接。
2.3 通信模塊
無線收發(fā)模塊主要完成傳感器節(jié)點之間、節(jié)點與無線傳感器網絡網關之間的數據交換功能,這里采用Nordic公司的nRF24E1芯片。nRF24E1內部集成了2.4 GHz的nRF2401無線收發(fā)器,其增強型8051內核和9輸入的10位A/D轉換器無線收發(fā)模塊能夠實現點對點、點對多點的無線通信,具有體積小,功耗低和外圍電路簡單等特點。對于無線傳感器網絡中的一些只實現數據采集和傳送功能的節(jié)點可以由nRF24E1內嵌的8051單片機進行控制處理,所以可直接采用nRF24E1和傳感器模塊構成傳感器節(jié)點。然而,對于數據處理要求高,功能復雜,計算量大,要為通信協(xié)議、功能協(xié)調、應用處理等提供硬件支持的節(jié)點(如網關節(jié)點),則采用MSP430作為處理器,nRF24E1作為無線通信模塊,其連接圖如圖3所示。
通過配置特殊寄存器,可使nRF24E1工作在ShockBurst無線方式。數據低速輸入高速發(fā)送,功耗極低,并可通過軟件控制開關進一步降低能耗。用MSP430的P1口控制nRF24E1,通過配置CE,PWR,CS三個控制管腳,使芯片工作在不同的模式。當nRF24E1工作在發(fā)送方式時,接口引腳為CE,CLK1和DATA;當CPU請求發(fā)送數據時,置CE為高電平。此時,將接收機地址和有效載荷數據送入nRF24E1,置CE為低電平,激活ShockBurst發(fā)射;當nRF24E1工作在接收方式時,接口引腳為CE,DR1,CLK1和DATA。在正確設置射頻包輸入載荷的地址和大小后,置CE為高電平。此后,nRF24E1監(jiān)測信息輸入,若收到有效數據包,則給處理器一個中斷,并置DR1為高電平,使處理器將有效載荷數據取走,待系統(tǒng)收到全部數據后再置DR1為低。此時,如果CE保持高電平,則等待新的數據包;若CE置低電平,則開始其他工作流程。
2.4 電源模塊
傳感器網絡能量有限,目前主要解決節(jié)約電能的方法是采用休眠機制,即節(jié)點在沒有事件發(fā)生時盡快進入休眠狀態(tài);而在有事件發(fā)生時及時自動醒來,并喚醒鄰居節(jié)點,形成數據轉發(fā)的拓撲結構。在光線充足的地方采用太陽能電池代替化學電池,使節(jié)點有更長的工作時間。
3 嵌入式操作系統(tǒng)的設計與實現
無線傳感器網絡是由大量節(jié)點組成的網絡系統(tǒng),每個節(jié)點可看作一個微型的嵌入式平臺?,F有的嵌入式操作系統(tǒng)大多是實時操作系統(tǒng),很少考慮能源供應,而且占用空間很大。由于無線傳感器網絡節(jié)點處理能力、電源及存儲能力有限,采用TinyOS嵌入式系統(tǒng),并引入輕線程、主動消息、事件驅動和組件化編程。TinyOS是一種專門為嵌入式操作系統(tǒng)設計的基于組件的操作系統(tǒng),由nesC 語言實現,主要應用于無線傳感器網絡。TinyOS根據嵌入應用可以輕易增減控制執(zhí)行的功能,而且編譯器可避免數據競爭的現象,可節(jié)省硬件資源,并能執(zhí)行多個快速響應的控制操作。
3.1 組件
TinyOS操作系統(tǒng)一般由Main組件(初始化硬件并執(zhí)行調度程序)、應用組件(實現具體應用功能)、系統(tǒng)組件(為應用層組件提供服務)、HPL(硬件描述層)構成。這種體系結構使得TinyOS非常方便用戶使用,增加了操作系統(tǒng)的移植性和軟件的復用性。
無線傳感器網絡是由大量節(jié)點組成的網絡系統(tǒng),每個節(jié)點可看作一個微型的嵌入式平臺?,F有的嵌入式操作系統(tǒng)大多是實時操作系統(tǒng),很少考慮能源供應,而且占用空間很大。由于無線傳感器網絡節(jié)點處理能力、電源及存儲能力有限,采用TinyOS嵌入式系統(tǒng),并引入輕線程、主動消息、事件驅動和組件化編程。TinyOS是一種專門為嵌入式操作系統(tǒng)設計的基于組件的操作系統(tǒng),由nesC 語言實現,主要應用于無線傳感器網絡。TinyOS根據嵌入應用可以輕易增減控制執(zhí)行的功能,而且編譯器可避免數據競爭的現象,可節(jié)省硬件資源,并能執(zhí)行多個快速響應的控制操作。
3.1 組件
TinyOS操作系統(tǒng)一般由Main組件(初始化硬件并執(zhí)行調度程序)、應用組件(實現具體應用功能)、系統(tǒng)組件(為應用層組件提供服務)、HPL(硬件描述層)構成。這種體系結構使得TinyOS非常方便用戶使用,增加了操作系統(tǒng)的移植性和軟件的復用性。
3.2 接口
這里的接口是一個雙向通道,它具有的功能和事件通知能力是雙向的,向調用者提供命令和實現命令者進行事件通告。代碼如下:
這里的接口是一個雙向通道,它具有的功能和事件通知能力是雙向的,向調用者提供命令和實現命令者進行事件通告。代碼如下:
TinyOS應用程序還要使用testSM,GenericComm等組件實現無線傳感器網絡的邏輯功能。test5M提供接口的命令,并實現對調用接口事件的響應;GenericComm通過調用其他組件實現從消息包到主動消息、位級數據傳送到無線電收發(fā)模塊的功能。為了能將TinyOS移植到節(jié)點平臺上,需要根據節(jié)點平臺設計修改TinyOS中的初始化代碼,編寫自己的BSP程序,達到移植操作系統(tǒng)的目的。
GenericComm提供了256個消息收發(fā)接口,采用CSMA/AD的MAC協(xié)議,消息到達組件test5M中,receive事件就會立刻調用。因此在這個事件中實現不同消息的轉換,從而實現通信雙方的握手:
4 結 語
在分析無線傳感器網絡體系結構的基礎上,設計以超低功耗單片機MSP430為核心,并結合了無線收發(fā)模塊nRF24E1的無線傳感器網絡節(jié)點。軟件開發(fā)平臺采用TinyOS操作系統(tǒng),從硬件、軟件等方面對無線傳感器網絡的節(jié)點進行了設計。
此內容為AET網站原創(chuàng),未經授權禁止轉載。