99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計工程 ? 作者:劉明,陶正蘇 ? 2020-03-19 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

無線傳感器網(wǎng)絡(luò)是由分布在給定區(qū)域內(nèi)大量傳感器節(jié)點(diǎn)以無線自組織多跳的通信方式構(gòu)成的網(wǎng)絡(luò)系統(tǒng),目前在環(huán)境監(jiān)測保護(hù)、樓宇監(jiān)控、家庭安防、醫(yī)療護(hù)理、目標(biāo)跟蹤、軍事等領(lǐng)域已獲得了廣泛的應(yīng)用。

1、 CC2430芯片介紹

CC2430芯片是TI/Chipcon公司生產(chǎn)的真正意義上的片上系統(tǒng)(SOC)級解決方案,它集增強(qiáng)型工業(yè)標(biāo)準(zhǔn)8051核心、優(yōu)秀的射頻芯片CC24 20、強(qiáng)大的外圍資源于一體。集成的外設(shè)資源主要有DMA、定時/計數(shù)器、看門狗定時器、AES-128協(xié)處理器、8通道8~14位ADC、USART、休眠模式定時器、復(fù)位電路及21個可編程I/O,支持IEEE802.15.4和ZigBee協(xié)議。

CC2430芯片具有性能高、功耗低、接收靈敏度高、抗干擾性強(qiáng)、硬件CSMA/CA支持、數(shù)字化RSSI/LQI支持、DMA支持等特點(diǎn),支持無線數(shù)據(jù)傳輸率高達(dá)250 kbps.

2 、TinyOS系統(tǒng)與nesC語言

由于無線傳感器網(wǎng)絡(luò)的特殊性,需要操作系統(tǒng)能夠高效地使用傳感器節(jié)點(diǎn)的有限內(nèi)存、低功耗處理器、多樣傳感器、有限的電源,并且能對各種特定應(yīng)用提供最大的支持。

基于此,UC Berkeley研究人員專為嵌入式無線傳感器網(wǎng)絡(luò)開發(fā)出TinyOS系統(tǒng),目前已經(jīng)成為無線傳感器網(wǎng)絡(luò)領(lǐng)域事實上的標(biāo)準(zhǔn)平臺。 TinyOS系統(tǒng)具有組件化編程、事件驅(qū)動模式、輕量級線程技術(shù)、主動消息通信技術(shù)等特點(diǎn)。TinyOS采用組件架構(gòu)方式,快速實現(xiàn)各種應(yīng)用,組件包括網(wǎng)絡(luò)協(xié)議、分布式服務(wù)、傳感器驅(qū)動以及數(shù)據(jù)獲取工具等,一個完整的應(yīng)用系統(tǒng)通過組合不同的組件來實現(xiàn)。采用事件驅(qū)動的運(yùn)行模型,可以處理高并發(fā)性的事件,并實現(xiàn)節(jié)能。

TinyOS應(yīng)用程序通常由頂層配件、核心處理模塊和其它組件構(gòu)成。每個應(yīng)用程序有且僅有一個頂層配件,組件間通過接口進(jìn)行連接通信,下層組件提供接口,通過provideinterface interfaceName來聲明,上層組件使用接口,通過useinterface interfaceName來聲明。接口提供兩類函數(shù),分別是命令(command)函數(shù)與事件(event)函數(shù),上層組件向下層組件發(fā)出命令,啟動下層組件的功能:下層組件完成相應(yīng)的功能后向上層組件報告事件。應(yīng)用程序總體框架如圖1所示。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

TinyOS系統(tǒng)本身以及應(yīng)用程序都是采用nesC語言編寫,nesC語言是對C語言的擴(kuò)展,具有類似于C語言的語法,但支持TinyOS的并發(fā)模型,同時具有組件化機(jī)制,能夠與其他組件連接在一起從而形成一個魯棒性很好的嵌入式系統(tǒng)。nesC語言把組件化/模塊化的編程思想和基于事件驅(qū)動的執(zhí)行模型緊密結(jié)合起來。應(yīng)用nesC語言能夠更快速方便地編寫基于TinyOS的應(yīng)用程序。

3、 RSSI定位原理

RSSI全稱Received Signal Strength Indicator(接收信號強(qiáng)度指示),是一種基于距離的定位算法。RSSI原理是已知發(fā)射節(jié)點(diǎn)的發(fā)射信號強(qiáng)度,接收節(jié)點(diǎn)根據(jù)接收信號的強(qiáng)度,計算出信號在傳播過程中的損耗,利用理論和經(jīng)驗?zāi)P蛯鬏敁p耗轉(zhuǎn)化為距離,再根據(jù)接收節(jié)點(diǎn)的已知位置利用三邊測量法計算出發(fā)射節(jié)點(diǎn)的位置。由于該方法不需要額外的硬件設(shè)備,是一種低功耗廉價的測距技術(shù),因此在很多項目中得到了廣泛的應(yīng)用。

