智能卡技術(shù)第2章_第1頁
智能卡技術(shù)第2章_第2頁
智能卡技術(shù)第2章_第3頁
智能卡技術(shù)第2章_第4頁
智能卡技術(shù)第2章_第5頁
已閱讀5頁,還剩278頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第2章 接觸式IC卡技術(shù)第2章 接觸式IC卡技術(shù)2.1 實訓實訓1:接觸式存儲器卡與邏輯加密卡的存儲結(jié)構(gòu):接觸式存儲器卡與邏輯加密卡的存儲結(jié)構(gòu)2.2 接觸式接觸式IC卡的基本物理特性卡的基本物理特性 2.3 接觸式接觸式IC卡的芯片技術(shù)卡的芯片技術(shù) 2.4 典型存儲器卡典型存儲器卡 2.5 實訓實訓2:接觸式存儲器卡的操作控制:接觸式存儲器卡的操作控制2.6 典型邏輯加密卡典型邏輯加密卡 2.7 實訓實訓3:接觸式邏輯加密卡的操作控制:接觸式邏輯加密卡的操作控制2.8 接觸式接觸式IC卡接口技術(shù)卡接口技術(shù) 思考題思考題 第2章 接觸式IC卡技術(shù)2.1 實訓實訓1:接觸式存儲器卡與邏輯加密卡的存

2、儲結(jié)構(gòu):接觸式存儲器卡與邏輯加密卡的存儲結(jié)構(gòu)1實訓目的實訓目的(1) 建立對接觸式IC卡的感性認識。(2) 理解和掌握接觸式存儲器卡的訪問方式和典型存儲結(jié)構(gòu)。(3) 理解和掌握接觸式邏輯加密卡的訪問方式和典型存儲結(jié)構(gòu)。第2章 接觸式IC卡技術(shù) 2實訓設(shè)備與器件實訓設(shè)備與器件 (1) 實訓設(shè)備:通用接觸式IC卡讀寫器,586電腦,通用接觸式IC卡讀寫器DEMO軟件(使用方法參見廠商提供的使用手冊)。 (2) 實訓器件:AT24C01卡、SLE4442卡、AT88SC1604卡(白卡,實驗室準備),IC卡電話卡(已發(fā)行,自備)。第2章 接觸式IC卡技術(shù) 3實訓步驟與要求實訓步驟與要求 1) 通用接

3、觸式IC卡讀寫器及DEMO軟件的安裝 (1) 按系統(tǒng)提示安裝通用接觸式IC卡讀寫器DEMO軟件。 (2) 按標志連接通用接觸式IC卡讀寫器的電源線及串口線,注意電源 +5 V與地不可接反。 2) 使用DEMO軟件訪問AT24C01卡 (1) 按使用手冊的說明操作演示軟件,對通用接觸式IC卡讀寫器進行建立連接操作。 (2) 將AT24C01卡插入讀寫器卡座,選擇卡型(自動識別卡型或選擇AT24C01卡),進入卡操作界面。 (3) 對AT24C01卡進行讀/寫/擦除操作,記錄操作結(jié)果及操作條件。第2章 接觸式IC卡技術(shù) 3) 使用DEMO軟件訪問自備的IC卡電話卡 (1) 將IC卡電話卡插入讀寫器

4、卡座,選擇自動識別卡型,記錄卡型。 (2) 進入卡操作界面對電話卡進行讀/寫/擦除操作,在表2.1中記錄操作結(jié)果及操作條件。表表2.1 電話卡存儲結(jié)構(gòu)記錄表電話卡存儲結(jié)構(gòu)記錄表區(qū)域名 字段內(nèi)容 字節(jié)地址 字節(jié)數(shù) 讀/寫/擦除條件 第2章 接觸式IC卡技術(shù) 4) 使用DEMO軟件訪問SLE4442卡 (1) 將SLE4442卡插入讀寫器卡座,選擇卡型,進入卡操作界面。 (2) 對SLE4442卡進行讀/寫/擦除操作,在表2.2中記錄操作結(jié)果及操作條件。表表2.2 SLE4442卡存儲結(jié)構(gòu)記錄表卡存儲結(jié)構(gòu)記錄表區(qū)域名 字段內(nèi)容 字節(jié)地址 字節(jié)數(shù) 讀/寫/擦除條件 第2章 接觸式IC卡技術(shù) 5) 使

5、用DEMO軟件訪問AT88SC1604卡 (1) 將AT88SC1604卡插入讀寫器卡座,選擇卡型,進入卡操作界面。 (2) 對AT88SC1604卡進行讀/寫/擦除操作,在表2.3中記錄操作結(jié)果及操作條件。表表2.3 AT88SC1604卡存儲結(jié)構(gòu)記錄表卡存儲結(jié)構(gòu)記錄表區(qū)域名 字段內(nèi)容 字節(jié)地址 字節(jié)數(shù) 讀/寫/擦除條件 第2章 接觸式IC卡技術(shù) 4實訓總結(jié)與分析實訓總結(jié)與分析 (1) AT24C01卡的操作界面如圖2.1所示。 可以看到,AT24C01的存儲容量為1 Kb(128 B),存儲結(jié)構(gòu)為1288 b??梢园醋止?jié)操作,所有字節(jié)的讀/寫/擦除均可任意進行。這種卡被稱為存儲器卡。存儲器

6、卡的詳細內(nèi)容參見2.3節(jié)。第2章 接觸式IC卡技術(shù) (2) IC電話卡的操作界面如圖2.2所示。 DEMO軟件自動識別該卡為SLE4406卡??梢钥吹?,這種卡的存儲容量為104 b(13 B),其中僅后5個字節(jié)為用戶區(qū),可按位操作。用戶區(qū)可任意讀、任意寫(由1變?yōu)?稱為寫),但只能按字節(jié)借位擦除(由0變?yōu)?稱為擦除)。當用戶區(qū)全為0時,卡將作廢。SLE4406卡是一種按位操作的邏輯加密卡,它以一次性的計數(shù)方式操作,因此這種卡也稱為計數(shù)卡(Token Memory Card),其詳細介紹參見2.6.1節(jié)。第2章 接觸式IC卡技術(shù)圖2.1 AT24C01卡的操作界面 第2章 接觸式IC卡技術(shù)圖2.

7、2 IC電話卡的操作界面 第2章 接觸式IC卡技術(shù)(3) SLE4442卡的操作界面如圖2.3所示。圖2.3 SLE4442卡的操作界面 第2章 接觸式IC卡技術(shù) 通過操作我們發(fā)現(xiàn),SLE4442卡具有2 Kb(256 B)的存儲容量,它采用多存儲器結(jié)構(gòu),包括三個存儲器:2568 b的EEPROM型主存儲器,321 b的PROM型保護存儲器和48 b的EEPROM型加密存儲器。主存儲器可重復擦除使用,按字節(jié)操作,并分為保護數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū),讀出均不受限制,但保護數(shù)據(jù)區(qū)的擦除和寫入受保護存儲器熔絲狀態(tài)的保護,而應(yīng)用數(shù)據(jù)區(qū)的擦除和寫入則受加密存儲器中的密碼及密碼計數(shù)器保護。SLE4442卡是一種

