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