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