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