8、按字節(jié)操作的多存儲器邏輯加密卡。第2章 接觸式IC卡技術(shù) (4) AT88SC1604卡的操作界面如圖2.4所示。 通過操作我們發(fā)現(xiàn),AT88SC1604卡的存儲容量為16 384 b(2048 B)。它采用單存儲器多邏輯分區(qū)結(jié)構(gòu),主存儲器除劃分了特定的標志數(shù)據(jù)區(qū)和控制數(shù)據(jù)區(qū)之外,還將應(yīng)用數(shù)據(jù)區(qū)分成四個完全隔離的子區(qū),并在每個子區(qū)中配備了各自的讀、寫控制標志和寫入/擦除密碼以及密碼輸入錯誤計數(shù)器等邏輯控制。AT88SC1604卡是一種按字節(jié)操作的大容量邏輯加密卡。第2章 接觸式IC卡技術(shù) 5思考思考 (1) 若要構(gòu)成一個接觸式IC卡門禁系統(tǒng),應(yīng)采用哪一種卡,為什么?與傳統(tǒng)的鎖加鑰匙的方式相比較

9、,由接觸式IC卡及其讀寫器構(gòu)成的接觸式IC卡門禁系統(tǒng)有何優(yōu)勝之處? (2) 分別說明AT24C01A、SLE4442和AT88SC1604的安全性是由哪些環(huán)節(jié)保證的?第2章 接觸式IC卡技術(shù)圖2.4 AT88SC1604卡的操作界面 第2章 接觸式IC卡技術(shù)2.2 接觸式接觸式IC卡的基本物理特性卡的基本物理特性 所謂接觸式IC卡,就是在使用時,通過有形的金屬電極觸點將卡的集成電路與外部接口設(shè)備直接接觸連接,提供集成電路工作的電源并進行數(shù)據(jù)交換的IC卡。其特點是在卡的表面有符合ISO/IEC 7816標準的多個金屬觸點。第2章 接觸式IC卡技術(shù)2.2.1 接觸式接觸式IC卡的基本構(gòu)成卡的基本構(gòu)

10、成圖2.5 接觸式IC卡外形圖電極膜片塑料基片0.76 mm85.6 mm53.98 mm第2章 接觸式IC卡技術(shù)圖2.6 接觸式IC卡內(nèi)部結(jié)構(gòu)剖視圖0.76 mm塑料基片半導體芯片芯片信號引線電極膜片封口膠芯片封裝樹脂第2章 接觸式IC卡技術(shù) 在圖2.6中,其各組成部分說明如下: (1) 半導體芯片:它是IC卡的核心部分。一般采用0.380.8 m的HCMOS或NMOS工藝制造的超大規(guī)模集成電路。在半導體芯片中包括存儲器、譯碼電路、接口驅(qū)動電路、邏輯加密控制電路,甚至微處理器單元(CPU)等各種功能電路。其外形大小約為2 mm1 mm0.3 mm。第2章 接觸式IC卡技術(shù) (2) 電極膜片:

11、它是作為半導體芯片各輸入/輸出信號引腳與外部設(shè)備接觸連接的導電體,它實際是一種精密的印刷電路板(PCB)。其基底為一層絕緣材料,(一般為環(huán)氧樹脂玻璃或聚酰亞胺薄膜)。在基底的絕緣材料上沉積一層銅合金,并在其外端表面鍍金,以提高其導電性能和防氧化能力。電極膜片的外形大小約為:長9.6213.65 mm,寬9.3211.56 mm。電極膜片的外形一般為矩形或橢圓形。這種形狀上的差異主要是為了改善卡片的抗扭曲方面的機械特性。電極膜片上共有多個芯片電極,每個電極的中心位置和最小面積是有規(guī)定的。但各電極表面分隔形狀沒有規(guī)定。第2章 接觸式IC卡技術(shù)圖2.7 接觸式IC卡模塊C1M2.2第2章 接觸式IC

12、卡技術(shù) (3) 塑料基片:它是半導體芯片和電極膜片的載體。根據(jù)各生產(chǎn)廠家制卡工藝設(shè)備的要求,一般采用PVC(聚氯乙烯)、PET和ABS塑料材料。目前在國內(nèi)所使用或封裝生產(chǎn)的IC卡,基片材料大都使用PVC材料。 但隨著制卡技術(shù)不斷發(fā)展和對工業(yè)環(huán)保的要求,PVC材料的使用將會逐漸受到一定的限制。因而目前國外的一些制卡廠商已逐漸將IC卡的基片材料轉(zhuǎn)向改用PET或ABS材料。塑料基片的大小,對于滿足國際標準識別卡的ID-1型的尺寸是85.6 mm(長)53.98 mm (寬)0.75 mm(厚)。應(yīng)該說明,由半導體芯片和電極膜片封裝而成的IC卡模塊(Wire Boded Module,如圖2.7所示)

13、就可以實現(xiàn)IC卡的基本功能。第2章 接觸式IC卡技術(shù)2.2.2 接觸式接觸式IC卡的觸點尺寸和位置卡的觸點尺寸和位置 符合國際標準的IC卡的物理特性主要由國際標準ISO 7810、ISO 7811-1/2/3/4、ISO 7812、ISO 7813和ISO/IEC 7816-1等定義。其主要特性指標包括幾何尺寸、抗X射線能力、觸點與卡基表面的誤差、電阻(觸點)、抗電磁干擾、抗磁場干擾、抗靜電能力、熱耗、抗彎曲特性以及抗扭曲特性等。上述物理特性及其檢測方法參見相關(guān)國際標準。 接觸式IC卡有8個觸點,即集成電路引腳,從C1到C8,如圖2.8所示。國際標準ISO/IEC 7816-2對接觸式集成電路

14、卡的觸點尺寸和芯片位置以及功能作了具體的規(guī)定。第2章 接觸式IC卡技術(shù)圖2.8 接觸式IC卡的觸點位置C1C2C3C4C5C6C7C810.25max12.25min17.87max19.87min19.23max20.93min21.77max23.47min24.31max26.01min26.85max28.55min左邊沿塑料基片上邊沿第2章 接觸式IC卡技術(shù) IC卡的電極膜片(即8個觸點)既可安排在塑料基片的正面,也可安排在反面。觸點之間的排列順序必須按圖2.8所示排列。各觸點在卡基平面的幾何尺寸、位置均以卡觸點的接觸面的左邊沿和上邊沿為基準邊。其觸點的尺寸及位置如圖2.8所示。 在

15、ISO/IEC 7816-2中對每個觸點的幾何形狀和最大面積雖然沒有規(guī)定,但卻規(guī)定了每個觸點表面積的內(nèi)切矩形面積不得小于2 mm1.7 mm。 各觸點之間應(yīng)相互隔離。而相鄰兩個觸點之間的最大距離為0.84 mm。8個觸點所占最大面積沒有規(guī)定,但規(guī)定最小面積不小于9.62 mm(長)9.32 mm(寬)的矩形平面。第2章 接觸式IC卡技術(shù)表表2.4 接觸式接觸式IC卡的觸點功能卡的觸點功能觸點編號 功 能 觸點編號 功 能 C1 VCC(電源電壓) C5 GND(地) C2 RST(復位信號) C6 VPP(編程電壓) C3 CLK(時鐘) C7 I/O(數(shù)據(jù)輸入/輸出端) C4 ISO/IEC

