0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于TinyOS和nRF24E1無線通信模塊實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的設(shè)計

電子設(shè)計 ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:肖建榮;錢建生; ? 2020-07-14 08:03 ? 次閱讀

無線傳感器網(wǎng)絡(luò)是由大量低廉的微型傳感器節(jié)點(diǎn)組成的無線網(wǎng)絡(luò),是目前國際上無線領(lǐng)域研究的熱點(diǎn)之一,應(yīng)用前景非常好;而TinyOS是美國的伯克利大學(xué)開發(fā)的,為嵌入式無線傳感器網(wǎng)絡(luò)而設(shè)計的源碼開放的操作系統(tǒng),它運(yùn)行在每個網(wǎng)絡(luò)節(jié)點(diǎn)上,是其他上層應(yīng)用和協(xié)議運(yùn)行的前提。本設(shè)計以nRF24E1無線通信模塊為核心,基于無線傳感器網(wǎng)絡(luò)操作系統(tǒng)TinyOS,使用模塊化設(shè)計思路,實(shí)現(xiàn)了一個無線傳感器網(wǎng)絡(luò)。

1、無線傳感器網(wǎng)絡(luò)設(shè)計

1.1 系統(tǒng)構(gòu)成概述

無線傳感器網(wǎng)絡(luò)由三類節(jié)點(diǎn)構(gòu)成:一般采集所需要的信息無線終端節(jié)點(diǎn);收集一般節(jié)點(diǎn)中的數(shù)據(jù)并進(jìn)行存儲、處理、上傳的無線路由器節(jié)點(diǎn);無線服務(wù)節(jié)點(diǎn)實(shí)現(xiàn)無線路由器節(jié)點(diǎn)處理中心并充當(dāng)網(wǎng)關(guān)與其他外部網(wǎng)絡(luò)的連接。三類節(jié)點(diǎn)的硬件構(gòu)成基本相同,每個傳感器節(jié)點(diǎn)具有數(shù)據(jù)采集、簡單的數(shù)據(jù)處理、短距離無線通信和自組網(wǎng)能力。

1.2總體設(shè)計框圖

無線傳感器網(wǎng)絡(luò)中三種節(jié)點(diǎn)硬件平臺的構(gòu)建基本相同,其基本節(jié)點(diǎn)構(gòu)成框圖如圖1所示。無線終端節(jié)點(diǎn)可去除顯示模塊、串口通信模塊和聲光報警單元,以節(jié)約節(jié)點(diǎn)的電能。

基于TinyOS和nRF24E1無線通信模塊實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的設(shè)計

主控制部分裝載傳感器網(wǎng)絡(luò)操作系統(tǒng),實(shí)現(xiàn)對各個模塊的驅(qū)動,并對各個模塊的數(shù)據(jù)進(jìn)行處理;電源模塊為系統(tǒng)供電;無線通信模塊實(shí)現(xiàn)數(shù)據(jù)的無線傳輸功能;串行通信模塊可用于與上位機(jī)進(jìn)行通信,也可用于進(jìn)行系統(tǒng)配置;傳感器模塊利用傳感器采集數(shù)據(jù),并進(jìn)行數(shù)模轉(zhuǎn)換后交由主控制器處理;數(shù)據(jù)存儲模塊用于臨時或永久存儲系統(tǒng)數(shù)據(jù)備查。

2、系統(tǒng)的硬件實(shí)現(xiàn)

