1-SIM卡復(fù)位ATR解析

激活時(shí)序

image

在激活過(guò)程結(jié)束(接口設(shè)備中 RST 處于 L 狀態(tài),VCC 上電柠贤,I/O 進(jìn)入接收模式香浩,CLK 已被提供了一個(gè)匹配并穩(wěn)定的時(shí)鐘信號(hào))時(shí),卡片已就緒臼勉,可以進(jìn)行冷復(fù)位邻吭。卡片在冷復(fù)位之前的內(nèi)部狀態(tài)不做規(guī)定宴霸。

根據(jù)圖 1囱晴,在 Ta 時(shí)間點(diǎn)上時(shí)鐘信號(hào)應(yīng)用于 CLK∑靶唬卡片應(yīng)當(dāng)在時(shí)鐘信號(hào)應(yīng)用于 CLK(在 Ta+ta 時(shí)間點(diǎn))之后的 200 個(gè)時(shí)鐘周期(ta時(shí)延)內(nèi)將 I/O 設(shè)置為 H 狀態(tài)畸写。冷復(fù)位是在時(shí)鐘信號(hào)應(yīng)用于CLK(在 Ta+tb 時(shí)間點(diǎn))之后,將 RST 維持至少 400 個(gè)時(shí)鐘周期(tb 時(shí)延)的結(jié)果氓扛。接口設(shè)備應(yīng)當(dāng)在 RST 處于 L 狀態(tài)時(shí)忽略 I/O 上的狀態(tài)枯芬。

在 Tb 時(shí)間點(diǎn)上,RST 被置為 H 狀態(tài)采郎。I/O 上的應(yīng)答應(yīng)當(dāng)在 RST 上信號(hào)上升沿后(在 Tb+tc時(shí)間點(diǎn))的 400 和 40000 個(gè)時(shí)鐘周期之間(tc 時(shí)延)開始千所。如果應(yīng)答沒(méi)有在 RST 處于 H 狀態(tài)后 40000個(gè)時(shí)鐘周期內(nèi)開始,接口設(shè)備應(yīng)當(dāng)執(zhí)行一個(gè)去激活蒜埋。

void SIM_Cold_Reset(uint8_t ChannelID)
{
    Set_Sim_Io(ChannelID, SIM_VCC, 1);    //初始時(shí)淫痰,電源電壓先上電             
    Delay_400_CLK();                      //待電壓穩(wěn)定
    Set_SimData_Direction(ChannelID, 1);  //將I/O端口置為接收方式
    Set_SimClk_Status(ChannelID, 1);      //啟動(dòng)獨(dú)立波特率發(fā)生器開始計(jì)數(shù)工作,對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻輸出
    Delay_400_CLK();                      //RST復(fù)位信號(hào)需在提供CLK信號(hào)后400個(gè)時(shí)鐘周期內(nèi)保持低電平
    Set_Sim_Io(ChannelID, SIM_RST, 1);    //之后才可置為高電平
}

以4M的時(shí)鐘為基準(zhǔn)整份,一個(gè)時(shí)鐘為1/4us黑界,則400個(gè)時(shí)鐘用100us,40000個(gè)時(shí)鐘為10ms皂林。

ATR基本應(yīng)答數(shù)據(jù)如下

數(shù)據(jù)元 說(shuō)明
TS 起始字符
T0 格式字符
TA1,TB1蚯撩,TC1础倍,TD1,... 接口字符
T1胎挎,T2沟启,... ,TK 歷史字符
TCK 校驗(yàn)字符

下面以ATR:3B9F94801FC78031E073FE21135758485553494D01F9為例犹菇,進(jìn)行說(shuō)明

數(shù)據(jù)元 說(shuō)明
TS 起始字符
T0 格式字符
TA1德迹,TB1,TC1揭芍,TD1胳搞,... 接口字符
T1,T2,... 肌毅,TK 歷史字符
TCK 校驗(yàn)字符
ATR.jpg

1.起始字符TS


TS是ATR的強(qiáng)制部分筷转,總是必須送出的。此字節(jié)只允許有兩種編碼:3B為正向約定悬而,3F為反向約定呜舒。使用反向邏輯約定時(shí), I/O的低電平狀態(tài)等效于邏輯1笨奠,且該數(shù)據(jù)字節(jié)的最高位在起始位之后首先發(fā)送袭蝗。使用正向邏輯約定時(shí), I/O的高電平狀態(tài)等效于邏輯1般婆,且該數(shù)據(jù)字節(jié)的最低位在起始位之后首先發(fā)送到腥。

上例ATR的TS為3B

2.格式字符T0


