一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

1、 CC2430芯片介紹

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

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

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

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

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

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

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

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

3、 RSSI定位原理

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

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

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

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

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

4.1 盲節(jié)點

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

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

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

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

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

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

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

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

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

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

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

4.3 匯聚節(jié)點

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

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

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

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

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

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

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

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

圖6 TinyOS編譯流程圖

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

make cc2430em install NID=0x GRP=00

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

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

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

圖7 錨節(jié)點RSSI值

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

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

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

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

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

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

圖8 RSSI測距模型驗證

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

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

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

圖9 RSSI定位結(jié)果

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

5、 結(jié)論

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

責任編輯:gt

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

    關注

    185

    文章

    18357

    瀏覽量

    256138
  • 芯片
    +關注

    關注

    459

    文章

    52465

    瀏覽量

    440328
  • 無線傳感器
    +關注

    關注

    15

    文章

    771

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CC2430CC2530的硬件的區(qū)別

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

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

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

    CC2430的無線傳感器網(wǎng)絡節(jié)點如何進行設計

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

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

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

    CC2430源代碼及視頻教程1.0

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

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

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

    基于CC2430的無線傳感器網(wǎng)絡節(jié)點設計

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

    基于TinyOSCC2430 RSSI定位的設計

    為解決現(xiàn)Z-Stack定位程序代碼量大,結(jié)構(gòu)復雜等問題,提出一種基于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>的設計

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

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

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

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

    基于CC2430的Zigbee無線通信設計

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

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

    無線傳感器網(wǎng)絡是由分布在給定區(qū)域內(nèi)大量傳感器節(jié)點以無線自組織多跳的通信方式構(gòu)成的網(wǎng)絡系統(tǒng),目前環(huán)境監(jiān)測保護、樓宇監(jiān)控、家庭安防、醫(yī)療護理、目標跟蹤、軍事等領域已獲得了廣泛的應用。 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單片機的ADC使用方法詳細說明

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

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

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

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

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