本文在RSSI定位基礎(chǔ)上使用質(zhì)心算法提高定位精度,如圖2所示,最后求得的盲節(jié)點(diǎn)坐標(biāo)為點(diǎn)D、E和F組成的三角形的質(zhì)心。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

4 、定位算法在TinyOS中的實現(xiàn)

根據(jù)RSSI測距原理,要確定盲節(jié)點(diǎn)的位置,至少需要三個錨節(jié)點(diǎn)(已知位置的接收節(jié)點(diǎn)),并需要一個匯聚節(jié)點(diǎn)來傳輸各錨節(jié)點(diǎn)的RSSI寄存器值到PC機(jī),最終通過串口調(diào)試助手來顯示結(jié)果并進(jìn)一步定位盲節(jié)點(diǎn)坐標(biāo)。下面分別介紹移動盲節(jié)點(diǎn)、靜態(tài)錨節(jié)點(diǎn)以及匯聚節(jié)點(diǎn)的實現(xiàn)流程。

4.1 盲節(jié)點(diǎn)

盲節(jié)點(diǎn)的主要任務(wù)是向所有錨節(jié)點(diǎn)廣播信息,具體的流程如圖3所示。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

Tiny OS程序頂層配件主體如下:

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

4.2 靜態(tài)錨節(jié)點(diǎn)

錨節(jié)點(diǎn)主要功能是接收盲節(jié)點(diǎn)的廣播信息,然后提取RSSI寄存器中的值,通過路由層發(fā)送接口轉(zhuǎn)發(fā)給匯聚節(jié)點(diǎn),或轉(zhuǎn)發(fā)其它錨節(jié)點(diǎn)的數(shù)據(jù)給匯聚節(jié)點(diǎn)。主要實現(xiàn)流程如圖4所示。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

錨節(jié)點(diǎn)的組件連接如下:

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

靜態(tài)錨節(jié)點(diǎn)通過CC2420Packet接口來獲取RSSI值,具體函數(shù)如下:

rssi=((int)call CC2420Paeket.getRssi(msg));

4.3 匯聚節(jié)點(diǎn)

匯聚節(jié)點(diǎn),也稱為基站,主要負(fù)責(zé)接收各錨節(jié)點(diǎn)發(fā)送的接收表信息,包括錨節(jié)點(diǎn)ID、DSN和RSSI,并將這些數(shù)據(jù)包通過串口轉(zhuǎn)發(fā)到PC機(jī)。具體流程如圖5所示。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

匯聚節(jié)點(diǎn)組件連接如下:

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

4.4 程序移植與實驗結(jié)果

本實驗在Cygwin平臺下進(jìn)行編譯與移植,編譯過程如圖6所示。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

圖6 TinyOS編譯流程圖

進(jìn)入Cygwin環(huán)境,切換到TinyOS定位程序目錄下,輸入編譯移植命令:

make cc2430em install NID=0x GRP=00

其中NID是節(jié)點(diǎn)號,是節(jié)點(diǎn)的身份標(biāo)識,同一網(wǎng)絡(luò)中的節(jié)點(diǎn)號必須惟一;GRP是網(wǎng)絡(luò)號,同一網(wǎng)絡(luò)中所有節(jié)點(diǎn)的網(wǎng)絡(luò)號必須一致。

在所有節(jié)點(diǎn)的TinyOS移植完畢后,啟動所有節(jié)點(diǎn),應(yīng)用串口調(diào)試助手顯示匯聚節(jié)點(diǎn)發(fā)送到PC機(jī)的RSSI數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)如圖7所示,其中1~7個字節(jié)數(shù)據(jù)為信息包的包頭,8~9兩字節(jié)為中繼錨節(jié)點(diǎn)的節(jié)點(diǎn)號,10~11兩字節(jié)為源錨節(jié)點(diǎn)的節(jié)點(diǎn)號,12~13字節(jié)為源錨節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的跳數(shù),14~15字節(jié)為盲節(jié)點(diǎn)的節(jié)點(diǎn)號,21~22兩字節(jié)數(shù)據(jù)為錨節(jié)點(diǎn)的RSSI值。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

圖7 錨節(jié)點(diǎn)RSSI值

在確定PC機(jī)能夠正確接收各錨節(jié)點(diǎn)的RSSI值后,還需要選取合適的RSSI測距信號衰減模型,將RSSI值轉(zhuǎn)化為距離。本實驗中采用在無線信號傳輸中應(yīng)用廣泛的對數(shù)--常態(tài)模型,如式(1)所示:

RSSI=-(10n·lg(d)+A)+45 (1)

