IC卡讀寫(xiě)接口的可靠性設計
文章出處:http://psychicreadingswithdeb.com 作者:不詳 人氣: 發(fā)表時(shí)間:2011年11月04日
[文章內容簡(jiǎn)介]:IC卡讀寫(xiě)接口的可靠性設計
摘 要:從幾個(gè)與可靠性緊密相關(guān)的問(wèn)題入手,較為系統地闡述了 IC 卡讀寫(xiě)接口的可靠性設計問(wèn)題。
中圖分類(lèi)號:TP216 文獻標識碼:B
1 概 述
IC 卡與磁卡等存儲介質(zhì)相比,在安全性等諸多方面具有不可比擬的優(yōu)越性,它在國民經(jīng)濟各個(gè)領(lǐng)域的應用,是一種必然趨勢。
由于 IC 卡使用中均牽涉到貨幣的問(wèn)題,因此,它的可靠性顯得至關(guān)重要。如何最大限度地提高 IC 卡讀寫(xiě)器(或接口)的可靠性,就成了 IC 卡全面推廣應用的關(guān)鍵所在。
IC 卡讀寫(xiě)接口的可靠性,包括 3 個(gè)方面:
?。?)IC 卡讀寫(xiě)過(guò)程能可靠地進(jìn)行;
?。?)任意插拔 IC 卡不會(huì )引起 IC 卡損傷;
( 3 )在IC卡讀寫(xiě)中出現問(wèn)題引起異常時(shí),能及時(shí)告警并恢復到正常狀態(tài)。
2 IC 卡讀寫(xiě)接口的可靠性設計
IC 卡讀寫(xiě)接口的電原理,一般如圖 1 示:

2.1 微處理控制器(CPU)的選型
在 IC 卡讀寫(xiě)裝置中,大多采用目前流行的單片機,例如 ATMEL 的 89C2051,或 MICROCHIP 的 PICI6 系列中的 PICI6X84 等。這些主流單片機的性 / 價(jià)比較高,而且真正能單片工作,既可減少 PCB 板面積,又可提高系統工作可靠性;特別是 PICI6F84單片機,除了具有非常適合新品試投運的現場(chǎng)可編程的 Flash Memory 外,內部還有 64 字節的 EEPROM ,尤其適用于存放 IC 卡數據動(dòng)靜態(tài)加(解)密因子,對于進(jìn)一步提高 IC 卡數據的可靠性、安全性十分有利,應為 IC 卡儀表(水表等)首選的 CPU 單元。但由于 IC 單片機一般沒(méi)有串行接口,因此對于 IC 卡讀寫(xiě)器,則宜采用 89 系列單片機。
2.2 IC卡電源的上下電控制
IC卡的上電一般是可知的,即對 IC 卡讀寫(xiě)時(shí)需要給 IC
卡上電(送電源)。因此,IC 卡的上電控制比較簡(jiǎn)單。由于 IC
卡讀寫(xiě)電流很小,一般為幾個(gè) mA ,因此其實(shí)現可按照圖 1 所
示。由單片機來(lái)的 IC_PWR 信號通過(guò)小功率三極管 9012 控制系統的 +5V 電源切入 IC 卡座與否。當 IC 卡上電后,發(fā)光二極管 L1 被點(diǎn)亮,起讀寫(xiě)指示作用。每次對 IC 卡讀寫(xiě)完成后,即及時(shí)下電,以減少插拔時(shí)帶電的可能性。
要保證 IC 卡能任意插拔(有可能處于帶電狀態(tài)),不致引起 IC 卡損壞,必須要使得 IC 卡拔卡過(guò)程處于 IC 卡斷電的狀態(tài)。要做到這點(diǎn),必須要保證 IC 卡的下電迅速及時(shí)。為此,可將IC 卡的拔卡處理由最高級中斷程序來(lái)實(shí)現(注意:采用邊沿觸發(fā)方式)。如何及時(shí)檢測拔卡動(dòng)作是問(wèn)題的關(guān)鍵。利用 IC 卡座的 IC 卡檢測開(kāi)關(guān)(常閉)可以解決此問(wèn)題。
但是,由于機械觸點(diǎn)開(kāi)關(guān)在動(dòng)合過(guò)程中不可避免存在抖動(dòng),因此怎么避免因抖動(dòng)引起中斷重入進(jìn)而引起系統死機的問(wèn)題成為最終癥結所在。如果采用硬件“去抖”(如施密特電路),不僅增加成本,而且實(shí)踐發(fā)現也不是十分可靠;采用軟件延時(shí)“去抖”,只要延時(shí)常數合適,不僅保證 IC 卡下電的迅速及時(shí),而且十分有效地解決了抖動(dòng)問(wèn)題。 IC 卡下電中斷程序框圖,如圖 2 示。