16、 JTC1/SC17 保留使用 C8 ISO/IEC JTC1/SC17 保留使用 第2章 接觸式IC卡技術(shù)2.3 接觸式接觸式IC卡的芯片技術(shù)卡的芯片技術(shù)2.3.1 存儲器卡存儲器卡 1存儲器卡的邏輯結(jié)構(gòu)存儲器卡的邏輯結(jié)構(gòu)圖2.9 存儲器卡的邏輯結(jié)構(gòu)圖串行鏈接通信接口無芯片安全保護措施,無安全控制邏輯EEPROM存儲器觸點第2章 接觸式IC卡技術(shù) 2存儲器卡的特點存儲器卡的特點 (1) 卡內(nèi)嵌入的芯片多為通用EEPROM(或Flash Memory)。 (2) 無安全控制邏輯,可對片內(nèi)信息不受限制地任意存取。 (3) 卡片制造中也很少采取安全保護措施。 (4) 不完全符合或支持ISO/IEC

17、 7816國際協(xié)議,而多采用2線串行通信協(xié)議(I2C總線協(xié)議)或3線串行通信協(xié)議(SPI協(xié)議)。第2章 接觸式IC卡技術(shù) 3存儲器卡的主要應(yīng)用場合存儲器卡的主要應(yīng)用場合 存儲器卡功能簡單,沒有(或很少有)安全保護邏輯,但價格低廉、開發(fā)使用簡便、存儲容量增長迅猛,因此多用于某些簡單的、內(nèi)部信息無需保密或不允許加密(如急救卡)的場合。 4存儲器卡的代表產(chǎn)品存儲器卡的代表產(chǎn)品 存儲器卡的代表產(chǎn)品為美國Atmel公司的EEPROM 卡AT24系列2線串行芯片和AT93系列3線串行系列,F(xiàn)lash Memory卡AT45D系列(28 Mb,SPI協(xié)議)。第2章 接觸式IC卡技術(shù)表表2.5 EEPROM存

18、儲器卡芯片存儲器卡芯片AT24C系列 01A 02 04 08 16 32 64 128 256 容量/Kb 1 2 4 8 16 32 64 128 256 內(nèi)存組織形式 1288 2568 5128 10248 2568 20488 81928 16 3848 327868 頁面寫入方式/B 8 8 16 16 16 32 32 64 64 通信協(xié)議 ISO/IEC 7816-3同步協(xié)議,雙線串行接口 工作頻率 1 MHz(5 V),1 MHz(2.7 V),400 kHz(1.8 V) 工作電壓 5 V,最低可至 1.8 V ICC電流 讀:1 mA,寫:3 mA 工作溫度 070 寫/

19、擦除次數(shù) 大于 1 000 000次 數(shù)據(jù)保護 100年 應(yīng)用領(lǐng)域 數(shù)據(jù)存儲 第2章 接觸式IC卡技術(shù)2.3.2 邏輯加密卡邏輯加密卡1邏輯加密卡的邏輯結(jié)構(gòu)邏輯加密卡的邏輯結(jié)構(gòu)圖2.10 邏輯加密卡的邏輯結(jié)構(gòu)圖具有芯片安全保護措施觸點 PROM ROM EEPROM等 存儲器安全及控制邏輯通信接口第2章 接觸式IC卡技術(shù) 2邏輯加密卡的特點邏輯加密卡的特點 (1) 具有安全控制邏輯,安全性能較好。 (2) 同時采用ROM、PROM、EEPROM等存儲技術(shù)。 (3) 從芯片制造到交貨,均采取較好的安全保護措施,如運輸密碼TC(Transport Code)的取用。 (4) 支持ISO/IEC 7

20、816國際標準。 (5) 一般均為專門為IC卡設(shè)計的芯片。 (6) 為提高安全性,邏輯加密卡的存儲空間被分為多個不同的功能區(qū),典型的存儲結(jié)構(gòu)如表2.6所示。 第2章 接觸式IC卡技術(shù)表2.6 邏輯加密卡的存儲結(jié)構(gòu)區(qū)域名 地址(字節(jié)) 位數(shù) 說 明 制造區(qū) 01 16 芯片制造商代碼(一旦寫入,不可更改,用于識別卡的來源) 發(fā)行區(qū) 25 32 卡制造商、發(fā)行商代碼 密碼區(qū) 68 24 持卡人密碼(PIN,由發(fā)行商在卡個人化時預寫入,用卡時將之與持卡人輸入的密碼相比較, 相符才允許對應(yīng)用區(qū)進行讀寫和修改該密碼) 密碼計數(shù)區(qū) 9 8 允許連續(xù)輸入錯誤密碼的次數(shù)(34 次),若達到則卡自鎖,以防止對

21、PIN 的非法試探 個人區(qū) 1013 32 持卡人個人信息,可自由讀寫 應(yīng)用區(qū) 1477 512 應(yīng)用數(shù)據(jù) 擦除密碼區(qū) 7880 24 擦除密碼,僅供發(fā)行商使用,與發(fā)行商輸入密碼比較,相等即可對整個應(yīng)用區(qū)置 1(擦除),以實現(xiàn)卡的重復使用 擦除計數(shù)區(qū) 8188 64 擦除次數(shù),該區(qū)每一個 1 表示可進行 1 次擦除操作,每輸入 1次擦除密碼(無論對錯)就將 1 個 1 置 0,該區(qū)全為 0 時,卡片使用壽命結(jié)束。該區(qū)本身的擦除只能在發(fā)行前進行,一旦發(fā)行,只能置 0 和讀出 第2章 接觸式IC卡技術(shù) 3邏輯加密卡的應(yīng)用場合與代表產(chǎn)品邏輯加密卡的應(yīng)用場合與代表產(chǎn)品 由于具有一定的保密功能,且價格較

22、CPU卡低,因此在需要保密但對安全性要求不是太高的場合,邏輯加密卡得以大量應(yīng)用,如電話卡、網(wǎng)吧上網(wǎng)卡、停車卡等小額消費場合,已成為目前IC卡在非金融領(lǐng)域的最主要的應(yīng)用形式。 (1) 安全數(shù)據(jù)存儲、傳輸和處理:面向字節(jié)操作的邏輯加密卡,如Atmel的AT88SC200、Philips的PC2032/2042、Siemens的SLE4418/4428/4432/4442等,應(yīng)用于保險卡、加油卡、駕駛卡、借書卡等。第2章 接觸式IC卡技術(shù) (2) 相關(guān)數(shù)據(jù)記錄、存儲、處理,包括: 一次性使用的不可重置式,如Siemens的SLE4406/4436、Atmel的AT88SC06、Gemplus的GPM