其中A為盲節(jié)點(diǎn)與錨節(jié)點(diǎn)相距1米時RSSI的絕對值,本實驗中測得A≈40,n為無線信號傳播指數(shù),一般取2~4,經(jīng)過多次試驗取3.0較為合適。將本模型應(yīng)用在所測得的RSSI中,并對比實際距離得到如表1和圖8所示結(jié)果:表1中d為RSSI理論模型所得距離,D為實際測量結(jié)果。

表1 RSSI值與距離的轉(zhuǎn)換

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

圖8 RSSI測距模型驗證

在實驗室環(huán)境下布置了4個錨節(jié)點(diǎn)、1個匯聚節(jié)點(diǎn)和1個盲節(jié)點(diǎn),4個錨節(jié)點(diǎn)分布在4.8x3.6 m2矩形的4個點(diǎn),盲節(jié)點(diǎn)位于矩形區(qū)域內(nèi),匯聚節(jié)點(diǎn)在矩形區(qū)域外。

讀取如圖7所示的各錨節(jié)點(diǎn)RSSI值,在Matlab環(huán)境下通過對數(shù)--常態(tài)傳播模型將RSSI值轉(zhuǎn)變?yōu)榫嚯x,最后通過質(zhì)心算法對盲節(jié)點(diǎn)進(jìn)行定位,計算出盲節(jié)點(diǎn)的坐標(biāo)。在實驗中采用10次測量取平均值來減小定位誤差,并計算對比盲節(jié)點(diǎn)理論坐標(biāo)與實際坐標(biāo)的誤差,得到如圖9所示的定位結(jié)果。

在TinyOS組件架構(gòu)基礎(chǔ)上實現(xiàn)CC2430芯片的節(jié)點(diǎn)定位設(shè)計

圖9 RSSI定位結(jié)果

通過定位算法計算出的盲節(jié)點(diǎn)坐標(biāo)為(2.483 1,1.018 5),實際盲節(jié)點(diǎn)坐標(biāo)為(2.4,1.2),誤差為0.199 6 m,基本實現(xiàn)了對盲節(jié)點(diǎn)的定位。

5、 結(jié)論

