關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于MSP430和nRF24L01的有源RFID標簽應用設計

        基于MSP430和nRF24L01的有源RFID標簽應用設計

        作者: 時間:2014-06-03 來源:網絡 收藏

        本文介紹了有源標簽的設計理念出發,針對煤礦井下一般小范圍空間RFID定位的需求,根據低功耗、高效率的原則進行RFID標簽的設計。系統在硬件上采用了單片機和射頻芯片的低功耗組合;軟件上則結合了RFID定位的特點,介紹了有別于一般以識別為主要目的的標簽的設計方法,并分析了其軟件設計流程以及簡單的防沖突能力。通過良好匹配的天線,本設計有效讀取距離可達幾十米,足以應付一般空間內定位的需求。

        本文引用地址:http://www.104case.com/article/247722.htm

        1.引言

        射頻識別(RFID)技術是采用無線射頻的方式實現雙向數據交換并識別身份,RFID定位正是利用了這一識別特性,利用閱讀器和標簽之間的通信信號強度等參數進行空間的定位。

        RFID標簽按供電方式分為有源和無源2種[1],無源標簽通過捕獲閱讀器發射的電磁波獲取能量,具有成本低、尺寸小的優勢;有源標簽通常采用電池供電,具有通信距離遠、讀取速度快、可靠性好等優點[2],但為了滿足煤礦井下定位,需要考慮低功耗設計以增強電池的續航能力。本文從有源標簽的設計理念出發,針對小范圍空間RFID定位的需求,根據低功耗、高效率的原則進行RFID標簽的設計,并闡述了其硬件組成、軟件流程和防沖突能力。

        2.系統硬件設計

        2.1系統結構

        有源標簽在設計中除了需要考慮低成本、小型化之外,最重要的是要采取低功耗設計。

        RFID標簽從整體結構上看,通常包括2個部分:控制端和射頻端,因此在選擇控制芯片和射頻芯片時需要優先考慮其低功耗性能。本文在此基礎上選擇了F2012控制芯片和射頻芯片;天線則選用了Nordic公司的PCB單端天線;標簽采用3V-500mAh紐扣電池供電。系統工作在2.4GHz頻段。系統結構框圖如圖1所示。

         

         

        圖1 系統結構框圖

        2.2芯片選擇及低功耗設計

        TI推出的系列單片機是16位Flash型RISC指令集單片機[3],以超低功耗聞名業界。

        F2012芯片工作電壓僅為1.8~3.6V,掉電工作模式下消耗電流為0.1μA,等待工作模式下消耗電流僅為0.5μA.本設計中,MSP430F2012被長時間置于等待工作模式,通過中斷喚醒的方式使其短暫進入工作狀態,以節省電能。MSP430F2012具有3組獨立的時鐘源:片內VLO、片外晶振、DCO.其中,片外時鐘基于外部晶振;DCO由片內產生,且頻率可調。顯然,主系統時鐘頻率的高低決定著系統的功耗,尤其是選擇了高速片外晶振的情況下,因此,MSP430F2012提供了在不同時鐘源間進行切換的功能。在實際設計中,通過實時重新配置基礎時鐘控制寄存器以實現主系統時鐘和輔助系統時鐘間的切換,既不失性能,又節約了能耗。

        MSP430F2012具有LPM0~LPM4五種低功耗模式,合理的利用這五種預設的模式是降低MCU功耗的關鍵,本設計中,MSP430F2012在上電配置完畢后將直接進入LPM3模式,同時開啟中斷,等待外部中斷信號。此外,由于MSP430F2012是一款多功能通用單片機,片內集成了較多功能模塊,在上電配置時即停止所有不使用的功能模塊也能起到降低系統功耗的目的。

        是Nordic公司開發的2.4GHz超低功耗單片無線收發芯片,芯片有125個頻點,可實現點對點和點對多點的無線通信,最大傳輸速率可達2Mbps,工作電壓為1.9~3.6V[4].為了凸顯其低功耗性能,芯片預置了兩種待機模式和一種掉電模式。更值得一提的是nRF24L01的ShockBurstTM模式及增強型ShockBurstTM模式[4],真正實現了低速進高速出,即MCU將數據低速送入nRF24L01片內FIFO,卻以1Mbps或2Mbps高速發射出去。本設計正是利用了增強型ShockBurstTM模式,使得MSP430F2012即便在32768Hz低速晶振下也能通過射頻端高速的將數據發射出去,既降低了功耗,又提高了效率,增強了系統防沖突和應付移動目標能力。

        2.3電路設計

        本系統主要運用于RFID定位方面,除了簡單的識別外,重點在于閱讀器對標簽信號強度的測量,因此閱讀器與標簽間不會有大數據量頻繁的讀寫操作,在電路設計時可省略片外EEPROM.同時還可以省去穩壓電路以節省靜態電流消耗。硬件原理圖如圖2所示。

         

         

        圖2 硬件原理圖

        3.系統軟件設計

        3.1軟件流程

        本系統屬于雙向通信系統,標簽在發送數據前處于監聽狀態,nRF24L01的接收功能被打開,同時MSP430F2012處于LPM3模式,直至接收到閱讀器廣播的“開始”指令,并通過中斷將MSP430F2012喚醒。MSP430F2012被中斷喚醒后開始判斷指令是否正確,如果正確則進入正常發送周期,否則返回LPM3模式。

        考慮到實時定位的需要,系統不能像一般的RFID標簽那樣僅僅進行有限次驗證,本系統采用等間隔持續發送的模式,便于閱讀器實時監測目標位置,系統設定的正常發送周期為500ms,由MSP430F2012的Timer_A定時,500ms定時開始后,標簽ID通過SPI發送到FIFO,nRF24L01采用了增強型ShockBurstTM模式,發送失敗則會繼續重發,標簽ID發送完畢后,MSP430F2012判斷定時器是否超時,一旦超時則進入下個發送周期,否則處于等待狀態直至超時。當閱讀器停止廣播“開始”指令,MSP430F2012重新進入LPM3模式以降低功耗。

        系統完整流程如圖3所示。

         

         

        圖3 軟件流程圖

        3.2防沖突設計

        nRF24L01自帶載波檢測功能,在發送數據前先轉入接收模式進行監聽,確認要傳輸的頻率通道未被占用才發送數據,利用此功能可實現簡單的硬件防沖突。

        考慮到本系統采用了500ms的統一發送間隔,在被定位目標眾多的場合有可能發生識別沖突,因此需要在程序中合理的增加防沖突算法。ALOHA算法主要用于有源標簽,其原理就是,一旦信源發生數據包碰撞,就讓信源隨機延時后再次發送數據。考慮到程序的復雜性勢必引起處理時間的增加,也會帶來額外的能耗,本系統采用了較為簡單的純ALOHA算法,即在每個500ms計時周期內隨機發送標簽ID,這就需要在程序中插入一個隨機延時,延時時長的選擇通過一個隨機值函數來實現,隨機延時范圍為0~300ms.這種簡單的防沖突算法既簡化了指令,又能大幅降低沖突概率。

        外,n R F 2 4 L 0 1傳輸速率為1 M b p s或2Mbps,單次發送一個數據包,單個數據包最大32bytes,假設標簽ID為32bytes,以2Mbps速率發送一次ID的信號寬度(傳輸時間)約為100~150μs,相對于500ms的整個定時周期而言微乎其微,但仍有可能出現發送飽和的狀態,這時可以適當的延長計時周期以增加信道容量。較快的傳輸速率有助于移動目標的識別和定位,而較短的數據長度也能顯著提高標簽基于隨機延時的防沖突能力,因此盡可能將標簽ID的長度限制在32bytes以內。

        4.測試結果

        對于RFID系統而言,最重要的參數就是讀取距離[5]和有效讀取率。本次實驗測試設備為標簽3枚,閱讀器一臺,PC一臺,閱讀器基于和nRF24L01芯片設計,并通過RS232串口與PC進行通信。測試中,分別將3枚標簽置于距離閱讀器15m、30m、45m處,便簽ID分別為AABBCCDDFFFFFF01、AABBCCDDFFFFFF02、AABBCCDDFFFFFF03,每枚標簽進行一小時(約7200次)連續讀取測試。 從表1測試結果看,30m以內為標簽正常讀取距離,可滿足一般的室內應用,距離為45m時讀取率則顯著下降。由于天線的設計對系統性能有較大影響[6],通過改進標簽的天線以獲取較大輸出功率,改進閱讀器端天線接收靈敏度也能顯著提高系統性能。

         

         

        5.結束語

        本文對基于和nRF24L01的有源RFID標簽的設計進行了詳細的介紹。對2款芯片的低功耗性能進行了分析并提出了自己的低功耗設計方案;結合了RFID定位的特點,介紹了有別于一般以識別為主要目的的標簽的設計方法,分析了其軟件設計流程;針對一般空間內被識別目標眾多且常處于移動狀態的特點,介紹了系統的防沖突能力。整個系統電路簡單,尺寸小,功耗低,通過良好匹配的天線通信距離可達幾十米,可以滿足煤礦行業井下一般小范圍空間內的定位需求。

        晶振相關文章:晶振原理


        關鍵詞: MSP430 nRF24L01

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 来凤县| 临沭县| 绥阳县| 南宫市| 长顺县| 荃湾区| 绿春县| 娱乐| 亳州市| 津南区| 新兴县| 吉木萨尔县| 文昌市| 兴城市| 博爱县| 红原县| 疏勒县| 顺平县| 凤阳县| 龙海市| 郴州市| 北碚区| 定安县| 竹山县| 临沭县| 辽源市| 那曲县| 南宁市| 开封市| 民勤县| 婺源县| 绥中县| 福贡县| 镇江市| 麻阳| 华安县| 澄城县| 黎城县| 仪陇县| 邢台县| 泗阳县|