新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種用于定位的低功耗有源RFID標簽的設計方案

        一種用于定位的低功耗有源RFID標簽的設計方案

        作者: 時間:2013-11-12 來源:網絡 收藏

          

          3.系統軟件設計

          系統軟件設計選用了IAR EmbeddedWorkbench V4.11B平臺下的C語言編程環境,設計中綜合考慮了M S P 4 3 0 F 2 0 1 2和芯片的低功耗性能、穩定性和程序執行效率。

          3.1 軟件流程

          本系統屬于雙向通信系統,標簽在發送數據前處于監聽狀態,的接收功能被打開,同時處于LPM3模式,直至接收到閱讀器廣播的“開始”

          指令,并通過中斷將喚醒。

          被中斷喚醒后開始判斷指令是否正確,如果正確則進入正常發送周期,否則返回LPM3模式。

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

          

          3.2 防沖突設計

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

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

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

          3.3 部分程序代碼

          3.3.1 單字節SPI發送/接收函數

          

          3.3.2 根據命令字讀/寫接收(發送)數據包



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嘉善县| 同德县| 当雄县| 沙雅县| 鲜城| 宜昌市| 长海县| 新龙县| 永修县| 定安县| 尼勒克县| 铜山县| 绥中县| 叙永县| 新邵县| 巴东县| 长沙市| 德格县| 聂拉木县| 那曲县| 庆云县| 闽侯县| 临朐县| 秀山| 广汉市| 黑龙江省| 日喀则市| 安庆市| 二连浩特市| 聂荣县| 泰兴市| 武山县| 德化县| 哈巴河县| 江都市| 竹山县| 金阳县| 中卫市| 台湾省| 黄浦区| 郁南县|