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