UHF RFID" title="RFID">RFID技術(shù)將廣泛應用于各個行業(yè)領(lǐng)域,, 可靠的閱讀器是UHF RFID系統(tǒng)的重要組成部分,, 而基帶處理芯片能夠為閱讀器設(shè)計提供基帶信號處理解決方案。結(jié)合UHF RFID技術(shù)本身所固有的特點,, 本文的閱讀器設(shè)計采用了IQ 兩路正交調(diào)制解調(diào)的零中頻方案,。整個閱讀器由射頻前端和基帶處理兩個部分組成, 射頻前端對發(fā)送基帶信號進行上變頻和功率放大等處理后發(fā)射給電子標簽,, 然后在接收到標簽的返回信號時,, 對接收信號進行放大、濾波,、下變頻等處理后將基帶信號傳輸給基帶處理芯片,。
本文介紹基于ISO / IEC 18000 6C 協(xié)議的UHF RF ID閱讀器基帶處理芯片接收端電路的設(shè)計, 該電路可以與基帶處理發(fā)送端,、中央處理器( CPU )集成,, 共同構(gòu)成整個基帶處理芯片。
1 電路總體結(jié)構(gòu)
UHF RFID閱讀器" title="RFID閱讀器">RFID閱讀器基帶處理接收端電路的總體結(jié)構(gòu)如圖1所示,, 主要包括輸入基帶信號低通濾波器,、解調(diào)器、解碼器,、數(shù)據(jù)串并轉(zhuǎn)換模塊,、信息傳遞接口(MPI)模塊和接收機控制模塊六個功能模塊。
從ADC 采樣進來的兩路基帶正交信號i_data i和i_dataq首先經(jīng)過低通濾波器FIR _ filter進行濾波,, 以便后級電路對信號進行處理,。
UHF RFID閱讀器基帶處理" title="RFID閱讀器基帶處理">RFID閱讀器基帶處理接收端電路框圖
圖1 UHF RFID閱讀器基帶處理接收端電路框圖
濾波后的I和Q信號進入解調(diào)器demodu lator, 調(diào)制方式自動識別子模塊mode_d iscrim inator首先識別接收信號的調(diào)制方式,, 之后選擇對接收信號進行ASK或者PSK 解調(diào)得到?jīng)]有實現(xiàn)位同步的信號,, 最后位同步子模塊bit_synchrono izer從該信號提取出位同步時鐘并判決得到同步二進制數(shù)據(jù)流。解調(diào)后數(shù)據(jù)流與提取出來的同步時鐘脈沖一起輸出到解碼器decoder,, 按照FM0或M iller編碼規(guī)則對數(shù)據(jù)進行解碼,,同時檢查編碼規(guī)則并對編碼規(guī)則錯誤進行計數(shù)。若沒有出現(xiàn)編碼規(guī)則錯誤,, 還將在CRC 校驗子模塊crc_verifier中對解碼后的數(shù)據(jù)進行CRC 16校驗,。
解碼出來的信號是串行的, 而在信息傳遞接口模塊rx_mp i中的接收緩存是并行輸入的,, 所以將數(shù)據(jù)存入緩存中之前由數(shù)據(jù)串并轉(zhuǎn)換模塊serial_to_para lle l完成串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),。該模塊產(chǎn)生接收緩存的寫數(shù)據(jù)、寫地址和寫使能信號, 并對接收到的數(shù)據(jù)進行計數(shù),, 計數(shù)結(jié)果放在rx_mp i中指定的寄存器中供CPU 查詢,。數(shù)據(jù)串并轉(zhuǎn)換模塊同時檢測緩存是否溢出并給出緩存溢出錯誤標志信號,在每一幀數(shù)據(jù)結(jié)束處給出幀結(jié)束脈沖信號,。
信息傳遞接口模塊rx_mp i主要負責基帶處理電路(包括接收端,、發(fā)送端)和CPU 之間的數(shù)據(jù)通信。
該模塊首先把接收到的數(shù)據(jù)寫入接收緩存中,, 并在結(jié)束時置數(shù)據(jù)準備好標志寄存器DATA _RDY 有效(在出現(xiàn)幀起始檢測發(fā)生超時錯誤時也置數(shù)據(jù)準備好標志寄存器DATA _RDY 有效)以通知CPU 取走數(shù)據(jù),,同時寄存各種錯誤標志信號和錯誤計數(shù)值到相應寄存器供CPU 查詢。除此,, rx _mp i還負責接收來自CPU的指令信息并配置相應的控制寄存器,。
接收機控制模塊receiver_ctrl是接收部分的中央控制模塊, 根據(jù)控制寄存器中的配置信息輸出各個模塊需要的控制信號,, 用以配置各個功能模塊的工作模式,。
2 解調(diào)器設(shè)計
解調(diào)器主要包括ASK 解調(diào)、PSK解調(diào),、解調(diào)模式識別和位同步四個子模塊,。解調(diào)模式識別子模塊根據(jù)CPU 的配置或接收信號的特征決定采用ASK 或PSK 解調(diào)方法對信號進行解調(diào), 位同步子模塊從接收數(shù)據(jù)中提取位時鐘信號用來重新同步接收數(shù)據(jù),。
2. 1 ASK解調(diào)子模塊
當閱讀器接收來自電子標簽的信號采用ASK調(diào)制時,, 接收信號可以用如下表達式表示:
式中, am 為輸入碼元,, 取0或1; g ( n - m )是幅度為1,、寬度為單個碼元持續(xù)時間的波形函數(shù); 接收信號的載波頻率ω‘c與接收機本地載波頻率ωc 存在頻率偏移, 且兩者之間還有相位差△φ,, 與閱讀器發(fā)射天線和電子標簽之間的距離有關(guān); n0 為接收到的加性噪聲,。
一般的ASK解調(diào)在對S ( n )進行正交分解得同相和正交分量I 和Q 后, 求其平方和與開方,??傻茫?br />
即: 對A ( n )進行抽取判決, 便可以恢復出碼元信號,。
本文根據(jù)UHF RFID 技術(shù)的特殊性,, 采用如下方法對ASK 調(diào)制信號進行解調(diào): 雖然I’和Q‘隨著閱讀器與標簽之間距離的改變而變化, 變化時強時弱,,但是I’和Q‘具有功率互補性, 即在I’最弱的時候Q‘最強或者相反,。根據(jù)這個特點,, 本文在每幀標簽返回信號的幀前導序列出現(xiàn)時比較I’和Q‘的強度, 然后選擇信號比較強的一路分量進行判決。
ASK 解調(diào)示意圖
圖2 ASK 解調(diào)示意圖
2. 2 PSK 解調(diào)子模塊
當閱讀器接收來自電子標簽的信號采用PSK調(diào)制時,, 接收信號可以用如下表達式表示:
式中A0 為信號穩(wěn)定幅度值,, Φm 為調(diào)制相位值(BPSK調(diào)制時取0或π), g ( n - m ),、頻率偏移,、相位差△φ 、n0 與對式( 1)的描述相同,。
載波頻偏和相差將會影響PSK 信號的正確解調(diào),, 所以在對PSK 信號進行解調(diào)時必須進行載波同步。PSK 解調(diào)的具體實現(xiàn)電路如圖3所示,, 由相位旋轉(zhuǎn),、相位誤差提取和二階相位跟蹤環(huán)三部分組成。
PSK解調(diào)示意圖
圖3 PSK解調(diào)示意圖
在相位旋轉(zhuǎn)過程中有四個乘法運算,, 而若在用硬件實現(xiàn)時直接調(diào)用四個硬件乘法器,, 將會消耗很大的硬件資源。所以本文在設(shè)計中只使用一個乘法器,, 然后用一個計數(shù)器來控制分時復用,, 從而節(jié)省資源。
為實現(xiàn)相位跟蹤,, 相位誤差提取部分根據(jù)MAP算法來估計得到相位誤差信號θe ( n ),。θe ( n )反映了環(huán)路跟蹤相位的程度, 但不能直接用于相位旋轉(zhuǎn),,因為: 1.存在噪聲干擾; 2.由于存在載波頻率偏移,,載波相位誤差會隨時間積累。所以需要對θe ( n)進行濾波和積分,, 進而實現(xiàn)相位跟蹤,, 其實現(xiàn)如圖3中的二階相位跟蹤環(huán)部分所示。
設(shè)計中,, K 1,、K 2 分別取值1 /256、1 /8,。用硬件實現(xiàn)時,, 乘K 1、K 2 的運算可以用簡單的右移運算來完成,, 而不必調(diào)用復雜的硬件除法器,。
3 解碼器設(shè)計
解碼器包括FM0解碼器、M iller解碼器,、CRC 校驗器,、幀起始超時檢測和解碼結(jié)果同步輸出控制五個主要子模塊。FM 0 /M iller解碼后的數(shù)據(jù)data 若需要進行CRC 校驗, 則進入CRC 校驗器進行CRC校驗并輸出校驗結(jié)果,。由于幀結(jié)束在有的情況下不能完全確定,, 而需要借助CRC 校驗來確定幀的結(jié)尾, 所以在解碼器r中還有一個解碼結(jié)果同步輸出子模塊用來控制同步解碼結(jié)果輸出,。幀起始超時檢測模塊是用來進行幀起始超時檢測的,, 當輸入有效數(shù)據(jù)后超過規(guī)定時間沒有檢測到正確的幀起始序列, 則輸出錯誤標志脈沖,。
3. 1 FM0解碼子模塊
FM0解碼子模塊由幀起始檢測,、FM0 解碼/編碼規(guī)則檢測/幀結(jié)束檢測以及輸出同步脈沖產(chǎn)生三部分組成, 如圖4所示,。
FM0解碼子模塊框圖
圖4 FM0解碼子模塊框圖
幀起始檢測部分中設(shè)有一個十八位的移位寄存器data_ r[ 17: 0] ,, 當檢測到幀起始序列(即data_ r[ 11: 0] = “ 110 100 100 011”) 時, 幀起始信號o _start輸出一個脈沖,, 并置indecode有效,, 表示開始接收到新的幀數(shù)據(jù); FM0 解碼/編碼規(guī)則檢測/幀結(jié)束檢測部分, 在indecode有效時,, 在解碼同步脈沖信號o_pu lse的同步下對data _r[ 2: 0]進行分析判斷,, 若data_r[ 0]與data_r[ 1]相同則輸出o_data= ?1 , 反之則輸出o_data= “0”,; 同時檢測da ta_r[ 1]與data_r[ 2] ,, 若兩個相同, 則出現(xiàn)了不符合FM0編碼規(guī)則的情況,, 輸出編碼規(guī)則錯誤標志信號o _code_err為“1”; 在o_start脈沖后對i_pu lse進行二分頻得解碼輸出同步脈沖o _pulse,, o_pu lse 用于同步解碼過程和解碼后數(shù)據(jù)輸出。
幀結(jié)束檢測采用計數(shù)檢測和幀結(jié)尾序列檢測結(jié)合的方法,, 當data_r[ 7: 0] = “00 000 000”或接收到的數(shù)據(jù)比特數(shù)到達幀數(shù)據(jù)長度length則表示檢測到了幀結(jié)尾,。但是注意若采用后者的方法, 由于結(jié)尾有一個比特的模糊,, 即可能會多接收一個多余的?1 ,。
3. 2 M iller解碼子模塊
密勒解碼子模塊包括幀前導序列檢測與副載波解調(diào)部分、密勒解碼部分,, 如圖5所示,。電子標簽返回閱讀器的數(shù)據(jù)是突發(fā)傳輸?shù)模?每一次數(shù)據(jù)傳輸前有幀前導序列, 所以在進行解碼之前需檢測到該序列,。幀前導序列檢測與副載波解調(diào)部分在檢測幀前導序列后,, 對信號進行副載波解調(diào), 得到密勒編碼基帶波形,。密勒解碼部分根據(jù)密勒編碼規(guī)則,, 對密勒編碼基帶波形進行解碼,, 并檢查傳輸數(shù)據(jù)是否違反編碼規(guī)則, 從而統(tǒng)計數(shù)據(jù)傳輸質(zhì)量,。
M iller解碼子模塊框圖
圖5 M iller解碼子模塊框圖
幀前導序列檢測與副載波解調(diào)部分首先對接收數(shù)據(jù)碼流進行相位翻轉(zhuǎn)檢測, 于相位翻轉(zhuǎn)(碼流中出現(xiàn)大凹槽或大凸槽)處在相位翻轉(zhuǎn)標志信號phase_invert上輸出一個脈沖,。在幀前導序列中,, 只有傳輸比特“1 ”時符號中間發(fā)生相位翻轉(zhuǎn), 所以在進行幀前導序列檢測時若檢測到phase_ invert上有一個脈沖,, 便可認為碼流中出現(xiàn)了一個“1” ,。為增強抗干擾能力, 還需結(jié)合使用一個計數(shù)器cnt_ ipu l_sta對輸入數(shù)據(jù)同步脈沖i_pulse 進行計數(shù)以計量相鄰兩個相位翻轉(zhuǎn)的時間間隔,, 當遇見phase _ invert脈沖或cnt_ipul_sta計數(shù)到2×M 時便清零重新計數(shù),。整個解調(diào)過程用一個有限狀態(tài)機控制。
經(jīng)過副載波解調(diào),, 得到密勒編碼基帶數(shù)據(jù)data及其同步脈沖信號data_pu lse,。在密勒解碼模塊, 設(shè)置長度為10的移位寄存器data_r[ 9: 0],, 在data_pulse的同步下將data 逐位移入data_r[ 9: 0],。隨后根據(jù)data_r[ 9: 0]的內(nèi)容進行密勒解碼。解碼過程中有一個計數(shù)器對解碼后的比特進行計數(shù),, 當計數(shù)結(jié)果和幀數(shù)據(jù)長度相同或者檢測到幀結(jié)尾序列(即data _ r[ 7: 0] =8’b01 000 000或8’b10 111 111)時,, 則輸出o_end脈沖表示解碼結(jié)束, 停止解碼,, 等待下一幀數(shù)據(jù)的到來,。
4 設(shè)計實現(xiàn)與仿真驗證
以上設(shè)計方案采用V er ilog HDL實現(xiàn), 并在NCVerilog中進行功能仿真,。對解調(diào)器模塊和解碼器模塊的仿真結(jié)果分別如下圖6,、圖7、圖8,、圖9所示,。
ASK解調(diào)模塊仿真結(jié)果——相位偏移為10°
圖6 ASK解調(diào)模塊仿真結(jié)果——相位偏移為10°
PSK解調(diào)模塊仿真結(jié)果
圖7 PSK解調(diào)模塊仿真結(jié)果
FM 0解碼模塊仿真結(jié)果—— 解碼正確
圖8 FM 0解碼模塊仿真結(jié)果—— 解碼正確
M iller解碼模塊仿真結(jié)果——解碼正確
圖9 M iller解碼模塊仿真結(jié)果——解碼正確
本文還選用A ltera的EP3C16Q240C8N FPGA,根據(jù)具體應用開發(fā)了閱讀器的基帶處理電路板,, FPGA 中包括了嵌入式處理器軟核N IOS II,、基帶處理接收端電路RTL和發(fā)送端電路RTL代碼, 由該基帶處理板與射頻前端電路一起組成UHF RFID 閱讀器的驗證平臺,。通過該驗證平臺本文完成了基帶處理接收端電路RTL設(shè)計的原型驗證,。
軟件仿真結(jié)果表明, 解調(diào)器能在各種不同相位偏移情況下對接收到的ASK 信號進行正確解調(diào),, 對頻率偏移量處于快捕帶內(nèi)的PSK 調(diào)制信號能夠很快實現(xiàn)載波相位跟蹤進而實現(xiàn)正確解調(diào); 解碼器能夠?qū)φ_的FM0 /M iller輸入數(shù)據(jù)進行解碼,, 并且可以檢測到幀起始檢測超時錯誤和違反FM0 /M iller編碼規(guī)則錯誤的情況,。FPGA 原型驗證結(jié)果表明,整個閱讀器基帶處理電路包括其接收端電路可以滿足設(shè)計要求,。