基于TinyOS的嵌入式無線傳感器網(wǎng)絡(luò)設(shè)計(jì)
雷遠(yuǎn) 熊建設(shè) 趙曉慧 賈吉慶
來源:現(xiàn)代電子技術(shù)
摘要: 無線傳感器網(wǎng)絡(luò)是集信息采集,、信息傳輸,、信息處理于一體的綜合智能信息系統(tǒng)。由于它由大量體積小,,成本低,,具有無線通信,、傳感、數(shù)據(jù)處理能力的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)組成,。所以功耗,、成本、體積,、處理能力等受到嚴(yán)格的限制,。以此超低功耗單片機(jī)MSP430為核心,,結(jié)合無線收發(fā)模塊nRF24E1,對(duì)無線傳感器網(wǎng)絡(luò)的普通節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行了設(shè)計(jì),。
Abstract:
Key words :
0 引 言
無線傳感器網(wǎng)絡(luò)是集信息采集,、信息傳輸、信息處理于一體的綜合智能信息系統(tǒng),。由于它由大量體積小,,成本低,具有無線通信,、傳感、數(shù)據(jù)處理能力的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)組成,。所以功耗,、成本、體積,、處理能力等受到嚴(yán)格的限制,。以此超低功耗單片機(jī)MSP430為核心,結(jié)合無線收發(fā)模塊nRF24E1,,對(duì)無線傳感器網(wǎng)絡(luò)的普通節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行了設(shè)計(jì),。
1 無線傳感器網(wǎng)絡(luò)
由于傳感器節(jié)點(diǎn)功率的限制,傳遞的距離非常有限,,網(wǎng)絡(luò)節(jié)點(diǎn)除了從外界環(huán)境采集數(shù)據(jù)外,,還要接收鄰近節(jié)點(diǎn)的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理,、融合,、轉(zhuǎn)發(fā)。圖1中節(jié)點(diǎn)A通過節(jié)點(diǎn)B,,C,,D將數(shù)據(jù)傳送至網(wǎng)關(guān)節(jié)點(diǎn)E。再由網(wǎng)關(guān)節(jié)點(diǎn)與外部網(wǎng)絡(luò)相聯(lián),,將數(shù)據(jù)發(fā)送給用戶,。

2 硬件設(shè)計(jì)
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)主要由傳感器模塊、處理器模塊,、無線收發(fā)模塊,、電源模塊構(gòu)成,如圖2所示。

2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊直接與外界接觸進(jìn)行信息感知和采集,。它將采集的物理量通過積分,、放大電路的整形處理后經(jīng)過A/D轉(zhuǎn)化為數(shù)字信號(hào)送給處理器。
2.2 數(shù)據(jù)處理和控制模塊
數(shù)據(jù)處理和控制模塊是傳感器節(jié)點(diǎn)的核心,,它主要實(shí)現(xiàn)設(shè)備控制,、任務(wù)調(diào)度,、資源管理等功能。作為硬件平臺(tái)的中心模塊,,應(yīng)該具有集成度高,,功耗低,運(yùn)行速度快,,I/O和擴(kuò)展接口多等特點(diǎn),,并應(yīng)適應(yīng)整個(gè)網(wǎng)絡(luò)的需要?;谝陨显?,可以采用TI公司的 MSP430系列超低功耗處理器、高效的16位.RISC CPU確保任務(wù)的快速執(zhí)行,,以縮短工作時(shí)間,;可以從睡眠模式到活動(dòng)模式的6μs轉(zhuǎn)換時(shí)間延長(zhǎng)待機(jī)時(shí)間,降低電池的功耗,;集成12位A/D轉(zhuǎn)換器,、溫度傳感器、FLASH程序存儲(chǔ)器和2 KB RAM,,具有豐富的端口資源,,可以與各種傳感器連接。
2.3 通信模塊
無線收發(fā)模塊主要完成傳感器節(jié)點(diǎn)之間,、節(jié)點(diǎn)與無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)之間的數(shù)據(jù)交換功能,,這里采用Nordic公司的nRF24E1芯片。nRF24E1內(nèi)部集成了2.4 GHz的nRF2401無線收發(fā)器,,其增強(qiáng)型8051內(nèi)核和9輸入的10位A/D轉(zhuǎn)換器無線收發(fā)模塊能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn),、點(diǎn)對(duì)多點(diǎn)的無線通信,具有體積小,,功耗低和外圍電路簡(jiǎn)單等特點(diǎn),。對(duì)于無線傳感器網(wǎng)絡(luò)中的一些只實(shí)現(xiàn)數(shù)據(jù)采集和傳送功能的節(jié)點(diǎn)可以由nRF24E1內(nèi)嵌的8051單片機(jī)進(jìn)行控制處理,所以可直接采用nRF24E1和傳感器模塊構(gòu)成傳感器節(jié)點(diǎn),。然而,,對(duì)于數(shù)據(jù)處理要求高,功能復(fù)雜,,計(jì)算量大,,要為通信協(xié)議、功能協(xié)調(diào),、應(yīng)用處理等提供硬件支持的節(jié)點(diǎn)(如網(wǎng)關(guān)節(jié)點(diǎn)),,則采用MSP430作為處理器,nRF24E1作為無線通信模塊,其連接圖如圖3所示,。

