基于FPSLIC的UHF頻段RFID閱讀器的實現(xiàn)
文章出處:http://xianjuhong.com 作者:華南理工大學(xué) 黃安 奚經(jīng)天 賴曉錚 陳鵬 梁文 人氣: 發(fā)表時間:2011年10月29日
前言
通常,RFID系統(tǒng)由電子標(biāo)簽(tag)、閱讀器(reader)和數(shù)據(jù)管理系統(tǒng)這三個主要部分組成,如圖1所示。
電子標(biāo)簽部分又可以細(xì)分為標(biāo)簽天線和標(biāo)簽芯片兩部分。每個電子標(biāo)簽都含有唯一的識別碼,用來表示電子標(biāo)簽所附著的物體。當(dāng)電子標(biāo)簽接收到閱讀器的發(fā)射信號的時候,電子標(biāo)簽被喚醒,然后根據(jù)閱讀器發(fā)射的指令完成相應(yīng)的動作,并將響應(yīng)信息發(fā)射回給閱讀器。電子標(biāo)簽上有數(shù)KB的存儲單元,可以反復(fù)讀寫10,000次以上。
閱讀器也可以細(xì)分為閱讀器天線和閱讀器兩部分。閱讀器通過發(fā)射信號喚醒和傳送指令給電子標(biāo)簽,并接收標(biāo)簽返回的信號。在初步的過濾、處理信號之后,將有用的數(shù)據(jù)通過網(wǎng)絡(luò)和數(shù)據(jù)管理系統(tǒng)交互,從而完成對電子標(biāo)簽的信息獲取和解析。
數(shù)據(jù)管理系統(tǒng)主要完成數(shù)據(jù)信息的存儲及管理、數(shù)據(jù)管理系統(tǒng)可以由簡單的小型數(shù)據(jù)庫擔(dān)當(dāng),也可以是集成了RFID管理模塊的大型ERP數(shù)據(jù)庫管理軟件。它通過網(wǎng)絡(luò)與分散在異地的閱讀器通信,實時獲取閱讀器捕獲到的電子標(biāo)簽信息。
按頻段RFID產(chǎn)品可以分為低頻125KHz、高頻13.56MHz、超高頻915MHz以及微波頻段2.45GHz和5.8GHz。本文實現(xiàn)了具有自主知識產(chǎn)權(quán)的UHF頻段(915MHz)RFID閱讀器。UHF閱讀器兼容識別ISO18000-6和ANSI256的無源RFID標(biāo)簽,可根據(jù)發(fā)射功率調(diào)整識別距離。閱讀器識別無源RFID標(biāo)簽可達(dá)5~10米的識別距離,50張標(biāo)簽/秒,并采用了RFID信號防沖撞算法,可以同時識別同一區(qū)域內(nèi)多張RFID標(biāo)簽。
圖1 RFID系統(tǒng)構(gòu)成
本設(shè)計方案可以廣泛應(yīng)用在以下領(lǐng)域:
1.制造業(yè),實現(xiàn)精細(xì)制造,提高生產(chǎn)效率,保障產(chǎn)品質(zhì)量。
2.企業(yè)供應(yīng)鏈管理,有效控制企業(yè)庫存量,降低市場風(fēng)險,提高盤點效率。
3.倉儲物流業(yè)和交通運輸,物流全過程的跟蹤監(jiān)控,提高調(diào)度的準(zhǔn)確性和效率。
基于FPSLIC的設(shè)計
FPSLIC就是在基于SRAM的SoC中嵌入AVR MCU內(nèi)核和FPGA門陣列邏輯。AVR、FPGA、SRAM模塊之間的接口已經(jīng)實現(xiàn),而且可以配置,可以節(jié)省2000~5000門。一個FPSLIC里有10000~ 40000門的FPGA、一個單片機(jī)、一個儲存器、多種外圍設(shè)備和現(xiàn)成的接口。其低價格的軟件包括:設(shè)計主控流程、綜合驗證、布線工具以及硬件和軟件的仿真。
嵌入在FPSLIC 里的MCU為Atmel的AVR。它是一個8Bit RISC的MCU,可以執(zhí)行的單時鐘指令可達(dá)120多條,AVR代碼效率和性能跟一般8位的MCU相比凸顯優(yōu)越。當(dāng)把它嵌入以SRAM為主的FPSLIC時,更可表現(xiàn)其三大特點 :提高速度、降低功耗、程序存儲量降低。
嵌入在FPSLIC 中的FPGA為Atmel的AT40K系列。該系列FPGA內(nèi)有10ns的分布式SRAM,它可以異步操作,也可以同步操作。AT40K的設(shè)計是用VHDL/Verilog或畫圖的方式在計算機(jī)上形成的。由于AT40K還可以當(dāng)作DSP的協(xié)處理器使用??蛻艨梢园岩恍┬枰焖賵?zhí)行的功能在FPGA里實現(xiàn),比如FIR、FFT、interpolators 和DCT,從而使得該FPGA能很好地應(yīng)用在多媒體、電信和工業(yè)控制等領(lǐng)域。
AT94K40的內(nèi)部程序/數(shù)據(jù)SDRAM分為3塊:10K×16位專用程序存儲器(地址范圍:0x0000~0x27ff);4K×8位專用數(shù)據(jù)存儲器(0x0000~0x0fff);6K×16位或12K×8位可配置存儲器。
開發(fā)軟件采用System Designer 3.0。硬件和軟件同步仿真。
本設(shè)計的主控板框圖如圖2所示。
本方案的具體設(shè)置包括:
1.現(xiàn)在使用的設(shè)置為16K×16位的程序存儲器,4K×8位的數(shù)據(jù)存儲器。在4K×8位專用數(shù)據(jù)存儲器(0x0000~0x0fff)中包含了64個AVR I/O寄存器。其中AVR與FPGA的通信中使用到了以下寄存器:
FISCR:FPGA I/O選擇控制寄存器
FISUA~D:FPGA I/O選擇、中斷控制寄存器
2. 考慮到需要以80KHz頻率發(fā)送OOK信號,通常的4MHz的板上晶振在不分頻的情況下使用匹配中斷(匹配值為50),才勉強(qiáng)實現(xiàn),但由于指令執(zhí)行周期(0.25s)太長,實際發(fā)送OOK信號時達(dá)不到要求的速度。故改用18.432MHz的晶振,匹配值為225。匹配值的計算公式為:匹配值=晶振頻率/分頻系數(shù)/80KHz。
3. AVR代碼中使用了Uart0&1的接收/發(fā)送中斷與Timer0的匹配中斷。
4. 波特率設(shè)置:BAUD=Fck/16*(UBR+1),Fck為時鐘頻率,UBR為波特率寄存器高字節(jié)UBRHI和低字節(jié)UBRRn的數(shù)值(0~4095)。下面給出典型值:
Fck=4MHz,UBR=25,BAUD= 9600bps
Fck=18.432MHz,UBR=9,BAUD= 115200bps
5. 由FPGA實現(xiàn)的功能為:補(bǔ)碼變換,差分處理,FIR低通濾波,歸一化判決,去毛刺,同步提取。
其中對各步驟簡要說明如下:
a)補(bǔ)碼變換:因為ADC的輸出信號為1ff~000(3~2V), 3ff~200(2~1V)。若要分出信號的正負(fù),就需要本步驟,具體操作為將大于511的輸出減去1024。
b)差分處理:增強(qiáng)信號。
c)FIR低通濾波:去除高頻噪聲。
d)歸一化判決:將A/D采樣得到的電壓值轉(zhuǎn)變?yōu)?SPAN lang=EN-US>I/O信號。
e)去毛刺:去除毛刺信號。
f)同步提取:提取碼元信號,平均一個碼元擁有4個采樣點。
開發(fā)體會
采用FPSLIC開發(fā)優(yōu)勢在于:資源比較豐富,I/O設(shè)置很靈活,有很大的發(fā)揮余地;FPGA的運算速度很快;由于使軟硬件同步仿真,雖然難度大了,但也縮短了開發(fā)周期;總體的性價比好。
感覺不足的地方有:AVR協(xié)同FPGA工作的速度跟不上,當(dāng)運作頻繁時總是FPGA等候AVR;System Designer的界面不夠友好,使用起來不太方便;布線的速度慢。
總體來說,本文利用FPSLIC實現(xiàn)了超高頻段RFID閱讀器,為 FPSLIC在這方面的應(yīng)用打開了思路?!?SPAN lang=EN-US>
參考文獻(xiàn)