ST意法半导体
直播中

李中宏

7年用户 1313经验值
私信 关注
[问答]

使用ST25R3911B和ISO-15693从RFID标签读取单个块时,安全状态= 63意味着什么?

硬件设置:MCU:XMC4200(英飞凌)通过 SPI 连接到 ST25R3911B,标签符合 ISO15693
软件:使用 rfal 库和 en.STSW-ST25RFAL001 (V2.1.2) 中的 iso15693 API
我能够成功读取库存,写入单个块并从 RFID 标签内存中读取单个块。
在我的测试中,如果我写入单个块并在之后立即从同一块读取(以验证写入是否成功),我会在块读取事务中得到“安全统计:63”。如果我只是读取一个块(之前没有写入同一块,则安全状态为 0)
这个安全状态代码是什么意思?为什么不是0?
我附上了我的 read_single_block 和 write_single_block 函数实现的 C 代码片段。
这是我的调试 UART 的打印输出
****************************************************** *******************
运行库存命令
iso15693库存状态:0
找到标签!
找到 ISO15693/NFC-V 卡
. UID:E0:08:01:55:AB:75:6C:D5
, DSFID: 0
, RES_FLAG: 0
, 校验码: a090
读取系统信息
UIDE0:08:01:55:AB:75:6C:D5 卡的系统信息:
标志:0
信息标志:f
dsfid: 0
阿菲:0
块数:250
块大小:8
ic参考:84
写入内容:0A、0C、41、47 5F、39、35、37
Iso15693/NFC-V 成功写入块数:1
读块数:1
读取块 1:
  标志:0
  错误代码:0
  安全状态:63
  实际尺寸:8
  数据:0A:0C:41:47:5F:39:35:37
块号:1,读取数据长度:8
区块内容:0A, 0C, 41, 47 5F, 39, 35, 37
****************************************************** ************************








回帖(1)

赖治添

2023-2-7 14:29:34
根据 ISO/IEC 15693-3,块安全状态由标签作为响应读取器请求(例如将选项标志设置为 1 的读取单个块)的参数发回。
ISO/IEC 15693-3 §6 中描述了块安全状态的含义:


  • b1:锁定标志
  • b5:b2:专有
  • b8:b6: RFU 0

由于这个值是由标签发送的,我建议联系标签制造商(如果我没记错的话富士通有限公司)。
您还可以转储完整的接收缓冲区,以确保 0x63 不是由于将字节数组转换为代码中的结构而导致的解码错误。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分