格式字符T0含有一組位表明將要傳送哪個(gè)接口字符,它同時(shí)也指出后繼歷史字符的個(gè)數(shù)腺兴。像TS一樣左电,每個(gè)ATR中都必須有這個(gè)字節(jié)。

高半字節(jié)( b5-b8) 表示后續(xù)字符TA1到TD1是否存在页响。(b5對(duì)應(yīng)TA1篓足,b8對(duì)應(yīng)TD1);

低半字節(jié)( b1-b4) 表明可選歷史字符的數(shù)目( 0到15)闰蚕;

上例ATR的T0為9F
表明存在TA1和TD1栈拖,歷史字符為15個(gè)。

當(dāng)沒(méi)有TD1時(shí)没陡,T=0涩哟,則TCK不存在。

3.接口字符TA1盼玄,TB1贴彼,TC1,TD1埃儿,...


這些字節(jié)在ATR中是可選的器仗,由格式字符T0的高半字節(jié)決定。

3.1 全局接口字符TA1

TA1高半字節(jié) FI 用于確定 F 的值童番, F 為時(shí)鐘速率轉(zhuǎn)換因子精钮。用于修改復(fù)位應(yīng)答之后終端所提供的時(shí)鐘頻率。低半字節(jié) DI 用于確定 D 的值剃斧, D 為位速率調(diào)節(jié)因子轨香。用于調(diào)整復(fù)位應(yīng)答之后所使用的位持續(xù)時(shí)間。etu =F/D * (1/f)

FI和DI編碼如下:

FI F DI D
0000 372 0000 RFU
0001 372 0001 1
0010 558 0010 2
0011 744 0011 4
0100 1116 0100 8
0101 1488 0101 16
0110 1860 0110 32
0111 RFU 0111 RFU
1000 RFU 1000 12
1001 512 1001 20
1010 768 1010 RFU
1011 1024 1011 RFU
1100 1536 1100 RFU
1101 2048 1101 RFU
1110 RFU 1110 RFU
1111 RFU 1111 RFU
上例ATR的TA1為94
表明F=512幼东,D=8臂容。
3.2 全局接口字符TB1:(沒(méi)有意義了)

TB1傳送PI1和II的值科雳,PI1 在 b1 到 b5 位中定義,用于確定IC卡所需的編程電壓 P 值策橘;II 在 b6 和 b7位中定義炸渡,用于確定IC卡所需的最大編程電流I值。一般情況下ATR中必須包含TB1=00丽已,表示IC卡不使用VPP蚌堵。

上例ATR的TB1為空
3.2 全局接口字符TC1:(沒(méi)有意義了)
上例ATR的TC1為空
3.2 全局接口字符TD1

TD1字符比較關(guān)鍵,看上面的ATR數(shù)據(jù)結(jié)構(gòu)圖可知沛婴,TD1的高4位決定了是否有TA2/TB2/TC2/TD2吼畏。

同理,TD2的高4位決定了是否有TA3/TB3/TC3/TD3嘁灯。

上例ATR的TD1為80泻蚊,
可表明存在TD2=1F,TA2丑婿、TB2性雄、TC2不存在

上例ATR的TD2為1F,
可表明存在TA3=C7羹奉,TB3秒旋、TC3、TD3不存在

4.歷史字符


很長(zhǎng)一段時(shí)間诀拭,沒(méi)有任何標(biāo)準(zhǔn)對(duì)歷史字符做出規(guī)定迁筛,結(jié)果是隨操作系統(tǒng)生產(chǎn)者而不同,它們包含了變化廣泛的數(shù)據(jù)耕挨。

上例ATR的歷史字符為
8031E073FE21135758485553494D01细卧。

5.校驗(yàn)字符TCK


TCK具有一個(gè)檢驗(yàn)復(fù)位應(yīng)答期間所發(fā)送數(shù)據(jù)完整性的值。TCK的值應(yīng)使從T0到包括TCK在內(nèi)的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果為零筒占。

當(dāng)沒(méi)有TD1時(shí)贪庙,T=0,則TCK不存在翰苫。

如果在ATR中僅指出了T=0協(xié)議插勤,TCK校驗(yàn)和可以不在ATR的尾部出現(xiàn)。在這種情況下革骨,完全沒(méi)有發(fā)送它,因?yàn)橛闷媾夹r?yàn)已經(jīng)知道了差錯(cuò)字節(jié)而在T=0協(xié)議中重復(fù)發(fā)送出錯(cuò)字節(jié)又是強(qiáng)制性的析恋。相反良哲,在T=1協(xié)議中,TCK字節(jié)必須出現(xiàn)助隧,校驗(yàn)和的計(jì)算從字節(jié)T0開始筑凫,結(jié)束于最后的接口字符滑沧,如果有則是最后的歷史字符。

