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.

[参考译文] TRF7970A:TRF7970A 与 MSP430F6779A 集成

Guru**** 2386840 points
Other Parts Discussed in Thread: MSP430F6779A, TRF7970A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1450501/trf7970a-trf7970a-integration-with-msp430f6779a

器件型号:TRF7970A
主题中讨论的其他器件:MSP430F6779A

工具与软件:

尊敬的社区:
 根据启动序列的数据表、我们将为 RFID 项目集成 TRF7970A 芯片和 MSP430F6779A 控制器。我将执行以下步骤:

    MOD_DIR_OUT;
	MOD_OFF;
	SLAVE_SELECT_PORT_SET;
	SLAVE_SELECT_HIGH;
	TRF_DISABLE;
	ENABLE_PORT_SET;
	MCU_delayMillisecond(6);
	TRF_ENABLE;
	SPI_setup();
	IRQ_PIN_SET;
	IRQ_EDGE_SET;
	IRQ_INT_ON;
	IRQ_CLR;

在这里、我没有启用 EN2、因为我们在模式3半功率+3.3 VDC 中使用它。
我将使用 SPI 模式0和4 MHz 数据时钟频率、在 TRF 初始化后、我将发出这些命令以使 TRF 保持空闲状态。

TRF79x0_directCommand(TRF79X0_SOFT_INIT_CMD);
MCU_delayMillisecond(4);
TRF79x0_directCommand(TRF79X0_IDLE_CMD);

但是在检查了芯片状态控制寄存器的状态之后、我只收到0x00。
如果我遗漏了任何内容、请向我提供建议。

谢谢。此致  

Vishal Tyagi

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

    您好!

     您可以读取其他寄存器吗? 我想找出以下问题:寄存器为零、还是由于 SPI 接口上的问题导致采样为零。  数据表显示了软件启动后的各种寄存器复位值。 如果您在所有寄存器上读取0、则表明 SPI 接口存在问题。 使用示波器来确定 SPI 问题将非常少。  

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

    尊敬的 Charles:

    感谢您的答复。

    在 TRF 初始化过程中、我观察到 MISO 线路上的活动、如随附的屏幕截图所示:

    然而、在初始化之后、当发出命令来读取调制控制寄存器和 ISO 控制寄存器时、MISO 线路上不再接收数据:

    请分享您的观察结果、即 TRF 未正确初始化、或者 SPI 通信可能存在问题。

    此致、

    Tyagi

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

    您好!

    [报价 userid="590895" url="~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1450501/trf7970a-trf7970a-integration-with-msp430f6779a/5565932 #5565932"]

    [报价]

    观察您的波形、我想您需要从地址0x9和0x1读取。  请按照数据表说明在非连续模式下读取寄存器。 可以看到、第一个字节是"Addr x"、下一个字节是数据。 在波形中、提供"Addr x"并认为数据是在同一字节上返回的。 这是您尝试解释的内容吗?  如果是这种情况、则事实并非如此。 在另一个字中、要读取寄存器、这是一个两字节操作、第一个字节是要读取的地址、下一个字节是返回的数据。 正如您在下面的波形中看到的、需要在两个字节中激活 SPI 使能。 可能问题是您关闭两个字节之间的 SPI 使能。 有关详细信息、请参阅数据表。   

    同时请大家注意、我将在整个网络周内离开办公室、如果您有其他问题、请预计我的回复会延迟。  

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

    尊敬的 Charles:
    我知道、要接收 MISO 字节、主器件必须通过发送一个虚拟字节以及寄存器地址来生成额外的时钟周期。 我现在能够准确地捕获变量中的 MISO 数据:

    TRF79X0_ISO_CONTROL_REG = 0x21 (根据数据表进行更正)
    TRF79X0_RX_WAIT_TIME_REG = 0x07 (根据数据表正确)

    TRF79X0_RX_SPECIAL_SETTINES_REG = 0x10。  (根据数据表进行更正)

    但对于 CHIP_STATUS 控制寄存器、我仍然只接收数据0x00。

    在 SPI 探测期间、在 MISO 线路上观察到的数据与预期值不同。  

    您能否说明这种差异是否表示 SPI 数据传输无效、或者 TRF79x0是否在通过 MISO 线路发送响应之前对其进行内部编码/解码。

    谢谢。此致

    Vishal Tyagi

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

    您好!

     我目前正在度假一整周。 我会在今天稍后时间答复你的质询。 请预计会延迟响应。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="590895" url="~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1450501/trf7970a-trf7970a-integration-with-msp430f6779a/5568670 #5568670"]

    我知道、要接收 MISO 字节、主器件必须通过发送一个虚拟字节以及寄存器地址来生成额外的时钟周期。 我现在能够准确地捕获变量中的 MISO 数据:

    TRF79X0_ISO_CONTROL_REG = 0x21 (根据数据表进行更正)
    TRF79X0_RX_WAIT_TIME_REG = 0x07 (根据数据表正确)

    TRF79X0_RX_SPECIAL_SETTINES_REG = 0x10。  (根据数据表进行更正)

    [报价]

    很高兴这是有效的。  

    [报价 userid="590895" url="~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1450501/trf7970a-trf7970a-integration-with-msp430f6779a/5568670 #5568670"]

    在 SPI 探测期间、在 MISO 线路上观察到的数据与预期值不同。  

    [报价]

    根据我在上面的波形可以看到的、您正在尝试将值0x0写入地址0x08 (RX 等待时间寄存器)。 接下来、您将从0x1 (ISO 控制寄存器)读取、该值返回0x10。