ISO7816接口硬體說明
智能卡觸點

MASTER端接口
VCC/VE:供電引腳,主機端向卡端的供電輸出,通常支援A,B,C三類供電。
VE引腳通支援智能卡三種不同的工作電壓:
● 5 V(ISO7816-3 A 類)
● 3 V(ISO7816-3 B 類)
● 1.8 V(ISO7816-3 C 類)
RESET:複位引腳,連接配接卡端的reset,用于激活以及複位智能卡
CLK:通信時鐘
IO:資料輸出
CARD_DE:卡插入檢測,當卡插入卡槽産生上升沿,觸發檢測中斷。
協定簡述
ISO7816接口為半雙工通信,使用一根信号線傳輸資料,同一時間能讀或者寫。ISO 7816-3 标準為異步協定定義了時間基準機關,稱作 ETU (elementary time units),它與輸入至智能卡的時鐘頻率有關(一個ETU時間由多個CLK組成,例如預設ETU為372個CLK),一個 ETU 的長度是一個位時間,每個ETU傳輸一個bit。
智能卡硬體連接配接
ISO 7816:協定概述
簡介
“ISO 7816:識别卡——帶有觸點的內建電路卡”提供一套設計防篡改的智能內建電路卡(Intergrated Circuit Card,ICC)的 規範。ISO 7816 包括至少 6 個經稽核的部分和一些有待稽核的新 增部分,如下:
● 第 1 部分:實體特性
● 第 2 部分:觸點的尺寸和位置
● 第 3 部分:電氣接口和傳輸協定
● 第 3 部分:協定類型選擇的修正版本 2
● 第 4 部分:互動的結構、安全和指令
● 第 5 部分:應用提供商的注冊
智能卡激活流程
ISO 7816-3 主要描述智能卡通信實體層相關标準,此标準将智能卡與讀卡器之間的關系 描述為“主”(讀卡器 和“從”(智能卡)關系。建立通信的方式為:讀卡器通過之前所 述的觸點向智能卡發信号,然後智能卡相應地做出響應。智能卡和讀卡器之間通信流程如下:
1.讀卡器等待卡插入
2.檢測到卡後進行激活
3.解析ART并進行協商
4.通信(發送APDU指令等)
智能卡的激活
将智能卡插入讀卡器時,不會對任何觸點施加電源。對錯誤的觸點施加電源可能會嚴重損壞 智能卡上的晶片,如果在已上電的觸點之間插入智能卡,很容易出現這種情況。觸點将保持 斷電狀态,直到主機端檢測到卡插入信号(一般卡槽會在卡完全插入時閉合一個開關,配合外部電路可以産生一個邊沿信号),主機端執行激活序列。
當讀卡器檢測到已正确插入智能卡後,對卡施加電源。智能卡首先進入的是空閑狀态,然後 讀卡器通過 RST 線向智能卡發送一個複位信号。當電源 (V CC ) 觸點處于正常穩定的 5 V 工 作電壓時,智能卡将進入空閑狀态。即使在 I/O 狀态下引入一些在 3 V 下工作的微處理器芯 片,也始終先應用 5 V 的初始電源設定。在讀卡器一側将 I/O 觸點設定為接收模式,并應用 提供穩定時鐘 (CLK)。複位線處于低電平狀态。它必須在低電平狀态下保持至少 40 000 個 時鐘周期,讀卡器才能啟動有效的複位序列,進而将複位線提升到高電平狀态。
智能卡激活包括以下階段:
複位應答 (ATR)
PPS
讀卡器與智能卡之間的資料傳輸通過兩條接觸線的協同操作來進行:CLK 和 I/O。I/O 引線根 據它相對于 GND 的電壓,在每個由 CLK 定義的機關時間内傳送一個比特的資訊。可以用 +5 V 或 0 V 電壓來表示邏輯的 ‘1’,實際操作中,這由智能卡傳送給讀卡器的 ATR 中的“初 始字元”也被稱作 TS 所決定。在 I/O 引線上每傳送 10 個比特代表一個位元組的資訊;最先的 是“起始位”,最後一位是偶校驗位。I/O 信号線可以用高電平 (H) 也可以用低電平 (L) 來表 示一個比特位。TS 字元 為 HLHHLLLLLLH 時,表示智能卡使用“反向約定”,即 H 表示 ‘0’,L 表示 ‘1’。TS 符号為 HLHHLHHHLLH 時,表示智能卡使用“正向約定”,即 H 表示 ‘1’,L表示 ‘0’。
此外,正向約定和反向約定還控制着在智能卡與讀卡器之間傳輸的每個位元組的位序。在正向 約定中,起始位後面的第一個位是位元組的低序位。後面的位序依次增高。在反向約定中,起 始位後面的第一個位是位元組的高序位。後面的位序依次降低。傳輸的每個位元組的奇偶校驗都 應為偶校驗;這意味着,位元組中比特為 1 的總數(包括奇偶校驗位)必須為偶數。I/O 信号線是一個半雙工通道,這表示,智能卡或者讀卡器可以在同一個通道上傳輸資料, 但是兩者不能同時傳輸。是以作為啟動順序的一部分,讀卡器和智能卡都進入接收狀态,偵 聽 I/O 信号線。在開始複位操作時,讀卡器處于接收狀态,而智能卡必須進入發送狀态,并 發送 ATR 至讀卡器。從此之後,通道兩端在發送和接收兩個狀态之間互相交替。在半雙工通 道中,沒有一種可靠的方法,使得任何一方可以異步地從發送狀态改變到接收狀态,或者從 接收狀态轉到發送狀态。如果需要這種改變,那麼要改變的一方需要進入接收狀态,使得正 在進行的操作過程逾時;然後讀卡器一方總是會嘗試重新進入發送狀态,來重建立立一個認 可的操作序列。CLK 和 I/O 信号線支援寬範圍的不同資料傳輸速度。速度由智能卡定義,并 通過 ATR 中的可選項字元傳送給讀卡器。傳輸速度在 I/O 信号線上通過一個比特時間設定, 這個時間決定了在 I/O 信号線上的采樣,去讀取一個比特以及每個後序比特時的時間間隔。 此時間定義為基本時間機關 (ETU) 并通過多個因素之間的線性關系進行建立。
通信模式
T0協定
T1協定
文章來源:晶片開放社群
文章連結:
https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.1b87180fY091Sx&id=642405179127234560