第二代身份證專用芯片噪聲檢測(cè)及標(biāo)定方法研究
引言
我國(guó)第二代居民身份證(簡(jiǎn)稱“二代證”)采用了符合ISO14443 Type B通訊協(xié)議的近耦合射頻識(shí)別(RFID)技術(shù),載波頻率為13.56MHz,工作場(chǎng)強(qiáng)為1.5~7.5A/m,卡片調(diào)制副載波頻率為847kHz。射頻卡(非接觸IC卡)在實(shí)際中已經(jīng)得到了廣泛的應(yīng)用。在檢測(cè)國(guó)內(nèi)各廠家研制的二代證樣卡時(shí),技術(shù)人員發(fā)現(xiàn)不同廠家的芯片噪聲水平相差很大,有的甚至影響了卡片與讀卡器的正常通信。也就是說(shuō),當(dāng)卡片處于讀卡器天線的工作場(chǎng)強(qiáng)范圍內(nèi),尤其是在近場(chǎng)情況下,讀卡器與卡尚未進(jìn)行通訊時(shí),卡片天線兩端的電壓(電流)交流信號(hào)峰峰值會(huì)發(fā)生波動(dòng),波動(dòng)頻率可能為847kHz,或是其整數(shù)倍頻(或分頻)。造成波動(dòng)的主要原因是芯片電源穩(wěn)定性差,或者芯片功耗波動(dòng)太大。如果卡片線圈內(nèi)的電流信號(hào)峰峰值波動(dòng)達(dá)到一定值,尤其是847kHz頻率的波動(dòng)時(shí),讀卡器就可能將其放大到與有效信號(hào)相當(dāng)?shù)姆邓?,這樣就會(huì)嚴(yán)重影響讀卡器的工作,大大增加讀卡器解調(diào)電路的設(shè)計(jì)難度。
本文首先簡(jiǎn)單介紹了Type B射頻卡系統(tǒng)的通信原理,之后分析了卡片調(diào)制信號(hào)以及與噪聲和讀卡器靈敏度之間的關(guān)系,提出了噪聲檢測(cè)方法和可行的噪聲標(biāo)定方法,并對(duì)此進(jìn)行了詳細(xì)討論。
圖1 近耦合射頻卡系統(tǒng)等效電路圖
圖2 調(diào)制深度曲線
近耦合射頻卡通信原理
卡片與讀卡器之間是通過(guò)近電感耦合來(lái)進(jìn)行通訊的。也就是說(shuō),當(dāng)讀卡器向卡片發(fā)送指令時(shí),讀卡器天線線圈流過(guò)的電流會(huì)根據(jù)指令發(fā)生相應(yīng)的變化,場(chǎng)中的卡片就會(huì)感應(yīng)到此變化,并解調(diào)出指令信號(hào),之后對(duì)指令信號(hào)進(jìn)行處理并發(fā)出響應(yīng);當(dāng)卡片向讀卡器發(fā)送響應(yīng)信號(hào)時(shí),卡片會(huì)根據(jù)響應(yīng)信號(hào)通過(guò)負(fù)載調(diào)制的方式改變卡片線圈流過(guò)的電流,讀卡器天線線圈就會(huì)感應(yīng)到卡片線圈電流的變化,并進(jìn)行解調(diào)處理,得到卡片響應(yīng)信號(hào)。
讀卡器一般將兩個(gè)邊帶信號(hào)中的一個(gè)847kHz頻率成分通過(guò)濾波器從載波信號(hào)中分離出來(lái),但是實(shí)際上并不存在理想的濾波器。這樣,疊加在載波上的847kHz附近頻帶上的信號(hào)(包括調(diào)制信號(hào)和噪聲信號(hào))都會(huì)通過(guò)讀卡器的濾波器,從而被放大。其中,847kHz附近頻帶上的噪聲信號(hào)主要是由于芯片內(nèi)部邏輯電路工作時(shí)功耗的周期性波動(dòng)而引起的。特別的,對(duì)于CPU卡片來(lái)說(shuō),由于指令的周期性操作,可能引起電源周期性波動(dòng),更嚴(yán)重的會(huì)對(duì)EEPROM進(jìn)行操作。因此,在芯片設(shè)計(jì)階段,就應(yīng)該認(rèn)真對(duì)待電源的穩(wěn)定與功耗問(wèn)題。
卡片調(diào)制信號(hào)分析與檢測(cè)
理論分析
近耦合射頻卡與讀卡器通信的簡(jiǎn)單等效電路原理圖如圖1所示。其中,R1、C1、L1和R2、C2、L2分別為讀卡器和卡片天線諧振電路中的等效電阻、電容和電感;Z2為芯片等效阻抗負(fù)載;M為互感;u和i分別為電壓和電流(指的是電壓和電流交流信號(hào)幅值)。當(dāng)L1和C1滿足諧振時(shí),有:
(1)讀卡器通過(guò)對(duì)u1(天線兩端電壓)進(jìn)行檢波、濾波、放大和解調(diào)處理得到卡片發(fā)出的數(shù)據(jù)。在讀卡器接收信號(hào)期間,u0保持不變。在L1和C1滿足諧振條件的情況下,下文將對(duì)卡片的調(diào)制深度與讀卡器接收端u1的關(guān)系進(jìn)行分析。
如果卡片與讀卡器天線位置固定,則耦合系數(shù)確定,即互感M不變。根據(jù)式(1)可知,只有卡片線圈電流i2影響u1的值。因此,當(dāng)卡片向讀卡器返回響應(yīng)信息時(shí),可以通過(guò)負(fù)載(電阻或者電容)調(diào)制改變Z2,從而改變i2的值;
當(dāng)改變卡片與讀卡器天線線圈間的距離時(shí),也即改變了通過(guò)卡片線圈的有效磁場(chǎng)強(qiáng)度Heff。由,可知Heff 的改變意味著M的改變,但它們之間并不是線性關(guān)系,因?yàn)楫?dāng)讀卡器線圈與卡片線圈位置發(fā)生變化時(shí),i1也會(huì)發(fā)生變化。由式(1)有(2)上式中0、A、N和Heff分別表示空氣中的磁導(dǎo)率、卡片線圈面積、卡片線圈匝數(shù)和有效磁場(chǎng)強(qiáng)度,,都是不變的量。當(dāng)Heff=H0時(shí),卡片在無(wú)調(diào)制狀態(tài)下,讀卡器天線線圈電流為i10,卡片線圈電流為i20,u1的值記為u10。當(dāng)卡片調(diào)制時(shí),其相應(yīng)的量記為Hm、i1m、i2m和u1m,有i2m=i20+苅2、i1m=i10+苅1、Hm=H0+艸,u1m=u10+苪1??ㄆ{(diào)制狀態(tài)下與非調(diào)制狀態(tài)下讀卡器線圈感應(yīng)電壓之差苪1為:(3)實(shí)際上,由于i20<<I10、艸<<H、苅1<<i10、苅2<<i20,因此可近似如下:(4)由上式可以看出,如果苅2與H0為線性關(guān)系,即苅2=m/H0,那么苪1基本接近一個(gè)常數(shù)b1•m/i10。但是由于苅2與苅1(或艸)會(huì)向相反的方向變化,因此,在不同的場(chǎng)強(qiáng)下,如果想得到相同的苪1,就需要對(duì)苅2=m/H0進(jìn)行修正。由ISO14443-2給出的卡片負(fù)載調(diào)制深度幅值為30/H1.2mV(峰值),可以近似地推導(dǎo)出苅2=m/H1.2。
圖3主控板框圖
本設(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)輸,物流全過(guò)程的跟蹤監(jiān)控,提高調(diào)度的準(zhǔn)確性和效率。
基于FPSLIC的設(shè)計(jì)
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),F(xiàn)ck為時(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ǔ)碼變換,差分處理,F(xiàn)IR低通濾波,歸一化判決,去毛刺,同步提取。
其中對(duì)各步驟簡(jiǎn)要說(shuō)明如下:
a)補(bǔ)碼變換:因?yàn)锳DC的輸出信號(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)镮/O信號(hào)。
e)去毛刺:去除毛刺信號(hào)。
f)同步提?。禾崛〈a元信號(hào),平均一個(gè)碼元擁有4個(gè)采樣點(diǎn)。
開發(fā)體會(huì)
采用FPSLIC開發(fā)優(yōu)勢(shì)在于:資源比較豐富,I/O設(shè)置很靈活,有很大的發(fā)揮余地;FPGA的運(yùn)算速度很快;由于使軟硬件同步仿真,雖然難度大了,但也縮短了開發(fā)周期;總體的性價(jià)比好。
感覺(jué)不足的地方有:AVR協(xié)同F(xiàn)PGA工作的速度跟不上,當(dāng)運(yùn)作頻繁時(shí)總是FPGA等候AVR;System Designer的界面不夠友好,使用起來(lái)不太方便;布線的速度慢。
總體來(lái)說(shuō),本文利用FPSLIC實(shí)現(xiàn)了超高頻段RFID閱讀器,為 FPSLIC在這方面的應(yīng)用打開了思路。