完成实验2报告
This commit is contained in:
parent
cb88186ef1
commit
61329f8fe9
BIN
Labs/Lab2/source/images/UID10PCD.png
Normal file
BIN
Labs/Lab2/source/images/UID10PCD.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
Labs/Lab2/source/images/UID10PICC.png
Normal file
BIN
Labs/Lab2/source/images/UID10PICC.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
BIN
Labs/Lab2/source/images/UID4.png
Normal file
BIN
Labs/Lab2/source/images/UID4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
BIN
Labs/Lab2/source/images/UID7PCD.png
Normal file
BIN
Labs/Lab2/source/images/UID7PCD.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 64 KiB |
BIN
Labs/Lab2/source/images/UID7PICC.png
Normal file
BIN
Labs/Lab2/source/images/UID7PICC.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 63 KiB |
@ -7,10 +7,9 @@
|
||||
<div><span style="display: inline-block; width: 65px; text-align: center;">姓名</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">柯劲帆</span></div>
|
||||
<div><span style="display: inline-block; width: 65px; text-align: center;">班级</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">物联网2101班</span></div>
|
||||
<div><span style="display: inline-block; width: 65px; text-align: center;">指导老师</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">赵帅锋</span></div>
|
||||
<div><span style="display: inline-block; width: 65px; text-align: center;">日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2024年6月8日</span></div>
|
||||
<div><span style="display: inline-block; width: 65px; text-align: center;">日期</span><span style="display: inline-block; width: 25px;">:</span><span style="display: inline-block; width: 210px; font-weight: bold; text-align: left;">2024年6月9日</span></div>
|
||||
</div>
|
||||
|
||||
|
||||
---
|
||||
|
||||
[TOC]
|
||||
@ -60,7 +59,7 @@ UID 的标准长度为 4 字节、7 字节或 10 字节,分别对应于单级
|
||||
| 行为方 | 发送内容 | | | | |
|
||||
| :----: | ---------- | ---- | ---- | ---- | ---- |
|
||||
| PCD | SEL = '93' | | | | |
|
||||
| PICC | CT | uid0 | uid1 | uid2 | BCC |
|
||||
| PICC | CT = '88' | uid0 | uid1 | uid2 | BCC |
|
||||
| PCD | SEL = '95' | | | | |
|
||||
| PICC | uid3 | uid4 | uid5 | uid6 | BCC |
|
||||
|
||||
@ -69,9 +68,9 @@ UID 的标准长度为 4 字节、7 字节或 10 字节,分别对应于单级
|
||||
| 行为方 | 发送内容 | | | | |
|
||||
| :----: | ---------- | ---- | ---- | ---- | ---- |
|
||||
| PCD | SEL = '93' | | | | |
|
||||
| PICC | CT | uid0 | uid1 | uid2 | BCC |
|
||||
| PICC | CT = '88' | uid0 | uid1 | uid2 | BCC |
|
||||
| PCD | SEL = '95' | | | | |
|
||||
| PICC | CT | uid3 | uid4 | uid5 | BCC |
|
||||
| PICC | CT = '88' | uid3 | uid4 | uid5 | BCC |
|
||||
| PCD | SEL = '97' | | | | |
|
||||
| PICC | uid6 | uid7 | uid8 | uid9 | BCC |
|
||||
|
||||
@ -147,19 +146,188 @@ ATQA 应答由两个字节(16位)组成,其结构如下:
|
||||
|
||||
### 2.3.4. ANTICOLLISION 命令
|
||||
|
||||
ANTICOLLISION 命令用于解决射频场中多张卡片同时响应的问题,通过逐步发送卡片的 UID 部分,读写器可以唯一识别每张卡片。该命令在不同的级联级别(Cascade Level)使用不同的标识符 `'93'`, `'95'`, `'97'`,分别表示第一级、第二区和第三级的防冲突级别。
|
||||
|
||||
ANTICOLLISION 命令的帧结构如下:
|
||||
|
||||
### 2.3.5. SELECT命令
|
||||
| SOF | SEL | NVB | EOF |
|
||||
| ---- | ------------------------------------------------------------ | ------ | ---- |
|
||||
| | `0x93`(Cascade Level 1)或 `0x95`(Cascade Level 2)或 `0x97`(Cascade Level 3) | `0x20` | |
|
||||
|
||||
**交互流程**:
|
||||
|
||||
1. **发送 ANTICOLLISION 命令**:读写器向射频场中的卡片发送 ANTICOLLISION 命令,要求卡片发送其 UID 部分。
|
||||
2. **卡片响应**:卡片根据级联级别,返回部分 UID 和 BCC。
|
||||
3. **检测冲突**:读写器检测是否存在冲突。如果存在冲突,读写器通过选择特定位进行防冲突处理,直到只剩下一个唯一的 UID。
|
||||
|
||||
如果有冲突:
|
||||
|
||||
| SOF | SEL(8 bits) | NVB(8 bits) | 指定的 UID 比特 | EOF |
|
||||
| ---- | -------------------------- | ---------------- | --------------- | ---- |
|
||||
| | `0x93` 或 `0x95` 或 `0x97` | PCD 指定的比特数 | | |
|
||||
|
||||
**交互流程**:
|
||||
|
||||
1. **发送 SELECT 命令**:读写器向射频场中的卡片发送 ANTICOLLISION 命令,包含卡片的部分 UID。
|
||||
2. **卡片确认**:卡片收到命令后,若指定 UID 与自身相符,返回自身 UID 余下部分。
|
||||
3. **进一步通信**:选中的卡片现在可以接收读写器发送的其他命令,如读写操作命令。
|
||||
|
||||
### 2.3.5. SELECT 命令
|
||||
|
||||
SELECT 命令用于选择和激活在防冲突过程中唯一识别的卡片,使其进入选中状态,准备接受进一步的命令。SELECT 命令也分为不同的级联级别,使用与 ANTICOLLISION 命令相同的标识符。
|
||||
|
||||
SELECT 命令的帧结构如下:
|
||||
|
||||
| SOF | SEL(8 bits) | NVB(8 bits) | UID | BCC | EOF |
|
||||
| ---- | -------------------------- | -------------------------- | ---- | ---- | ---- |
|
||||
| | `0x93` 或 `0x95` 或 `0x97` | UID 比特长度 + 16 比特长度 | | | |
|
||||
|
||||
**交互流程**:
|
||||
|
||||
1. **发送 SELECT 命令**:读写器向射频场中的卡片发送 SELECT 命令,包含完整 UID 和 BCC 。
|
||||
2. **卡片确认**:卡片收到命令后,若指定 UID 与自身相符,将会回复 SAK 。
|
||||
3. **进一步通信**:选中的卡片现在可以接收读写器发送的其他命令,如读写操作命令。
|
||||
|
||||
### 2.3.6. SAK应答
|
||||
|
||||
SAK(Select Acknowledge)应答是卡片(PICC)在接收到 SELECT 命令后返回给读写器(PCD)的应答码,用于确认卡片是否已被选中,并提供一些附加信息。
|
||||
|
||||
SAK 应答的帧结构如下:
|
||||
|
||||
| SOF | b6 | b5 - b4 | b3 | b2 - b0 | CRC_A(16 bits) | EOF |
|
||||
| :--: | :--------------------------------------: | ------- | :----------------------------------------------------: | :-----: | :--------------: | :--: |
|
||||
| | `1`:支持 ISO/IEC 14443-4;`0`:不支持。 | RFU | `1`:表示 UID 不完整,继续防冲突;`0`:表示 UID 完整。 | RFU | | |
|
||||
|
||||
**交互流程**:
|
||||
|
||||
1. **发送 SELECT 命令**:读写器向射频场中的卡片发送 SELECT 命令,包含卡片的部分 UID 和 BCC。
|
||||
2. **卡片确认**:卡片收到命令后,返回 SAK 码,表示其已被选中并进入选中状态。
|
||||
3. **进一步通信**:选中的卡片现在可以接收读写器发送的其他命令,如读写操作命令。
|
||||
|
||||
### 2.3.7. HALT命令
|
||||
|
||||
HALT(休眠)命令用于使卡片(PICC)进入休眠状态,停止与读写器(PCD)的通信。这个命令用于结束当前卡片的会话,直到卡片被重新唤醒(通过 WUPA 命令)。
|
||||
|
||||
HALT 命令的帧结构如下:
|
||||
|
||||
| SOF | 命令码第一字节 | 命令码第二字节 | CRC_A(16 bits) | EOF |
|
||||
| :--: | :------------: | :------------: | :--------------: | :--: |
|
||||
| | `0x50` | `0x00` | | |
|
||||
|
||||
**交互流程**:
|
||||
|
||||
1. **发送 HALT 命令**:PCD 向射频场中的目标卡片发送 HALT 命令。
|
||||
2. **卡片进入休眠状态**:接收到 HALT 命令的 PICC 将停止响应读写器的进一步命令,进入休眠状态。
|
||||
3. **重新唤醒**:要重新与该卡片通信,PCD 需要发送 WUPA 命令将其唤醒。
|
||||
|
||||
|
||||
|
||||
# 3. 实验过程
|
||||
|
||||
IP 和端口保持默认不变。设置 PICC ID 。
|
||||
|
||||
## 3.1. PICC ID 为 4 字节
|
||||
|
||||