對于無線傳感器網(wǎng)絡(luò)硬件平臺的搭建,國內(nèi)外很多學(xué)者提出,用MSP430或AT89C2051作為主控制器,結(jié)合無線收發(fā)模塊來實(shí)現(xiàn)。國內(nèi)中科院杭州計算機(jī)所研制的gainz節(jié)點(diǎn)采用ATmega128處理器,再結(jié)合射頻收發(fā)芯片來實(shí)現(xiàn),這樣做難以真正做到微型網(wǎng)絡(luò)節(jié)點(diǎn),且成本難以控制。美國的伯克利大學(xué)研制的產(chǎn)品Mica2Dot節(jié)點(diǎn)采用自己設(shè)計的ASIC來實(shí)現(xiàn),這需要足夠的技術(shù)力量和資金。本系統(tǒng)以nRF24E1無線通信模塊為核心。nRF24E1是一顆集成高速2.4 GHz無線收發(fā)內(nèi)核的增強(qiáng)型51單片機(jī),可實(shí)現(xiàn)51單片機(jī)的所有功能。這是一顆高性能單片機(jī)內(nèi)核的高速1 Mbps單片無線收發(fā)芯片,所有高頻元件(包括電感振蕩器等)已經(jīng)全部集成在芯片內(nèi)部,使得產(chǎn)品一致性良好、性能穩(wěn)定且不受外界影響;可跳頻,點(diǎn)對多點(diǎn)通信及無線檢錯,所有功能均在一個6 mm×6 mm的QFN36芯片上實(shí)現(xiàn)。由于nRF24E1系統(tǒng)自帶存儲空間有限,系統(tǒng)外加一個串行EEPROM 25xx320,用來存儲TinyOS操作系統(tǒng)。在具體實(shí)現(xiàn)時,將TinyOS編譯生成的系統(tǒng)文件轉(zhuǎn)換為hex文件格式,然后再用eeprep.exe轉(zhuǎn)換工具轉(zhuǎn)換為24E1格式的hex文件,用通用編程器將生成的24E1格式的hex文件寫入25xx320。25xx320是32 Kb,SPI接口串行。EEPROM。nRF24E1上電時先將外掛的25xx320的程序全部下載讀入內(nèi)部的4 KB專用RAM區(qū),然后開始執(zhí)行程序。在批量生產(chǎn)時可以將程序掩模在nRF24E1中,將外掛的25xx320省掉,進(jìn)一步降低成本,縮小節(jié)點(diǎn)體積。nRF24E1與25xx320的接口電路如圖2所示。

nRF24E1的具體外圍電路設(shè)計和其天線的設(shè)計可查閱nRF24E1的芯片手冊,并了解有關(guān)射頻電路設(shè)計和天線設(shè)計的相關(guān)知識。根據(jù)系統(tǒng)需要可以采用環(huán)形天線、單端天線或螺旋天線,良好匹配的元件和螺旋天線可使系統(tǒng)的平地可視通信距離高達(dá)800m,對于天線的設(shè)計,采用Aligent公司ADS(Advanced Design System)進(jìn)行天線匹配。圖2中“天線”為單端50 歐姆天線。其layout的Top視圖如圖3所示。

顯示單元在無線路由節(jié)點(diǎn)和無線服務(wù)結(jié)點(diǎn)上使用,采用字符型液晶顯示屏1602C,實(shí)時顯示測量到的數(shù)據(jù),并給出提示信息,使操作簡單,人機(jī)交互界面友好。聲光報警單元采用555作振蕩源,用單片機(jī)觸發(fā)振蕩源驅(qū)動電磁訊響器作為聲音指示器,發(fā)光二極管作為光指示裝置,從而組成聲光報警單元。遠(yuǎn)程通信單元采用低電壓高速傳輸?shù)模?a target="_blank">RS232收發(fā)器MAX3316(CAE),實(shí)現(xiàn)工業(yè)現(xiàn)場的實(shí)時監(jiān)控。電源單元系統(tǒng)采用CR2450,3 V扣式電池,其在》2.8 V的條件下能提供大約530 mAh的能量(2l℃)。

3、系統(tǒng)的軟件實(shí)現(xiàn)

3.1 TinyOS概述

TinyOS是一個基于事件的系統(tǒng),其設(shè)計的主要目標(biāo)是代碼量小、耗能少、并發(fā)性高,可適應(yīng)不同的應(yīng)用。它采用面向元件結(jié)構(gòu),確??焖夙憫?yīng)和執(zhí)行,同時減小了代碼量,以適應(yīng)無線傳感器網(wǎng)絡(luò)嚴(yán)格的存儲空間需要。其操作系統(tǒng)、庫和程序服務(wù)程序是用nesC寫的。nesC是一種開發(fā)組件式結(jié)構(gòu)程序、具有C語法風(fēng)格的語言,其組件層次結(jié)構(gòu)就如同一個網(wǎng)絡(luò)協(xié)議棧,底層的組件負(fù)責(zé)接收和發(fā)送原始的數(shù)據(jù)位,而高層的組件對這些數(shù)據(jù)進(jìn)行編碼、解碼,更高層的組件負(fù)責(zé)數(shù)據(jù)打包、路由和傳輸數(shù)據(jù)。

3.2 系統(tǒng)節(jié)點(diǎn)的軟件框圖

無線路由節(jié)點(diǎn)和無線終端節(jié)點(diǎn)比無線終端節(jié)點(diǎn)多一個數(shù)據(jù)匯集和上傳的功能,其軟件設(shè)計流程如圖4所示。

3.3 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)現(xiàn)

在TinyOS操作系統(tǒng)中,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)現(xiàn)由moudules和configurations兩部分構(gòu)成。其modules部分代碼如下:

在modules中提供StdControl接口,使用了Timer、ADC、StdControl、Leds接口。nesC程序中可以使用同一個接口的多個實(shí)例,ADCControl是StdControl的實(shí)例。

