0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一下ISO14443B協(xié)議

嵌入式軟件開發(fā)交流 ? 來源:嵌入式軟件開發(fā)交流 ? 作者:young ? 2022-10-08 09:39 ? 次閱讀

前言

上一篇《【NFC專欄】ISO14443A協(xié)議》介紹了ISO14443A協(xié)議,接下來繼續(xù)介紹ISO14443B協(xié)議。之前介紹過,A和B的協(xié)議區(qū)別主要在ISO14443-3,所以接下來的內(nèi)容也是集中在ISO14443-3。

名詞解析

PUPI:Pseudo-Unique PICC Identifier,可以理解為A卡中的UID

FWI:Frame Waiting time Integer,幀等待時間整數(shù)值

FWT:Frame Waiting Time,幀等待時間

ADC:Application Data Coding,應(yīng)用數(shù)據(jù)編碼

命令介紹

REQB/WUPB

讀卡器發(fā)送REQB或WUPB命令來檢查是否有卡存在。命令碼如下:

4e1cd4e2-469e-11ed-96c9-dac502259ad0.png

(1)APf:防碰撞前綴,固定值為0x05。

(2)AFI: Application Family Identifier,應(yīng)用族ID,用來指定要檢查的PICC類型。值為0時表示所有PICC都要處理REQB/WUPB命令。定義如下:

4e9f881a-469e-11ed-96c9-dac502259ad0.png

注:X和Y的取值范圍都為0x1~0xF。

AFI被分為高4位和低4位兩個部分,通過這兩部分的組合來確定PICC類型,可以簡單理解為過濾設(shè)置。

(3)PARAM:用來指定是REQB還是WUPB, 以及slot(槽)數(shù)量。

4eb7e658-469e-11ed-96c9-dac502259ad0.png

b4為0時表示REQB,為1時表示W(wǎng)UPB。這兩命令和和ISO14443A中的REQA和WUPA類似。WUPB命令是處于IDLE,READY或HALT狀態(tài)的卡都會應(yīng)答,而REQB命令只有處于IDLE或READY狀態(tài)的卡會應(yīng)答。

b1~b3定義如下:

4edc9aca-469e-11ed-96c9-dac502259ad0.png

N主要是要配合Slot-MARKER命令一起解決防碰撞。N可以理解為最大隨機值,就比如N=2, PICC會產(chǎn)生隨機值1或2,如果是1會馬上應(yīng)答(ATQB),如果是2,就需要再發(fā)送Slot-MARKER命令,PICC才會應(yīng)答。

Slot-MARKER

Slot-MARKER命令格式如下:

4eee760a-469e-11ed-96c9-dac502259ad0.png

(1)APn: 槽(slot)序號, 它的值為(nnnn 0101)b ,低4位是固定的。

4f055ed8-469e-11ed-96c9-dac502259ad0.png

ATQB

ATQB是REQB/WUPB和Slot-MARKER的應(yīng)答命令。命令格式如下:

4f26c6f4-469e-11ed-96c9-dac502259ad0.png

(1)PUPI: 和A卡中的UID類似。

(2)Application Data:應(yīng)用數(shù)據(jù),具體定義如下:

4f3c81ec-469e-11ed-96c9-dac502259ad0.png

AFI:上面REQB中有提到了

Number of Applications: 應(yīng)用數(shù)量,高4位與AFI一致,‘0’意味著無應(yīng)用,‘0xF’意味著15種應(yīng)用或者更多;低4位代表著應(yīng)用總數(shù),‘0’意味著沒有應(yīng)用,‘0xF’意味著15種應(yīng)用或者更多。

(3)Protocol Info:協(xié)議信息,具體定義如下:

4f5be9a6-469e-11ed-96c9-dac502259ad0.png

第一個字節(jié)是速率,定義如下:

4f93cf7e-469e-11ed-96c9-dac502259ad0.png

第二個字節(jié),高4位是最大幀大小,低4位是是否支持ISO14443-4。定義如下:

4fae5ef2-469e-11ed-96c9-dac502259ad0.png

4fd2bb76-469e-11ed-96c9-dac502259ad0.png

第三個字節(jié)包含: FWI, ADC, FO三個部分,定義如下:

FWI就是幀等待的時間值,意思就是發(fā)送完一幀數(shù)據(jù)之后要等待多久才能繼續(xù)發(fā)。

ADC意思是應(yīng)用數(shù)據(jù)編碼:

4ff0e074-469e-11ed-96c9-dac502259ad0.png

FO: Frame Option, 幀選項:

500eb324-469e-11ed-96c9-dac502259ad0.png

ATTRIB

該命令用于選擇PICC,命令格式如下:

5026b23a-469e-11ed-96c9-dac502259ad0.png

(1)Identifier:就是PUPI

(2)Param1定義如下:

505ea294-469e-11ed-96c9-dac502259ad0.png

TR0是PICC響應(yīng)PCD命令的最小延遲時間。定義如下:

