金卡工程自1993年啟動以來,IC卡發(fā)展經(jīng)歷了普通存儲卡、邏輯加密卡和CPU卡,從接觸卡向非接觸卡迅猛發(fā)展,目前,公交、食堂、商場、會所等多使用TypeA卡。但是相對TypeA卡來說,TypeB卡芯片具有更高的安全性,接收信號時,不會因能量損失而使芯片內(nèi)部邏輯及軟件工作停止,支持更高的通信速率,抗干擾能力也更強,隨著TypeB卡的應(yīng)用越來越普遍,就需要大量的TypeB卡閱讀器。TypeB卡種類很多,如ST、Atmel、Motolola等公司均有自己的TypeB卡。本文以SR176卡為例,利用FM1715基站芯片設(shè)計一款閱讀器。
1 FM1715基站芯片及SR176卡介紹
1.1 FM1715芯片介紹
FM1715是復(fù)旦微電子股份有限公司設(shè)計的,基于ISO14443標(biāo)準(zhǔn)的非接觸卡閱讀器專用芯片,它采用CMOS E2PROM工藝,支持13.56MHz頻率下的Type A和TypeB兩種非接觸通信協(xié)議,以及多種加密算法。
FM1715的主要特點如下:
高集成度的模擬電路,只需最少量的外圍電路;
操作距離可達(dá)10cm;
支持ISO14443 TypeA及TypeB協(xié)議;
內(nèi)部帶有加密單元;
支持6種接口模式。
1.2 SR176卡介紹
SR176卡是一種非接觸的內(nèi)存芯片,使用外部的無線電磁波傳輸功率;包含176位E2PROM用戶空間,使用ST微電子公司的CMOS半導(dǎo)體技術(shù)制造;內(nèi)存結(jié)構(gòu)被分為16塊,每塊16位,其中有11塊允許用戶寫入使用。
經(jīng)過13.56MHz的載波對SR176進行訪問。輸入數(shù)據(jù)是標(biāo)準(zhǔn)的振幅對稱的調(diào)幅波,經(jīng)檢波、解碼后,將調(diào)幅度轉(zhuǎn)化為鍵控訊號(ASK),這個訊號的調(diào)幅度是10%。輸出數(shù)據(jù)是利用比特的移項鍵控(BPSK),加載變化產(chǎn)生一個847KHz副載波,在接收和發(fā)送模式下,SR176和閱讀器之間的傳送速率是106kb/s。
(1)性能參數(shù)
符合ISO14443-2 TypeB射頻接口規(guī)范;
符合ISO14443-3 TypeB數(shù)據(jù)幀格式規(guī)范;
工作頻率為13.56MHz;
副載波為847kHz;
數(shù)據(jù)交互速率為106kb/s;
256位數(shù)據(jù)存儲容量;
64位卡片唯一序列號,8位卡芯代號,8位保護字;
17位可鎖定E2PROM用戶數(shù)據(jù)區(qū);
數(shù)據(jù)更新次數(shù)大于100 000次,保存期超過10年。
(2)存儲結(jié)構(gòu)
SR176卡256位存儲區(qū)分為8組,即16個塊,每塊16位;對SR176的數(shù)據(jù)存儲操作以16位為基本單位。存儲區(qū)的結(jié)構(gòu)如表1所列,存儲器的頭4個塊為卡片唯一的64位序列號,不可更改。第4-14塊為17位、可鎖定E2PROM的用戶數(shù)據(jù)區(qū),用于應(yīng)用數(shù)據(jù)的存儲。
第15塊為控制塊,低字節(jié)的高4位為保留位,應(yīng)用過程中利用卡芯代號選擇對某一特定卡片執(zhí)行操作;高字8位為用戶數(shù)據(jù)區(qū)鎖定控制字節(jié),每一位對應(yīng)于一組存儲區(qū)域鎖定狀態(tài),為0表示該組允許寫操作,為1表示該組禁止寫操作,第15塊具有一次性可編程特性,即若某位已設(shè)為1,則將被禁止重置為0。卡片出廠時該字節(jié)的缺省值為0x03,禁止了對卡片序列號的改寫。
(3)卡片狀態(tài)轉(zhuǎn)換圖
圖1為卡片狀態(tài)轉(zhuǎn)換圖。
2 閱讀器電路原理及關(guān)鍵參數(shù)選擇
2.1 閱讀器原理框圖
圖2為閱讀器原理框圖
與微處理器接口:FM1715支持與不同的微處理器接口,總線控制有獨立的讀/寫模式、通用的讀/寫選通模式以及握手聯(lián)絡(luò)方式的通用讀/寫選通信號(EPP)3種工作模式。
發(fā)射電路:FM1715系統(tǒng)工作在13.56MHz頻率下,這一頻率產(chǎn)生于一個石英晶體振蕩器,用于驅(qū)動FM1715并且提供給天線13.56MHz的載波。但是除了13.56MHz載波信號外,還會有能量以高次諧波的方式往外發(fā)射。國際EMC規(guī)則規(guī)定了在一個寬頻范圍內(nèi)發(fā)射能量的大小,因此,必須有一個合適的濾波器過濾輸出信號以滿足此規(guī)定。圖2中L0和C0就是實現(xiàn)此功能的濾波器。
接收電路:FM1715的內(nèi)部接收電路利用卡的回應(yīng)信號在副載波的雙邊帶上都有調(diào)制這一概念來進行工作。用芯片內(nèi)部產(chǎn)生的VMID作為RX引腳輸入信號的偏置。為了穩(wěn)定VMID的輸出,在VMID與地之間須連接一個電容C4;接收電路需要在RX和VMID之間連接一個分壓電路。
2.2 元器件參數(shù)選擇
推薦的選擇參數(shù)如表2所列。當(dāng)然,具體情況根據(jù)實際電路進行調(diào)整。
3 FM1715的天線設(shè)計
3.1 天線原理及分析
圖3為天線原理圖。
圖3中,C3//CV2用來與天線電感在13.56MHz頻率時產(chǎn)生諧振;C1//CV1用來匹配50Ω電阻;R1//R2用來調(diào)整天線的品質(zhì)因數(shù)。
3.2 天線PCB示意圖及參數(shù)選擇
圖4為天線PCB示意圖。
3.2.1 參數(shù)計算方法
(1)線圈電感估算
式中:L為線圈電感(nH);l為圈的周長(cm,mm)。D為線的直徑或者導(dǎo)體的寬度(mm)。N為圈數(shù);P為配置參數(shù)。P配置參數(shù)對應(yīng)的天線線圈結(jié)構(gòu)如表3所列。
當(dāng)然也可以用專用儀器測量電感值。
(2)諧振電容估算
fc=13.56MHz,由Cs=C2+CV2與L諧振可得:
(3)阻抗匹配電容的估算
Cp=(C1+CV1)與Cs=(C2+CV2)用來匹配阻抗(R11//R2+Rg),以達(dá)到最高效率。
(4)利用電阻調(diào)整品質(zhì)因數(shù)
Q=WL/(R1//R2+Rg),使其在30-60之間,一般取35較好。
實際中,品質(zhì)因數(shù)Q在大于30后的增加量,對卡片操作距離的增加無明顯幫助,品質(zhì)因數(shù)Q必須小于60,以確保數(shù)據(jù)通信穩(wěn)定、可靠;否則,天線的有效工作距離內(nèi)有死區(qū),而不能可靠地進行數(shù)據(jù)通信。
3.2.2 天線的影響參數(shù)
天線所產(chǎn)生的交變磁場會在靠近它周圍的金屬物體上感應(yīng)出電壓,從而在該金屬表面產(chǎn)生渦流導(dǎo)致天線失諧并減弱磁場,直接的現(xiàn)象就是刷卡距離縮短,更嚴(yán)重的是無法刷卡,建議天線和大量金屬物體的距離盡量增大,如果天線下面是電路板,則可以減少大面積鋪銅,以減小對天線的干擾。
4 嵌入式軟件設(shè)計
4.1 閱讀器軟件主流流程
圖5為閱讀器軟件主流程圖。
4.2 基站芯片讀/寫TypeB卡關(guān)鍵部分程序員代碼
本文介紹的閱讀器是用51系列單片機控制的,編程使用Keil C51。
函數(shù)聲明:uchar ExeCommand(uchar iLen,uchar*buff, uchar cmdCode);
功能:向FM1715發(fā)送命令集。
參數(shù):iLen為待發(fā)送命令集的長度,buff指向待發(fā)送數(shù)據(jù)的指針,cmdCode是命令碼。
返回值:成功,返回ID_OK;失敗,返回ID_ERR。
4.3 閱讀器PC端軟件設(shè)計
PC軟件利用串口控件,通過串口對閱讀器發(fā)送相關(guān)命令,從而實現(xiàn)閱讀器的設(shè)計,PC端程序界面如圖6所示,通過實驗,能準(zhǔn)確操作TypeB卡。
結(jié)語
經(jīng)實驗應(yīng)用證明,設(shè)計的SR176的閱讀器完全滿足各項應(yīng)用指標(biāo),性能穩(wěn)定可靠,能夠閱讀10cm以內(nèi)無論所有位于射頻能量場的SR176卡,并能準(zhǔn)確完成對卡片的讀/寫等控制操作,該閱讀器適用于所有使用TypeB卡的場合,具有非常廣闊的應(yīng)用前景。