在configurations中不提供任何接口,使用Main、SenseM、LedsC、TimerC、Photo模塊,連接Main.StdControl接口到SenseM.StdControl和TimerC.StdControl,連接SenseM.ADC接口到Photo.ADC,連接SenseM.ADCControl到Photo.StdControl。參數(shù)化接口允許組件通過運(yùn)行時或編譯時參數(shù)值使用多個該接口的實(shí)例provides。interface Timer[uint8_tid],unique(“Timer”)產(chǎn)生一個唯一的數(shù)字與Timer串關(guān)聯(lián)。

3.4 網(wǎng)絡(luò)數(shù)據(jù)報的分析

在基于TinyOS的傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)數(shù)據(jù)報文消息頭中包含group ID,使得多個節(jié)點(diǎn)可以共享同一個radio channel。group ID是一個8位數(shù),其默認(rèn)值是0x7D,使用DEFAULT_LOCAL_GROUP改變默認(rèn)group ID,如EFAULT_LOCAL_GROUP=0x7E,此時就把group ID改為了0x7E。以下為傳感器網(wǎng)絡(luò)節(jié)點(diǎn)接收到的封裝包格式:

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校驗(yàn)。送出Packet之后,它會回送兩個信息:一個是2字節(jié)的封包,就是只有包含原本的packet type和SeqNo;另一個是P_PACKET_NO_ACK的格式的封包,和上面的格式一樣,不過SeqNo那個位不具有SeqNo的功能。

4、節(jié)點(diǎn)性能

該無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)工作電壓為1.9~3.6 V,發(fā)射電流約為11~13 mA,接收電流約19 mA,待機(jī)電流約3μA;工作在2.4 GHz頻段,共有125個頻道可用,滿足多點(diǎn)及跳頻通信需要。數(shù)據(jù)傳輸速率可達(dá)1 Mbps;可進(jìn)行CRC校驗(yàn),外接9路10位ADC,采樣率達(dá)100 kbps,可配置的PWM,輸出UART、SPI等多種外設(shè)。平地?zé)o障礙物通信距離可達(dá)800 m,且節(jié)點(diǎn)性能穩(wěn)定,對環(huán)境依賴比較小。

5、結(jié) 語

