基于FPGA的超高頻讀寫(xiě)器設計
文章出處:http://psychicreadingswithdeb.com 作者:中國一卡通網(wǎng) 收編 人氣: 發(fā)表時(shí)間:2011年10月17日
引言
射頻識別(RFID)是一種非接觸的自動(dòng)識別技術(shù),它利用天線(xiàn)來(lái)傳輸射頻信號,利用空間耦合實(shí)現非接觸供電,并進(jìn)行非接觸雙向數據通信,而達到自動(dòng)識別目標并交換數據的目的。與傳統的條形碼識別方式相比,射頻識別技術(shù)能對移動(dòng)的多個(gè)目標進(jìn)行識別,而且還具有條形碼所不具備的防水、防磁、耐高溫、使用壽命長(cháng)、讀取距離大、數據加密等優(yōu)點(diǎn)。因而RHD技術(shù)廣泛應用于交通運輸、物流管理、門(mén)禁系統等眾多領(lǐng)域。相對而言,UHF頻段的發(fā)展遠沒(méi)有低頻和高頻段成熟,而UHF頻段的讀寫(xiě)距離遠和更快的讀取速度讓其在國際物流、公路自動(dòng)收費等領(lǐng)域有著(zhù)獨特的優(yōu)勢,目前已成為RFID技術(shù)應用的一個(gè)主流發(fā)展方向。
1 讀寫(xiě)器的整體結構
本文提出的基于物流管理的讀寫(xiě)器工作在UHF91 5MHz頻率下。FPGA是大規??删幊唐骷械牧硪淮箢?lèi)PLD(programmable logic device)器件,既繼承了ASIC的大規模、高集成度、高可靠性等優(yōu)點(diǎn),又克服了普通ASIC設計周期長(cháng)、投資大、靈活性差的缺點(diǎn),逐步成為復雜數字硬件電路設計的首選。奧地利微電子公司的AS3990射頻收發(fā)器產(chǎn)品適用于UHF頻段,針對便攜、固定、近距或遠距應用進(jìn)行了個(gè)性?xún)?yōu)化,多種產(chǎn)品可采用同一種軟件接口。它是一款高度集成的UHF讀寫(xiě)器芯片,包括AFE、數據幀、編碼/解碼,支持MCU和電源管理,支持密集讀寫(xiě)模式,天線(xiàn)驅動(dòng)用OOK、ASIC或PR-ASK調制,創(chuàng )新化的雙輸入接收器可以消除通信盲區。該芯片是64引腳QFN封裝,并支持目前業(yè)界最低功耗BOM(Bill of Material,物料清單)的解決方案,所以是講究功耗成本的應用首選。AS3990繼承了EPC Classl Gen2(ISO 18000-6C)協(xié)議引擎,其高速的數據處理能力可以完成發(fā)送和接收數據幀的處理,而且在Direct Data Mode模式下還可以實(shí)現ISO 18000-6A和ISO 18000-6B協(xié)議。為了減輕處理器的工作負擔并保證穩定的數據流以及正確的協(xié)議處理,AS3990采用了一個(gè)12字節的FIFO寄存器來(lái)管理數據幀。內置的可編程選項可以使它適合于UHF頻段里的所有應用,還可以直接進(jìn)入其內置控制寄存器對各種讀寫(xiě)器參數進(jìn)行微調。
讀寫(xiě)器RF前端采用零中頻接收結構。由頻率合成器產(chǎn)生所需要的RF信號,然后經(jīng)過(guò)功率分配器得到兩路載波信號,分別用于發(fā)送通路和接收通路。發(fā)送通路采用OOK調制,基帶信號通過(guò)開(kāi)關(guān)通斷控制載波是否經(jīng)過(guò)功放,并用天線(xiàn)發(fā)送;接收通路中接收信號先經(jīng)過(guò)功率分配、放大等操作,然后分別送到混頻器和兩路正交的載波信號進(jìn)行混頻,對混頻之后的信號經(jīng)過(guò)濾波、放大等操作恢復出數字基帶信號。該系統之所以采用兩路正交混頻結構,主要是為了避免射頻場(chǎng)中存在接收盲點(diǎn)。如果只采用一路接收信號,當接收信號的相位和本振信號的相位相差90°,混頻后的信號始終為0,即有用信號沒(méi)有解調出來(lái)。但采用正交I和Q兩路接收信號,無(wú)論相位延時(shí)多少,I和Q中總有一路能解調出有用信號。
AS3990芯片與控制器之間的接口可以采用串行數據接口,為了采用較高的傳輸速率時(shí)也可以采用并行接口。本設計采用FPGA與AS3990芯片的并行連接通信,AS3990的IO0-I07、IRQ、CLK、VCC,CLSYS接口與FPGA相連接,如圖1所示,其中IRQ為中斷,IO0-I07為數據的雙向并行口。芯片內部有32個(gè)寄存器用來(lái)實(shí)現其傳輸協(xié)議和監測工作狀態(tài),通過(guò)對內部寄存器的設置,來(lái)控制芯片的傳輸模式、調制方式、傳輸速率等。在常規工作模式下,即支持ISO 18000-6C標準,傳輸數據的編碼與解碼,CRC校驗碼的生成和校驗都是在芯片內部完成的,還有自動(dòng)產(chǎn)生幀同步、引導碼,將從MCU傳遞的數據轉換成數據幀格式后再發(fā)送,且發(fā)送和接收都是通過(guò)FIFO寄存器傳輸的。而在直接數據模式下,數據的編解碼和CRC校驗碼的生成與校驗都在芯片外部實(shí)現,而且發(fā)送和接收只能直接地、無(wú)緩沖地從FIFO中輸出碼流,可以用該模式來(lái)實(shí)現ISO 18 000-6B、6A協(xié)議等。
2 讀寫(xiě)器數字基帶部分設計
數字部分由控制器、存儲器組成,主要完成命令信號的發(fā)送和數字邏輯的控制,并且實(shí)現與PC機的通信和對RF模塊的控制。
2.1 RF部分初始化
該部分主要是完成對AS3990芯片內部寄存器的配置。
芯片上電復位以后,配置寄存器初始化為其默認值,使芯片可以在EPC Class1 Gen2協(xié)議下工作,但為了使芯片的工作性能達到最優(yōu)化或者實(shí)現ISO/IEC18000-6A、6B協(xié)議等,則必須重新配置寄存器的值。主要實(shí)現以下內容的配置:
(1)AS3990有兩種工作模式,分別支持和實(shí)現不同的協(xié)議,為常規數據模式(Normal Data Mode)和直接數據模式(Direct Data Mode)。在常規數據模式中,發(fā)送和接收的數據是通過(guò)內部FIFO寄存器傳輸的,所有數據的處理過(guò)程都是在芯片內部完成的。在直接數據模式中,數據處理是在芯片外部實(shí)現的,由控制部分完成,可以利用該模式來(lái)實(shí)現ISO 18000-6A、6B協(xié)議等。
(2)選擇系統工作頻率。AS3990芯片規定的UHF讀寫(xiě)器工作頻率是860~960MHz,我們可以根據具體情況和實(shí)際應用來(lái)設定其工作頻率。
(3)設定傳輸速率,包括讀寫(xiě)器到標簽的數據速率和標簽到讀寫(xiě)器的數據速率。其中讀寫(xiě)器到標簽的比特率范圍為26.7~128kbps,標簽到讀寫(xiě)器的傳輸速率在40~640kHz之間。
(4)選擇編碼方式和調制方式。根據協(xié)議規定,讀寫(xiě)器前向鏈路采用PIE編碼、ASK調制方式。反向鏈路的編碼方式有兩種選擇,FM0編碼和Miller編碼方式;調制方式也有兩種,為ASK調制和PSK調制方式。其中反向鏈路調制方式的選擇由生產(chǎn)廠(chǎng)商決定。如圖2為初始化模塊的
仿真圖。
2.2 讀寫(xiě)器命令
在A(yíng)S3990芯片內部,已經(jīng)集成了一些常用到的命令:軟件初始化命令(83)、FIFO寄存器復位命令(8F)、帶CRC校驗的發(fā)送命令(90)、Qu-ery命令(98)、QueryRep命令(99)等,在需要使用這些命令時(shí),只要直接調用這些命令碼即可。而其他一些沒(méi)有集成到芯片內部的命令就需要用軟件來(lái)實(shí)現,包括選擇命令Select,還有一些讀命令Read、寫(xiě)命令Write等。
對于沒(méi)有集成在芯片內部的命令,就需要用軟件來(lái)完成其命令格式,不過(guò)校驗碼的產(chǎn)生、命令前導碼、命令的編碼都在芯片內部完成。圖3所示為Select命令的軟件發(fā)送格式。首先是起始條件(FF),然后是FIFO寄存器復位命令(8F),帶CRC校驗的發(fā)送命令(90);再是命令格式,要發(fā)送的數據長(cháng)度,最后是數據。當數據從微控制器發(fā)送給AS3990芯片以后,首先將要發(fā)送的數據存入內部FIFO寄存器,加上CRC校驗碼、前導碼,然后將數據經(jīng)過(guò)編碼,以數據幀的格式經(jīng)過(guò)調制后發(fā)送出去。
對于集成在芯片內部的命令,只要發(fā)送命令碼,芯片會(huì )自動(dòng)將命令以數據幀的格式經(jīng)過(guò)調制后發(fā)送出去。如圖4為Query的命令發(fā)送格式。
只有芯片的工作模式設置為常規數據模式時(shí),才能使用芯片內部集成命令。在直接數據模式下,所有的命令格式都由控制器完成。
2.3 讀寫(xiě)器的防沖突
RFID系統中,多標簽引起的沖突是影響系統效率的難題,傳統的概率性防沖突算法采用的是幀時(shí)隙Aloha算法或動(dòng)態(tài)幀時(shí)隙Aloha算法等。但這些算法都存在系統識別效率不高等問(wèn)題。當標簽數遠大于幀時(shí)隙數時(shí),發(fā)生碰撞的時(shí)隙數增多,讀寫(xiě)器不能完成標簽的讀?。寒敇撕灁颠h小于幀時(shí)隙數時(shí),空閑時(shí)隙增多而導致時(shí)隙浪費,這些都是導致系統效率不高的根本原因。鑒于以上的弊端,本文提出了一種基于幀時(shí)隙Aloha的改進(jìn)型算法,核心思想是將標簽識別分為兩個(gè)步驟,即沖突檢測和數據讀取。其中沖突檢測是為了檢測一個(gè)識別周期中的標簽發(fā)生沖突的情況。數據讀取是根據沖突檢測的情況,允許無(wú)沖突的標簽和閱讀器完成通信。
通常,在幀時(shí)隙Aloha算法中,當系統標簽數量變得很大時(shí),系統效率就開(kāi)始下降。當讀寫(xiě)器設置幀的長(cháng)度(包含的時(shí)隙數)為Nt,響應的標簽數為n時(shí),則有r個(gè)標簽選擇同一個(gè)應答時(shí)隙的概率服從二項分布.
因此,當r=1時(shí)表示標簽選擇無(wú)碰時(shí)隙的概率。在一個(gè)周期中預期成功讀取的標簽數
系統效率的計算公式如下:
系統效率=一個(gè)周期中預期讀取的標簽數/當前的幀的長(cháng)度=N/N,
從上式中可以計算出系統效率的最大值的位置。從而可以推導出,當幀的長(cháng)度為Nt時(shí),效率最高的標簽響應數為:
從上式可以得出,當標簽數和幀時(shí)隙長(cháng)度大體相當時(shí),系統效率將變得最大。與圖5所示一致。
為使系統效率最高,必須使幀時(shí)隙數等于參與循環(huán)的標簽數。每幀時(shí)隙數可以根據標簽數的變化及時(shí)調整,使得標簽數量與幀時(shí)隙數匹配。在開(kāi)始一個(gè)新的循環(huán)時(shí),讀寫(xiě)器要對參與循環(huán)的標簽數進(jìn)行估計,如果所估計的標簽數與實(shí)際情況相差甚遠,那么算法的效率就會(huì )發(fā)生大幅的下降。通過(guò)對上一個(gè)周期通信所獲取的空的時(shí)隙數、發(fā)生碰撞的時(shí)隙數和只有一個(gè)標簽傳輸數據的時(shí)隙數來(lái)估計標簽的數量,由估計的標簽的數量來(lái)及時(shí)調整下一幀的長(cháng)度。由于當外圍標簽數量與幀時(shí)隙數偏離較大時(shí),系統效率會(huì )急劇下降,所以通過(guò)幀時(shí)隙改進(jìn)型算法能夠把系統的效率控制在34.6%~36.8%范圍內,從而大幅提高了系統的識別效率。在實(shí)際的RFID系統中,被正確識別的標簽將不再響應讀寫(xiě)器發(fā)送的數據傳輸請求,同樣,成功傳輸數據的標簽也不再響應讀寫(xiě)器的請求。因此前一幀中沒(méi)有被識別的標簽數為N=2.93c。其中c表示發(fā)生碰撞的時(shí)隙數。通過(guò)對未識別的標簽數進(jìn)行估計,選擇最佳的幀時(shí)隙長(cháng)度,從而使每個(gè)循環(huán)周期中響應標簽數與幀時(shí)隙數相匹配,從而大幅度提高了系統的效率。
3 總結
本文選用FPGA芯片與AS3990射頻收發(fā)芯片設計并實(shí)現了遠距離UHF RFID讀寫(xiě)器,標簽識別距離達到3~4m,已基本滿(mǎn)足應用要求。并提出了一種幀時(shí)隙Aloha防碰撞的改進(jìn)型算法。通過(guò)動(dòng)態(tài)地調整幀時(shí)隙數與外圍標簽數相匹配,使讀寫(xiě)器系統的讀取效率維持在34.6%~36.8%范圍內,大幅度提高了系統的讀取效率。