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.

[参考译文] RF430CL330H:用于更大数据传输的块化数据

Guru**** 2526700 points


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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/578215/rf430cl330h-chunked-data-for-larger-data-transfer

器件型号:RF430CL330H

您好!

我一直在尝试弄清楚如何使用 RF430 RFID/NFC 芯片发送大量数据。 根据示例代码、该芯片只能发送每条消息20字节的有效载荷。 我尝试发送大约50字节的数据。 我知道这是可能的、因为我已经阅读了另一篇文章、有人在传输中发送了30字节的数据、但是对于如何实现这一点没有见解。

为了尝试找出分块记录、我参考了 RF430数据表和 NDEF 技术规格手册。 我一直在编辑 RF430示例代码中的 RF430_DEFAULT_DATA #define 来发送2个有效载荷。 我的理解是、NDEF 标签应用程序数据应采用以下格式:[标签名称;CC ID;NDEF 文件 ID;NDEF 文件;Record1; Record2],但这不起作用。

我尝试过其他几种方法、但都没有成功、因此我想知道我是否正在正确格式化数据以发送多个数据块。 我在下面添加了编辑过的代码以供参考。

此外、我参考 NDEF 技术规范手册的第8页和第9页、确定应在每条记录中设置和清除哪些内容。 根据该手册,第25、26、35和36行应该是唯一受分块影响的行,但我可能会误解某些内容。

提前感谢。

#define RF430_DEFAULT_DATA { \/*NDEF
标签应用程序名称-7*/ \
0xD2、0x76、0x00、0x00、0x85、 0x01、0x01、 \
\/*Capability
Container ID - 17*/ \
0xE1、0x03、 \
0x00、0x0F、/* CCLEN */ \
0x20、 /*映射版本2.0 */ \
0x00、0xF9、/* MLE (49字节);最大 R-APDU 数据大小大多数可读取的字节*/ \
0x00、0xF6、/* MLC (52字节);最大 C-APDU 数据大小可写入的大多数字节*/ \
0x04、 /*标签、文件控制 TLV (4 = NDEF 文件)*/ \
0x06、 /*长度、文件控制 TLV (6 =此标签的6字节数据)*/ \
0xE1、0x04、/*文件标识符*/ \
0x0B、0xDF、/*最大 NDEF 大小(可用存储器的3037字节)*/ \
0x00、 /* NDEF 文件读取访问条件,读取访问没有任何安全性*/ \
0x00、 /* NDEF 文件写入访问条件;不带任何安全性的写入访问*/\
\/*
NDEF 文件 ID - 2 */ \
0xE1、0x04、 \
\/*
Hello World 的 NDEF 文件-2*/ \
0x00、0x14、/* NLEN:NDEF 长度(20字节长消息、最大 RF430CL 的长度)*/ \
\/*
NDEF 记录(请参阅 NFC 数据交换格式规范)- 7*/ \
0xB1、 /*MB (消息开始)、SR (短记录)标志置1、块标志置1、IL (ID 长度字段存在)标志清零;TNF (3位)= 1;10110001 B1 (块)*/\
0x01、0x10、/*类型长度= 0x01;有效载荷长度= 0x10 */ \
0x54、 /*类型= T (文本)*/ \
0x02、 /*第一个有效载荷字节:"文本起始"、如 ASCII 表中指定*/ \
0x65、0x6E、/*'e'、'n'、(第2次、 第3个有效载荷字节*/ \
\/*
'Hello、world!' NDEF 数据- 13*/ \
0x48、0x65、0x6C、0x6C、0x6f、 0x2C、0x20、0x77、0x6f、0x72、 0x6c、0x64、0x21、 \
\/*
NDEF 记录(请参阅 NFC 数据交换格式规范)- 7*/ \
0x56、 /*ME (消息结束)、SR (短记录)标志置1、块标志清零、IL (ID 长度字段存在)标志清零;TNF (3位)= 6;01010110 56 (对于块*/\
0x00、0x10、/*类型长度= 0x00;有效载荷长度= 0x10 */ \
0x54、 /*类型= T (文本)*/ \
0x02、 /*第一个有效载荷字节:"文本起始"、如 ASCII 表中指定*/ \
0x65、0x6E、/*'e'、'n'、(第2次、 第3个有效载荷字节*/ \
\/*
'Hello、world!' NDEF 数据- 13*/ \
0x48、0x65、0x6C、0x6C、0x6f、 0x2C、0x20、0x77、0x6f、0x72、 0x6c、0x64、0x21
\} /*数据结束*/ 

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

    您好、Christopher、

    该示例并不表示限制为20个字节、而是只需发送20个字节的数据。 您可以使用此器件在单个 NDEF 消息中发送高达3KB 的数据。

    因此、在从规范方面详细介绍之前、您是否需要出于应用的原因以两个不同的块发送50个字节、或者这种想法只是尝试解决实际情况并非如此的感知大小限制?

    如果您想以一个块发送50个字节、这比2块发送更容易、我可以帮助您快速完成。

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

    感谢您为我清除此问题;我了解了如何立即发送更大的消息。 我认为存在大小限制、因此我不再需要对数据进行块处理。 但是、如果您可以在什么应用程序中解释某人将使用分块、那将不胜感激。

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

    很高兴听到这种帮助!

    NFC 并不真正考虑单独的消息功能块。 这是一种在 NDEF 文件中存储多条记录的方法。 例如,您可以有一条是文本问候消息的记录,另一条是 v 卡,或类似的内容。 在实践中、这种方法很少使用、而在实际情况下、通常是针对专有应用程序执行的、这些应用程序出于某些特定的原因需要分离数据。

    实际上、我没有测试过这一点、但我甚至想、对于默认可下载应用程序、NFC 智能手机读取的内容不会超过第一条/第一条记录、您需要编写一个定制应用程序才能获取第二条/第三条记录。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这更有意义。 我还假设我的手机可能无法读取分块记录。

    感谢你的帮助。