ST意法半导体
直播中

俞舟群

7年用户 1079经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

使用ST25RU3993选择Gen2后无法读取信息谁能指导我找到解决方案吗?

我们目前正在将 ST 代码改编成 Linux 设备驱动程序,但我们在 Gen2 Select 选项方面遇到了一些问题:我们能够:
  • 执行盘点并列出天线范围内的所有标签
  • 在盘点期间找到标签并获取其句柄时读取/写入 EPC、tiD 和 USER 数据。
  • 使用 startTagConnection 函数发送 Select 命令以通过其 EPC 仅选择一个标签。
选择标签后,我们可以调用 gen2AccessTag
功能,我们能够 100% 的时间检索标签句柄,但是当试图从存储库中读取数据时,我们只有 5% 的时间成功(95% 的时间我们得到 ERR -33(芯片无响应) ), 或者 ERR -35 (err chip preamble)).
有关代码的更多详细信息:
对于我们要选择的每个标签,我们设置 selParams
相应的全局变量:
  • selParams[0].mode = STUHFL_D_GEN2_SELECT_MODE_CLEAR_AND_ADD;
  • selParams[0].target = STUHFL_D_GEN2_TARGET_SL;
  • selParams[0].action = 0;
  • selParams[0].memoryBank = STUHFL_D_GEN2_MEMORY_BANK_EPC;
  • memcpy(selParams[0].mask, tag->epc.data, tag_size);
  • selParams[0].maskBitPointer = 32; // CRC + PC = 32 bits, EPC starts at 33rd, so index 32
  • selParams[0].maskBitLength = 8 * tag_size;
  • selParams[0].truncation = 0;
  • numSelects = 1;
然后,我们按照 ST Gen2_Read 中完成的命令
功能:
  • 调用 startTagConnection 发送 Select 命令并检索唯一应答的标签;
  • 如果需要,调用 gen2AccessTag 使标签进入 Secured 状态;
  • 调用 gen2ReadFromTag 来读取数据,这与我们在库存循环中能够读取的方式相同(参见我们当前能够执行的案例 n°2)。
你能指导我们找到解决方案吗?





回帖(1)

杨艳

2022-12-8 10:53:52
我发现了我的问题,我在 Selection 之后进行了单次盘点,但是 Q 值太高了。因为我每次只想选择一个标签,所以我将 Q 设置为 0,效果非常好!
举报

更多回帖

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