5081f140-469e-11ed-96c9-dac502259ad0.png

TR1是PICC副載波調(diào)制開始到數(shù)據(jù)傳輸?shù)淖钚⊙舆t時間。定義如下:

509949c6-469e-11ed-96c9-dac502259ad0.png

EOF/SOF表示是否需要幀結(jié)束標(biāo)識和幀開始標(biāo)識。0表示需要,1表示不需要。

(3)Param2定義如下:

b7~b8定義PICC到PCD的速率:

50ae8be2-469e-11ed-96c9-dac502259ad0.png

b5~b6定義PCD到PICC的速率:

50d3691c-469e-11ed-96c9-dac502259ad0.png

b1~b4定義最大幀大小:

50f07944-469e-11ed-96c9-dac502259ad0.png

(4)Param3定義如下:

它的高4位為預(yù)留位,值為0;低4位定義了PICC支持的協(xié)議類型,就是上面的是否支持ISO14443-4。

(5)Param4定義如下:

它的高4位為預(yù)留位,值為0;低4位為CID,它的取值范圍為0~14。PCD定義了每個激活的PICC必須要有唯一的CID,如果PICC不支持CID,那么CID的值為(0000)b。

(6)Higher layer INF:高層信息,這字段不是強制的,只有部分特殊卡有。

ATTRIB應(yīng)答

ATTRIB命令應(yīng)答格式如下:

51067208-469e-11ed-96c9-dac502259ad0.png

(1)第一個字節(jié)包含兩個部分:

高4位MBLI( Maximum Buffer Length Index), 讓PCD知道PICC內(nèi)部緩沖區(qū)對接收鏈?zhǔn)綆南拗啤f準(zhǔn)綆褪菍⒋蟮臄?shù)據(jù)幀拆成多個數(shù)據(jù)幀。

低4位為PICC返回給PCD的CID,如果PICC不支持CID,則返回(0000)b。

(2)Higher layer Response:根據(jù)標(biāo)簽卡情況而定,可能有也可能沒有。

HLTB

HLTB命令用來讓卡進入休眠狀態(tài)。命令格式如下:

51284e64-469e-11ed-96c9-dac502259ad0.png

(1)Identifier:即PUPI。

HLTB應(yīng)答

HLTB的應(yīng)答格式如下:

51431c30-469e-11ed-96c9-dac502259ad0.png

*注意:ISO14443A的HALT是沒有應(yīng)答的,而ISO14443B的HLTB是有應(yīng)答的。

PCD檢測PICC流程

51561aa6-469e-11ed-96c9-dac502259ad0.png

(1)PCD發(fā)送REQB或WUPB, 匹配AFI則繼續(xù)下一步。

(2)N=1時則PICC應(yīng)答ATQB,如果N為其他數(shù)值(R), 則PCD發(fā)送Slot Marker命令依次進行匹配, 匹配后PICC應(yīng)答ATQB。

(3)PCD發(fā)送ATTRIB來選擇卡,或者發(fā)送HLTB讓卡進入休眠。

防碰撞流程

ISO14443B的防碰撞過程的原理是基于時隙的。每次PCD發(fā)送的REQB /WUPB命令,PICC會產(chǎn)生一個隨機值(就是時隙),PICC在哪個時隙響應(yīng)都有可能(發(fā)送ATQB)。通過這種隨機概率的方式來進行防碰撞。

防碰撞應(yīng)答規(guī)則

當(dāng)PICC接收到REQB/WUPB命令后,處于READY-REQUESTED狀態(tài)時,PICC的響應(yīng)應(yīng)該遵循下面規(guī)則:

(1)如果N=1,PICC應(yīng)該發(fā)送ATQB并且進入READY-DECLARED狀態(tài)。

(2)如果N>1:

PICC可以采用概率法(PCD檢測PICC流程圖中的Option 1),并且進入空閑態(tài)(Idle State)。

PICC采用發(fā)送Slot-MARKER命令的方法(PCD檢測PICC流程圖中的Option 2),一直到槽序號等于R,然后PICC發(fā)送ATQB并且進入READY-DECLARED 狀態(tài)。

總結(jié)

ISO14443A和ISO14443B部分命令是很相似的,主要區(qū)別在于處理防碰撞機制的差異。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • adc
    adc
    +關(guān)注

    關(guān)注

    97

    文章

    6300

    瀏覽量

    542447
  • 讀卡器
    +關(guān)注

    關(guān)注

    2

    文章

    407

    瀏覽量

    39210
  • ISO
    ISO
    +關(guān)注

    關(guān)注

    0

    文章

    249

    瀏覽量

    39462
  • PICC
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    13984

原文標(biāo)題:【NFC專欄】ISO14443B協(xié)議

