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