本文在TinyOS操作系統(tǒng)下實現(xiàn)了基于CC2430模塊的RSSI定位,分析了盲節(jié)點(diǎn)、錨節(jié)點(diǎn)和匯聚節(jié)點(diǎn)的工作流程,確定了實驗室條件下無線傳輸模型Shadowing模型參數(shù),最后利用Matlab計算出盲節(jié)點(diǎn)坐標(biāo)。定位結(jié)果顯示,通過定位算法所得的盲節(jié)點(diǎn)坐標(biāo)與實際坐標(biāo)誤差為0.199 6 m,可滿足大多數(shù)無線傳感器網(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)注

    185

    文章

    18372

    瀏覽量

    256359
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    441062
  • 無線傳感器
    +關(guān)注

    關(guān)注

    15

    文章

    771

    瀏覽量

    99238
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CC2430CC2530的硬件的區(qū)別

    。 這是非常重要的尤其是RF改變那一塊,很大程度上,數(shù)字端口設(shè)計同樣的位置,這樣PCB就可以作很小的改動。CC2530的所有數(shù)字引腳內(nèi)部都有
    發(fā)表于 03-03 14:58

    基于TinyOS操作系統(tǒng)的I/O控制

    .  本文介紹了一個TinyOS系統(tǒng)下的I/O控制程序,用來控制對Sink節(jié)點(diǎn)的輸入和輸出,并在CC2430芯片
    發(fā)表于 11-13 16:27

    CC2430的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)如何進(jìn)行設(shè)計

    基于CC2430的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計基于無線傳感器網(wǎng)絡(luò)的特點(diǎn),以CC2430芯片為核心設(shè)計了一種微型傳感器節(jié)點(diǎn)。詳細(xì)闡述了傳感器
    發(fā)表于 04-24 08:27

    基于ZigBee技術(shù)的射頻芯片CC2430

    CC2430芯片是Chipcon公司生產(chǎn)的首款符合zigBee技術(shù)的2.4 GHz射頻系統(tǒng)單芯片。適用于各種zigBee或類似zigBee的無線網(wǎng)絡(luò)節(jié)點(diǎn),包括調(diào)諧器、路由器和終端設(shè)備。
    發(fā)表于 01-15 12:33 ?150次下載

    CC2430源代碼及視頻教程1.0

    全面講解CC2430的使用,全新的教學(xué)方式,1天學(xué)會CC2430
    發(fā)表于 08-04 13:47 ?7次下載

    基于TinyOSCC2430無線數(shù)據(jù)收發(fā)設(shè)計

    為解決現(xiàn)有CC2430無線數(shù)據(jù)收發(fā)程序代碼量龐大,結(jié)構(gòu)不清晰,關(guān)鍵源碼不公開等問題,提出一種基于TinyOSCC2430無線數(shù)據(jù)收發(fā)設(shè)計方案。分析
    發(fā)表于 01-04 16:26 ?106次下載

    基于CC2430的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計

    基于CC2430的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計 基于無線傳感器網(wǎng)絡(luò)的特點(diǎn),以CC2430芯片為核心設(shè)計了一種微型傳感器節(jié)點(diǎn)。詳細(xì)闡述了傳感器
    發(fā)表于 09-19 09:44 ?1584次閱讀
    基于<b class='flag-5'>CC2430</b>的無線傳感器網(wǎng)絡(luò)<b class='flag-5'>節(jié)點(diǎn)</b>設(shè)計

    基于TinyOSCC2430 RSSI定位的設(shè)計

    為解決現(xiàn)Z-Stack定位程序代碼量大,結(jié)構(gòu)復(fù)雜等問題,提出一種基于TinyOSCC2430定位方案。分析
    發(fā)表于 03-22 11:46 ?121次下載
    基于<b class='flag-5'>TinyOS</b>的<b class='flag-5'>CC2430</b> RSSI<b class='flag-5'>定位</b>的設(shè)計

    基于CC2430的無線傳感器網(wǎng)絡(luò)的實現(xiàn)

    基于CC2430的無線傳感器網(wǎng)絡(luò)的實現(xiàn)。
    發(fā)表于 01-25 10:28 ?13次下載

    uIP協(xié)議棧CC2430芯片的移植研究_李偉勤

    uIP協(xié)議棧CC2430芯片的移植研究_李偉勤
    發(fā)表于 03-19 11:28 ?0次下載

    基于CC2430的Zigbee無線通信設(shè)計

    基于CC2430的Zigbee無線通信設(shè)計
    發(fā)表于 09-01 14:11 ?16次下載
    基于<b class='flag-5'>CC2430</b>的Zigbee無線通信設(shè)計

    TinyOS操作系統(tǒng)下實現(xiàn)基于CC2430模塊的RSSI定位

    無線傳感器網(wǎng)絡(luò)是由分布在給定區(qū)域內(nèi)大量傳感器節(jié)點(diǎn)以無線自組織多跳的通信方式構(gòu)成的網(wǎng)絡(luò)系統(tǒng),目前環(huán)境監(jiān)測保護(hù)、樓宇監(jiān)控、家庭安防、醫(yī)療護(hù)理、目標(biāo)跟蹤、軍事等領(lǐng)域已獲得了廣泛的應(yīng)用。 1 CC2430
    發(fā)表于 10-24 15:34 ?0次下載
    <b class='flag-5'>在</b><b class='flag-5'>TinyOS</b>操作系統(tǒng)下<b class='flag-5'>實現(xiàn)</b>基于<b class='flag-5'>CC2430</b>模塊的RSSI<b class='flag-5'>定位</b>

    TinyOSCC2430單片機(jī)的ADC使用方法詳細(xì)說明

    1.TinyOS提供的組件和接口 CC2430被廣泛應(yīng)用于無線傳感器網(wǎng)絡(luò),其片上自帶的ADC可以將傳感器采集到的模擬信號轉(zhuǎn)換為數(shù)字信號進(jìn)行相應(yīng)處理。 開源組織TinyOS 8051
    發(fā)表于 08-12 17:33 ?0次下載
    <b class='flag-5'>TinyOS</b>下<b class='flag-5'>CC2430</b>單片機(jī)的ADC使用方法詳細(xì)說明

    CC2430 SoC系統(tǒng)芯片的數(shù)據(jù)手冊免費(fèi)下載

    CC2430提供給用戶3個版本,即CC2430-F32/64/128,分別對應(yīng)內(nèi)置Flash32/64/128 KB.CC2430是用來實現(xiàn)嵌入式ZigBee應(yīng)用的片
    發(fā)表于 06-25 17:40 ?10次下載
    <b class='flag-5'>CC2430</b> SoC系統(tǒng)<b class='flag-5'>芯片</b>的數(shù)據(jù)手冊免費(fèi)下載

    通過采用CC2430芯片實現(xiàn)公交火災(zāi)快速定位系統(tǒng)設(shè)計解決方案

    底層信息采集網(wǎng)絡(luò)主要由檢測火災(zāi)的傳感節(jié)點(diǎn)定位節(jié)點(diǎn)組成,同時包括協(xié)助定位并充當(dāng)路由器功能的參考節(jié)點(diǎn)?;馂?zāi)檢測
    發(fā)表于 02-06 21:14 ?1376次閱讀
    通過采用<b class='flag-5'>CC2430</b><b class='flag-5'>芯片</b><b class='flag-5'>實現(xiàn)</b>公交火災(zāi)快速<b class='flag-5'>定位</b>系統(tǒng)設(shè)計解決方案