ISO14443 Type B類型卡的防碰撞過程以及命令解析

來源:互聯網
上載者:User

標籤:

一、介紹

本博文介紹了PCD(Proximity Coupling Device)使用ISO14443-3 Type B協議檢測匹配的PICC(Polling For Proximity Cards)命令以及防碰撞過程(Anticollision Proccess)。

二、命令2.1 REQB和WUPB2.1.1 概要

REQB命令和WUPB命令是PCD用來檢測PICC是否在無限射頻場(RF)的命令。其中REQB命令用在PCD剛開始檢測RF中的PICC時,而WUPB使用在PCD喚醒處於停止態(HALT State)的PICC時。

2.1.2 命令格式

說明:
(1)防碰撞首碼APf的值為0x05,即(0000 0101)b。
(2)Application Family Identifier(AFI)表示PCD檢測的PICC類型,如果AFI的值為0,則表示PCD檢測所有支援的PICC類型。AFI所支援的類型如所示。
註:X和Y的取值範圍都為0x1~0xF。
(3)PARAM的編碼格式如所示。

註:
A、所有的Reserved for Future ISO/IEC Use(RFU)位元位都為0。
B、如果b4位元位為0,表示該命令是REQB命令,PCD可以在空閑態(Idle State)或者準備態(Ready State)使用該命令去檢測PICC;如果b4位元位是1,表示是WUPB命令,PCD可以在空閑態(Idle State)、準備態(Ready State)或者停止態(HALT State)使用該命令檢測PICC。
C、b1、b2和b3共同組成槽序號(Number of slots)。它的編碼以及含義如所示。

註:對於每一個PICC而言,用ATQB響應REQB第一個槽序號的機率都為1/N。因此,如果PCD使用的是機率響應的辦法,N不作為調節槽序號的值,但是PICC會在特定ATQB槽序號裡返回它的UID。即N只是槽序號總數,但是每個PICC在0~N的響應機率都為1/N,N不為ATQB中的b1、b2和b2的編碼。

2.2 Slot-MARKER2.2.1 概要

在PCD發送完REQB/WUPB命令後,它可以在槽序號N發送(N-1)個Slot-MARKER命令。Slot-MARKER命令在如下兩種情況會被發送。
A、PCD接收到PICC的ATQB命令後開始下一個槽(時隙)時,即發送下一條命令時。
B、如果知道該槽是空的,並且沒有ATQB到來,那麼不需要等待ATQB,直到該槽結束的時候。即b1、b2和b3都為0時。
註:該命令不是PICC強制要支援的。如果PICC不支援該命令,那麼它將會忽視該命令。此時PICC只能通過機率的方法用ATQB去響應PCD的REQB命令。

2.2.2 命令格式

說明:
A、APn為Slot-MARKER命令的第一個位元組,它的二進位表示為(nnnn 0101)b,即它的低四位元為固定位0x5,即(0101)b;高四位元位編碼如下所示。

註:slot-MARKER命令不強制要求隨著槽序號遞增而增加,只要在0~N之間即可。

2.3 ATQB2.3.1 概要

ATQB命令是PICC對PCD發出的REQB/WUPB和Slot-MARKER命令的響應命令。

2.3.2 命令格式

說明:
(1)第一個位元組值為0x50,是ATQB命令的首碼。
(2)第二到第五個位元組表示PICC的Pseudo Unique PICC Identifier(PUPI),即Type B類型的卡號。表明Type B類型的卡號只有四個位元組。
(3)第六到第九個位元組是應用資料(Application Data),它的編碼以及含義如下。

註:
A、應用資料的第一個位元組是AFI,表明卡片的用途。
B、CRC_B的計算方法參照ISO14443-3文檔。
C、應用序號(Number of Applications)佔一個位元組。高四個位元位與AFI一致,‘0’意味著無應用,‘0xF’意味著15種應用或者更多;低四位元位代表著應用總數,‘0’意味著沒有應用,‘0xF’意味著15種應用或者更多。
(4)第十到第十二個位元組是協議資訊(Protocol Info)。它的編碼以及含義如下。

註:
1)第一個位元組表示的是資料轉送的速率。編碼以及含義如下

2)第二個位元組的高四位元位表示最大幀值(Max_Frame_Size),低四位元位是PICC所支援協議類型(Protocol_Type)。

A、最大幀值編碼以及含義如所示。

B、協議類型編碼以及含義如所示。

3)第三個位元組分成FWI、ADC和FO三部分。
A、第一部分是高四位元位的幀等待整數時間Frame Waiting time Integer(FWI),它是用來定義幀等待時間Frame Waiting Time(FWT)的。它表示PICC響應PCD的最大時間,FWI與FWT之間的轉換為:FWT = (256 * 16 / fc) * 2^FWI,其中FWI的取值範圍是0~14,fc是射頻場的頻率13.56MHz。
B、第二部分是b4和b3位元位的PICC支援的應用資料編碼(Application Data Coding)。它們的編碼以及含義如下所示。

C、第三部分是b2和b1位元位的PICC支援的幀選項(Frame Option)。它們的編碼以及含義如所示。

2.4 ATTRIB2.4.1 概要