文章出處:【微信號:嵌入式軟件開發(fā)交流,微信公眾號:嵌入式軟件開發(fā)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    協(xié)議完全集成13.56MHz近場通信收發(fā)器集成電路設(shè)計

    TRF7970A是款高性能13.56MHz高頻RFID/NFC收發(fā)器IC,此器件由個集成的模擬前端和個針對ISO15693,ISO14443
    發(fā)表于 11-11 14:03 ?2405次閱讀
    多<b class='flag-5'>協(xié)議</b>完全集成13.56MHz近場通信收發(fā)器集成電路設(shè)計

    ISO14443A

    哪位大神有ISO14443A的頭文件?即ISO14443a.h.
    發(fā)表于 04-10 09:05

    基于eZ430 UART連接的近場通信NFC EZ430閱讀器模塊參考設(shè)計包含BOM,PCB文件和光繪文件

    A、ISO14443B 和 Felica 標(biāo)簽演示了 NFC 讀取器/寫入器功能。與些評估模塊不同,該 NFC 模塊經(jīng)過特別設(shè)計,易于集成到現(xiàn)有應(yīng)用中。這樣降低了對開發(fā)人員資源的需求,同時仍然支持完整的功能。主要
    發(fā)表于 08-09 09:33

    ISO14443介紹

    內(nèi)容提綱1、ISO14443介紹-了解2、14443-A幀格式-掌握3、喚醒、防沖突、選卡-掌握認(rèn)識14443ISO14443協(xié)議
    發(fā)表于 07-27 07:10

    PN512概述

    ISO 14443A / MIFARE?和FeliCa機制  2、讀寫器模式,支持ISO 14443B機制  3、卡操作模式,支持ISO
    發(fā)表于 07-29 09:47

    ZLG600A系列用戶指南V1.05

    符合 ISO14443A、ISO14443BISO7816-3 標(biāo)準(zhǔn); 集成 TypeB、Mifare UltraLight、Mifare1 S50/S70、PLUS CPU、SAM 卡的操作
    發(fā)表于 10-17 07:17

    請問一下ISO 14443-A是否支持VHBR速率?

    ST25R3911B 數(shù)據(jù)表表明它支持 VHBR。在 RFAL 代碼中,NFC-B VHBR 速率有默認(rèn)配置,但 NFC-A (ISO 14443-A) 沒有。
    發(fā)表于 12-09 07:36

    ST25R3911-disco的demo代碼讀取ISO 14443協(xié)議的函數(shù)是什么?

    我今天在我的項目中使用 ISO 14443 協(xié)議,但我需要達到最高傳輸速率,我相信 ISO14443-4 可以給我那個速率。是否可以在 ST25R3911 中實施
    發(fā)表于 01-04 08:36

    ISO/IEC14443-4 標(biāo)準(zhǔn)協(xié)議

    ISO/IEC CD 14443-4 ISO (the International Organisation for Standardisation) and IEC
    發(fā)表于 11-07 13:31 ?89次下載

    基于ISO14443A協(xié)議的RFID模擬前端設(shè)計

    實現(xiàn)基于ISO14443A協(xié)議的13.56 MHz RFID芯片的設(shè)計,本文討論了RFID芯片模擬前端的實現(xiàn)方法,在電源產(chǎn)生、數(shù)據(jù)收發(fā)方面采用了新技術(shù),并且從整個系統(tǒng)上作了優(yōu)化,簡化了模擬前端的設(shè)計
    發(fā)表于 08-04 11:49 ?3980次閱讀
    基于<b class='flag-5'>ISO14443</b>A<b class='flag-5'>協(xié)議</b>的RFID模擬前端設(shè)計

    ZLG600S系列用戶指南

    符合ISO14443A、ISO14443B、ISO7816-3 標(biāo)準(zhǔn); 集成TypeB、Mifare UltraLight、Mifare1 S50/S70、PLUS CPU、SAM 卡的操作命令
    發(fā)表于 12-08 14:09 ?2次下載

    ISO/IEC_FCD_14443-1

    ISO/IEC 14443-1 Identification cards - Contactless integrated circuit(s) cards - Proximity cards Part 1: Physical characteristics
    發(fā)表于 06-08 13:50 ?36次下載

    BC45B4523 NFC讀寫器開發(fā)板應(yīng)用范例

    BC45B4523 為 NFC 讀寫器控制器,發(fā)射頻率為 13.56MHz,可支持 ISO14443A、ISO14443B、 ISO15
    發(fā)表于 06-30 14:52 ?1次下載
    BC45<b class='flag-5'>B</b>4523 NFC讀寫器開發(fā)板應(yīng)用范例

    ISO14443相關(guān)的協(xié)議

    之前《【NFC專欄】ISO14443A協(xié)議》和《【NFC專欄】ISO14443B協(xié)議》兩篇中我們都有提到ISO14443-4
    的頭像 發(fā)表于 10-24 09:08 ?9213次閱讀

    ISO15693協(xié)議介紹

    之前介紹ISO14443和Felica,接下來來介紹ISO15693協(xié)議,也就是我們平時說的V卡。它的出現(xiàn)是為了彌補
    的頭像 發(fā)表于 12-09 11:41 ?1.1w次閱讀