智能卡復位應答-字符定義
文章出處:http://www.nyfzw.net 作者: 人氣: 發表時間:2012年05月06日
在符合基本ATR的情況下,一個字符是否存在,以及允許的取值范圍(如果存在)由其“基本應答”信息指明。基本應答描述和可能存在的其它擴展情況之間不沖突。例如,如果IC卡支持多個傳輸協議和多種傳輸參數值,它可以回送附加字符,但是,只有在IC卡返回一個基本ATR,或者返回一個滿足最低功能需求的終端支持的ATR,才能夠保證接下來字符的正確交換。
如果終端不支持IC卡支持的其它傳輸協議以及傳輸參數值,IC卡應該有能力用基本ATR定義的模式和終端進行交互。
復位應答中回送字符的最大個數(包括歷史字符,但不包括TS)為32個。
終端如果無法滿足IC卡回送ATR中定義的傳輸模式,將發送一個熱復位信號,或將IC卡置為靜止狀態以結束卡片操作過程。
1、TS--初始字符
起始字符TS具有兩個功能:一是向終端提供一個便于位同步的已知位模式,二是指定解釋后續字符的邏輯約定。
使用反向邏輯約定時,I/O的低電平狀態等效邏輯1,并且該數據字節的最低位在起始位之后發送,第一個半字節LHHL用于位同步(其中L表示低電平,H表示高電平)。
基本響應:IC卡將回送的TS為以下兩個值之一。
* (H)LHHLLLLLLH表示反向約定,值為0x3F。
* (H)LHHLHHHLLH表示正向約定,值為0x3B。
終端一般都支持正向約定和反射約定,并接收IC卡回送的0x3F和0x3B中的任何一個,對于其他值將拒絕。目前反向約定模式的卡片使用越來越少,在以后的卡片規范和應用規范版本中可能淘汰,所以在我們的設計中,建議大家使用0x3B,即正向約定。
2、T0--格式字符
格式字符T0由兩個部分組成,高半字節(b5~b8)表示后續字符TA1到TD1是否存在,b5-b8位設置為邏輯“1”表示TA1到TD1存在,相應的,低半字節(b1~b4)表明可選歷史字符的數目(0~15),如下所示:
[b]T0的基本響應代碼[/b]
[b] b8 b7 b6 b5 b4 b3 b2 b1 [/b]
T=0 0 1 1 0 x x x x
T=1 1 1 1 0 x x x x
基本響應:
* 選擇T=0時,IC卡應回送T0=0x6X,表示字符TB1和TC1存在。
* 選擇T=1時,IC卡應回送T0=0xEX,表示字符TB1、TC1和TD1存在。
其中X表示歷史字符的數目。
兼容終端能夠接收滿足以上條件的所有值。
3、TA1~TC3--接口字符
在復位應答后的終端與IC卡信息交換期間,TA1到TC3表示控制參數F、D、I、P、N、IFSC、BW1和CW1的值。這些參數都用于T=1協議,TA1到TC1和TC2傳送的信息將用于后續數據交換且與所使用的協議類型無關。這些參數的具體意義在下面給出。
(1)TA1
TA1傳送FI和DI的值,其中:
* FI用于確定F的值。F為時鐘速率轉換因子,用于修改復位應答以后終端提供的時鐘頻率。
* DI用于確定D的值。D為比特速率調節因子。用于調整復位應答之后所使用的位持續時間。
在復位應答期間發送ATR時所使用的默認值FI=1、DI=1,分別表示F=372、D=1。
基本響應:如果IC卡不回送TA1值,則表示IC卡使用默認參數,在整個后續信息交換過程中繼續使用默認值F=372和D=1。
兼容終端接收默認的TA1值(0x11)
為提高終端與IC卡之間的數據傳送速率,某些IC卡在終端支持的情況下可以選擇使用其他的TA1值協商使用高速模式。
(2)TB1
TB1傳送PI1和II值,其中:
* PI1在b1~b5位中定義,用于確定IC卡所需的編程電壓P值,PI1=0表示IC卡不需要編程電壓VPP。
* II在b6~b7位定義,用于確定IC卡所需的最大編程電流I值。PI1=0時不使用這一參數。
* b8位不使用,設置位邏輯0。
基本響應:在目前使用的大多數IC卡芯片都不要編程電壓的支持,所以,IC卡回送TB1=0x00,表示IC卡不使用VPP。
終端接受滿足上述定義的任何TB1,如果不需要VPP的話,終端將在卡片使用過程中保持VPP為靜止狀態。
(3)TC1
TC1傳送N值,N用于表示增加到最小持續時間的額外保護時間,此處的最小持續時間表示從終端發送到IC卡的、作為后續信息交換的兩個連續字符的起始位上升沿之間的時間。N在TC1的b1~b8位為二進制編碼,其值作為額外保護時間表示增加的etu數目,其值可在0到255之間任選。N=255具有特殊含義,表示在使用T=0協議時,兩個連續字符的起始位上升沿之間的最小延遲時間可減少到12個etu,而在使用T=1協議時可減少到11個etu。
TC1的值定義的參數只適用于終端向IC卡發送的兩個連續字符之間的間隔時段,不適用于IC卡向終端發送字符的情況,也不適用于兩個反方向發送字符的情況。
如果TC1值在0x00到0xFE之間,增加到字符間最少持續時間的額外保護時間為0~254個etu,對于后續傳輸,意味著其額外保護時間將在12~266個etu之間。
如果TC1值為0xFF,則后續傳輸的字符最小持續時間在使用T=0協議時為12個etu,使用T=1協議時為11個etu。
基本響應:根據芯片內I/O的處理情況,IC卡回送0x00~0xFF之間的任何值。
終端能夠接收滿足以上條件的任何TC1值。
在實現過程中,我們可以計算出特定芯片可接收的最小持續時間,建議TC1設置為這個最小時間,否則TC1如果過大可能造成終端與IC卡之間的通信緩慢,延長交易時間,如果TC1過小的話芯片無法及時處理I/O端口到來的數據,會造成數據丟失。
第1頁第2頁 |