摘 要:隨著通用計算機性能的不斷提高,虛擬無線電技術得以發展。根據虛擬無線電處理基帶信號具有更好的靈活性、通用性和開放性的優點以及ISO/IEC 180006C標準中超高頻RFID讀寫器的特性,在此提出了一種基于虛擬無線電的超高頻RFID讀寫器的實現方案。該方案介紹了常見RFID系統的結構和工作原理,重點闡述了基于虛擬無線電的RFID讀寫器的整體結構和工作流程,并對接收端算法做了研究與實現。
關鍵詞:虛擬無線電; 超高頻; 射頻識別; 讀寫器; 電子標簽
中圖分類號:TN9234 文獻標識碼:A 文章編號:1004373X(2012)22002304
近年來,隨著多核CPU的出現與應用,個人計算機在計算能力和性能上大幅度提高,在某種程度上可以與傳統的專用數字信號處理器媲美,因此在一臺計算機上設計通用的軟件無線電平臺已成為一種可能。研究基于多核PC的軟件無線電平臺,能夠在在一臺計算機上實現多種通信協議,而且易于開發和軟件升級,無論從開發者角度講,還是從用戶角度講,都極大地方便了各自的工作和體驗,具有重要的研究價值和商業應用價值。虛擬無線電是一種真正意義上的軟件無線電[1]。它采用高性能的模/數和數/模轉換器,對寬帶射頻信號直接進行變換, 所有無線電功能用運行于工作站或個人計算機上的應用程序來實現。虛擬無線電技術主要有如下特點[2]:易于實驗;開發快捷;與其他應用結合;改進功能實現。無線射頻識別技術(Radio Frequency Identification,RFID)是一種非接觸的射頻識別技術,其基本原理是通過射頻信號與空間耦合傳輸特性,實現對被識別物體的自動識別[3]。現有的RFID讀寫器一般采用ASIC,DSP,FPGA或ARM對基帶信號進行處理,此方法處理基帶信號方法不靈活,且需要設計人員掌握每種嵌入式系統的開發方法,因此技術門檻比較高,開發周期較長。隨著通用計算機性能的不斷提高,使得基于通用處理器實現通信系統成為可能,根據虛擬無線電的上述特點,本文提出了基于虛擬無線電實現RFID讀寫器的方案。
1 RFID系統結構與工作原理
常見的RFID系統[4]包括4部分:標簽、天線、讀寫器和控制器(即PC主機)組成。如圖1所示。
圖1 基本的RFID系統RFID系統的工作原理為讀寫器通過天線發出含有信息的一定頻率的射頻信號,當標簽進入讀寫器的識別區域內,標簽周圍形成電磁場,其天線通過耦合產生感應電流,從而獲得能量激活內部微芯片電路。此時標簽根據讀寫器發出的信息決定是否響應,即是否反向散射數據;需要響應時,標簽通過天線將存儲在標簽中的信息轉換成電磁波,然后發送給讀寫器;讀寫器接收到標簽反射的信號時,將信號進行解調和解碼,識別出標簽反向散射的數據,然后通過標準的網絡接口傳送給控制器;控制器根據邏輯運算判斷該標簽的合法性,針對不同的設定對這些數據進行管理和控制。
按照讀寫器發射頻率的不同,RFID系統可以分為低頻(135 kHz以下),高頻(13.56 MHz),超高頻(860~960 MHz)和微波(2.4 GHz以上)等幾大類。其中,超高頻RFID系統一般采用電磁反向散射原理來實現讀寫器和電子標簽之間的通信過程。
本文介紹的基于虛擬無線電實現的RFID讀寫器符合ISO/IEC 180006C標準[5]。ISO/IEC 180006C標準是信息技術領域關于超高頻RFID技術的空中通信技術標準。該標準采用開放的體系結構,充分考慮了標簽低處理能力、低功耗和低成本要求,在射頻頻段選擇、物理層數據編碼及調制方式、防沖突算法、標簽訪問控制和隱私保護等技術方面采取了一系列改進;其中,讀寫器到標簽的前向鏈路的調制方式為ASK,采用PIE編碼,標簽到讀寫器的反向鏈路的調制方式為ASK或PSK,采用FM0編碼或者Miller編碼,并對傳輸數據采用差錯控制編碼技術(CRC16校驗)。本文介紹的讀寫器到標簽的前向鏈路采用ASK調制方式和PIE編碼,標簽到讀寫器的反向鏈路采用ASK調制方式和FM0編碼。
2 基于虛擬無線電實現讀寫器的方法
2.1 讀寫器的結構
該讀寫器的結構如圖2所示,主要由4部分組成:主控部分、FPGA邏輯控制模塊、射頻前端模塊及天線。主控部分:主控部分選擇通用PC,標簽識別層數據處理和基帶信號處理在PC中完成,通過PCIe接口和邏輯控制模塊連接;FPGA邏輯控制模塊:主要負責有AD/ DA控制、RF切換、功放、發送和接收數據控制的功能;射頻前端模塊:其中射頻收發功能采用LMS6002D芯片實現,該芯片集成LNA/PA驅動、TX /RX混頻器、TX /RX濾波器、頻率綜合器、接收增益控制發送功率控制等子模塊,能夠完成射頻模擬前端的大部分功能;天線。
圖2 讀寫器的結構2.2 工作流程
讀寫器工作流程分為讀寫器發送指令與接收標簽反向散射的數據信息2部分。
讀寫器發送指令的工作流程:
(1) 應用層程序發出調用標簽識別層模塊的命令,標簽識別層模塊產生要發送的訪問標簽的指令,并將指令送至基帶處理模塊;
(2) 基帶處理模塊對標簽識別層指令進行編碼調制,生成基帶信號,基帶信號分成I,Q兩路通過PCIe接口傳入FPGA的FIFO;
(3) FIFO中的數據被打包成串行基帶信號送至射頻前端模塊;
(4) 串行基帶信號進入射頻前端模塊經過DA變換、功率放大、上變頻后被調制到超高頻頻段,然后送至帶通濾波器進行濾波;
(5) 濾波以后,信號被送至功率放大器放大,然后送至天線發送出去。
讀寫器接收標簽反向散射的數據信息的工作流程:
(1) 標簽接收到讀寫器發來的信號,獲得能量被上電激活,開始執行讀寫器命令,并進行判斷是否需要應答,需要應答時,將應答信息以反向散射方式通過天線送至射頻前端模塊;
(2) 射頻前端模塊將接收到的信號送至帶通濾波器進行濾波,濾波后通過低噪放、下變頻、AD變換等部分,載波信號恢復為基帶信號并傳入FPGA的FIFO;
(3) FIFO中的數據通過PCIe接口被送至PC中的基帶處理模塊;
(4) 基帶信號處理模塊對接收到的數字基帶信號進行解調,將結果傳遞給標簽識別層;
(5) 標簽識別層根據接收到的標簽反向散射的數據進行CRC校驗,解出標簽反向散射的信息并做出判斷,決定下一次發送的指令。
2.3 主控部分
2.3.1 主控部分軟件設計
系統的主控部分為PC,結構圖如圖2讀寫器的結構圖左邊部分所示。主控部分的工作主要包括:完成基帶信號處理、標簽識別處理和驅動層與應用層的數據通信。
工作原理:啟動時,通過PC配置射頻參數,射頻參數存入緩沖區寄存器中,初始化內存;應用程序發出對標簽的應用功能指令,該指令通過應用程序接口調用標簽識別處理模塊,標簽識別處理模塊發出相應的指令給基帶處理模塊,基帶處理模塊對指令進行編碼調制形成基帶信號,通過PCIe接口將基帶信號發送給射頻板;主控部分通過PCIe接口接收射頻板傳送來的基帶信號,基帶處理模塊對基帶信號進行解調,形成標簽反向散射的指令格式,傳至標簽識別處理模塊,標簽識別處理模塊對指令進行相關CRC校驗對做出相應的響應。軟件流程如圖3所示。
為防止多個標簽同時響應,讀寫器發送的Query指令中令Q不等于0,Q為(0~15),標簽接收到Query指令后,會選擇(0~2Q-1)給Slot Counter,當Slot Counter=0時,標簽反向散射數據,Slot Counter不為0時標簽不響應,如果標簽無響應,則連續發送QueryReq,每發送一次QueryReq,標簽的Slot Counter的值會減1,直到Slot Counter=0,標簽響應為止。其流程圖如圖4所示。
接收端算法:接收端接收的信號為(A/2)g(t),經過I/Q兩路解調、低通濾波、隔直流后分別為(A/2)g(t)sin θ和(A/2)g(t)cos θ,如果只采用單路接收信號,當接收信號的相位和本振信號的相位相差θ為90°或者0°,則接收到的信號(A/2)g(t)sin θ或(A/2)g(t)cos θ可能始終為0,即有用信號沒有解調出來。為了避免射頻場中存在的盲點,系統接收端采用兩路正交混頻結構[6],即:((A/2)g(t)sin θ)2+((A/2)g(t)cos θ)2=
(A2/4)g2(t)
(1)將I,Q兩路信號平方后求和得出(A2/4)g2(t),無論接收信號的相位和本振信號的相位相差θ為多少,總能解調出有用信號。
對于本方案,接收端基帶信號處理在PC中完成,PC中接收到的I,Q兩路的數據存在一個數組RECEIVE[N]中,針對接收端算法的具體實現步驟如圖5所示。
圖5 接收端算法實現步驟(1) 首先解調出I,Q兩路信號。即:
RECEIVE_I=RECEIVE(1,1:2:N)
RECEIVE_Q=RECEIVE(1,2:2:N)
RECEIVE_data2=RECEIVE_I2+RECEIVE_Q2
//N為接收數據所在數組的大小
(2) 求接收信號的均值,即求信號的直流分量
sum=0
for i=1:N/2
sum=sum+RECEIVE_data[i]
end
ave_sum=(sum/(N/2))
(3) 去直流分量
RECEIVE_data = RECEIVE_data-ave_sum
(4) 做相關,找到同步點
在該系統中,標簽反向散射的數據有加短前導Frame_Sync和長前導Preamble兩種形式,讀寫器發送的Query指令中的TRext位決定了標簽反向散射的數據的前導形式,本方案中標簽反向散射的數據采用加前導Preamble的方式。
首先,生成本地的Preamble信號,即編碼調制后為Preamble[m],將Preamble[m]與接收到的RECEIVE_data做相關,找到最大點,取出標簽反向散射的數據。
Cor=0
for i=1:N/2
Cor= Cor+RECEIVE_data(i:i+m)*Preamble(1:m)
end
Correlation_Value= Cor2
//取出最大的 Correlation_Value,此時假設i=k
RECEIVE_data=RECEIVE_data(1,k:k+Data_Length)
//Data_Length為標簽反向反射的數據去掉前導后的長度
以讀寫器發送Query指令為例,在采樣率為10 MHz,標簽反向鏈路頻率為200 kHz時,標簽響應時反向散射信號Preamble+RN16(16位隨機碼),通過上述過程,解調出數據如圖6所示,顯示方式為:數據以兩路A,B方式,其中A為上部分,B為下部分,如RN16[N],則有:
A=RN16(1,1:2:N);
//N為RN16的采樣點數
B=RN16(1,2:2:N);
圖6 做相關后的RN16(5) 解調標簽反向散射的數據
根據射頻部分的采樣率和標簽反向散射數據的調制方式,對0和1進行編碼調制,生成0和1的本地基帶信號,將其與接收的數據進行相關,并進行判斷,解調出標簽反向散射的數據。
Cor_0=0; Cor_1=0
for i=1:n
Cor_0 = Cor_0 + zero_1(1,1:n) *RECEIVE_data(1,1+i:n+i)
Cor_1 = Cor_1 + one_1(1,1:n) * RECEIVE_data(1,1+i:n+i)
end
判斷Cor_0與Cor_1的大??;
Cor_0大時 RECEIVE_d為0;Cor_1大時 RECEIVE_d為1
對圖6中的數據進行解調得出此次標簽反向散射的隨機數為:1101 0001 0100 0011。
4 結 語
本文提出的基于虛擬無線電的RFID讀寫器的實現方案,從系統級角度對基于虛擬無線電的RFID讀寫器的硬件平臺及主控部分進行了闡述,并對接收端算法進行了研究與實現。虛擬無線電技術易于實驗、開發快捷、與其他應用結合、改進功能的特點,使得基于虛擬無線電的超高頻RFID讀寫器具有靈活處理基帶信號、支持開發多種協議的優點。實踐結果表明,基于虛擬無線電實現超高頻RFID讀寫器的方案具有可行性。
參 考 文 獻
[1] TAN Kun, ZHANG Jiansong, FANG Ji, et al. Sora: high performance software radio using general purpose multicore processors \[J\]. Communications of the Association for Computing Machinery, 2011, 54(1): 99107.
[2] 張麗.虛擬無線電接收機的實現與算法研究[D].西安:西安電子科技大學,2007.
[3] FINKENZELLER K.射頻識別( RFID)技術:無線電感應的應答器和非接觸IC卡的原理與應用[M].陳大才,譯.北京:電子工業出版社,2001.
[4] HUNT V D, PUGLIA Mike, PUGLIA Albert. A guide to radio frequency identification \[M\]. United States of America: \[s.n.\], 2007.
[5] EPCglobal Inc. Specification for RFID air interface \[R\]. \[S.l.\]: EPCglobal Inc., 2005.
[6] 陳逆,張春,王敬超.超高頻RFID讀寫器基帶處理器的設計[J].半導體技術,2009,34(4):370374.
[7] 唐志軍,席在芳,詹杰.無源反向散射RFID系統識別距離的影響因素分析[J].計算機工程與應用,2011(8):9597.
[8] 侯周國,何怡剛,李兵,等.基于軟件無線電的無源超高頻RFID標簽性能測試[J].物理學報,2009,59(8):56065612.
作者簡介: 謝永清 女,1988年出生,碩士研究生。主要研究方向為軟件無線電。