智慧卡介面控制器(SIM)ATR應答

來源:互聯網
上載者:User

  ISO7816 標準是個標準的半雙工介面,本模組作為主裝置,控制SIM 卡的操作,SIM 卡作為從裝置只有在兩種情況下產生應答訊號:收到RST 訊號後發送ATR、接到命令後應答。因此,SIM 卡驅動模組作為主裝置,主要完成兩個操作:發送RST 等待ATR,發送命令並等待SIM 卡的應答。

TX, XMT, 發送transmit
RX, RCV, 接收Receive

---
ATR(answer to reset) 複位應答
  SIM模組和SIM卡建立初始通訊需要交換一些協議資料,這個交換通過ISO7816規定的ATR協議來完成。ATR協議通過SIM模組對sim_rst訊號的控制來實現.
SIM卡有可能會在sim_rst為低期間或sim_rst為高期間返回應答訊號。如果sim_rst保持高電平40000個sim_clk周期後仍然沒有收到SIM卡的ATR應答訊號,則表明SIM不存在或者傳輸通道有問題

  SIM卡返回的ATR應答訊號的第一個字元表示SIM卡支援傳輸方式是直接模式還是反轉模式,這個字元定義為初始字元。如果SIM返回的是11011100,則表示SIM卡支援直接模式;如果SIM卡返回的是11000000,則表示SIM卡支援的是反轉模式。

根據定義,複位應答是一系列位元組的值,這些位元組是由卡作為對複位命令的響應發送給介面裝置的。在I/O電路上,每個位元組在一個非同步字元中傳輸。
    每個成功的複位操作都會導致I/O上的一個初始字元TS,TS後面按照下面的次序跟有最多32個字元:
    T0…………………………………………格式字元,強制性
    TA(i) TB(i) TC(i) TD(i)…………… 介面字元,可選的
    T1 T2…Tk…………………………………曆史字元,可選的
    Tck……………………………………… 檢測字元,有條件的
• 初始字元定義了所有後繼字元的解碼協議。。
• 格式字元聲明了第一組介面字元和所有曆史字元。
• 介面字元由格式字元聲明的位元影像技術來指明。
• 曆史字元由編碼在格式字元中的一個數字來指明。
• 校檢字元依賴於某些介面字元中參數T的值。
為了表示簡明,以下用[TS] T0 TA(i)…T1…Tck表示位元組及傳送位元組的字元。

例:
ATR: 3b | 6c | 0 0 | 4e 54 49 43 32 64 8 1 4a 3 0 0

ATR-ATlength:16

SIM模組支援自動初始字元檢測。當SIM模組準備ATR接收時,可以先通過SIM_CNTL寄存器的ICM位元將接收機設定初始字元檢測模式。然後SIM模組會根據收到的初始字元,自動調整接收方式,並自動改變SIM_CNTL寄存器的傳輸模式IC位元。

 

Reset

3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96

複位應答 ATR

 

Reset

3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96

複位應答 ATR

TS( The Initial character ) = 3B

--表示正向約定,高電平為1,低電平為0,傳輸時先傳輸LSB,最後傳輸MSB

T0( The Format character ) = FA

--表示介面字元的個數和曆史位元組的數量

----其高4位有幾個bit為1,則表示後續有幾個曆史字元(Historical bytes)

高4位 = f( 1 1 1 1 )表示後續字元中存在TA1 TB1 TC1 TD1

--------------------( TA1, TB1, TC1, TA2, TB2 是全域介面字元,TC2是專用介面字元 )

TA1 = 13

--表示有增強傳輸速率,公式 3571200 / ( Fi / Di )

--------其中Fi由TA1的高4位(F)查表得出,Di由TA1的低4位(D)查表得出

----F = 01 ,查下表,則Fi = 372

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| F | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Fi | 372 | 372 | 558 | 744 | 1116 | 1488 | 1860 | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| 最高時鐘MHZ | 4 | 5 | 6 | 8 | 12 | 16 | 20 | -- |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| F | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Fi | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| 最高時鐘MHZ | -- | 5 | 7.5 | 10 | 15 | 20 | -- | -- |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

----D = 03 ,查下表,則Di = 4

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| D | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Di | RFU | 1 | 2 | 4 | 8 | 16 | 1860 | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| D | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

| Di | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |

+-------------+--------+--------+--------+--------+--------+--------+--------+--------+

--------實際傳輸速率為 38400

TB1 = 00

----表示編程電流 I /電壓 P,高2位表示電流I,低6位表示電壓P

----高2位 = 00 ,則編程電流 I 如下

+-------+--------+--------+--------+--------+

| 高2位 | 00 | 01 | 10 | 11 |

+-------+--------+--------+--------+--------+

| 電流I | 25 | 50 | RFU | RFU |

+-------+--------+--------+--------+--------+

----低6位 = 00 ,則編程 P 電壓為0

TC1 = 00

----額外保護時間N = 0

TD1 = 81

----通訊協議 T = 1

--------------------

沒有TA2

沒有TB2

沒有TC2

TD2 = 31

--------------------

TA3 = FE

TB3 = 45

沒有TC3

沒有TD3

4A 43 4F 50 34 31 56 32 32 31

----是曆史位元組

TCK ( XOR T0 - TCK ) = 96 校正成功

ETU(Elementary Time Unit)
一個ETU的時間可以由軟體選定,在ISO7816標準中規定了幾個ETU傳輸時間的標準規格,其中標準時間為372個sim_clk時鐘,另外還有一些增強速率的時間。SIM模組支援所有的ISO7816規定的ETU模式。

每幀資料採用Byte字元方式,一個Byte由8位元組成。每幀的傳輸由起始位、 字元資料(8位)、校正位和停止位組成,其中起始位為一個ETU(Elementary Time Unit)的低電平,資料位元佔用8個ETU的時間,校正位佔用一個ETU的時間,停止位位元為高電平,佔用2個ETU的時間。

ISO7816協議中還規定了一種緊湊的傳輸方式,此時停止位元只有1位,一個資料幀包含11個ETU,可以通過SIM_GUARD寄存器的RCVR11來配置SIM模組支援這種傳輸方式。

FIFO不是寄存器,而是通過寄存器寫入的, FIFO是16*8, 但發送緩衝寄存器(SIM_XMT_BUF)是8位.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.