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

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

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

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

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

前言

之前《【NFC專欄】ISO14443A協(xié)議》和《【NFC專欄】ISO14443B協(xié)議》兩篇中我們都有提到ISO14443-4協(xié)議,所以ISO14443-4協(xié)議是適用于二者的。但并不是所有A卡或B卡都支持ISO14443-4協(xié)議。

ISO14443-4簡介

ISO14443-4定義了半雙工塊傳輸協(xié)議,該協(xié)議適用于Type-A和Type-B兩種卡。該協(xié)議還定義了激活與去激活的流程。

名詞解析

ATS: Answer To Select,選擇應(yīng)答

PPS: Protocol and Parameter Selection,協(xié)議和參數(shù)選擇 RATS:Request for answer to select,選擇應(yīng)答請求 FSD: Frame Size for proximity coupling Device, PCD的接收幀大小 FWI: Frame Waiting time Integer, 幀等待時間值

SFGI: Start-up Frame Guard time Integer,啟動幀保護(hù)時間值

NAD:Node Address,節(jié)點(diǎn)地址

PCB:Protocol Control Byte,協(xié)議控制字節(jié)

命令介紹

RATS

該命令用于獲取PICC的更詳細(xì)的信息,格式定義如下:

835cc528-5331-11ed-a3b6-dac502259ad0.png

總共4個字節(jié),我們主要關(guān)注Parameter字段,它由兩部分組成。

83963f38-5331-11ed-a3b6-dac502259ad0.png

(1) FSDI: FSD編碼值,即PCD能接收的最大幀大小。定義如下:

83a63136-5331-11ed-a3b6-dac502259ad0.png

(2)CID:用于PICC的尋址,值為0~14。ISO14443B協(xié)議中有提到過。

ATS

該命令用于應(yīng)答RATS。格式定義如下:

83bed614-5331-11ed-a3b6-dac502259ad0.png

(1) TL:TL到Tk的字節(jié)數(shù)(包含TL本身)。

(2)T0:定義了后面的字段是否存在,以及PICC能接收的幀大小。

83dd28ee-5331-11ed-a3b6-dac502259ad0.png

b5~b7每個位表示TA~TC字段是否出現(xiàn),為1則表示出現(xiàn)。

b1~b4為FSCI,表示PICC能接收的幀的大小,定義和上面的FSDI一樣。

(3)TA:跟速率有關(guān)的信息。

83ee7d10-5331-11ed-a3b6-dac502259ad0.png

bit8定義了不同方向使用不同bit速率處理數(shù)據(jù)的能力,當(dāng)該位設(shè)置成1時,PICC不支持不同方向的速率不一致。

b5~b7定義了PICC到PCD的速率(DS)。

b1~b3定義PCD到PICC的速率(DR)。

(4) TB:幀等待時間以及啟動幀保護(hù)時間。

84099fb4-5331-11ed-a3b6-dac502259ad0.png

FWI:幀等待時間(即兩個幀之間的等待時間),計算公式如下:

841a03fe-5331-11ed-a3b6-dac502259ad0.png

SFGI:啟動幀保護(hù)時間(PICC發(fā)送ATS之后PCD多久才能繼續(xù)發(fā)), 計算公式如下:

84268d86-5331-11ed-a3b6-dac502259ad0.png

(5) TC: 是否支持CID和NAD。

8433535e-5331-11ed-a3b6-dac502259ad0.png

(6) T1~Tk:可選字段,在ISO7816-4中定義。

PPS

該命令用于協(xié)議和參數(shù)的選擇。格式定義如下:

84485308-5331-11ed-a3b6-dac502259ad0.png

(1) PPSS: 起始字節(jié),定義如下:

84524dcc-5331-11ed-a3b6-dac502259ad0.png

高4位固定為1101,CID就是上面介紹的,沒有則為0000。

(2)PPS0: 用于指示PPS1是否出現(xiàn)。

846bd47c-5331-11ed-a3b6-dac502259ad0.png

b5為1則表示PPS1字段有出現(xiàn)。

(3)PPS1:選擇的速率。

8483e90e-5331-11ed-a3b6-dac502259ad0.png

DSI: PICC到PCD的速率

DRI:PCD到PICC的速率

具體定義如下:

848fcf6c-5331-11ed-a3b6-dac502259ad0.png

1對應(yīng)的就是106kbit/s, 2對應(yīng)212kbit/s, 以此類推。

PPS應(yīng)答

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

84a2d2ce-5331-11ed-a3b6-dac502259ad0.png

PPSS: 起始字節(jié), 在PPS命令中解釋了。

TypeA激活協(xié)議

84b6f1e6-5331-11ed-a3b6-dac502259ad0.png

(1) 前面幾步就是我們在ISO14443A協(xié)議中講過的,主要是看是否支持ISO14443-4,判斷是否支持在《【NFC專欄】ISO14443A協(xié)議》中有提到。接下來我們主要看支持ISO14443-4的流程。

(2) PCD發(fā)送RATS命令,PICC則應(yīng)答ATS。

(3) 如果卡支持PPS命令,PCD可以PPS命令來修改參數(shù)。

(4)進(jìn)行半雙工協(xié)議傳輸,如果想結(jié)束傳輸,PCD可以發(fā)送DESELECT命令。

TypeB激活協(xié)議 ISO14443B的激活流程在《【NFC專欄】ISO14443B協(xié)議》中已經(jīng)講過了,在ISO14443-4中沒有新增的內(nèi)容。

半雙工塊傳輸協(xié)議

進(jìn)行半雙工傳輸?shù)膲K格式(幀格式)有兩種:標(biāo)準(zhǔn)塊格式和增強(qiáng)型塊格式。定義如下:

