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.

[参考译文] CCS/SimpliciTI:射频链路的 CC2500强度

Guru**** 2392905 points
Other Parts Discussed in Thread: SIMPLICITI

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/800483/ccs-simpliciti-cc2500-strength-of-rf-link

器件型号:SimpliciTI

工具/软件:Code Composer Studio

我使用的是 eZ430-RF2500、非常熟悉射频通信和 SimpliciTI。 根据我对给定示例代码的理解、终端设备无线电需要执行三个步骤-加入、链接和 TX。 我需要根据终端设备与接入点之间的射频链路强度(如果有任何意义)在终端设备中做出一些决策。 但是、由于终端设备永远不会处于 RX 模式、因此我们无法读取 RSSI。 我是否可以从"加入"和"链接"阶段读取任何其他参数以获取链接的强度? 我在 mrfi_radio.c 内的 MRFI_Init 函数中看到、有一个使用 RSSI 值生成随机种子的步骤(如下所示)。 这个 RSSI 值能提供任何指示吗?

/*生成随机种子:
*我们将使用 RSSI 值来生成随机种子。
//

//*将无线电置于 RX 状态*/
mrfiSpiCmdStrobe (SRX);

// RSSI 有效的延迟*/
mRFI_RSSI_VALLED_WAIT ();

//使用 RSSI 的大多数随机位填充随机种子*/
{
uint8_t I;
for (i=0;i<16; i++)
{
mrfiRndSeed =(mrfiRndSeed << 1)|(mrfiSpiReadReg (RSSI)& 0x01);
}

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

    我对 SimpliciTI 的细节不太熟悉、但总的来说、有两种方法可以获得 RSSI。

    1) 1)您可以查看附加到数据包的 RSSI、前提是您的器件已经处于 RX 状态并且在 SimpliciTI 中接收到了数据(我认为 PKTCTRL1.append_status = 1)。

    2) 2)您可以将器件置于 RX (STROBE SRX)中、等待 RSSI 有效、然后读取 RSSI 寄存器:

    mrfiSpiCmdStrobe (SRX);
    
    mRFI_RSSI_VALLED_WAIT ();
    
    mrfiSpiReadReg (RSSI); 

    BR

    Siri

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

    感谢您的回复 Siri!

    我在项目(SEH 传感器监控器)中注意   到、smplStatus_t NWK_ping (LinkID_t Lid)、smplStatus_t NWK_Join (void)和 smplStatus_t NWK_LINK (LinkID_t *Lid)这三个函数内部具有类似的功能、如下所示。

    NWK_CHECK_TO_SETRX (radioState);
    NWK_REACT_DELAY ();
    nwk_check_for_restore_State (radioState); 

    我能否使用 mrfiSpiReadReg (RSSI)在 NWK_Reply_delay ()之后读取 RSSI 值? 如果是、您能否建议如何使用 仅返回状态的 SMPL_Link (&linkID1)函数在应用层获取该值? 再次感谢!

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

    e2e.ti.com/.../398302

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

    非常感谢 Siri。

    我能够在"链接"步骤中读取 RSSI 值。 这让我回到我原来的问题:这个 RSSI 值是否表示链路强度? 我已经尝试改变终端设备(ED)和接入点(AP)之间的距离(包括一些障碍物)、但"链路"的 RSSI 值的变化并不持久- 它要么根本没有变化、要么稍微改变一点、有时是错误的(示例值为-102.4、-97.28、-99.84等)。 这不是垃圾吗? 我如何知道我的链路的强度?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您认为链路的"强度"是什么意思?

    RSSI 是"接收信号强度指示器"、它会因多种因素而异:发射器功率、RX 和 TX 之间的距离、TX 和 RX 之间的任何障碍物(如您!)、多路径...

    因此、它可能会非常多。 在您的情况下、您可能需要查看什么 RSSI 会导致接收错误(即 BER)增加10dB 左右、并将其用作"底线值"以警告您的链路即将受到破坏。

    对于某些电路板、TI 提供了如下"BER"测量示例:
    dev.ti.com/.../rfPacketErrorRate_README.html

    如果您的电路板没有一个、您可能可以调整这个。