2.3 IC卡與 CPU間串行信號的限流
為了保證 IC 卡帶電插拔的安全可靠,需對 IC 卡與 CPU 間串行通訊的數據信號與時(shí)鐘信號進(jìn)行限流(圖 1 虛線(xiàn)框內兩電阻即為限流電阻),限流電阻阻值一般可取 200Ω左右。具體如圖1示。此限流電阻同時(shí)可以防止往 IC 卡座中插入導電的異物而引起系統損壞。
2.4 IC卡的可靠讀寫(xiě)
IC 卡的可靠讀寫(xiě)主要包括以下兩方面:
?。?1 )讀寫(xiě)過(guò)程準確可靠;
?。?2 )避免無(wú)卡時(shí)進(jìn)行讀寫(xiě)操作。
為保證 IC 卡讀寫(xiě)過(guò)程準確可靠,只要保證讀寫(xiě)函數嚴格按照 IC 卡的讀寫(xiě)時(shí)序外,采用“重讀”和“回讀”措施。即:讀 IC 卡時(shí),采用讀兩次的方式,如兩次相符,則數據有效,否則再進(jìn)行第三次讀;寫(xiě) IC 卡時(shí),先將數據寫(xiě)入,再回讀比較,相符則繼續,否則重寫(xiě)一次,以免由于偶然的寫(xiě)失敗導致得出 IC 卡失效的錯誤結論。
為避免 IC 卡讀寫(xiě)接口死機以及上位機死機,流程如圖 3示。

上位機收到無(wú)卡標志字節后,可以避免進(jìn)行無(wú)卡狀態(tài)下的誤操作,進(jìn)而避免死機現象。
2.5 與上位機通訊的RS-232C通訊接口及可靠通訊的實(shí)現TTL 與 RS-232C 電平轉換由諸如 Max202E 接口芯片實(shí)現,采用簡(jiǎn)單的軟握手三線(xiàn)制通訊方式。為了確保串行通訊的可靠性,應著(zhù)重從上下位機通訊軟件的以下幾個(gè)方面入手:
?。?1 )通訊電纜盡可能采用屏蔽三芯電纜;
?。?2 )合理選擇通訊波特率;
由于上下位機通訊的數據量很?。ㄗ疃酁?IC 卡的容量),因此通訊波特率可選低一些,如 2400 。但要高度重視下位機(即 IC 卡讀寫(xiě)裝置)的波特率參數整定問(wèn)題,對于 51 系列 CPU 尤其要注意電源管理寄存器中 SMOD 位的設置。以 2400 波特率為例,當 SMOD = 0 時(shí),波特率參數為 0F9H ,實(shí)際波特率為 2232 ,此時(shí)波特率相對誤差是 7%;而當 SMOD = 0時(shí),波特率參數為 0F3H ,實(shí)際波特率為 2404 ,此時(shí)相對誤差是 0.16%,滿(mǎn)足正常通訊所規定的波特率相對誤差小于 5%的要求。
?。?3 )上位機管理系統的開(kāi)發(fā)平臺目前較多采用基于Windows95環(huán)境的諸如 VFP3.0 、DELPHI 4.0等 RAD 開(kāi)發(fā)平臺,其中的串行通訊接口程序既可直接使用串行通訊控件 MSCOMM ,也可采 用基于直接對串口操作的動(dòng)態(tài)鏈接庫(DLL)方式。前者編程簡(jiǎn)單,后者則具有較強的硬件駕馭能力,但動(dòng)態(tài)鏈接庫一般要借助嵌入匯編實(shí)現。
如果上位機的管理軟件是基于 DOS 環(huán)境的,那么必須注意看通 訊接口程序采用調用BIOS,函數,例如 TC 2.0 的 BIOSCOM()函數時(shí),要注意 BIOS 串行通訊函數對握手信號的奇特要求;否則,一般的三線(xiàn)制通訊程序無(wú)法正常運行。
2.6 工作狀態(tài)的有效提示
大多 IC 卡讀寫(xiě)裝置一般有聲光指示(報警)接口,提到的發(fā)光二極管即為 IC 卡讀寫(xiě)工作狀態(tài)指示;聲音提示可采用效率高、體積小的有源或無(wú)源蜂鳴器來(lái)實(shí)現。
2.7 死機后的恢復
如何避免上下位機均不死機或能簡(jiǎn)單恢復正常工作呢?
對于作為下位機的 IC 卡讀寫(xiě)接口,我們利用 IC 卡能隨意插拔,再結合 IC 卡的拔卡處理是一個(gè)高級中斷的特點(diǎn),將 IC 卡的拔卡中斷程序設計成兩個(gè)分支:
?。?)非 IC 卡讀寫(xiě)且非與上位機通訊狀態(tài);
?。?)在與上位機通訊、或正在對 IC 卡讀寫(xiě)狀態(tài)。
第一種情況下,中斷子程序是簡(jiǎn)單的拔卡 Beep 告警后,直接中斷返回;對于第二種情況,則會(huì )引起系統工作失常甚至死機,在恢復中斷環(huán)境后,用強制跳轉指令強制從主程序開(kāi)始執行,達到復位的效果。程序框圖,如圖 2 示。
對于上位機,為了避免由于基于查詢(xún)方式的串行通訊失常引起死機現象,可采取限時(shí)通訊的辦法。
5 應用舉例
將可靠性設計思想成功地應用于本地的 IC 卡自來(lái)水預收費管理系統中。其中 IC 卡讀寫(xiě)器采用 ATMEL 89C2051 單片機為內核,采用交叉技術(shù)的三線(xiàn)制串行通訊方式與上位機的基于 DELPHI 4.0 的預收費管理系統軟件進(jìn)行通訊 IC 卡水表則采用 PIC16F84 單片機。經(jīng)過(guò)近兩個(gè)月的實(shí)際運行,可靠性是令人滿(mǎn)意的
本文關(guān)鍵詞:IC卡讀寫(xiě)接口的可靠性設計
上一篇:電子收費之5.8GHz系統與915MHz系統的比較[ 11-04 ]
下一篇:接觸式IC卡接口原理與不同實(shí)現方式對比[ 11-04 ]