標(biāo)準(zhǔn)塊格式

84d778f8-5331-11ed-a3b6-dac502259ad0.png

增強(qiáng)型塊格式

8510985e-5331-11ed-a3b6-dac502259ad0.png

兩者的區(qū)別就在于是否有Length字段,這個字段是用于糾錯的。

(1)Length

表示總長度,包含Length,Prologue, Information三個字段。

(2)Prologue

可以包含PCB, CID, NAD,PCB是強(qiáng)制的,CID和NAD是可選的。

PCB:控制傳輸?shù)男畔?,它定義了三種不同的block。

I-Block

852a75e4-5331-11ed-a3b6-dac502259ad0.png

R-Block

8547abc8-5331-11ed-a3b6-dac502259ad0.png

S-Block

855ecf60-5331-11ed-a3b6-dac502259ad0.png

I-Block用于傳輸應(yīng)用層信息,R-Block用于傳輸ACK或NACK,S-Block用于交換控制信息。

CID定義如下:

857dd34c-5331-11ed-a3b6-dac502259ad0.png

NAD:定義在ISO7816-3。

(3)Information

傳輸過程中的數(shù)據(jù),比如應(yīng)用數(shù)據(jù)或狀態(tài)碼等。

(4)Epilogue

EDC: 就是CRC校驗(yàn)值

Chaining傳輸

Chaining傳輸可以理解為分段傳輸,當(dāng)單個數(shù)據(jù)包超過幀的最大大小的時候,就要拆分成幾個進(jìn)行傳輸。比如下面的示意圖:

859122c6-5331-11ed-a3b6-dac502259ad0.png

上半部分是發(fā)送端,下半部分是接收端。

(1)發(fā)送端將完整的數(shù)據(jù)包拆分成3個I-Block。

(2)接收端收到后判斷出是Chaining,則發(fā)送R-Block進(jìn)行應(yīng)答。到最后一個包正常應(yīng)答I-Block。

總結(jié)

到此,我們就將ISO14443相關(guān)的協(xié)議基本都講完了,當(dāng)然這是標(biāo)準(zhǔn)的協(xié)議,基于該標(biāo)準(zhǔn)的一些卡還有很多特殊的命令和特性,比如Mifare,所以在開發(fā)過程中,還要查看卡的datasheet。

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

    關(guān)注

    6

    文章

    915

    瀏覽量

    54651
  • PICC
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    13984
  • ISO14443
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    6453

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    求技術(shù)支持 ISO14443A通信協(xié)議 有大洋奉上

    本帖最后由 xiaoting085524 于 2014-5-15 15:36 編輯 本人有以項目需要ISO14443A通信協(xié)議的人才編寫相關(guān)的軟件程序,開發(fā)費(fèi)用可面議。聯(lián)系人趙工:***,
    發(fā)表于 05-15 15:19

    求懂ISO14443A協(xié)議方面的論壇 有大洋奉上

    本公司需要懂ISO14443a協(xié)議的人才開發(fā)有關(guān)的軟件,事成以后必有大洋奉上,請大家積極與我聯(lián)系,聯(lián)系人趙工 :***!
    發(fā)表于 05-15 15:30

    ISO14443A

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

    讀卡芯片F(xiàn)M1702SL相關(guān)資料推薦

    概述:FM1702SL是復(fù)旦微電子股份有限公司設(shè)計的,基于ISO14443標(biāo)準(zhǔn)的非接觸卡讀卡機(jī)專用芯片,采用0.6微米CMOSEEPROM工藝,支持ISO14443 type A協(xié)議,支持
    發(fā)表于 05-18 07:52

    請問怎樣去設(shè)計一種空中傳輸協(xié)議系統(tǒng)?

    ISO14443協(xié)議是什么?空中傳輸協(xié)議的系統(tǒng)硬件設(shè)計空中傳輸協(xié)議的系統(tǒng)硬件設(shè)計
    發(fā)表于 05-21 06:12

    ISO14443介紹

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

    14443-A幀格式有哪幾種?

    什么是ISO14443?14443-A幀格式有哪幾種?
    發(fā)表于 10-11 07:30

    STM32F103驅(qū)動THM3060讀取二代身份證的方法

    THM3060簡介THM3060 是一款同方微電子公司生產(chǎn)的13.56MHz 的非接觸讀寫芯片,該芯片支持多種IC卡協(xié)議ISO14443 Type A, ISO14443 TypeB
    發(fā)表于 01-18 07:29

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

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

    如何使用套件ST25R3911B-disco和lib RFAL讀取協(xié)議ISO14443A的信息?

    我正在嘗試從另一張 RFID 卡讀取信息,我的想法是發(fā)送一個請求并接收答案 00010203040506070809,發(fā)送此信息的卡是 SIC4310-full 使用 ISO14443 協(xié)議。我嘗試
    發(fā)表于 01-05 07:57

    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è)計

    實(shí)現(xiàn)基于ISO14443A協(xié)議的13.56 MHz RFID芯片的設(shè)計,本文討論了RFID芯片模擬前端的實(shí)現(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è)計

    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次下載

    射頻卡協(xié)議ISO14443中文

    ISO1443的中文標(biāo)準(zhǔn),寫的非常詳細(xì)
    發(fā)表于 03-15 10:46 ?89次下載

    ISO15693協(xié)議介紹

    之前介紹了ISO14443和Felica,接下來來介紹ISO15693協(xié)議,也就是我們平時說的V卡。它的出現(xiàn)是為了彌補(bǔ) ISO14443 通信距離不足、同時讀取標(biāo)簽數(shù)量不足的缺陷。
    的頭像 發(fā)表于 12-09 11:41 ?1.1w次閱讀