23、276/103。 可重置式,如Siemens的SLE4404(64次)、Atmel的AT88SC101/102(128次),應(yīng)用于IC卡電話、小額電子錢包。 第2章 接觸式IC卡技術(shù)表表2.7 Siemens系列邏輯加密卡芯片的特性參數(shù)系列邏輯加密卡芯片的特性參數(shù) SLE4406 SLE446x SLE4442 SLE4418 產(chǎn)品描述 帶保密邏輯的88B EEPROM計數(shù)卡 帶保密邏輯和高級 保 密 認 證 的498B EEPROM 計數(shù)卡 帶寫保護功能和 保 密 邏 輯 的256B EEPROM計數(shù)卡 帶寫保護功能的 1 KB EEPROM計數(shù)卡 ROM 16 B 16 B PROM 56

24、 B 185 B 32 B 1024 B EEPROM 32 B 36 B 256 B 1024 B 保密特性 傳輸代碼; 保密邏輯; 芯片代碼一經(jīng)寫入不可更改 密碼保護; 傳輸代碼; 高級保密認證; 芯片代碼一經(jīng)寫入不可更改; CBC 校驗; 響應(yīng)計數(shù)器; 計數(shù)器數(shù)值驗證 密碼保護; 傳輸代碼; 字節(jié)保護; 芯片代碼一經(jīng)寫入不可更改 字節(jié)保護; 芯片代碼一經(jīng)寫入不可更改 最小寫/擦除時間/ms 5 3 5 5 工作電壓/V 5 5 5 5 最大供電電流/mA 3 10 10 10 寫/擦除次數(shù)/次 100 000 100 000 100 000 100 000 數(shù)據(jù)保持/年 10 10 10

25、 10 注釋 20 000 個計數(shù)單位 120 000 個計數(shù)單位 典型應(yīng)用 預付費電話卡 電子錢包 健康保險卡; 訪問控制; 電子票據(jù); 忠誠卡 健康保險卡; 訪問控制; 會員卡 第2章 接觸式IC卡技術(shù)2.3.3 CPU卡卡 1CPU卡的邏輯結(jié)構(gòu)卡的邏輯結(jié)構(gòu) CPU卡的硬件構(gòu)成包括CPU、存儲器(含RAM、ROM、EEPROM等)、卡與讀寫終端通信的I/O接口及加密運算協(xié)處理器CAU,其中: (1) CPU一般均為兼容于位字長單片機(如MC68HC05、Intel8051等)的微處理器。它將在COS(Chip Operation System,片內(nèi)操作系統(tǒng))控制下,實現(xiàn)卡與外界的信息傳輸、

26、加密、解密和判別處理等。 (2) ROM用于存放COS,316 KB。 (3) RAM用于存放中間處理結(jié)果及作為卡與讀寫器間信息交換的中間緩存器,128 B1 KB。第2章 接觸式IC卡技術(shù) (4) EEPROM則是真正可供用戶訪問的存儲區(qū),用于保存卡的各種信息、密碼、密鑰、應(yīng)用文件等,116 KB。 (5) CPU卡通常采用DES、RSA等加密、解密算法提高系統(tǒng)的安全度,采用RSA等算法時要進行對運算速度要求較高的大指數(shù)模運算,8位的CPU將難以勝任,因此多設(shè)有專用加密、解密運算協(xié)處理器CAU。 例如Siemens的SLE44C20,內(nèi)含8位字長的CPU、15 KB的ROM、32 B的PRO

27、M、2 KB的EEPROM和256 B的RAM。第2章 接觸式IC卡技術(shù) 2CPU卡的特點卡的特點 (1) 片內(nèi)帶有CPU、各種存儲器ROM、RAM以及專用加密、解密運算協(xié)處理器CAU,具有很高的數(shù)據(jù)處理和計算能力以及較大存儲容量,因此應(yīng)用的靈活性、適應(yīng)性較強。 (2) 在硬件結(jié)構(gòu)、操作系統(tǒng)、制作工藝上采取多層次安全措施,保證了其極強的安全防偽能力。它不僅可驗證卡和持卡人的合性法,而且可鑒別讀寫終端,即進行雙向認證。第2章 接觸式IC卡技術(shù) 3CPU卡的主要應(yīng)用場合與典型產(chǎn)品卡的主要應(yīng)用場合與典型產(chǎn)品 目前CPU卡多用于一卡多用(一卡通)及對數(shù)據(jù)安全保密性特別敏感的場合,如金融信用卡、手機SI

28、M卡等。 CPU卡的詳細內(nèi)容參見第4章。本章將以存儲器卡和邏輯加密卡為基礎(chǔ)介紹接觸式IC卡的芯片及接口技術(shù)。第2章 接觸式IC卡技術(shù)2.4 典型存儲器卡典型存儲器卡2.4.1 AT24Cxx系列存儲器卡芯片總體描述系列存儲器卡芯片總體描述 1芯片特點芯片特點 (1) 低電壓/標準電壓操作:1.85 V。 (2) 內(nèi)部組成:1288(AT24C01),2568(AT24C02),5128(AT24C04),10248(AT24C08),20488(AT24C16)的串行EEPROM。 (3) 2線串行接口。 (4) 雙向數(shù)據(jù)傳輸協(xié)議。第2章 接觸式IC卡技術(shù) (5) 支持ISO/IEC 7816

29、-10同步協(xié)議。 (6) 8 B頁面(AT24C01/02),16 B頁面(AT24C04/08/16)寫入方式。 (7) 自定時寫入周期(最大10 ms)。 (8) 高可靠性:使用壽命為100 000次寫/擦除,數(shù)據(jù)保留期為100年。 (9) 多種封裝形式:提供芯片、模塊及標準封裝形式。 第2章 接觸式IC卡技術(shù)2芯片封裝及引腳功能芯片封裝及引腳功能1) 封裝圖2.11 AT24Cxx觸點分配圖C1VCCC2NCC3SCLC4NCC5C6C7C8GNDNCSDANC第2章 接觸式IC卡技術(shù)卡觸點 引腳名 功 能 C1 VCC 工作電壓 C2 NC 未連接 C3 SCL 串行時鐘(輸入) C4

30、 NC 未連接 C5 GND 地線 C6 NC 未連接 C7 SDA 串行數(shù)據(jù)(輸入/輸出) C8 NC 未連接 表表2.9 IC卡觸點功能表卡觸點功能表 第2章 接觸式IC卡技術(shù) 2) 引腳功能說明 SCL:串行時鐘輸入(Serial Clock Input)。串行時鐘上升沿時,數(shù)據(jù)輸入芯片(寫入);串行時鐘下降沿時,數(shù)據(jù)從芯片輸出(讀出)。 SDA:串行數(shù)據(jù)(Serial DAta),雙向串行傳送數(shù)據(jù)。該端為漏極開路驅(qū)動,可與任意數(shù)量的其他漏極開路或集電極開路器件“線或”。 A2、A1、A0:器件/頁面地址(DevicPage Addresses)。器件地址輸入端,應(yīng)用于標準封裝中,在IC