通過配置特殊寄存器,,可使nRF24E1工作在ShockBurst無線方式。數(shù)據(jù)低速輸入高速發(fā)送,,功耗極低,,并可通過軟件控制開關(guān)進(jìn)一步降低能耗。用MSP430的P1口控制nRF24E1,,通過配置CE,,PWR,CS三個(gè)控制管腳,,使芯片工作在不同的模式,。當(dāng)nRF24E1工作在發(fā)送方式時(shí),接口引腳為CE,,CLK1和DATA,;當(dāng)CPU請(qǐng)求發(fā)送數(shù)據(jù)時(shí),置CE為高電平,。此時(shí),將接收機(jī)地址和有效載荷數(shù)據(jù)送入nRF24E1,,置CE為低電平,,激活ShockBurst發(fā)射;當(dāng)nRF24E1工作在接收方式時(shí),,接口引腳為CE,,DR1,CLK1和DATA,。在正確設(shè)置射頻包輸入載荷的地址和大小后,,置CE為高電平。此后,,nRF24E1監(jiān)測(cè)信息輸入,,若收到有效數(shù)據(jù)包,則給處理器一個(gè)中斷,,并置DR1為高電平,,使處理器將有效載荷數(shù)據(jù)取走,待系統(tǒng)收到全部數(shù)據(jù)后再置DR1為低,。此時(shí),,如果CE保持高電平,則等待新的數(shù)據(jù)包,;若CE置低電平,,則開始其他工作流程。
2.4 電源模塊
傳感器網(wǎng)絡(luò)能量有限,目前主要解決節(jié)約電能的方法是采用休眠機(jī)制,,即節(jié)點(diǎn)在沒有事件發(fā)生時(shí)盡快進(jìn)入休眠狀態(tài),;而在有事件發(fā)生時(shí)及時(shí)自動(dòng)醒來,并喚醒鄰居節(jié)點(diǎn),,形成數(shù)據(jù)轉(zhuǎn)發(fā)的拓?fù)浣Y(jié)構(gòu),。在光線充足的地方采用太陽能電池代替化學(xué)電池,使節(jié)點(diǎn)有更長(zhǎng)的工作時(shí)間,。
3 嵌入式操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
無線傳感器網(wǎng)絡(luò)是由大量節(jié)點(diǎn)組成的網(wǎng)絡(luò)系統(tǒng),,每個(gè)節(jié)點(diǎn)可看作一個(gè)微型的嵌入式平臺(tái)。現(xiàn)有的嵌入式操作系統(tǒng)大多是實(shí)時(shí)操作系統(tǒng),,很少考慮能源供應(yīng),,而且占用空間很大。由于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)處理能力,、電源及存儲(chǔ)能力有限,,采用TinyOS嵌入式系統(tǒng),并引入輕線程,、主動(dòng)消息,、事件驅(qū)動(dòng)和組件化編程。TinyOS是一種專門為嵌入式操作系統(tǒng)設(shè)計(jì)的基于組件的操作系統(tǒng),,由nesC 語言實(shí)現(xiàn),,主要應(yīng)用于無線傳感器網(wǎng)絡(luò)。TinyOS根據(jù)嵌入應(yīng)用可以輕易增減控制執(zhí)行的功能,,而且編譯器可避免數(shù)據(jù)競(jìng)爭(zhēng)的現(xiàn)象,,可節(jié)省硬件資源,并能執(zhí)行多個(gè)快速響應(yīng)的控制操作,。
3.1 組件
TinyOS操作系統(tǒng)一般由Main組件(初始化硬件并執(zhí)行調(diào)度程序),、應(yīng)用組件(實(shí)現(xiàn)具體應(yīng)用功能)、系統(tǒng)組件(為應(yīng)用層組件提供服務(wù)),、HPL(硬件描述層)構(gòu)成,。這種體系結(jié)構(gòu)使得TinyOS非常方便用戶使用,增加了操作系統(tǒng)的移植性和軟件的復(fù)用性,。
無線傳感器網(wǎng)絡(luò)是由大量節(jié)點(diǎn)組成的網(wǎng)絡(luò)系統(tǒng),,每個(gè)節(jié)點(diǎn)可看作一個(gè)微型的嵌入式平臺(tái)。現(xiàn)有的嵌入式操作系統(tǒng)大多是實(shí)時(shí)操作系統(tǒng),,很少考慮能源供應(yīng),,而且占用空間很大。由于無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)處理能力,、電源及存儲(chǔ)能力有限,,采用TinyOS嵌入式系統(tǒng),并引入輕線程,、主動(dòng)消息,、事件驅(qū)動(dòng)和組件化編程。TinyOS是一種專門為嵌入式操作系統(tǒng)設(shè)計(jì)的基于組件的操作系統(tǒng),,由nesC 語言實(shí)現(xiàn),,主要應(yīng)用于無線傳感器網(wǎng)絡(luò)。TinyOS根據(jù)嵌入應(yīng)用可以輕易增減控制執(zhí)行的功能,,而且編譯器可避免數(shù)據(jù)競(jìng)爭(zhēng)的現(xiàn)象,,可節(jié)省硬件資源,并能執(zhí)行多個(gè)快速響應(yīng)的控制操作,。
3.1 組件
TinyOS操作系統(tǒng)一般由Main組件(初始化硬件并執(zhí)行調(diào)度程序),、應(yīng)用組件(實(shí)現(xiàn)具體應(yīng)用功能)、系統(tǒng)組件(為應(yīng)用層組件提供服務(wù)),、HPL(硬件描述層)構(gòu)成,。這種體系結(jié)構(gòu)使得TinyOS非常方便用戶使用,增加了操作系統(tǒng)的移植性和軟件的復(fù)用性,。
3.2 接口
這里的接口是一個(gè)雙向通道,,它具有的功能和事件通知能力是雙向的,向調(diào)用者提供命令和實(shí)現(xiàn)命令者進(jìn)行事件通告,。代碼如下:
這里的接口是一個(gè)雙向通道,,它具有的功能和事件通知能力是雙向的,向調(diào)用者提供命令和實(shí)現(xiàn)命令者進(jìn)行事件通告,。代碼如下:

TinyOS應(yīng)用程序還要使用testSM,,GenericComm等組件實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的邏輯功能。test5M提供接口的命令,,并實(shí)現(xiàn)對(duì)調(diào)用接口事件的響應(yīng),;GenericComm通過調(diào)用其他組件實(shí)現(xiàn)從消息包到主動(dòng)消息、位級(jí)數(shù)據(jù)傳送到無線電收發(fā)模塊的功能。為了能將TinyOS移植到節(jié)點(diǎn)平臺(tái)上,,需要根據(jù)節(jié)點(diǎn)平臺(tái)設(shè)計(jì)修改TinyOS中的初始化代碼,,編寫自己的BSP程序,達(dá)到移植操作系統(tǒng)的目的,。
GenericComm提供了256個(gè)消息收發(fā)接口,,采用CSMA/AD的MAC協(xié)議,消息到達(dá)組件test5M中,,receive事件就會(huì)立刻調(diào)用,。因此在這個(gè)事件中實(shí)現(xiàn)不同消息的轉(zhuǎn)換,從而實(shí)現(xiàn)通信雙方的握手:

4 結(jié) 語
在分析無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)的基礎(chǔ)上,,設(shè)計(jì)以超低功耗單片機(jī)MSP430為核心,,并結(jié)合了無線收發(fā)模塊nRF24E1的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。軟件開發(fā)平臺(tái)采用TinyOS操作系統(tǒng),,從硬件,、軟件等方面對(duì)無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行了設(shè)計(jì)。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。