雙界面卡的發展研究及其技術構架
文章出處:http://www.nyfzw.net 作者:楊慶森、周曉方 人氣: 發表時間:2011年09月15日
1.引言
1.1. 非接觸卡與接觸卡的介紹
如今,接觸式IC卡(下簡稱接觸卡)在人們的日常生活中得到了普遍的應用。在接觸卡的普及過程中,逐漸發現了許多的弊端:卡在讀寫器上經常拔插造成的磨損導致接觸不良,從而引起數據傳輸錯誤,并且卡與讀寫器之間的磨損也大大縮短了卡和讀寫器的使用壽命;另外,接觸卡的通訊速率較低,再加上插拔卡的動作延誤,造成每一筆交易需要較長時間的等待。
為了解決這些問題,非接觸式IC卡(下簡稱非接觸卡)應運而生。非接觸卡的優點是顯而易見的:它通過無線電波與讀寫設備進行通訊,無裸露觸點,與讀寫器間也無機械接觸,可靠性和使用壽命高;它的通訊速率高于接觸卡,在一定距離范圍內可以從任意方向與讀寫設備通訊,從而使操作更為方便、快捷。因此,非接觸卡在很多場合已經取代了接觸卡,在卡市場所占的份額越來越大。非接觸卡也存在缺陷:當卡片彎曲過度時,卡片容易因線圈焊點斷裂而失效;在一些場合的通訊容易受環境干擾而失敗;加密方法較簡單,安全性低于接觸卡等。
總的來說,接觸卡和非接觸卡因使用環境不同各有利弊,因此在實際應用中都得到了廣泛的應用。相對來說,在安全要求較高,操作速度要求不高的應用如銀行卡中通常使用接觸卡;而在安全要求較低,操作速度要求較高的應用如公共交通中,通常使用非接觸卡。
非接觸式IC卡與接觸式IC卡的優缺點比較如表1所示。
1.2. 非接觸卡應用發展
隨著技術和應用的發展,非接觸式卡的應用越來越廣泛,功能也越來越強大。應用中出現了非接觸式IC卡和接觸式IC卡結合的雙接口IC卡,雙接口IC卡既具有非接觸卡的耐用性和方便性,又不失安全性。
越來越多的應用除了對非接觸卡的接口提出了要求,還對傳統非接觸卡的應用開發提出了進一步的要求。原來非接觸卡的指令比較簡單,功能比較少。要完成一個復雜的操作如建立一個文件需要對非接觸卡的數據結構十分了解而且要編寫許多條指令。特別的,非接觸卡中存放的許多資料是比較敏感,的如金額之類,在對這些資料進行讀寫時,如果發生意外使操作中斷,如何正確恢復資料是一個很頭痛的問題,這需要很高軟件技巧。所有這些大大阻礙了非接觸卡的應用開發。因此在非接觸卡集成入CPU,通過COS軟件來提供一個簡單、強大的應用軟件開發接口是一個很好的解決方法。
2.研究目標與內容
本文的研究目標是設計一個帶串行接觸接口和非接觸式接口的CPU卡芯片。我們稱這個設計為雙界面卡。
本文研究的思路是怎樣合理的設計芯片架構,使CPU、操作系統軟件和外部界面接口無關,盡量利用原有設計資源完成芯片設計。
2.1 芯片架構
芯片主要由CPU系統、界面接口和存儲器三個主要部分組成。界面接口負責和外界進行命令和資料的傳輸,本芯片提供了ISO/IEC 14443-A的非接觸接口和基于串行通迅的接觸接口。
CPU系統是兼容8051指令的高速微處理器、外設、RAM、ROM和EEPROM組成。
芯片的架構如圖1所示。
這個架構的基本思想是使智能卡的CPU系統與界面之間接口相對獨立。使界面接口形成應用的底層,操作系統軟件的應用處理不必關心接口的具體實現。這意味著從應用軟件開發的角度看到的資料是與應用正在使用何種具體接口是不相關的。接口可以隨著應用的發展而改變,可以是接觸和非接觸的組合,甚至可以是藍牙、WLAN、IrD、并行接口等其他種類的接口組合。
這種接口和CPU系統在遵循統一訪問規范的基礎上可以任意組合的特點,提供了對用戶、芯片設計者和系統軟件設計者很大的好處:在引入新應用或開發新系統時可任意選用已存在的成熟的基本模塊,以加快開發的進度,降低開發的成本和風險。
2.2 界面與CPU系統的接口
為了達到界面接口與軟件的獨立性,CPU系統與各種界面接口之間需要建立一個簡單的標準接口。在本文設計中使用增加8051系列處理器的特殊功能寄存器(SFR)的方法作為訪問CPU不同界面接口的標準。
非接觸界面的接收解調和發射調制電路是在原非接觸卡的設計中已有模塊,對原來的接收、發射寄存器組進行SFR編址以及增加一些控制寄存器和邏輯電路就可以容易的在非接觸接口中設計出支持特殊功能寄存器(SFR)的接口。
接觸界面的接口就是一個支持特殊功能寄存器(SFR)的接口的串行(UART)模塊,與標準的UART不同的是,這個模塊的發送和接收是一個開漏的雙向數據線,這意味著接觸的串行接口只能以半雙工的方法進行通訊。
在完成與外界的數據通訊后,用中斷請求信號來喚醒處于休眠模式的CPU。在本設計中,非接觸接口使用8051的外部中斷INT1,而接觸接口使用內部的串行中斷。
2.3 電源產生
在雙界面卡中一個困難的問題是如何提供CPU系統一個可靠的系統時鐘和電源。因為兩個界面都會產生時鐘和電源,所以系統需要能正確相互切換,而不產生沖突。
本設計提出了一個簡單可靠的方法來產生電源和時鐘。特別的,本文描述的方法還可以支持兩個界面同時工作。
上圖表示兩個接口電源的切換方法。電容C1是芯片的儲能電容,在非接觸供電和操作時,C1可以存儲電荷;在接觸操作使用外部電源時,C1可以穩定Vdd電壓。為了防止電流可能的倒流,這里使用二極管D1來保證電流的單向流動。當然,D1存在會使Vdd與外部Ext_Vdd存在一個電壓差,解決方法是采用特殊的低閾值MOS管來代替普通的二極管。需要指出的是,來自非接觸界面的電壓產生電路是橋式整流結構,電流不會反向流動,所以不需要串一個象D1那樣的二極管。
DC-DC模塊是為了在不同的電源電壓下,提供系統一個較低的、穩定的工作電壓。這有利于降低芯片的功耗和適應不同應用場合的電源電壓的要求。
2.4 復位信號產生
上圖是CPU復位信號的產生。上下電檢測模塊負責監視VDD的電壓,在上電過程或工作電壓過低時產生上下電復位信號;WDT模塊是看門狗電路(watch dog timer),當軟件長時間不對WDT模塊進行操作后,WDT會產生超時復位信號使CPU復位。CPU對WDT模塊進行讀寫也是通過SFR接口。
特別要指出的是,盡管接觸接口有復位信號的輸入腳,但不會因此產生CPU的復位。當接觸界面的復位信號有效時,接觸界面會設置復位標志位并產生中斷,由CPU來決定如何處理外部接口的復位請求。
2.5 系統時鐘產生
系統時鐘有非接觸界面和接觸界面的兩個來源,為了使系統可以工作在來自任意界面的時鐘下,而且可以同時和兩個界面正確通訊,這需要系統有隨時根據應用切換系統時鐘的能力。另外,為了盡可能的降低系統的功耗,還需要在CPU不需要工作時將系統時鐘關斷,在中斷產生后把時鐘恢復。
如上圖所示,芯片通過一個時鐘管理模塊來完成兩個界面時鐘clk1(3.39MHz)和clk2(典型頻率為3.58MHz)到系統時鐘clk的切換,并可由CPU來關斷clk來節省功耗。在中斷INT1和INT2發生時,時鐘管理模塊負責恢復系統時鐘。
從系統架構可以看出,在正常工作時的CPU和兩個界面的時鐘并不需要同步,這是因為由功能獨立的界面模塊負責各自通訊,通訊的時鐘可以獨自由界面產生,CPU做的只是通過特殊寄存器(SFR)接口訪問這兩個界面模塊。因此在兩個界面同時在工作時,CPU的系統時鐘可以是clk1和clk2的任何一個。當兩個中斷都有效時,系統時鐘將從先申請中斷的那個界面的時鐘中恢復,并先處理這個界面的中斷。
上圖是時鐘管理模塊的電路圖。從CPU來的stop_clk會使clk關斷,而來自界面的中斷請求INT1、INT2或者來自定時器的中斷INT3會清除關斷信號,來由恢復時鐘選擇模塊來決定恢復那個時鐘。
圖中的clk_timer是給定時器的時鐘,clk_timer的輸出在與門之前是為了保證在系統時鐘關閉后,定時器仍有時鐘來計數。
3. 結束語
本文研究了非接觸IC卡和接觸式IC卡的應用,提出一個支持ISO/IEC 14443-A標準的非接觸卡接口和支持串行接口的雙界面CPU卡平臺的設計方案。應用本方案設計的雙界面CPU卡可以在兼容已有的非接觸卡、接觸式CPU卡的應用的基礎上,提供更強大的應用開發接口并且能作為移動設備近距離通訊的載體。
本文提出了一個新的雙界面卡的架構,這個架構的好處是:使CPU控制系統和具體的接口類型相互獨立,使COS軟件的開發更加容易;盡量利用IP復用技術,搭積木的設計方法來縮短芯片的設計周期。
作者簡介:復旦大學微電子學系 楊慶森、周曉方
參考文獻
[1] Ulrich Kaiser,Wolfgang Steinhagen .A Low-Power Transponder IC for High-Performance Identification Systems. IEEE Journal of Solid-State Circuit, Vol30, No. 3. March 1995
[2] 王凜. 存儲IC卡芯片的研制. 復旦大學集成電路和系統國家重點實驗室碩士論文.1998
[3] Gary Yeap. Pratical low power digital VLSI design. Kluwer Academic Publisher.1998,
[4] 于宏軍,趙冬艷. 智能(IC)卡技術全書. 電子工業出版社. 1996年10月
[5] Duane H. Oto, Vinod K. Dham, Keith H. Gudger et al. High-voltage regulation and process considerations for high-density 5V-only EEPROMs, IEEE. J. Solid-State Circuits, vol. SC-18, No. 5, pp.532-538, Oct. 1983.