本文介紹了基于nRF24E1的系統(tǒng)硬件平臺的構(gòu)建,以及傳感器網(wǎng)絡(luò)操作系統(tǒng)TinyOS的系統(tǒng)程序設(shè)計。該傳感器網(wǎng)絡(luò)能準(zhǔn)確采集環(huán)境數(shù)據(jù),實(shí)時組網(wǎng)上傳,且其網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)簡單,價格低廉,真正實(shí)現(xiàn)了微型無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2541

    文章

    49945

    瀏覽量

    747443
  • 無線通信
    +關(guān)注

    關(guān)注

    58

    文章

    4414

    瀏覽量

    143121
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122731
收藏 人收藏

    評論

    相關(guān)推薦

    基于nRF24E1無線耳麥的設(shè)計與實(shí)現(xiàn)

    本文設(shè)計并實(shí)現(xiàn)了一種基于nRF24E1無線耳麥。本設(shè)計具有抗干擾能力強(qiáng)、保密性好、音質(zhì)好、成本較低等優(yōu)點(diǎn)。其室內(nèi)傳輸距離在30米左右,從而減少電腦對人體的輻射,并且不影響家庭其他成員的休息與工作。##系統(tǒng)軟件設(shè)計
    發(fā)表于 05-29 10:32 ?3782次閱讀

    無線通信模塊

    無線溫度傳感器應(yīng)用設(shè)計基于NRF2401模塊無線PC控制臺應(yīng)用設(shè)計   基于NRF2
    發(fā)表于 08-06 16:29

    基于TinyOS的嵌入式無線傳感器網(wǎng)絡(luò)設(shè)計

    傳感器連接?! ?.3 通信模塊  無線收發(fā)模塊主要完成傳感器節(jié)點(diǎn)之間、節(jié)點(diǎn)與
    發(fā)表于 11-15 16:15

    基于nRF24E1無線鍵盤應(yīng)用

    作者:鄭啟忠 朱宏輝 耿四軍nRF24E1 收發(fā)是Nordic VLSI推出的系統(tǒng)級射頻芯片。采用先進(jìn)的0.18μm CMOS工藝、6×6mm的36引腳 QFN封裝,以nRF2401 RF芯片結(jié)構(gòu)
    發(fā)表于 07-22 07:11

    基于nRF24E1無線耳麥有什么優(yōu)點(diǎn)?

    介紹了一種基于nRF24E1的應(yīng)用于家用電視及個人電腦的無線耳麥,詳細(xì)闡述了無線耳麥的硬件設(shè)計方法,說明了語音發(fā)送和接收的工作原理,并給出了軟件設(shè)計的主要工作流程。
    發(fā)表于 08-30 07:14

    無線傳感器網(wǎng)絡(luò)的普通節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)怎么實(shí)現(xiàn)

    的限制。以此超低功耗單片機(jī)MSP430為核心,結(jié)合無線收發(fā)模塊nRF24E1,對無線傳感器網(wǎng)絡(luò)
    發(fā)表于 10-18 07:28

    如何構(gòu)建基于TinyOS無線傳感器網(wǎng)絡(luò)?

    本設(shè)計以nRF24E1無線通信模塊為核心,基于無線傳感器網(wǎng)絡(luò)操作系統(tǒng)
    發(fā)表于 06-01 06:07

    nRF24E1編程下載板相關(guān)程序

    nRF24E1編程下載板相關(guān)程序 nRF24E1編程下載板是我們自行開發(fā)的簡易無線通信模塊nRF24E1的在線下載板,使用方便。
    發(fā)表于 02-24 14:18 ?60次下載

    單片2.4GHz無線收發(fā)芯片nRF24E1的應(yīng)用

    nRF24E1是Nordic公司推出的一顆嵌入了高性能單片機(jī)內(nèi)核的高速1Mbps單片無線收發(fā)芯片。
    發(fā)表于 03-11 13:20 ?1949次閱讀
    單片2.4GHz<b class='flag-5'>無線</b>收發(fā)芯片<b class='flag-5'>nRF24E1</b>的應(yīng)用

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

    ?摘要:首先,簡要介紹系統(tǒng)級RF收發(fā)芯片nRF24E1的各個功能模塊及其特性。然后,分析無繩電話的工作原理,介紹怎樣用nRF24E1在無繩電話中實(shí)現(xiàn)話音信號的
    發(fā)表于 03-11 13:33 ?1259次閱讀
    系統(tǒng)芯片<b class='flag-5'>nRF24E1</b>及其在無繩電話中的應(yīng)用

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

    系統(tǒng)級RF收發(fā)芯片nRF24E1及其在無線鍵盤中的應(yīng)用 nRF24E1收發(fā)是Nordic VLSI推出的系統(tǒng)級射頻芯片。采用先進(jìn)的0.18μm CMOS工藝、6×6mm的36引腳
    發(fā)表于 11-04 09:24 ?1170次閱讀
    系統(tǒng)級RF收發(fā)芯片<b class='flag-5'>nRF24E1</b>及其在<b class='flag-5'>無線</b>鍵盤中的應(yīng)用

    基于nRF24E1無線耳麥的設(shè)計

    介紹了一種基于nRF24E1的應(yīng)用于家用電視及個人電腦的無線耳麥,詳細(xì)闡述了無線耳麥的硬件設(shè)計方法,說明了語音發(fā)送和接收的工作原理,并給出了軟件設(shè)計的主要工作流程。
    發(fā)表于 06-21 11:36 ?2465次閱讀
    基于<b class='flag-5'>nRF24E1</b><b class='flag-5'>無線</b>耳麥的設(shè)計

    基于nRF24L01的通用無線通信模塊設(shè)計

    基于nRF24L01的通用無線通信模塊設(shè)計
    發(fā)表于 01-04 15:25 ?63次下載

    基于nRF24E1傳感器網(wǎng)絡(luò)系統(tǒng)構(gòu)建及TinyOS程序設(shè)計

    ,它運(yùn)行在每個網(wǎng)絡(luò)節(jié)點(diǎn)上,是其他上層應(yīng)用和協(xié)議運(yùn)行的前提。本設(shè)計以nRF24E1無線通信模塊為核心,基于無線
    的頭像 發(fā)表于 01-16 09:36 ?2089次閱讀
    基于<b class='flag-5'>nRF24E1</b>的<b class='flag-5'>傳感器</b><b class='flag-5'>網(wǎng)絡(luò)</b>系統(tǒng)構(gòu)建及<b class='flag-5'>TinyOS</b>程序設(shè)計

    nRF24L01無線通信模塊使用簡介

    nRF24L01無線通信模塊使用簡介(STC51)nRF24L01研一課設(shè)做過一個基于nRF24L01的
    發(fā)表于 11-23 17:51 ?48次下載
    <b class='flag-5'>nRF24</b>L01<b class='flag-5'>無線通信</b><b class='flag-5'>模塊</b>使用簡介