基于ARM的多標簽多協議RFID讀寫器設計
3 系統軟件設計
系統軟件設計主要實現嵌入式系統移植及防碰撞算法。當在讀寫器的天線區域中有多個射頻標簽時,同時到達的信號會產生信道爭用的問題。信號互相干擾,發生碰撞。防碰撞技術利用排隊論及抗噪聲技術來解決這個問題,通過RFID系統一次可以完成對多個射頻標簽的識別。防碰撞技術的優劣決定了RFID系統的性能。系統軟件總體架構包括:擴展層,提供RFID讀寫器的固件程序,支持多種數據采集模塊;設備層,提供RFID系統運行的硬件環境和提供多種物理接口;系統層,提供RFID系統運行的軟件環境;中間層,提供開發系統的基礎軟件框架和應用型RFID中間件;應用層,與業務相關的應用軟件。
3.1 防碰撞算法分析
在RFID系統中,評價防碰撞算法優劣的指標有防碰撞速度、準確率、信道利用率、穩定性、安全性和成本等。目前業界推崇的防碰撞方法主要有ALOHA算法(又稱應答器控制算法)和二進制樹形搜索算法(又稱讀寫器控制算法)。ALOHA防沖突算法由于延遲時間和檢測時間是隨機分布的,是一種不確定性算法,可分為非時隙、時隙以及自適應ALOHA防沖突算法。其中自適應ALOHA方法的信道利用率最高,它的優點是能顯著提高識別速率,缺點是復雜度明顯提高。它僅適用于只讀型電子標簽。二進制樹形搜索算法的優點是防沖突能力較強、數據結構和指令簡單,缺點是支持的存儲容量較小,不適合UID過長的電子標簽。這里利用二進制樹形搜索算法實現功能。
二進制搜索算法是利用逐步減少發生沖突的位的方法來完成對標簽的識別的。該算法的前提條件是讀寫器必須能夠準確地發現發生沖突的位。因此,在該算法中,標簽返回信號的編碼方式使用了Manchester編碼。在Manchester編碼方式中,每個信號位中間引入跳變來同時代表不同的數值和同步信息。一個負電平到正電平的跳變代表邏輯“0”,而一個正電平到負電平的跳變則代表邏輯“1”。在數據傳輸過程中,“沒有變化”的狀態是不允許的。因此,當一個讀寫器收到標簽的返回信號后,如果發現某些位信號的狀態沒有發生改變,那么讀寫器就能夠判斷這些位一定發生了沖突。Manchester編碼原理如圖6所示。本文引用地址:http://www.104case.com/article/149550.htm
圖6中有兩個標簽同時處于讀寫器的讀寫范圍內。當讀寫器發送讀標簽命令時,兩個標簽都返回它們的識別碼給讀寫器。從圖中可以看出,標簽1識別碼的第5位和第2位的值分別是邏輯“0”和邏輯“1”,而標簽2的識別碼的第5位和第2位分別是邏輯“1”和邏輯“0”。所以,當讀寫器收到它們的返回信號時,這兩位的狀態不會改變,從而讀寫器知道這兩位發生了沖突,由此實現多標簽防碰撞。圖中的虛線表示標簽返回信號中發生沖突的位。
3.2 多協議模式分析
在上電后,首先對TRF7960進行初始化設置。為控制TRF7960實現讀/寫卡等操作,首先得明確TRF7960的讀寫時序。起始條件是CLK為高,然后發送8位地址,再在發送時鐘的下降沿進行數據發送。當CLK為低時,信號發送上升沿表示操作已經結束。在TRF7960內部有兩個主要配置寄存器:芯片狀態控制寄存器和ISO控制寄存器,00h和01h分別是它們的地址。芯片狀態寄存器可以控制電源模式、RF輸出開關等。ISO控制寄存器則負責ISO協議選擇,它通過設定參數protocol,選擇不同的協議工作方式。例如當protocol為0x01時,為ISO15693協議;當protocol為0x02時,為ISO14443A協議;當protocol為0x03時,為ISO14443B協議。根據指定協議進行相應的讀寫操作,在設定時間內,若有FIFO中斷或發送結束中斷產生,則采集數據并保存。這樣就實現了多協議、防碰撞多標簽RFID讀寫器系統。
評論