|
||||
|
||||
**过程分析**:
|
||||
|
||||
1. **PCD** :发送 REQA ,激活在读写器射频场中的卡片;
|
||||
2. **PICC** :回复 ATQA ,bit 8 到 bit 7 为 `00` ,说明 UID 长度为 4 字节;bit 5 到 bit 1 含有 `1` ,说明采用比特帧防冲突方式;
|
||||
3. **PCD** :发送 ANTICOLLISION ,指定查询第 1 级 UID ;
|
||||
4. **PICC** :回复 ANTICOLLISION ,回复自己的 UID = `0x80122821` 和 BCC = `0x9b` ;
|
||||
5. **PCD** :发现收到的 UID 中,第 2 字节的第 2 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 1 字节和第 2 字节的前 2 比特;指定 UID 前 1 字节为 `80`,第 2 字节的前 2 比特为 `00` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `1` ,与收到的 ANTICOLLISION 命令不匹配,不回复;
|
||||
3. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 1 字节和第 2 字节的前 2 比特;指定 UID 前 1 字节为 `80`,第 2 字节的前 2 比特为 `10` ;
|
||||
4. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `1` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `000100` ,剩下字节为 `2821`;
|
||||
6. **PCD** :发现收到的 UID 中,第 3 字节的第 4 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `44` ,即会指定 UID 的前 2 字节和第 3 字节的前 4 比特;指定 UID 前 2 字节为 `8012`,第 3 字节的前 4 比特为 `0000` ;
|
||||
2. **PICC** :发现自身 UID 第 3 字节的第 4 比特为 `1` ,与收到的 ANTICOLLISION 命令不匹配,不回复;
|
||||
3. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 2 字节和第 3 字节的前 4 比特;指定 UID 前 3 字节为 `8012`,第 3 字节的前 4 比特为 `1000` ;
|
||||
4. **PICC** :发现自身 UID 第 3 字节的第 4 比特为 `1` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 3 字节的剩下比特为 `0010` ,剩下字节为 `21`;
|
||||
7. **PCD** :发现收到的 UID 中,第 4 字节的第 7 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `57` ,即会指定 UID 的前 3 字节和第 4 字节的前 7 比特;指定 UID 前 3 字节为 `801228`,第 4 字节的前 7 比特为 `0100001` ;
|
||||
2. **PICC** :发现自身 UID 第 4 字节的第 7 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 4 字节的剩下比特为 `0` ,无剩下字节;
|
||||
8. **PCD** :发送 SELECT 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `70` ;指定 UID = `80122821` ,BCC = `9b` ;
|
||||
9. **PICC** :回复 SAK = `00` ,表示不支持 ISO/IEC 14443-4 ,UID 已完整;
|
||||
10. **PCD** :发送 HALT 命令,使得被选中的卡片进入睡眠状态。
|
||||
|
||||
## 3.2. PICC ID 为 7 字节
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
**过程分析**:
|
||||
|
||||
1. **PCD** :发送 REQA ,激活在读写器射频场中的卡片;
|
||||
2. **PICC** :回复 ATQA ,bit 8 到 bit 7 为 `01` ,说明 UID 长度为 7 字节;bit 5 到 bit 1 含有 `1` ,说明采用比特帧防冲突方式;
|
||||
3. **PCD** :发送 ANTICOLLISION ,指定查询第 1 级 UID ;
|
||||
4. **PICC** :回复 ANTICOLLISION ,回复第 1 级UID = `0x88801228` 和 BCC = `0x32` ;
|
||||
5. **PCD** :发现收到的 UID 中,第 2 字节的第 2 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 1 字节和第 2 字节的前 2 比特;指定 UID 前 1 字节为 `88`,第 2 字节的前 2 比特为 `00` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `100000` ,剩下字节为 `1228`;
|
||||
6. **PCD** :发现收到的 UID 中,第 3 字节的第 4 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `44` ,即会指定 UID 的前 2 字节和第 3 字节的前 4 比特;指定 UID 前 2 字节为 `8880`,第 3 字节的前 4 比特为 `0010` ;
|
||||
2. **PICC** :发现自身 UID 第 3 字节的第 4 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 3 字节的剩下比特为 `0001` ,剩下字节为 `28`;
|
||||
7. **PCD** :发现收到的 UID 中,第 4 字节的第 7 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `57` ,即会指定 UID 的前 3 字节和第 4 字节的前 7 比特;指定 UID 前 3 字节为 `888012`,第 4 字节的前 7 比特为 `0101000` ;
|
||||
2. **PICC** :发现自身 UID 第 4 字节的第 7 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 4 字节的剩下比特为 `0` ,无剩下字节;
|
||||
8. **PCD** :发送 SELECT 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `70` ;指定 UID = `88801228` ,BCC = `32` ;
|
||||
9. **PICC** :回复 SAK = `04` ,表示不支持 ISO/IEC 14443-4 ,UID 未完整;
|
||||
10. **PCD** :发送 ANTICOLLISION ,指定查询第 2 级 UID ;
|
||||
11. **PICC** :回复 ANTICOLLISION ,回复第 2 级UID = `0x21441020` 和 BCC = `0x55` ;
|
||||
12. **PCD** :发现收到的 UID 中,第 1 字节的第 5 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x95` 第 2 级 UID ;指定 NVB = `25` ,即会指定 UID 的第 1 字节的前 5 比特为 `00001` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `001` ,剩下字节为 `441020`;
|
||||
13. **PCD** :发送 SELECT 命令,指定 `0x95` 第 2 级 UID ;指定 NVB = `70` ;指定 UID = `21441020` ,BCC = `55` ;
|
||||
14. **PICC** :回复 SAK = `00` ,表示不支持 ISO/IEC 14443-4 ,UID 已完整;
|
||||
15. **PCD** :发送 HALT 命令,使得被选中的卡片进入睡眠状态。
|
||||
|
||||
## 3.3. PICC ID 为 10 字节
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
**过程分析**:
|
||||
|
||||
1. **PCD** :发送 REQA ,激活在读写器射频场中的卡片;
|
||||
2. **PICC** :回复 ATQA ,bit 8 到 bit 7 为 `10` ,说明 UID 长度为 10 字节;bit 5 到 bit 1 含有 `1` ,说明采用比特帧防冲突方式;
|
||||
3. **PCD** :发送 ANTICOLLISION ,指定查询第 1 级 UID ;
|
||||
4. **PICC** :回复 ANTICOLLISION ,回复第 1 级UID = `0x88563412` 和 BCC = `0xf8` ;
|
||||
5. **PCD** :发现收到的 UID 中,第 2 字节的第 2 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 1 字节和第 2 字节的前 2 比特;指定 UID 前 1 字节为 `88`,第 2 字节的前 2 比特为 `00` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `1` ,与收到的 ANTICOLLISION 命令不匹配,不回复;
|
||||
3. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `32` ,即会指定 UID 的前 1 字节和第 2 字节的前 2 比特;指定 UID 前 1 字节为 `88`,第 2 字节的前 2 比特为 `10` ;
|
||||
4. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `0101001` ,剩下字节为 `3412`;
|
||||
6. **PCD** :发现收到的 UID 中,第 3 字节的第 4 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `44` ,即会指定 UID 的前 2 字节和第 3 字节的前 4 比特;指定 UID 前 2 字节为 `8856`,第 3 字节的前 4 比特为 `0100` ;
|
||||
2. **PICC** :发现自身 UID 第 3 字节的第 4 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 3 字节的剩下比特为 `0011` ,剩下字节为 `12`;
|
||||
7. **PCD** :发现收到的 UID 中,第 4 字节的第 7 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `57` ,即会指定 UID 的前 3 字节和第 4 字节的前 7 比特;指定 UID 前 3 字节为 `885634`,第 4 字节的前 7 比特为 `0010010` ;
|
||||
2. **PICC** :发现自身 UID 第 4 字节的第 7 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 4 字节的剩下比特为 `0` ,无剩下字节;
|
||||
8. **PCD** :发送 SELECT 命令,指定 `0x93` 第 1 级 UID ;指定 NVB = `70` ;指定 UID = `88563412` ,BCC = `f8` ;
|
||||
9. **PICC** :回复 SAK = `04` ,表示不支持 ISO/IEC 14443-4 ,UID 未完整;
|
||||
10. **PCD** :发送 ANTICOLLISION ,指定查询第 2 级 UID ;
|
||||
11. **PICC** :回复 ANTICOLLISION ,回复第 2 级UID = `0x88801228` 和 BCC = `0x32` ;
|
||||
12. **PCD** :发现收到的 UID 中,第 2 字节的第 5 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x95` 第 2 级 UID ;指定 NVB = `25` ,即会指定 UID 的第 1 字节的前 5 比特为 `01000` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 2 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `100` ,剩下字节为 `801228`;
|
||||
13. **PCD** :发送 SELECT 命令,指定 `0x95` 第 2 级 UID ;指定 NVB = `70` ;指定 UID = `88801228` ,BCC = `32` ;
|
||||
14. **PICC** :回复 SAK = `04` ,表示不支持 ISO/IEC 14443-4 ,UID 未完整;
|
||||
15. **PCD** :发送 ANTICOLLISION ,指定查询第 3 级 UID ;
|
||||
16. **PICC** :回复 ANTICOLLISION ,回复第 3 级UID = `0x21440010` 和 BCC = `0x75` ;
|
||||
17. **PCD** :发现收到的 UID 中,第 2 字节的第 5 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x97` 第 3 级 UID ;指定 NVB = `35` ,即会指定 UID 的前 1 字节和第 2 字节的前 5 比特;指定 UID 前 1 字节为 `21`,第 2 字节的前 5 比特为 `00100` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 5 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 2 字节的剩下比特为 `010` ,剩下字节为 `0010`;
|
||||
18. **PCD** :发现收到的 UID 中,第 2 字节的第 8 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x97` 第 3 级 UID ;指定 NVB = `40` ,即会指定 UID 的前 3 字节为 `2144` ;
|
||||
2. **PICC** :发现自身 UID 第 2 字节的第 8 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复 UID 剩下字节为 `0010`;
|
||||
19. **PCD** :发现收到的 UID 中,第 4 字节的第 7 比特发生了碰撞。处理碰撞:
|
||||
1. **PCD** :发送 ANTICOLLISION 命令,指定 `0x97` 第 3 级 UID ;指定 NVB = `57` ,即会指定 UID 的前 3 字节和第 4 字节的前 7 比特;指定 UID 前 3 字节为 `214400`,第 4 字节的前 7 比特为 `0010000` ;
|
||||
2. **PICC** :发现自身 UID 第 4 字节的第 7 比特为 `0` ,与收到的 ANTICOLLISION 命令匹配,回复剩下的 UID :第 4 字节的剩下比特为 `0` ,无剩下字节;
|
||||
20. **PCD** :发送 SELECT 命令,指定 `0x97` 第 3 级 UID ;指定 NVB = `70` ;指定 UID = `21440010` ,BCC = `75` ;
|
||||
21. **PICC** :回复 SAK = `00` ,表示不支持 ISO/IEC 14443-4 ,UID 已完整;
|
||||
22. **PCD** :发送 HALT 命令,使得被选中的卡片进入睡眠状态。
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
Labs/Lab2/实验2_21281280_柯劲帆.pdf
Normal file
BIN
Labs/Lab2/实验2_21281280_柯劲帆.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user