基于ARM的多標(biāo)簽多協(xié)議RFID讀寫(xiě)器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:介紹了以ARM9為核心處理器的嵌入式平臺(tái)的多標(biāo)簽多協(xié)議RFID讀寫(xiě)器的設(shè)計(jì)原理與方法,給出了系統(tǒng)具體的硬件和軟件設(shè)計(jì)方案和實(shí)現(xiàn)方法。采用TI公司的13.56 MHz頻段下的芯片TRF7960作為射頻模塊,通過(guò)MSP430F2370與射頻前端芯片通信,有效地提高讀寫(xiě)器的性能,并在軟件中結(jié)合二進(jìn)制搜索算法實(shí)現(xiàn)多標(biāo)簽防碰撞識(shí)別。該讀寫(xiě)器經(jīng)過(guò)實(shí)際運(yùn)行,具有穩(wěn)定可靠、操作簡(jiǎn)便等特點(diǎn)。
關(guān)鍵詞:多標(biāo)簽;多協(xié)議;TRF7960;RFID;讀寫(xiě)器
引言
隨著現(xiàn)代信息技術(shù)和超大規(guī)模集成電路的發(fā)展,RFID技術(shù)在服務(wù)領(lǐng)域、貨物銷(xiāo)售與后勤分配、商業(yè)部門(mén)、生產(chǎn)企業(yè)和材料流通領(lǐng)域得到了越來(lái)越廣泛的應(yīng)用。射頻識(shí)別技術(shù)的基本原理是利用射頻信號(hào)和空間耦合(電感耦合或電磁耦合)或雷達(dá)反射的傳輸特性,實(shí)現(xiàn)對(duì)被識(shí)別物體的自動(dòng)識(shí)別。
RFID系統(tǒng)不局限于視線(xiàn),識(shí)別距離遠(yuǎn)。射頻識(shí)別卡具有可讀寫(xiě)能力,可攜帶大量數(shù)據(jù),可工作在潮濕、干燥等惡劣環(huán)境下,同時(shí)具有難以偽造和智能性較高等優(yōu)點(diǎn)。與此同時(shí),不同的射頻標(biāo)簽編碼規(guī)則、不同的空中接口協(xié)議、大量而復(fù)雜的RFID數(shù)據(jù)如何處理等問(wèn)題嚴(yán)重阻礙了RFID技術(shù)發(fā)揮其巨大作用。基于這種現(xiàn)狀,本文結(jié)合防碰撞算法提出了嵌入式平臺(tái)下的RFID讀寫(xiě)器設(shè)計(jì)方案。
1 RFID系統(tǒng)結(jié)構(gòu)原理
無(wú)線(xiàn)射頻識(shí)別技術(shù)是一種非接觸的自動(dòng)識(shí)別技術(shù),常稱(chēng)為感應(yīng)式電子晶片或近接卡、感應(yīng)卡、非接觸卡、電子標(biāo)簽、電子條碼等。完整的RFID閱讀系統(tǒng)是由讀寫(xiě)器(Reacler)、應(yīng)答器(Transponder)、天線(xiàn)(Antenna)三部分組成。其動(dòng)作原理為Reader通過(guò)Antenna發(fā)射特定頻率的無(wú)線(xiàn)電波能量給Transponder,用以驅(qū)動(dòng)Transponder電路將內(nèi)部ID Code送出,此時(shí)ReaGler便接收此IDCode。由于此ID Code的唯一性,所以RFID讀寫(xiě)器可以實(shí)現(xiàn)對(duì)物體或商品的自動(dòng)識(shí)別。RFID系統(tǒng)框圖如圖1所示。系統(tǒng)由中間件、讀寫(xiě)器、應(yīng)答器等部分組成。
射頻識(shí)別系統(tǒng)的基本工作方式分為全雙工(Full Duplex)和半雙工(Half Duplex)。無(wú)論是哪種工作方式,其信息的發(fā)送都包括編碼、調(diào)制、信道傳輸三個(gè)步驟。對(duì)于數(shù)字通信來(lái)說(shuō),編碼和調(diào)制方式的選擇顯得尤為重要。
讀寫(xiě)器與電子標(biāo)簽之間的數(shù)據(jù)傳輸需要3個(gè)主要的功能塊,RFID系統(tǒng)基本通信結(jié)構(gòu)框圖如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)的核心是Samsung公司的ARM9芯片S3C2440A。RFID讀寫(xiě)器系統(tǒng)硬件電路采用模塊化設(shè)計(jì)方案,將主控模塊(核心板)與擴(kuò)展模塊電路(底板)分開(kāi)設(shè)計(jì)。主控制模塊包含了最小系統(tǒng)的設(shè)計(jì),包括處理器S3c2440A、內(nèi)存SDRAM、非易失存儲(chǔ)器Nand Flash、電源轉(zhuǎn)換電路、LED指示電路以及一些旁通電容電路。整體的RFID讀寫(xiě)器系統(tǒng)的硬件設(shè)計(jì)主要包括主控制模塊、射頻模塊、擴(kuò)展底板Power、JTAG、UART、USB A/B、LCD/TouchScreen、LAN、SD、Audio、LED、Reset等電路。[!--empirenews.page--]
2.1 主控制模塊設(shè)計(jì)
系統(tǒng)采用了兩片16位的SDRAM H57V256GTR芯片組成了32位的64 MB系統(tǒng)內(nèi)存。SDRAM與S3C2440A連接的32條數(shù)據(jù)線(xiàn)中,高16位DATA[31..16]和低16位DATA[15..0]分別與兩片SDRAM相連;H57V256GTR有13根行地址線(xiàn)、9根列地址線(xiàn)、2根BANK選擇線(xiàn)BA0~BA1。S3C2440與SDRAM連接時(shí)要注意:
◆SDRAM的A[0..2]連到CPU的ADDR[2..14];
◆BA0、BA1的地址連接,BA0、BA1代表了SDRAM的最高地址位。
主控制模塊的電路連接框圖如圖3所示。
2.2 接口電路設(shè)計(jì)
S3C2440A具有豐富的外設(shè)接口控制器,每個(gè)接口都有相應(yīng)的內(nèi)部控制邏輯單元(電路驅(qū)動(dòng))和可編程的控制寄存器,因此對(duì)這些標(biāo)準(zhǔn)接口進(jìn)行電路設(shè)計(jì)就變得很簡(jiǎn)單。本系統(tǒng)中外部模塊主要通過(guò)USB接口與處理器通信,USB接口電路如圖4所示。
S3C2440A具有兩個(gè)USB主機(jī)控制器,兼容USB1.0和USB1.1協(xié)議,支持低速和全速模式。這兩個(gè)USB主機(jī)控制器既可以作為主機(jī)口,又可以作為從設(shè)備口用,主要是看D+或D-數(shù)據(jù)線(xiàn)所接的上拉電阻的阻值。本課題由于要在終端平臺(tái)上外接模塊,所以終端平臺(tái)的USB端口作為主機(jī)口。又由于終端平臺(tái)需要與PC機(jī)通信,而PC機(jī)的USB端口都是作主機(jī)的,所以終端平臺(tái)又要提供USB端口作為從機(jī)口。這樣,在設(shè)計(jì)中就將S3C2440A的USB0作為主機(jī)口用,而將USB1通過(guò)跳線(xiàn)選擇來(lái)兼容主機(jī)口和設(shè)備口。
2.3 RFID讀寫(xiě)器設(shè)計(jì)
TRF7960芯片內(nèi)部包含了一個(gè)51核,但是這個(gè)51核主要是用來(lái)負(fù)責(zé)接收處理器數(shù)據(jù)(命令)并處理數(shù)據(jù)(編碼)后通過(guò)射頻電路發(fā)送出去,或是從射頻電路接收信號(hào)并進(jìn)行處理(解碼)后再送回給處理器。通過(guò)TI公司的微處理器MSP430F2370與射頻前端芯片配合,可有效地提
高讀寫(xiě)器的性能。
在讀寫(xiě)器模塊設(shè)計(jì)時(shí)加入了USB轉(zhuǎn)UART的橋接器芯片CP2102。加入該芯片一方面可以通過(guò)USB的連接器與終端平臺(tái)互連,實(shí)現(xiàn)即插即用的功能;另一方面可以通過(guò)終端平臺(tái)上的USB主控制器提供5 V的電源,系統(tǒng)設(shè)計(jì)的讀寫(xiě)器模塊正是采用這種方式供電的。RFID讀寫(xiě)器模塊的原理圖如圖5所示。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要實(shí)現(xiàn)嵌入式系統(tǒng)移植及防碰撞算法。當(dāng)在讀寫(xiě)器的天線(xiàn)區(qū)域中有多個(gè)射頻標(biāo)簽時(shí),同時(shí)到達(dá)的信號(hào)會(huì)產(chǎn)生信道爭(zhēng)用的問(wèn)題。信號(hào)互相干擾,發(fā)生碰撞。防碰撞技術(shù)利用排隊(duì)論及抗噪聲技術(shù)來(lái)解決這個(gè)問(wèn)題,通過(guò)RFID系統(tǒng)一次可以完成對(duì)多個(gè)射頻標(biāo)簽的識(shí)別。防碰撞技術(shù)的優(yōu)劣決定了RFID系統(tǒng)的性能。系統(tǒng)軟件總體架構(gòu)包括:擴(kuò)展層,提供RFID讀寫(xiě)器的固件程序,支持多種數(shù)據(jù)采集模塊;設(shè)備層,提供RFID系統(tǒng)運(yùn)行的硬件環(huán)境和提供多種物理接口;系統(tǒng)層,提供RFID系統(tǒng)運(yùn)行的軟件環(huán)境;中間層,提供開(kāi)發(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算法(又稱(chēng)應(yīng)答器控制算法)和二進(jìn)制樹(shù)形搜索算法(又稱(chēng)讀寫(xiě)器控制算法)。ALOHA防沖突算法由于延遲時(shí)間和檢測(cè)時(shí)間是隨機(jī)分布的,是一種不確定性算法,可分為非時(shí)隙、時(shí)隙以及自適應(yīng)ALOHA防沖突算法。其中自適應(yīng)ALOHA方法的信道利用率最高,它的優(yōu)點(diǎn)是能顯著提高識(shí)別速率,缺點(diǎn)是復(fù)雜度明顯提高。它僅適用于只讀型電子標(biāo)簽。二進(jìn)制樹(shù)形搜索算法的優(yōu)點(diǎn)是防沖突能力較強(qiáng)、數(shù)據(jù)結(jié)構(gòu)和指令簡(jiǎn)單,缺點(diǎn)是支持的存儲(chǔ)容量較小,不適合UID過(guò)長(zhǎng)的電子標(biāo)簽。這里利用二進(jìn)制樹(shù)形搜索算法實(shí)現(xiàn)功能。
二進(jìn)制搜索算法是利用逐步減少發(fā)生沖突的位的方法來(lái)完成對(duì)標(biāo)簽的識(shí)別的。該算法的前提條件是讀寫(xiě)器必須能夠準(zhǔn)確地發(fā)現(xiàn)發(fā)生沖突的位。因此,在該算法中,標(biāo)簽返回信號(hào)的編碼方式使用了Manchester編碼。在Manchester編碼方式中,每個(gè)信號(hào)位中間引入跳變來(lái)同時(shí)代表不同的數(shù)值和同步信息。一個(gè)負(fù)電平到正電平的跳變代表邏輯“0”,而一個(gè)正電平到負(fù)電平的跳變則代表邏輯“1”。在數(shù)據(jù)傳輸過(guò)程中,“沒(méi)有變化”的狀態(tài)是不允許的。因此,當(dāng)一個(gè)讀寫(xiě)器收到標(biāo)簽的返回信號(hào)后,如果發(fā)現(xiàn)某些位信號(hào)的狀態(tài)沒(méi)有發(fā)生改變,那么讀寫(xiě)器就能夠判斷這些位一定發(fā)生了沖突。Manchester編碼原理如圖6所示。
圖6中有兩個(gè)標(biāo)簽同時(shí)處于讀寫(xiě)器的讀寫(xiě)范圍內(nèi)。當(dāng)讀寫(xiě)器發(fā)送讀標(biāo)簽命令時(shí),兩個(gè)標(biāo)簽都返回它們的識(shí)別碼給讀寫(xiě)器。從圖中可以看出,標(biāo)簽1識(shí)別碼的第5位和第2位的值分別是邏輯“0”和邏輯“1”,而標(biāo)簽2的識(shí)別碼的第5位和第2位分別是邏輯“1”和邏輯“0”。所以,當(dāng)讀寫(xiě)器收到它們的返回信號(hào)時(shí),這兩位的狀態(tài)不會(huì)改變,從而讀寫(xiě)器知道這兩位發(fā)生了沖突,由此實(shí)現(xiàn)多標(biāo)簽防碰撞。圖中的虛線(xiàn)表示標(biāo)簽返回信號(hào)中發(fā)生沖突的位。
3.2 多協(xié)議模式分析
在上電后,首先對(duì)TRF7960進(jìn)行初始化設(shè)置。為控制TRF7960實(shí)現(xiàn)讀/寫(xiě)卡等操作,首先得明確TRF7960的讀寫(xiě)時(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輸出開(kāi)關(guān)等。ISO控制寄存器則負(fù)責(zé)ISO協(xié)議選擇,它通過(guò)設(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)的讀寫(xiě)操作,在設(shè)定時(shí)間內(nèi),若有FIFO中斷或發(fā)送結(jié)束中斷產(chǎn)生,則采集數(shù)據(jù)并保存。這樣就實(shí)現(xiàn)了多協(xié)議、防碰撞多標(biāo)簽RFID讀寫(xiě)器系統(tǒng)。