基于FM1715的TypeB卡閱讀器設(shè)計
金卡工程自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進(jìn)行訪問。輸入數(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位保護(hù)字;
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??ㄆ鰪S時該字節(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中l(wèi)0和c0就是實現(xiàn)此功能的濾波器。
接收電路:fm1715的內(nèi)部接收電路利用卡的回應(yīng)信號在副載波的雙邊帶上都有調(diào)制這一概念來進(jìn)行工作。用芯片內(nèi)部產(chǎn)生的vmid作為rx引腳輸入信號的偏置。為了穩(wěn)定vmid的輸出,在vmid與地之間須連接一個電容c4;接收電路需要在rx和vmid之間連接一個分壓電路。
2.2 元器件參數(shù)選擇
推薦的選擇參數(shù)如表2所列。當(dāng)然,具體情況根據(jù)實際電路進(jìn)行調(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諧振可得:
式中:lant為線圈電感,rext為品質(zhì)因數(shù)電阻,rant為線圈電阻。
(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ū),而不能可靠地進(jìn)行數(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)用前景。
評論