31、卡模塊封裝中不將A2、A1、A0引出到觸點上,詳細使用見“器件尋址”。第2章 接觸式IC卡技術(shù)3邏輯結(jié)構(gòu)與存儲器組織邏輯結(jié)構(gòu)與存儲器組織圖2.12 AT24Cxx的邏輯結(jié)構(gòu)數(shù)據(jù)輸出 /確認邏輯串行多路開關(guān)EEPROMX譯碼數(shù)據(jù)寄存器升壓 / 定時串行控制邏輯數(shù)據(jù)字地址 / 計數(shù)器INCY譯碼LOADCOMPR / W設(shè)備地址比較器LOAD開始 / 停止邏輯DINDOUTWPSCLSDAA2A1A0GNDVCCEN第2章 接觸式IC卡技術(shù)2.4.2 器件操作器件操作1時鐘和數(shù)據(jù)轉(zhuǎn)換時鐘和數(shù)據(jù)轉(zhuǎn)換圖2.13 AT24Cxx數(shù)據(jù)的有效性時序圖SDASCL數(shù)據(jù)變化數(shù)據(jù)穩(wěn)定數(shù)據(jù)穩(wěn)定第2章 接觸式IC卡技

32、術(shù) 1) 輸出數(shù)據(jù) 當數(shù)據(jù)(包括地址、數(shù)據(jù))由接口設(shè)備送往AT24Cxx時,稱為輸出數(shù)據(jù)(寫數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸出,每個時鐘脈沖輸出一位。SDA總線上的數(shù)據(jù)應(yīng)在SCL低電平期間改變(輸出),在SCL高電平期間穩(wěn)定。 基于MCS-51單片機的接口設(shè)備可利用如下串行輸出字節(jié)子程序SHOUT來實現(xiàn)輸出(寫)一個字節(jié)數(shù)據(jù)的操作。第2章 接觸式IC卡技術(shù) SHOUT: ;串行輸出一個字節(jié)到AT24Cxx,高位在前。調(diào)用前,SCL、SDA為低。返回時,SCL為低。調(diào)用時數(shù)據(jù)置入A中。返回CY為1表明應(yīng)答失敗。占用A累加器PUSH BMOVB,#8;設(shè)置位計數(shù)器L1:RLCA;移一位到C

33、Y中MOVSDA,C;輸出位NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定SETBSCL;升高時鐘ACALLDELAY_4 s;保持SCL為高第2章 接觸式IC卡技術(shù)CLRSCL;降低時鐘DJNZB, L1;傳送下一位SETBSDA;釋放SDA等待應(yīng)答NOP;保持SCL為低,保持時間tAANOPSETBSCL;升高ACK時鐘脈沖ACALLDELAY_4 s;保持SCL為高MOVC, SDA;讀入ACK位CLRSCL;降低ACK時鐘脈沖POPBRET第2章 接觸式IC卡技術(shù) 2) 輸入數(shù)據(jù) 當接口設(shè)備從AT24Cxx的數(shù)據(jù)線上讀取數(shù)據(jù)時,稱為輸入數(shù)據(jù)(讀數(shù)據(jù))。數(shù)據(jù)總是按字節(jié)(8位)逐位串行輸入,每個時鐘

34、脈沖輸入一位。AT24Cxx的EEPROM在SCL低電平期間將數(shù)據(jù)送往SDA總線,在SCL高電平期間,SDA總線上的數(shù)據(jù)穩(wěn)定,可供接口設(shè)備讀取。 基于MCS-51單片機的接口設(shè)備可利用如下串行輸入字節(jié)子程序SHIN來實現(xiàn)輸入(讀)一個字節(jié)數(shù)據(jù)的操作。第2章 接觸式IC卡技術(shù) SHIN: ;從AT24Cxx串行輸入一個字節(jié),高位在前。調(diào)用前,SCL為低。返回時,SCL為低。返回時接收到的數(shù)據(jù)置于A中SETBSDA ;使SDA為高,準備讀PUSHBMOVB,#8 ;設(shè)置位計數(shù)器L2:NOP ;保持SCL為低且使數(shù)據(jù)穩(wěn)定NOPSETBSCL ;升高時鐘第2章 接觸式IC卡技術(shù)NOP;保持SCL為高N

35、OPMOVC, SDA;輸入位RLCA;將位移入ACLRSCL;降低時鐘DJNZB, L2;傳送下一位POPBRET第2章 接觸式IC卡技術(shù) 2開始狀態(tài)開始狀態(tài)(START) SCL處于高電平時,SDA從高電平轉(zhuǎn)向低電平表示一個“開始”狀態(tài),該狀態(tài)表示一種操作的開始,因此必須在任何其他命令之前執(zhí)行。AT24Cxx開始/停止定義時序圖見圖2.14。圖2.14 AT24Cxx開始/停止定義時序圖SDASCL開始停止第2章 接觸式IC卡技術(shù) 基于MCS-51單片機的接口設(shè)備可利用如下開始子程序START來實現(xiàn)一個開始操作。 START: ;發(fā)送START狀態(tài),定義當SCL為高時,SDA從高到低。返回

36、時,SCL、SDA為低。當總線無效時,返回CY位為高SETB SDA;升高SDASETB SCL;校驗總線有效JNBSDA, ERROR1;若SDA不為高則跳轉(zhuǎn)到ERROR1JNBSCL, BACK1 ;若SDA不為高則跳轉(zhuǎn)到BACK1NOP;保持數(shù)據(jù)建立延遲及周期延遲第2章 接觸式IC卡技術(shù)CLRSDA;降低SDAACALLDELAY_4 s;保持SDA為低,保持時間hold delayCLRSCL;降低SDLCLRC;清零錯誤標志AJMPBACK1ERROR1: SETBC;置位錯誤標志BACK1:RET第2章 接觸式IC卡技術(shù) 3停止狀態(tài)停止狀態(tài)(STOP) SCL處于高電平時,SDA由

37、低電平轉(zhuǎn)向高電平表示一個“停止”狀態(tài)。該狀態(tài)表示一種操作的結(jié)束并將終止所有通信。在一個讀序列之后,停止命令置EEPROM于待機模式。其停止定義時序圖見圖2.14。 基于MCS-51單片機的接口設(shè)備可利用如下停止子程序STOP來實現(xiàn)一個停止操作。第2章 接觸式IC卡技術(shù) STOP: ;發(fā)送STOP狀態(tài),定義當SCL為高時,SDA從低變高。調(diào)用前,SCL為低。返回時,SCL、SDA為高CLRSDANOP;保持SCL為低及數(shù)據(jù)穩(wěn)定NOPSETBSCLACALLDELAY_4 s;保持建立延遲SETBSDARET第2章 接觸式IC卡技術(shù) 4確認應(yīng)答確認應(yīng)答(ACK) 所有地址和數(shù)據(jù)字以位碼串行輸入/輸

38、出EEPROM,EEPROM在收到每個地址或數(shù)據(jù)碼之后,置SDA于低電平作為確認應(yīng)答,該確認應(yīng)答發(fā)生于第9個時鐘周期,見圖2.15。圖2.15 AT24Cxx確認應(yīng)答時序圖189SCL數(shù)據(jù)輸入數(shù)據(jù)輸出應(yīng)答開始第2章 接觸式IC卡技術(shù) 在串行輸出字節(jié)子程序SHOUT中我們可以清楚地看到,當接口設(shè)備向卡發(fā)送完8位數(shù)據(jù)后,程序?qū)a(chǎn)生第9個時鐘脈沖并將SDA線讀入CY位,此時CY位的狀態(tài)即為卡響應(yīng)狀態(tài)。當CY=1時表示卡尚未接收到數(shù)據(jù),不能進行下一步的操作;當CY=0時表示卡已接收到數(shù)據(jù),可以進行下一步的操作。第2章 接觸式IC卡技術(shù) 5待機模式待機模式 AT24Cxx的特性之一是具備待機模式,這一模