上例ATR的TCK為F9巍实,
將9F94801FC78031E073FE21135758485553494D01進(jìn)行異或處理即可得到F9
for(atrCount = 1; atrCount <21; atrCount++) 
{
    printf("atrXOR_old:%X,atr:%X\n",atrXOR,atr[atrCount]);
    atrXOR ^= atr[atrCount];
    printf("atrXOR_new:%X\n",atrXOR);
}

該ATR的解析如下:

ATR:3B9F94801FC78031E073FE21135758485553494D01F9
ATR分析:
正向約定 F=512 D=8 N=0(d)
Protocal=TO
AtrBinarySize=22
AtrHistorySize=15
AtrHistorySize=8031E073FE21135758485553494D01
31:卡片數(shù)據(jù)服務(wù)
E0:通過(guò)全DF名稱的直接應(yīng)用選擇滓技、通過(guò)部分DF名稱的選擇數(shù)據(jù)對(duì)象在DIR文件中有效
73:卡能力標(biāo)簽
FE:DF選擇(通過(guò)全DF名稱、通過(guò)部分DF名稱棚潦、通過(guò)路徑令漂、通過(guò)文件標(biāo)識(shí))
EF管理(所支持的短EF標(biāo)識(shí)符、所支持的記錄號(hào))
21:數(shù)據(jù)編碼類型
13:邏輯通道最大數(shù)4
TS=3B
T0=9F
TA1=94
TD1=80
TD2=1F
TA3=C7(時(shí)鐘停止休止符:無(wú)優(yōu)先 級(jí)別指示符:A丸边、B叠必、和C)
TCK=F9

參考

http://www.cnblogs.com/utank/p/5463269.html
http://www.cnblogs.com/utank/p/5545750.html
http://blog.csdn.net/daidi1989/article/details/49883207
http://blog.csdn.net/u013566722/article/details/49306505

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市妹窖,隨后出現(xiàn)的幾起案子纬朝,更是在濱河造成了極大的恐慌,老刑警劉巖骄呼,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件共苛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蜓萄,警方通過(guò)查閱死者的電腦和手機(jī)隅茎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绕德,“玉大人患膛,你說(shuō)我怎么就攤上這事〕苌撸” “怎么了踪蹬?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)臣咖。 經(jīng)常有香客問(wèn)我跃捣,道長(zhǎng),這世上最難降的妖魔是什么夺蛇? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任疚漆,我火速辦了婚禮,結(jié)果婚禮上刁赦,老公的妹妹穿的比我還像新娘娶聘。我一直安慰自己,他們只是感情好甚脉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布丸升。 她就那樣靜靜地躺著,像睡著了一般牺氨。 火紅的嫁衣襯著肌膚如雪狡耻。 梳的紋絲不亂的頭發(fā)上墩剖,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音夷狰,去河邊找鬼岭皂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛沼头,可吹牛的內(nèi)容都是我干的爷绘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼瘫证,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼揉阎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起背捌,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毙籽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后毡庆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坑赡,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年么抗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毅否。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝇刀,死狀恐怖螟加,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吞琐,我是刑警寧澤捆探,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站站粟,受9級(jí)特大地震影響黍图,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奴烙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一助被、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧切诀,春花似錦揩环、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至翘单,卻和暖如春吨枉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哄芜。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工貌亭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人认臊。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓圃庭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親失晴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剧腻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • fpga規(guī)范 工作過(guò)的朋友肯定知道,公司里是很強(qiáng)調(diào)規(guī)范的涂屁,特別是對(duì)于大的設(shè)計(jì)(無(wú)論軟件還是硬件)书在,不按照規(guī)范走幾乎...
    Michael_Johnson閱讀 1,889評(píng)論 1 4
  • 簡(jiǎn)介 用簡(jiǎn)單的話來(lái)定義tcpdump,就是:dump the traffic on a network拆又,根據(jù)使用者...
    保川閱讀 5,961評(píng)論 1 13
  • 10#數(shù)據(jù)類型 合并數(shù)組和非合并數(shù)組 合并數(shù)組:存儲(chǔ)方式是連續(xù)的儒旬,中間沒(méi)有閑置空間。例如帖族,32bit的寄存器栈源,可以...
    constant007閱讀 33,034評(píng)論 0 18
  • 歲寒百木枯,然后知青松竖般。 但有青云志甚垦,天地獨(dú)驍勇。 17.11.14
    樓臺(tái)花舍閱讀 275評(píng)論 0 0
  • 先生說(shuō)他起初就知道我是如何給自己取了這么個(gè)名字涣雕,背后深意在他眼里不過(guò)一張透明紙艰亮。 我憤憤著他簡(jiǎn)直將我看穿的樣子, ...
    阿舊姑娘閱讀 481評(píng)論 0 0