1. 程式人生 > >ISO7816 ATR分析及高波特率設定

ISO7816 ATR分析及高波特率設定

7816 ATR分析及高波特率設定:

ATR組成參考下表,


TS:參考上表 通常使用3B。

T0:格式字元

高四位(B8-B5)分別對應介面字元TD1-TA1是否存在,可根據需要進行設定,當相應的bit為1時需新增對應的字元。低四位(B4-B1)為表示歷史位元組的個數(範圍0-15),歷史位元組跟在介面字元後面。

 

TA1:高四位(B8-B5)為FI,低四位(B4-B1)為DI,

7816中的波特率使用etu來表示, 1etu =FI/DI*1/f ,其中f預設為3.579545MHz,FI和DI的值可以通過查詢下表獲得。

例如:預設值FI=1,DI=1則TA1=0x11,通過查表可以獲得1etu=372/3579545(s), etu的單位為秒,對其取倒數相當於串列埠的bps, 1/1etu`=9600bps,

TB1: b1~b5確定最大程式設計電壓,b6~b7確定最大程式設計電流,b8不使用。一般情況下此位元組不使用,即將T0中的B6設為0。

TC1:用於設定從終端到IC卡的兩相鄰字元間的定時。

TD1:表示有無更多的介面位元組傳送,以及關於傳輸協議型別的資訊。

根據7816 PPS的定義,可以調節TA1的值來設定波特率。

//11--74 01 11為ATR的第三個位元組, 74寫入IOBAUD0  01寫入IOBAUD1  0x0174 = 372

//12--BA 00 0x00BA = 186

//13--5D 00 

//91--00 02

//92--00 01

//93--80 00

//94--40 00

//95--10 00   0x0010 = 16

參考ATR設定:3B 94 11 00 xx xx xx xx 

                               3B D4 9503 10 80 xx xx xx xx