39、式當電源掉電;接收到STOP位或完成任何一個內(nèi)部處理之后有效。 6存儲器復位存儲器復位 當電源掉電、系統(tǒng)復位或協(xié)議中斷時,任何一個2線的部分都可通過以下步驟復位:(1) 9個時鐘周期之后;(2) 在每個時鐘周期當SCL為高時等待SDA為高;(3) 產(chǎn)生一個START狀態(tài)。第2章 接觸式IC卡技術(shù)2.4.3 器件尋址器件尋址 以上AT24系列EEPROM在緊接著開始狀態(tài)后均需一個8位器件地址(Device Address),如圖2.16所示,以使器件能夠進行讀/寫操作。 器件地址高4位為1010,這對所有器件都是相同的。 在標準封裝中,接下來的3位器件尋址碼將因芯片容量的不同而有不同的定義: 對

40、于AT24C01/02來說,下面3位器件尋址碼是A2、A1、A0,這3位必須與它們相應(yīng)的硬件連線輸入引腳相對應(yīng)。第2章 接觸式IC卡技術(shù)圖2.16 AT24Cxx器件地址1010P2 P1P0W/R1010A2 P1P0W/R1010A2 A1 P0W/R1010A2 A1 A0W/RAT24C01/02MSBLSBAT24C04AT24C08AT24C016第2章 接觸式IC卡技術(shù) 對于AT24C04來說,僅用A2和A1器件尋址位,第3位是存儲器頁面尋址位。2個器件尋址位必須與硬件連線輸入引腳相對應(yīng),A0引腳不連接。 對于AT24C08來說,僅用A2器件尋址位,下面2位是存儲器頁面尋址。A2

41、必須與硬件連線輸入引腳相對應(yīng),A1和A0引腳不連接。 對于AT24C16來說,無器件尋址位。這3位均用于存儲器頁面尋址,A0、A1、A2不連接。第2章 接觸式IC卡技術(shù) AT24C04/08/16的頁面尋址位應(yīng)被視為隨后數(shù)據(jù)碼尋址的最高位。 IC卡上使用的EEPROM芯片,因受尺寸限制,一般只能使用一個芯片,同時應(yīng)符合國際標準,因此A2、A1、A0未引出到觸點上,A2A1A0=000。 器件尋址的第8位是讀/寫操作選擇位,該位為高電平時啟動讀操作,處于低電平時啟動寫操作。 設(shè)備尋址一經(jīng)成功,EEPROM將在SDA總線上輸出一個確認應(yīng)答ACK;相反,則芯片回到待機狀態(tài)。第2章 接觸式IC卡技術(shù)2

42、.4.4 寫操作寫操作 1寫字節(jié)寫字節(jié)(BYTE WRITE) 寫字節(jié)時序見圖2.17。寫字節(jié)時序要求在給出“開始”狀態(tài)、器件地址碼和收到卡的確認應(yīng)答ACK后,緊跟著給出一個8位地址碼(32 KB芯片是2個8位地址碼)??ㄊ盏降刂反a后發(fā)出確認應(yīng)答ACK。然后送要寫的8位數(shù)據(jù)到SDA線上,并進入EEPROM單元,每個時鐘節(jié)拍送入1位。EEPROM單元收到數(shù)據(jù)后,通過SDA線發(fā)出確認應(yīng)答ACK。數(shù)據(jù)傳送設(shè)備必須用“停止”狀態(tài)來結(jié)束寫操作。這時EEPROM進入內(nèi)部定時的寫周期,如圖2.18中的tWR,在寫周期期間,將數(shù)據(jù)寫入非易失性存儲器,并禁止所有其他操作直到寫完成。第2章 接觸式IC卡技術(shù)圖2.

43、17 AT24Cxx寫字節(jié)時序圖開始MSB器件地址寫字節(jié)地址數(shù)據(jù)停止*R/WLSBACKMSBLSBACKACK(*: 對AT24C01無意義)第2章 接觸式IC卡技術(shù)圖2.18 AT24Cxx寫周期時序圖字n第8位停止狀態(tài)tWR開始狀態(tài)ACKSCLSDA(*:對AT24C01無意義)注:寫周期時間是指從寫時序的有效停止狀態(tài)到內(nèi)部寫循環(huán)結(jié)束的時間第2章 接觸式IC卡技術(shù) 基于MCS-51單片機的接口設(shè)備可利用如下寫字節(jié)子程序WRITE_BYTE來實現(xiàn)寫字節(jié)操作。 WRITE_BYTE: ;AT24Cxx寫字節(jié)功能。調(diào)用前可編程的器件地址programmable address置于A中,字節(jié)地址

44、置于寄存器ADDR_HI和ADDR_LO中,數(shù)據(jù)置于寄存器XDATA中。未等待寫周期完成。返回CY為1表明總線無效或該器件無應(yīng)答。占用A累加器ACALLSTARTJCBACK2;若總線無效則中斷RLA;可編程地址左移一位ORLA, #FADDR;加入固定器件地址CLRACC.0;設(shè)置寫,建立器件地址第2章 接觸式IC卡技術(shù)ACALLSHOUT;發(fā)送器件地址JCERROR2;若無應(yīng)答則中斷MOVA, ADDR_HI;發(fā)送字節(jié)地址的高8位ACALLSHOUTJCERROR2;若無應(yīng)答則中斷MOVA, ADDR_LO;發(fā)送字節(jié)地址的低8位ACALLSHOUTJCERROR2;若無應(yīng)答則中斷MOVA,

45、 ADATA;取數(shù)據(jù)ACALLSHOUT;發(fā)送數(shù)據(jù)JCERROR2;若無應(yīng)答則中斷CLRC;清零錯誤標志ERROR2:ACALLSTOPBACK2: RET第2章 接觸式IC卡技術(shù) 2寫頁面寫頁面(PAGE WRITE) AT24C01/02可以進行8 B頁面寫入,AT24C04/08/16可以進行16 B頁面寫入。啟動寫頁面與啟動寫字節(jié)操作一樣,但數(shù)據(jù)傳送設(shè)備無需在第一個字節(jié)隨時鐘輸入后發(fā)出一個停止狀態(tài);在EEPROM確認收到第一個數(shù)據(jù)碼之后,數(shù)據(jù)傳送設(shè)備再傳送7個(對于AT24C01/02)或15個(對于AT24C04/08/16)數(shù)據(jù)碼;每收到一個數(shù)據(jù),EEPROM都將通過SDA回送一個