該命令是由PCD發給PICC的命令,一旦該命令發送,意味著PICC已經確定。

2.4.2 命令格式

說明:
(1)第一個位元組值為0x1D,它是ATTRIB命令首碼。
(2)第二到第五個位元組是Type B的卡號Identifier,值和PUPI一樣。。
(3)第六個位元組我們稱之為參數1,它的編碼以及含義如下。

說明:
1)b8和b7位元表示Minimum TR0,含義是PICC響應PCD命令的最小延遲時間。它的編碼以及含義如下。

2)b6和b5位元表示Minimum TR1,含義是PICC副載波調製開始到資料轉送的最小延遲時間。它的編碼以及含義如下。

3)b4位元表示是否需要幀結束標識,0表示需要,1表示不需要。
4)b3位元表示是否需要幀開始標識,0表示需要,1表示不需要。
(4)第七個位元組我們稱之為參數2。它的編碼以及含義如下。
1)b8和b7位元位的編碼以及含義如下。

2)b6和b5位元位的編碼以及含義如下。

3)b4到b1位元位表示PCD最大接收幀的大小,這四個位元位代表的含義如下。

(5)第八個位元組我們稱之為參數3。它的高四位元位為RFU,預留未來適用,值為0;低四位元位定義了PICC支援的協議類型。
(6)第九個位元組我們稱之為參數4。它的高四位元位為RFU,值為0;低四位元位為CID,它的取值範圍為0~14。PCD定義了每個啟用的PICC必須要有各自獨特的CID,如果PICC不支援CID,那麼CID的值為(0000)b。
(10)剩餘位元組是高層資訊,它可有可無,視具體情況而定。PICC不強制要求含有該部分資訊。但是像身份證類型的卡,必須要有高層資訊。

2.5 ATTRIB命令的響應命令格式

說明:
(1)第一位元組分成兩部分:高四位元位為Maximum Buffer Length Index(MBLI),它讓PCD知道PICC內部緩衝到接收幀的限制。如果MBLI的值為0,意味著PICC沒有提供資訊給內部的輸入緩衝;如果MBLI大於0,則MBL=(PICC最大幀大小)*2^(MBLI-1),PICC會在ATQB中返回PICC最大幀的大小。當PICC發送了MBL時,PCD應該確保幀的長度不會超過MBL。低四位元位為PICC返回給PCD的CID,如果PICC不支援CID,則返回(0000)b。
(2)高層資訊響應位元組根據卡片本身情況而定,可能有也可能沒有。

2.6 HLTB2.6.1 概要

該命令用於設定PICC處於停止態(HALT State),並且讓它不要響應REQB命令。發送該命令成功之後,其它命令都會被忽視,只有WUPB命令能夠響應。

2.6.2 命令格式

說明:
(1)第一個位元組值為0x50,它是HLTB的命令首碼。
(2)第二到第五個位元組是PICC的卡號Identifier,即PUPI。
(3)最後兩個位元組是CRC_B,計算方法參照ISO14443-3文檔。

2.7 HLTB命令響應命令格式

三、PCD檢測PICC過程流程圖

註:
A、R是一個由PICC隨機產生的在1~N之間的數。
B、Option 1是不支援Slot-MARKER命令的PICC分支。Option 2是支援Slot-MARKER命令的PICC分支。

四、防碰撞過程4.1 描述

防碰撞過程是PCD通過一些命令控制執行的,PCD開始使用REQB命令,和一個或者多個發送ATQB的PICC的通訊。如果在PCD發送REQB,具有不止一個PICC發送ATQB響應REQB,那麼我們稱該現象為“碰撞”。PCD在防碰撞過程執行的一系列命令就是為了選出一個特定的PICC。PCD完成防碰撞過程後,被選中的PICC的通訊就會被PCD所掌控

4.2 原理

防碰撞的過程的原理是基於時隙的,在防碰撞過程中,PICC會在最短的時間內傳輸應用資料。在PCD發送的REQB/WUPB命令中槽序號可能會變化,PICC在每一時隙等可能的響應槽序號,所有的的PICC都可以在防碰撞的過程中進行應答(發送ATQB)。PCD在防碰撞過程設定的命令取決於PCD的使用原則,它既可以使用機率法(重複單槽序號,使PICC的隨機數等於1時響應),也可以使用偽確定法(多槽序號,在碰撞過程中所有PICC可以響應,在某個特定槽序號確定PICC)。

4.3 規則

當PICC接收到REQB/WUPB命令後,處於READY-REQUESTED sub-state時,PICC的響應應該遵循下面規則(N是REQB/WUPB命令中的參數):
—-如果N=1,PICC應該發送ATQB並且進入READY-DECLARED sub-state。
—-如果N>1:

PICC可以採用機率法(PCD檢測PICC流程圖中的Option 1),並且進入空閑態(Idle State);
PICC採用發送Slot-MARKER命令的方法(PCD檢測PICC流程圖中的Option 2),一直到槽序號等於R,然後PICC發送ATQB並且進入READY-DECLARED sub-state。

五、執行個體


ISO14443 Type B類型卡的防碰撞過程以及命令解析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.