PN532标记仿真 - 了解初始响应和APDU数据字段

时间:2016-09-12 23:27:51

标签: nfc iso ndef

我有一个pn532,我想把它作为被动NFC标签提供给读者,上面有NDEF记录URL。

PN532's User Manual之后我可以将设备置于目标模式,并从手机中读取第一个ADPU命令。我可以使用2005年的iso-14443-4 pdf来查看命令是A4,Read File,并且两个参数字节表示“按DF名称选择,首次出现”。虽然过去,我不知道如何解释数据字段,这应该是请求阅读的文件的名称。

此外,我不知道如何解释手机的初始命令[E080]。

程序的输出:(用#的注释)

usart init.

i2c init.

pn532 init.

Firmware: 1.6

SAM config done.

Gen Status:

    Err code: 0x00

    Field: 0x00

    Number of tags: 0x00

Initiating as target. # Here the pn532 waits for a reader.

tgInitAsTarget. Length: 5 # Callback function once the pn532 detects a reader and retrieves the first command from it.

    Mode: 

    Baud: 106kbps, 14443-4: yes, DEP: no, Framing type: Mifare.


Initiator command: 

0xE0

0x80

Entering tg loop.

callback: tgGetData. # The tgGetData command is sent without doing anything with the initial instructions.

    status: 0x00

    0x00 0xA4 0x04 0x00 0x07 0xD2 0x76 0x00 0x00 0x85 0x01 0x01 0x00 

    CLA: 0x00 # Single command, No SM, channel 0.

    INS: 0xA4 # Select.

    P1:  0x04 # Select by DF name.

    P2:  0x00 # First/Only occurrence, return FCI template.

    Lc:  0x07 # 7 data bytes.

    Data: 0xD2 0x76 0x00 0x00 0x85 0x01 0x01 #???

    Le:  0x00 # Any length response.

1 个答案:

答案 0 :(得分:0)

<块引用>

此外,我不知道如何解释电话中的初始命令 [E080]。

我可以为您指出一些起点。 E080 是 RATS(请求应答选择)的一部分。此 pdf (https://www.st.com/resource/en/datasheet/st25ta64k.pdf) 的第 5.9.2 节(Rats 命令和 ATS 响应)将 0xE0 分解为 INS,将 0x80 分解为位向量。