基于虛擬無線電的RFID讀寫器實(shí)現(xiàn)方案
摘要:隨著通用計(jì)算機(jī)性能的不斷提高,虛擬無線電技術(shù)得以發(fā)展。根據(jù)虛擬無線電處理基帶信號(hào)具有更好的靈活性、通用性和開放性的優(yōu)點(diǎn)以及ISO/IEC 18000-6C標(biāo)準(zhǔn)中超高頻RFID讀寫器的特桂,在此提出了一種基于虛擬無線電的超高頻RFID讀寫器的實(shí)現(xiàn)方案。該方案介紹了常見RFID系統(tǒng)的結(jié)構(gòu)和工作原理,重點(diǎn)闡述了基于虛擬無線電的RFID讀寫器的整體結(jié)構(gòu)和工作流程,并對(duì)接收端算法做了研究與實(shí)現(xiàn)。
關(guān)鍵詞:虛擬無線電;超高頻;射頻識(shí)別;讀寫器;電子標(biāo)簽
0 引言
近年來,隨著多核CPU的出現(xiàn)與應(yīng)用,個(gè)人計(jì)算機(jī)在計(jì)算能力和性能上大幅度提高,在某種程度上可以與傳統(tǒng)的專用數(shù)字信號(hào)處理器媲美,因此在一臺(tái)計(jì)算機(jī)上設(shè)計(jì)通用的軟件無線電平臺(tái)已成為一種可能。研究基于多核PC的軟件無線電平臺(tái),能夠在在一臺(tái)計(jì)算機(jī)上實(shí)現(xiàn)多種通信協(xié)議,而且易于開發(fā)和軟件升級(jí),無論從開發(fā)者角度講,還是從用戶角度講,都極大地方便了各自的工作和體驗(yàn),具有重要的研究價(jià)值和商業(yè)應(yīng)用價(jià)值。虛擬無線電是一種真正意義上的軟件無線電。它采用高性能的模/數(shù)和數(shù)/模轉(zhuǎn)換器,對(duì)寬帶射頻信號(hào)直接進(jìn)行變換,所有無線電功能用運(yùn)行于工作站或個(gè)人計(jì)算機(jī)上的應(yīng)用程序來實(shí)現(xiàn)。虛擬無線電技術(shù)主要有如下特點(diǎn):易于實(shí)驗(yàn);開發(fā)快捷;與其他應(yīng)用結(jié)合;改進(jìn)功能實(shí)現(xiàn)。無線射頻識(shí)別技術(shù)(Radio Frequency Identification,RFID)是一種非接觸的射頻識(shí)別技術(shù),其基本原理是通過射頻信號(hào)與空間耦合傳輸特性,實(shí)現(xiàn)對(duì)被識(shí)別物體的自動(dòng)識(shí)別?,F(xiàn)有的RFID讀寫器一般采用ASIC,DSP,F(xiàn)PGA或ARM對(duì)基帶信號(hào)進(jìn)行處理,此方法處理基帶信號(hào)方法不靈活,且需要設(shè)計(jì)人員掌握每種嵌入式系統(tǒng)的開發(fā)方法,因此技術(shù)門檻比較高,開發(fā)周期較長。隨著通用計(jì)算機(jī)性能的不斷提高,使得基于通用處理器實(shí)現(xiàn)通信系統(tǒng)成為可能,根據(jù)虛擬無線電的上述特點(diǎn),本文提出了基于虛擬無線電實(shí)現(xiàn)RFID讀寫器的方案。
1 RFID系統(tǒng)結(jié)構(gòu)與工作原理
常見的RFID系統(tǒng)包括4部分:標(biāo)簽、天線、讀寫器和控制器(即PC主機(jī))組成。如圖1所示。
RFID系統(tǒng)的工作原理為讀寫器通過天線發(fā)出含有信息的一定頻率的射頻信號(hào),當(dāng)標(biāo)簽進(jìn)入讀寫器的識(shí)別區(qū)域內(nèi),標(biāo)簽周圍形成電磁場(chǎng),其天線通過耦合產(chǎn)生感應(yīng)電流,從而獲得能量漱活內(nèi)部微芯片電路。此時(shí)標(biāo)簽根據(jù)讀寫器發(fā)出的信息決定是否響應(yīng),即是否反向散射數(shù)據(jù);需要響應(yīng)時(shí),標(biāo)簽通過天線將存儲(chǔ)在標(biāo)簽中的信息轉(zhuǎn)換成電磁波,然后發(fā)送給讀寫器;讀寫器接收到標(biāo)簽反射的信號(hào)時(shí),將信號(hào)進(jìn)行解調(diào)和解碼,識(shí)別出標(biāo)簽反向散射的數(shù)據(jù),然后通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口傳送給控制器;控制器根據(jù)邏輯運(yùn)算判斷該標(biāo)簽的合法性,針對(duì)不同的設(shè)定對(duì)這些數(shù)據(jù)進(jìn)行管理和控制。
按照讀寫器發(fā)射頻率的不同,RFID系統(tǒng)可以分為低頻(135 kHz以下),高頻(13.56 MHz),超高頻(860~960 MHz)和微波(2.4 GHz以上)等幾大類。其中,超高頻RFID系統(tǒng)一般采用電磁反向散射原理來實(shí)現(xiàn)讀寫器和電子標(biāo)簽之間的通信過程。
本文介紹的基于虛擬無線電實(shí)現(xiàn)的RFID讀寫器符合ISO/IEC 18000-6C標(biāo)準(zhǔn)。ISO/IEC 18000-6C標(biāo)準(zhǔn)是信息技術(shù)領(lǐng)域關(guān)于超高頻RFID技術(shù)的空中通信技術(shù)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)采用開放的體系結(jié)構(gòu),充分考慮了標(biāo)簽低處理能力、低功耗和低成本要求,在射頻頻段選擇、物理層數(shù)據(jù)編碼及調(diào)制方式、防沖突算法、標(biāo)簽訪問控制和隱私保護(hù)等技術(shù)方面采取了一系列改進(jìn);其中,讀寫器到標(biāo)簽的前向鏈路的調(diào)制方式為ASK,采用PIE編碼,標(biāo)簽到讀寫器的反向鏈路的調(diào)制方式為ASK或PSK,采用FM0編碼或者M(jìn)iller編碼,并對(duì)傳輸數(shù)據(jù)采用差錯(cuò)控制編碼技術(shù)(CRC16校驗(yàn))。本文介紹的讀寫器到標(biāo)簽的前向鏈路采用ASK調(diào)制方式和PIE編碼,標(biāo)簽到讀寫器的反向鏈路采用ASK調(diào)制方式和FM0編碼。
2 基于虛擬無線電實(shí)現(xiàn)讀寫器的方法
2.1 讀寫器的結(jié)構(gòu)
該讀寫器的結(jié)構(gòu)如圖2所示,主要由4部分組成:主控部分、FPGA邏輯控翻模塊、射頻前端模塊及天線。主控部分:主控部分選擇通用PC,標(biāo)簽識(shí)別層數(shù)據(jù)處理和基帶信號(hào)處理在PC中完成,通過PCIe接口和邏輯控制模塊連接;FPGA邏輯控制模塊:主要負(fù)責(zé)有AD/DA控制、RF切換、功放、發(fā)送和接收數(shù)據(jù)控制的功能;射頻前端模塊:其中射頻收發(fā)功能采用LMS6002D芯片實(shí)現(xiàn),該芯片集成LNA/PA驅(qū)動(dòng)、IX/RX混頻器、TX/RX濾波器、頻率綜合器、接收增益控制發(fā)送功率控制等子模塊,能夠完成射頻模擬前端的大部分功能天線。
2.2 工作流程
讀寫器工作流程分為讀寫器發(fā)送指令與接收標(biāo)簽反向散射的數(shù)據(jù)信息2部分。
讀寫器發(fā)送指令的工作流程:
(1)應(yīng)用層程序發(fā)出調(diào)用標(biāo)簽識(shí)別層模塊的命令,標(biāo)簽識(shí)別層模塊產(chǎn)生要發(fā)送的訪問標(biāo)簽的指令,并將指令送至基帶處理模塊;
(2)基帶處理模塊對(duì)標(biāo)簽識(shí)別層指令進(jìn)行編碼調(diào)制,生成基帶信號(hào),基帶信號(hào)分成I,Q兩路通過PCIe接口傳入FPGA的FIFO;
(3)FIFO中的數(shù)據(jù)被打包成串行基帶信號(hào)送至射頻前端模塊;
(4)串行基帶信號(hào)進(jìn)入射頻前端模塊經(jīng)過DA變換、功率放大、上變頻后被調(diào)制到超高頻頻段,然后送至帶通濾波器進(jìn)行濾波;
(5)濾波以后,信號(hào)被送至功率放大器放大,然后送至天線發(fā)送出去。
讀寫器接收標(biāo)簽反向散射的數(shù)據(jù)信息的工作流程:
(1)標(biāo)簽接收到讀寫器發(fā)來的信號(hào),獲得能量被上電激活,開始執(zhí)行讀寫器命令,并進(jìn)行判斷是否需要應(yīng)答,需要應(yīng)答時(shí),將應(yīng)答信息以反向散射方式通過天線送至射頻前端模塊;
(2)射頻前端模塊將接收到的信號(hào)送至帶通濾波器進(jìn)行濾波,濾波后通過低噪放、下變頻、AD變換等部分,載波信號(hào)恢復(fù)為基帶信號(hào)并傳入FPGA的FIFO;
(3)FIFO中的數(shù)據(jù)通過PCIe接口被送至PC中的基帶處理模塊;
(4)基帶信號(hào)處理模塊對(duì)接收到的數(shù)字基帶信號(hào)進(jìn)行解調(diào),將結(jié)果傳遞給標(biāo)簽識(shí)別層;
(5)標(biāo)簽識(shí)別層根據(jù)接收到的標(biāo)簽反向散射的數(shù)據(jù)進(jìn)行CRC校驗(yàn),解出標(biāo)簽反向散射的信息并做出判斷,決定下一次發(fā)送的指令。
2.3 主控部分
2.3.1 主控部分軟件設(shè)計(jì)
系統(tǒng)的主控部分為PC,結(jié)構(gòu)圖如圖2讀寫器的結(jié)構(gòu)圖左邊部分所示。主控部分的工作主要包括:完成基帶信號(hào)處理、標(biāo)簽識(shí)別處理和驅(qū)動(dòng)層與應(yīng)用層的數(shù)據(jù)通信。
工作原理:啟動(dòng)時(shí),通過PC配置射頻參數(shù),射頻參數(shù)存入緩沖區(qū)寄存器中,初始化內(nèi)存;應(yīng)用程序發(fā)出對(duì)標(biāo)簽的應(yīng)用功能指令,該指令通過應(yīng)用程序接口調(diào)用標(biāo)簽識(shí)別處理模塊,標(biāo)簽識(shí)別處理模塊發(fā)出相應(yīng)的指令給基帶處理模塊,基帶處理模塊對(duì)指令進(jìn)行編碼調(diào)制形成基帶信號(hào),通過PCIe接口將基帶信號(hào)發(fā)送給射頻板;主控部分通過PCIe接口接收射頻板傳送來的基帶信號(hào),基帶處理模塊對(duì)基帶信號(hào)進(jìn)行解調(diào),形成標(biāo)簽反向散射的指令格式,傳至標(biāo)簽識(shí)別處理模塊,標(biāo)簽識(shí)別處理模塊對(duì)指令進(jìn)行相關(guān)CRC校驗(yàn)對(duì)做出相應(yīng)的響應(yīng)。軟件流程如圖3所示。
2.3.2 防沖突軟件設(shè)計(jì)
為防止多個(gè)標(biāo)簽同時(shí)響應(yīng),讀寫器發(fā)送的Query指令中令Q不等于0,Q為(0~15),標(biāo)簽接收到Query指令后,會(huì)選擇(0~2Q-1)給Slot Counter,當(dāng)Slot Counter=0時(shí),標(biāo)簽反向散射數(shù)據(jù),Slot Counter不為0時(shí)標(biāo)簽不響應(yīng),如果標(biāo)簽無響應(yīng),則連續(xù)發(fā)送QueryReq,每發(fā)送一次QueryReq,標(biāo)簽的Slot Counter的值會(huì)減1,直到Slot Counter=0,標(biāo)簽響應(yīng)為止。其流程圖如圖4所示。
3 接收端算法研究與實(shí)現(xiàn)
接收端算法:接收端接收的信號(hào)為(A/2)g(t),經(jīng)過I/Q兩路解調(diào)、低通濾波、隔直流后分別為(A/2)g(t)sinθ和(A/2)g(t)cosθ,如果只采用單路接收信號(hào),當(dāng)接收信號(hào)的相位和本振信號(hào)的相位相差θ為90°或者0°,則接收到的信號(hào)(A/2)g(t)sinθ或(A/2)g(t)cosθ可能始終為0,即有用信號(hào)沒有解調(diào)出來。為了避免射頻場(chǎng)中存在的盲點(diǎn),系統(tǒng)接收端采用兩路正交混頻結(jié)構(gòu),即:
將I,Q兩路信號(hào)平方后求和得出(A2/4)g2(t),無論接收信號(hào)的相位和本振信號(hào)的相位相差θ為多少,總能解調(diào)出有用信號(hào)。
對(duì)于本方案,接收端基帶信號(hào)處理在PC中完成,PC中接收到的I,Q兩路的數(shù)據(jù)存在一個(gè)數(shù)組RECEIVE[N]中,針對(duì)接收端算法的其體實(shí)現(xiàn)步驟如圖5所示。
(1)首先解調(diào)出I,Q兩路信號(hào):即:
RECEIVE_I=RECEIVE(1,1:2:N)
RECEIVE_Q=RECEIVE(1,2:2:N)
RECEIVE_data2=RECEIVE_I2+RECEIVE_Q2
//N為接收數(shù)據(jù)所在數(shù)組的大小
(2)求接收信號(hào)的均值,即求信號(hào)的直流分量
sum=O
for i=1:N/2
sum=sum+RECEIVE_data[i]
end
ave_sum=(sum/(N/2))
(3)去直流分量
RECEIVE_data=RECEIVE_data-ave_sum
(4)做相關(guān),找到同步點(diǎn)
在該系統(tǒng)中,標(biāo)簽反向散射的數(shù)據(jù)有加短前導(dǎo)Frame_Sync和長前導(dǎo)Preamble兩種形式,讀寫器發(fā)送的Query指令中的TRext位決定了標(biāo)簽反向散射的數(shù)據(jù)的前導(dǎo)形式,本方案中標(biāo)簽反向散射的數(shù)據(jù)采用加前導(dǎo)Preamble的方式。
首先,生成本地的Preamble信號(hào),即編碼調(diào)制后為Preamble[m],將Preamble[m]與接收到的RECEIVE_data做相關(guān),找到最大點(diǎn),取出標(biāo)簽反向散射的數(shù)據(jù)。
以讀寫器發(fā)送Query指令為例,在采樣率為10 MHz,標(biāo)簽反向鏈路頻率為200 kHz時(shí),標(biāo)簽響應(yīng)時(shí)反向散射信號(hào)Preamble+RN16(16位隨機(jī)碼),通過上述過程,解調(diào)出數(shù)據(jù)如圖6所示,顯示方式為:數(shù)據(jù)以兩路A,B方式,其中A為上部分,B為下部分,如RN16[N],則有:
(5)解調(diào)標(biāo)簽反向散射的數(shù)據(jù)
根據(jù)射頻部分的采樣率和標(biāo)簽反向散射數(shù)據(jù)的調(diào)制方式,對(duì)0和1進(jìn)行編碼調(diào)制,生成0和1的本地基帶信號(hào),將其與接收的數(shù)據(jù)進(jìn)行相關(guān),并進(jìn)行判斷,解調(diào)出標(biāo)簽反向散射的數(shù)據(jù)。
對(duì)圖6中的數(shù)據(jù)進(jìn)行解調(diào)得出此次標(biāo)簽反向散射的隨機(jī)數(shù)為:1101 0001 0100 0011。
4 結(jié)語
本文提出的基于虛擬無線電的RFID讀寫器的實(shí)現(xiàn)方案,從系統(tǒng)級(jí)角度對(duì)基于虛擬無線電的RFID讀寫器的硬件平臺(tái)及主控部分進(jìn)行了闡述,并對(duì)接收端算法進(jìn)行了研究與實(shí)現(xiàn)。虛擬無線電技術(shù)易于實(shí)驗(yàn)、開發(fā)快捷、與其他應(yīng)用結(jié)合、改進(jìn)功能盼特點(diǎn),使得基于虛擬無線電的超高頻RPID讀寫器具有靈活處理基帶信號(hào)、支持開發(fā)多種協(xié)議的優(yōu)點(diǎn)。實(shí)踐結(jié)果表明,基于虛擬無線電實(shí)現(xiàn)超高頻RFID讀寫器的方案具有可行性。