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