無線傳感器網(wǎng)絡是由大量低廉的微型傳感器節(jié)點組成的無線網(wǎng)絡,是目前國際上無線領域研究的熱點之一,應用前景非常好;而TinyOS是美國的伯克利大學開發(fā)的,為嵌入式無線傳感器網(wǎng)絡而設計的源碼開放的操作系統(tǒng),它運行在每個網(wǎng)絡節(jié)點上,是其他上層應用和協(xié)議運行的前提。本設計以nRF24E1無線通信模塊為核心,基于無線傳感器網(wǎng)絡操作系統(tǒng)TinyOS,使用模塊化設計思路,實現(xiàn)了一個無線傳感器網(wǎng)絡。
1、無線傳感器網(wǎng)絡設計
1.1 系統(tǒng)構成概述
無線傳感器網(wǎng)絡由三類節(jié)點構成:一般采集所需要的信息無線終端節(jié)點;收集一般節(jié)點中的數(shù)據(jù)并進行存儲、處理、上傳的無線路由器節(jié)點;無線服務節(jié)點實現(xiàn)無線路由器節(jié)點處理中心并充當網(wǎng)關與其他外部網(wǎng)絡的連接。三類節(jié)點的硬件構成基本相同,每個傳感器節(jié)點具有數(shù)據(jù)采集、簡單的數(shù)據(jù)處理、短距離無線通信和自組網(wǎng)能力。
1.2總體設計框圖
無線傳感器網(wǎng)絡中三種節(jié)點硬件平臺的構建基本相同,其基本節(jié)點構成框圖如圖1所示。無線終端節(jié)點可去除顯示模塊、串口通信模塊和聲光報警單元,以節(jié)約節(jié)點的電能。
主控制部分裝載傳感器網(wǎng)絡操作系統(tǒng),實現(xiàn)對各個模塊的驅動,并對各個模塊的數(shù)據(jù)進行處理;電源模塊為系統(tǒng)供電;無線通信模塊實現(xiàn)數(shù)據(jù)的無線傳輸功能;串行通信模塊可用于與上位機進行通信,也可用于進行系統(tǒng)配置;傳感器模塊利用傳感器采集數(shù)據(jù),并進行數(shù)模轉換后交由主控制器處理;數(shù)據(jù)存儲模塊用于臨時或永久存儲系統(tǒng)數(shù)據(jù)備查。
2、系統(tǒng)的硬件實現(xiàn)
對于無線傳感器網(wǎng)絡硬件平臺的搭建,國內(nèi)外很多學者提出,用MSP430或AT89C2051作為主控制器,結合無線收發(fā)模塊來實現(xiàn)。國內(nèi)中科院杭州計算機所研制的gainz節(jié)點采用ATmega128處理器,再結合射頻收發(fā)芯片來實現(xiàn),這樣做難以真正做到微型網(wǎng)絡節(jié)點,且成本難以控制。美國的伯克利大學研制的產(chǎn)品Mica2Dot節(jié)點采用自己設計的ASIC來實現(xiàn),這需要足夠的技術力量和資金。本系統(tǒng)以nRF24E1無線通信模塊為核心。nRF24E1是一顆集成高速2.4 GHz無線收發(fā)內(nèi)核的增強型51單片機,可實現(xiàn)51單片機的所有功能。這是一顆高性能單片機內(nèi)核的高速1 Mbps單片無線收發(fā)芯片,所有高頻元件(包括電感振蕩器等)已經(jīng)全部集成在芯片內(nèi)部,使得產(chǎn)品一致性良好、性能穩(wěn)定且不受外界影響;可跳頻,點對多點通信及無線檢錯,所有功能均在一個6 mm×6 mm的QFN36芯片上實現(xiàn)。由于nRF24E1系統(tǒng)自帶存儲空間有限,系統(tǒng)外加一個串行EEPROM 25xx320,用來存儲TinyOS操作系統(tǒng)。在具體實現(xiàn)時,將TinyOS編譯生成的系統(tǒng)文件轉換為hex文件格式,然后再用eeprep.exe轉換工具轉換為24E1格式的hex文件,用通用編程器將生成的24E1格式的hex文件寫入25xx320。25xx320是32 Kb,SPI接口串行。EEPROM。nRF24E1上電時先將外掛的25xx320的程序全部下載讀入內(nèi)部的4 KB專用RAM區(qū),然后開始執(zhí)行程序。在批量生產(chǎn)時可以將程序掩模在nRF24E1中,將外掛的25xx320省掉,進一步降低成本,縮小節(jié)點體積。nRF24E1與25xx320的接口電路如圖2所示。
nRF24E1的具體外圍電路設計和其天線的設計可查閱nRF24E1的芯片手冊,并了解有關射頻電路設計和天線設計的相關知識。根據(jù)系統(tǒng)需要可以采用環(huán)形天線、單端天線或螺旋天線,良好匹配的元件和螺旋天線可使系統(tǒng)的平地可視通信距離高達800m,對于天線的設計,采用Aligent公司的ADS(Advanced Design System)進行天線匹配。圖2中“天線”為單端50 歐姆天線。其layout的Top視圖如圖3所示。
顯示單元在無線路由節(jié)點和無線服務結點上使用,采用字符型液晶顯示屏1602C,實時顯示測量到的數(shù)據(jù),并給出提示信息,使操作簡單,人機交互界面友好。聲光報警單元采用555作振蕩源,用單片機觸發(fā)振蕩源驅動電磁訊響器作為聲音指示器,發(fā)光二極管作為光指示裝置,從而組成聲光報警單元。遠程通信單元采用低電壓高速傳輸?shù)模?a target="_blank">RS232收發(fā)器MAX3316(CAE),實現(xiàn)工業(yè)現(xiàn)場的實時監(jiān)控。電源單元系統(tǒng)采用CR2450,3 V扣式電池,其在》2.8 V的條件下能提供大約530 mAh的能量(2l℃)。
3、系統(tǒng)的軟件實現(xiàn)
3.1 TinyOS概述
TinyOS是一個基于事件的系統(tǒng),其設計的主要目標是代碼量小、耗能少、并發(fā)性高,可適應不同的應用。它采用面向元件結構,確??焖夙憫蛨?zhí)行,同時減小了代碼量,以適應無線傳感器網(wǎng)絡嚴格的存儲空間需要。其操作系統(tǒng)、庫和程序服務程序是用nesC寫的。nesC是一種開發(fā)組件式結構程序、具有C語法風格的語言,其組件層次結構就如同一個網(wǎng)絡協(xié)議棧,底層的組件負責接收和發(fā)送原始的數(shù)據(jù)位,而高層的組件對這些數(shù)據(jù)進行編碼、解碼,更高層的組件負責數(shù)據(jù)打包、路由和傳輸數(shù)據(jù)。
3.2 系統(tǒng)節(jié)點的軟件框圖
無線路由節(jié)點和無線終端節(jié)點比無線終端節(jié)點多一個數(shù)據(jù)匯集和上傳的功能,其軟件設計流程如圖4所示。
3.3 傳感器網(wǎng)絡節(jié)點的實現(xiàn)
在TinyOS操作系統(tǒng)中,傳感器網(wǎng)絡節(jié)點的實現(xiàn)由moudules和configurations兩部分構成。其modules部分代碼如下:
在modules中提供StdControl接口,使用了Timer、ADC、StdControl、Leds接口。nesC程序中可以使用同一個接口的多個實例,ADCControl是StdControl的實例。
在configurations中不提供任何接口,使用Main、SenseM、LedsC、TimerC、Photo模塊,連接Main.StdControl接口到SenseM.StdControl和TimerC.StdControl,連接SenseM.ADC接口到Photo.ADC,連接SenseM.ADCControl到Photo.StdControl。參數(shù)化接口允許組件通過運行時或編譯時參數(shù)值使用多個該接口的實例provides。interface Timer[uint8_tid],unique(“Timer”)產(chǎn)生一個唯一的數(shù)字與Timer串關聯(lián)。
3.4 網(wǎng)絡數(shù)據(jù)報的分析
在基于TinyOS的傳感器網(wǎng)絡的網(wǎng)絡數(shù)據(jù)報文消息頭中包含group ID,使得多個節(jié)點可以共享同一個radio channel。group ID是一個8位數(shù),其默認值是0x7D,使用DEFAULT_LOCAL_GROUP改變默認group ID,如EFAULT_LOCAL_GROUP=0x7E,此時就把group ID改為了0x7E。以下為傳感器網(wǎng)絡節(jié)點接收到的封裝包格式:
7E 41 0F FF FF 08 7D 5D 1D 44 44 11 44 11 44 44 OO 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 OO 00 00 DO 5C 7E
封包用0x7E,接下來是0x41是指封包格式。0x41是P_PACKET_ACK,0x42是P_PACKET_NO_ACK。第3個字節(jié)是0x0F,是SeqNo.,是從0x0E開始,也就是13 DECIMAL,接下來的格式TinyOS文件有說明,最后兩個字節(jié)是0xSCD0,是CRC校驗。送出Packet之后,它會回送兩個信息:一個是2字節(jié)的封包,就是只有包含原本的packet type和SeqNo;另一個是P_PACKET_NO_ACK的格式的封包,和上面的格式一樣,不過SeqNo那個位不具有SeqNo的功能。
4、節(jié)點性能
該無線傳感器網(wǎng)絡節(jié)點工作電壓為1.9~3.6 V,發(fā)射電流約為11~13 mA,接收電流約19 mA,待機電流約3μA;工作在2.4 GHz頻段,共有125個頻道可用,滿足多點及跳頻通信需要。數(shù)據(jù)傳輸速率可達1 Mbps;可進行CRC校驗,外接9路10位ADC,采樣率達100 kbps,可配置的PWM,輸出UART、SPI等多種外設。平地無障礙物通信距離可達800 m,且節(jié)點性能穩(wěn)定,對環(huán)境依賴比較小。
5、結 語
本文介紹了基于nRF24E1的系統(tǒng)硬件平臺的構建,以及傳感器網(wǎng)絡操作系統(tǒng)TinyOS的系統(tǒng)程序設計。該傳感器網(wǎng)絡能準確采集環(huán)境數(shù)據(jù),實時組網(wǎng)上傳,且其網(wǎng)絡節(jié)點結構簡單,價格低廉,真正實現(xiàn)了微型無線傳感器網(wǎng)絡節(jié)點。
責任編輯:gt
-
傳感器
+關注
關注
2561文章
52299瀏覽量
762359 -
無線通信
+關注
關注
58文章
4692瀏覽量
144743 -
操作系統(tǒng)
+關注
關注
37文章
7033瀏覽量
124801
發(fā)布評論請先 登錄
基于nRF24E1無線耳麥的設計與實現(xiàn)
基于TinyOS的嵌入式無線傳感器網(wǎng)絡設計
基于nRF24E1的無線鍵盤應用
基于nRF24E1的無線耳麥有什么優(yōu)點?
無線傳感器網(wǎng)絡的普通節(jié)點和網(wǎng)關節(jié)點怎么實現(xiàn)?
nRF24E1編程下載板相關程序
單片2.4GHz無線收發(fā)芯片nRF24E1的應用

系統(tǒng)芯片nRF24E1及其在無繩電話中的應用

系統(tǒng)級RF收發(fā)芯片nRF24E1及其在無線鍵盤中的應用

基于nRF24E1無線耳麥的設計

基于nRF24E1的傳感器網(wǎng)絡系統(tǒng)構建及TinyOS程序設計

評論