46、確認應(yīng)答信號,最后數(shù)據(jù)傳送設(shè)備通過“停止”狀態(tài)終止寫頁面操作,其過程見圖2.19。第2章 接觸式IC卡技術(shù)圖2.19 寫頁面時序圖開始*器件地址寫SDA字節(jié)地址(n)數(shù)據(jù)(n)數(shù)據(jù)(n1)數(shù)據(jù)(nx)停止( 對AT24C01無意義)*MSBR/WLSBACKACKACKACKACK:第2章 接觸式IC卡技術(shù) 數(shù)據(jù)地址的低3位(對于AT24C01/02)或4位(對于AT24C04/08/16)在收到每個數(shù)據(jù)字后,在芯片內(nèi)部自動加1。數(shù)據(jù)字地址的高位字節(jié)保持不變,以保持存儲器頁地址不變。如果傳送到EEPROM中的數(shù)據(jù)字超過8(對于AT24C01/02)或16(對于AT24C04/08/16),數(shù)據(jù)

47、字地址將“滾動覆蓋”,以前寫入的數(shù)據(jù)將被覆蓋。 基于MCS-51單片機的接口設(shè)備可利用如下寫塊子程序WRITE_BLOCK來實現(xiàn)寫頁面操作。第2章 接觸式IC卡技術(shù) WRITE_BLOCK: ;向AT24Cxx寫入一頁數(shù)據(jù)。調(diào)用時器件地址的可編程地址置于A中,第一個字節(jié)地址置于寄存器ADDR_HI和ADDR_LO中,數(shù)據(jù)置于BUFFER中,字節(jié)計數(shù)器置于寄存器COUNT中。未等待寫周期完成。返回時CY位為1表明總線無效或器件無應(yīng)答。占用A,COUNT,INDEX(注:INDEX為數(shù)據(jù)緩沖區(qū)指針,可使用工作寄存器R0)ACALLSTARTJCBACK3;總線無效則中斷RLAORLA, #FADD

48、R;生成器件地址第2章 接觸式IC卡技術(shù)CLRACC.0;定義寫操作ACALLSHOUT;發(fā)送器件地址JCERROR3;無應(yīng)答則中斷MOVA, ADDR_HI ;發(fā)送字節(jié)地址高8位ACALLSHOUTJCERROR3;無應(yīng)答則中斷MOVA, ADDR_LO;發(fā)送字節(jié)地址低8位ACALLSHOUTJCERROR3;無應(yīng)答則中斷MOVINDEX, #BUFFER;指向數(shù)據(jù)緩沖區(qū)首地址第2章 接觸式IC卡技術(shù)L3: MOVA, INDEX ;取數(shù)據(jù) ACALLSHOUT;發(fā)送數(shù)據(jù) JCERROR3;無應(yīng)答則中斷 INCINDEX;地址指針加1 DJNZCOUNT, L3;下一個字節(jié) CLRC;清零錯

49、誤標志ERROR3: ACALLSTOPBZCK3: RET第2章 接觸式IC卡技術(shù) 3確認查詢確認查詢(ACKNOWLEDGE POLLING) 一旦內(nèi)定時寫循環(huán)開始且禁止EEPROM輸入,確認查詢將被啟動。當數(shù)據(jù)傳送設(shè)備在送出一個“開始”狀態(tài)以及緊隨其后的器件地址碼(讀/寫位代表所要進行的操作)時,只有在內(nèi)定時寫循環(huán)完成時,EEPROM才通過拉低SDA總線發(fā)出“確認”應(yīng)答,允許讀或?qū)戇^程繼續(xù)進行。AT24Cxx系列存儲器芯片的內(nèi)定時寫周期(tWR)最大為10 ms,因此,每完成一個寫操作,應(yīng)延時約10 ms或查詢SDA總線重新為低時才能發(fā)出下一個操作的開始命令,否則下一次操作命令將不被器件

50、接收、執(zhí)行。第2章 接觸式IC卡技術(shù)2.4.5 讀操作讀操作 1現(xiàn)行地址讀現(xiàn)行地址讀(CURRENT ADDRESS READ) 內(nèi)部數(shù)據(jù)字地址指針總是保持最后一次讀/寫操作中最后訪問的地址,并按“1”遞增。只要芯片保持上電,該地址在兩次操作之間一直保持有效。如果最后一個操作是在地址n處讀取,則現(xiàn)行地址是n+1;如果最后一個操作是在地址n處寫入,則當前地址也是n+1。在出現(xiàn)“滾動覆蓋”的情況時,讀操作的地址是從最后一頁的最后一個字節(jié)滾動覆蓋到第一頁的第一個字節(jié),而寫操作的地址是從當前頁的最后一個字節(jié)滾動覆蓋到同一頁的第一個字節(jié)。第2章 接觸式IC卡技術(shù)圖2.20 現(xiàn)行地址讀時序圖開始器件地址

51、讀數(shù)據(jù)停止MSBR/WLSBACKNO ACK第2章 接觸式IC卡技術(shù) 一旦讀/寫選擇位置于1,器件地址隨時鐘輸入,并收到EEPROM的確認應(yīng)答,現(xiàn)行地址的數(shù)據(jù)碼隨時鐘被EEPROM串行輸出。此時數(shù)據(jù)傳送設(shè)備(微控制器)可在SDA線上隨時鐘串行讀入數(shù)據(jù)。讀取數(shù)據(jù)結(jié)束后,微控制器不是通過確認(低電平ACK)來應(yīng)答,而是使總線處于高電平(NO ACK),隨后產(chǎn)生一個停止狀態(tài),見圖2.20。 基于MCS-51單片機的接口設(shè)備可利用如下現(xiàn)行地址讀子程序READ_CURRENT來實現(xiàn)現(xiàn)行地址讀操作。第2章 接觸式IC卡技術(shù) READ_CURRENT: ;AT24Cxx現(xiàn)行地址讀功能。調(diào)用時,器件地址的可

52、編程地址置于A中,返回數(shù)據(jù)置于A中。返回時,CY位為1表明總線無效或器件無應(yīng)答 ACALL START JCBACK4;若總線無效則中斷 RLA ORLA, #FADDR;生成器件地址 SETBACC.0;設(shè)置讀操作 ACALLSHOUT;發(fā)送器件地址 JCERROR4;若無應(yīng)答則中斷 ACALLSHIN;接收數(shù)據(jù)字節(jié)第2章 接觸式IC卡技術(shù) ACALLNAK;發(fā)送高電平NAK應(yīng)答 CLRC;清零錯誤標志ERROR4:ACALLSTOPBACK4:RET 注意: 寫操作中卡接收到數(shù)據(jù)(地址、數(shù)據(jù))后向接口設(shè)備發(fā)送低電平應(yīng)答ACK,程序通過將第9個時鐘周期的SDA線讀入CY位來接收應(yīng)答,查詢CY

