基于TinyOS的嵌入式無線傳感器網(wǎng)絡設計
3 嵌入式操作系統(tǒng)的設計與實現(xiàn)
無線傳感器網(wǎng)絡是由大量節(jié)點組成的網(wǎng)絡系統(tǒng),每個節(jié)點可看作一個微型的嵌入式平臺?,F(xiàn)有的嵌入式操作系統(tǒng)大多是實時操作系統(tǒng),很少考慮能源供應,而且占用空間很大。由于無線傳感器網(wǎng)絡節(jié)點處理能力、電源及存儲能力有限,采用 TinyOS嵌入式系統(tǒng),并引入輕線程、主動消息、事件驅(qū)動和組件化編程。TinyOS是一種專門為嵌入式操作系統(tǒng)設計的基于組件的操作系統(tǒng),由nesC 語言實現(xiàn),主要應用于無線傳感器網(wǎng)絡。TinyOS根據(jù)嵌入應用可以輕易增減控制執(zhí)行的功能,而且編譯器可避免數(shù)據(jù)競爭的現(xiàn)象,可節(jié)省硬件資源,并能執(zhí)行多個快速響應的控制操作。
3.1 組件
TinyOS操作系統(tǒng)一般由Main組件(初始化硬件并執(zhí)行調(diào)度程序)、應用組件(實現(xiàn)具體應用功能)、系統(tǒng)組件(為應用層組件提供服務)、HPL(硬件描述層)構成。這種體系結構使得TinyOS非常方便用戶使用,增加了操作系統(tǒng)的移植性和軟件的復用性。
3.2 接口
這里的接口是一個雙向通道,它具有的功能和事件通知能力是雙向的,向調(diào)用者提供命令和實現(xiàn)命令者進行事件通告。代碼如下:
TinyOS應用程序還要使用testSM,GenericComm等組件實現(xiàn)無線傳感器網(wǎng)絡的邏輯功能。test5M提供接口的命令,并實現(xiàn)對調(diào)用接口事件的響應;GenericComm通過調(diào)用其他組件實現(xiàn)從消息包到主動消息、位級數(shù)據(jù)傳送到無線電收發(fā)模塊的功能。為了能將TinyOS移植到節(jié)點平臺上,需要根據(jù)節(jié)點平臺設計修改TinyOS中的初始化代碼,編寫自己的BSP程序,達到移植操作系統(tǒng)的目的。
GenericComm提供了256個消息收發(fā)接口,采用CSMA/AD的MAC協(xié)議,消息到達組件test5M中,receive事件就會立刻調(diào)用。因此在這個事件中實現(xiàn)不同消息的轉(zhuǎn)換,從而實現(xiàn)通信雙方的握手:
4 結 語
在分析無線傳感器網(wǎng)絡體系結構的基礎上,設計以超低功耗單片機MSP430為核心,并結合了無線收發(fā)模塊nRF24E1的無線傳感器網(wǎng)絡節(jié)點。軟件開發(fā)平臺采用TinyOS操作系統(tǒng),從硬件、軟件等方面對無線傳感器網(wǎng)絡的節(jié)點進行了設計。
參考文獻:
[1].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
[2].nRF24E1datasheethttp://www.dzsc.com/datasheet/nRF24E1_1085635.html.
[3].nRF2401datasheethttp://www.dzsc.com/datasheet/nRF2401_521030.html.
評論