This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RF430FRL152HEVM:使用 RF430FRL152HEVM 和 Android 代码

Guru**** 2473260 points
Other Parts Discussed in Thread: RF430FRL152H

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/592930/rf430frl152hevm-working-with-rf430frl152hevm-and-android-code

器件型号:RF430FRL152HEVM
主题中讨论的其他器件:RF430FRL152H

因此、我将编写一个 Android 应用、该应用将与 RF430FRL152通信、以便记录来自定制传感器的数据样本。  我已经遇到了几个开源应用程序、我已经成功地编译和运行了这些应用程序。  现在、我将代码与数据表进行组合、尝试了解 ISO 15693协议。  我的问题我找不到用于确定从何处读取或写入的块 ID 的详细信息。 我希望有人能向我指出正确的数据表。  

这些都是最有帮助的、但我似乎缺少一些东西。  

http://www.ti.com/lit/ds/slas834c/slas834c.pdf

http://www.ti.com/lit/ug/slau603a/slau603a.pdf 传感器信息在采样后可找到。  但是、您如何知道什么是值?  写作呢?

示例 ISO 8字节 Blk 编号与 ADC1和 ADC0等相同。  4字节 Blk 编号页和字节8/4字节的数字会发生变化、但我不确定它们的含义。  

此外、如果执行寻址读取或写入操作、是否对同一个表中列出的地址执行此操作?  例如、ADC0传感器配置寄存器位于地址0xF87A、这是要写入的地址吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有几件事。  我认为您需要一个描述协议的 ISO/IEC 15693规范。  这些内容可在多个位置在线获取、搜索此协议的内容应仅在几个位置找到。

    快速总结、RF430FRL152H 器件中的 ISO/IEC 15693通信协议是对 FRAM 存储器的直接访问。  它不使用实际的 FRAM 地址进行读取和写入。  但是、它使用从0开始的块编号。  块编号0从 FRAM 存储器位置0xF868开始。  每个块长度可以是4或8字节。  这可在固件系统控制寄存器中更改(在固件用户指南中进行了说明)。

    每个块在存储器中与下一个块是连续的。 因此、如果使用4字节块、块1将从0xF86B 开始、以此类推。  由于协议只为块 ID 分配8位、因此不可能覆盖具有4字节块的近2KB FRAM 存储器。  以帮助进行此分页。  分页将 FRAM 存储器分为两个区域或两页。  第一个区域是0xF868到0xFC33 -这个区域中有243个块。 下一个从的第一个左侧开始。  第2页还有243个块。  有关这方面的更多详细信息、请参阅 RF430FRL152H 固件用户指南 (RF 堆栈部分)。

    首先、地址/块相关性可能会有点混淆。  ADC0传感器配置寄存器、地址0xF87A 为8位。  该寄存器是8字节块的第2个块(见 ISO 8字节 Blk 编号)、也是4字节块的第4个块(见4字节 BLC 编号)。  此外、对于4字节块、它所在的页面为0。  字节8也表示寄存器位于哪个字节位置。  在本例中、该寄存器位于字节编号2中。  这对于4字节块是相同的。

    下面提供了一个图形以进一步阐明。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这正是我要找的。 感谢您花时间详细说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    一个快速跟进。 如何使用写入/读取命令来寻址块? 例如,在 TRF7960EVM ISO15693主机命令文档 中,www.ti.com/.../sloa141.pdf ,第27 5.4页写入单块(0x21)。 此示例指定的块编号为0x06。 最终会是什么? 此位是参考块0字节6还是参考0xF868或完全其他内容之上的地址6。 在该注释中、对于寻址命令、需要哪些地址? 我假设不是0xF868 (通用控制寄存器)、因为在上面同一 pdf 的示例中、它们使用的是第28页上的 E0007C4D2E5C28090地址。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jason、

    ISO15693命令的寻址部分与标签上的数据无关、而是使用标签的唯一标识符(UID)无线发出命令。 这是您在用户指南中看到的 E0007C4D2E5C28090的"地址"。 此 UID 在生产时编程在每个标签中、并且不能更改、从而保证标签始终可以由标签识别、并且标签与所有其他标签的区别是使用它。 当存在多个标签时、ISO15693标准使用寻址读取和写入来与单个标签通信。

    从宏观角度来看、回退一步:总体而言、ISO15693协议旨在允许一个设备同时与射频场中的多个标签进行通信。 为此、首先使用一个防冲突例程、此例程将根据此例程的 UID 来识别字段中的每个标签。 读取器可以从中挑选特定的标签来与之通信。 获取系统信息或获取 DSFID 等其他命令可用于进一步帮助读取器识别标签。 然后、一旦被识别、使用寻址读取或寻址写入命令、读取器就可以只与那个标签交谈、而不与其它标签交谈。 这就是这些"已寻址"命令的原因、因此它与内部标签存储器结构/数据无关。

    关于"此示例的指定块编号为0x06。" -这是标签存储器的块编号、无论命令是否被寻址、该块编号都用于从块0x06读取数据、它将根据 RF430FRL15xH 的配置为您提供4或8字节的数据

    总之、"已寻址"命令是 ISO15693标准特有的功能、与 RF430FRL15xH 的内部存储器或数据结构无关。 Alex 在他之前的帖子中描述的是您从块中读取数据时需要知道的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这意味着、如果你想写入0x06位置内的一个特定字节、那么你只需要根据来组织字节数组。 我现在关注。 感谢您帮助我澄清这一点。