53、位是否為低來判斷是否收到卡確認應(yīng)答。而讀操作中是接口設(shè)備接到數(shù)據(jù)后向卡發(fā)送高電平應(yīng)答(NO ACK),該高電平應(yīng)答由NAK子程序來產(chǎn)生。第2章 接觸式IC卡技術(shù) NAK子程序: NAK: ;隨時鐘輸出一個高電平的負應(yīng)答位。調(diào)用前SCL為低,返回時SCL為低,SDA為高SETB SDA;NAK位NOP;保持SCL為低及數(shù)據(jù)穩(wěn)定NOPSETB SCL;升高時鐘ACALL DELAY_4 s;保持SCL為高CLR SCL;降低時鐘RET第2章 接觸式IC卡技術(shù) 2隨機地址讀隨機地址讀(RANDOM ADDRESS READ) 隨機讀取需要一個“空”字節(jié)寫序列來載入數(shù)據(jù)地址,一旦器件地址(讀/寫選擇位

54、置低)和數(shù)據(jù)地址隨時鐘輸入,并被EEPROM確認,傳送設(shè)備必須產(chǎn)生另一個開始狀態(tài)。此時送出的器件地址中讀/寫選擇位處于高電平,將啟動一個現(xiàn)行地址讀,EEPROM收到器件地址后回送確認應(yīng)答,并隨時鐘串行輸出數(shù)據(jù)碼,微控制器讀取數(shù)據(jù)后不通過確認應(yīng)答,而是使SDA總線處于高電平,隨后產(chǎn)生一個停止狀態(tài),見圖2.21。 基于MCS-51單片機的接口設(shè)備可利用如下隨機地址讀子程序READ_RANDOM來實現(xiàn)隨機地址讀操作。從程序中可以看到,在完成了一個“空”寫之后,直接調(diào)用上面給出的現(xiàn)行地址讀子程序就可以實現(xiàn)隨機地址讀操作了。第2章 接觸式IC卡技術(shù)圖2.21 隨機地址讀時序圖開始*器件地址寫SDA字節(jié)地

55、址(n)停止開始器件地址讀數(shù)據(jù)nMSBR/WLSBACKMSBLSBACKMSBLSBACKNO ACK空寫( 對AT24C01無意義)*:第2章 接觸式IC卡技術(shù)READ_RANDOM:;AT24Cxx隨機地址讀功能。調(diào)用時器件地址的可編程地址置于A中,字節(jié)地址置于寄存器ADDR_HI和ADDR_LO中,返回數(shù)據(jù)置于A中。返回時CY位為1表明總線無效或器件無應(yīng)答PUSHBMOV B, A;可編程器件地址暫存B中;*發(fā)送空寫命令來設(shè)置內(nèi)部地址*ACALLSTARTJCBACK5;總線無效則中斷RLA ORLA, #FADDR;生成器件地址第2章 接觸式IC卡技術(shù)CLRACC.0;設(shè)置寫操作AC

56、ALLSHOUT;發(fā)送器件地址JCERROR5;無應(yīng)答則中斷MOVA,ADDR_HI;發(fā)送字節(jié)地址高8位ACALLSHOUTJCERROR5;無應(yīng)答則中斷MOVA, ADDR_LO;發(fā)送字節(jié)地址低8位ACALLSHOUTJCERROR5;無應(yīng)答則中斷;*調(diào)用現(xiàn)行地址讀功能*第2章 接觸式IC卡技術(shù)MOVA, B ;取可編程器件地址ACALLREAD_CURRENTAJMPBACK4 ;退出ERROR5:ACALLSTOPBACK5:POPBRET第2章 接觸式IC卡技術(shù) 3順序讀順序讀(SEQUENTIAL READ) 順序讀取由現(xiàn)行讀或隨機地址讀啟動。微控制器收到一個數(shù)據(jù)碼之后回送“確認”應(yīng)

57、答,只要EEPROM收到“確認”之后,便會繼續(xù)增加數(shù)據(jù)地址并隨時鐘串行輸出后面的數(shù)據(jù)。當達到存儲地址極限時,數(shù)據(jù)地址將重復滾動,順序讀取將繼續(xù);當終止順序讀操作時,微控制器不產(chǎn)生低電平確認信號,而是使SDA總線處于高電平應(yīng)答,隨后產(chǎn)生一個停止狀態(tài)。順序讀時序圖見圖2.22。 第2章 接觸式IC卡技術(shù)圖2.22 順序讀時序圖SDA器件地址 讀數(shù)據(jù)(n)數(shù)據(jù)(n1)數(shù)據(jù)(n2)數(shù)據(jù)(nx)停止ACKACKACKNO ACKR/WACK第2章 接觸式IC卡技術(shù) 基于MCS-51單片機的接口設(shè)備可利用如下讀塊子程序READ_BLOCK來實現(xiàn)順序讀操作。 READ_BLOCK: ;從AT24Cxx讀一頁

58、數(shù)據(jù)。當讀出超過一個字節(jié)時執(zhí)行由隨機地址讀擴展而來的順序讀。調(diào)用時器件地址的可編程地址置于A中,第一個字節(jié)地址置于寄存器ADDR_HI和ADDR_LO中,字節(jié)計數(shù)器置于寄存器COUNT中。返回時數(shù)據(jù)置于BUFFER中。返回時CY為1表明總線無效或器件無應(yīng)答。占用A,COUNT,INDEX(注:COUNT為字節(jié)計數(shù)器,可使用工作寄存器R1) 第2章 接觸式IC卡技術(shù);*發(fā)送空寫命令來設(shè)定第一個字節(jié)的地址*ACALLSTARTJCBACK6;若總線無效則中斷RLAORLA, #FADDR;生成器件地址MOVINDEX, A;暫存器件地址于INDEXCLRACC.0;設(shè)置寫操作ACALLSHOUT;

59、發(fā)送器件地址JCERROR6;若無應(yīng)答則中斷MOVA, ADDR_HI ;發(fā)送字節(jié)地址高8位ACALLSHOUTJCERROR6;若無應(yīng)答則中斷MOVA, ADDR_LO;發(fā)送字節(jié)地址低8位ACALLSHOUTJCERROR6;若無應(yīng)答則中斷 第2章 接觸式IC卡技術(shù);*發(fā)送讀命令及接收數(shù)據(jù)*ACALLSTART;第二次開始啟動讀操作JCERROR6;若總線無效則中斷MOVA,INDEX;從INDEX中取器件地址SETBACC.0;設(shè)置讀操作ACALL SHOUT;發(fā)送器件地址JCERROR6;若無應(yīng)答則中斷MOVINDEX, #BUFFER;指向數(shù)據(jù)緩沖區(qū)首地址L6:ACALLSHIN;接收

60、數(shù)據(jù)字節(jié)MOVINDEX, A;保存數(shù)據(jù)CJNECOUNT, #1, NEXT;不是最后一個字節(jié)則繼續(xù)ACALL NAK;讀完發(fā)送NAK應(yīng)答AJMPDONE;完成第2章 接觸式IC卡技術(shù)NEXT: ACALL ACK;發(fā)送ACK應(yīng)答字節(jié) INCINDEX;數(shù)據(jù)緩沖區(qū)地址加1 DJNZCOUNT, L6;讀下一個字節(jié)DONE: CLRC;清零錯誤標志ERROR6: ACALL STOPBACK6: RET 第2章 接觸式IC卡技術(shù) 注意: 寫操作中卡接收到數(shù)據(jù)后向接口設(shè)備發(fā)送低電平應(yīng)答ACK,程序通過將第9個時鐘周期的SDA線讀入CY位來接收應(yīng)答,查詢CY位是否為低來判斷是否收到卡確認應(yīng)答。而順

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論