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.

[参考译文] CC2340R5:使用专有无线电进行空闲通道评估

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1414007/cc2340r5-clear-channel-assess-using-proprietary-radio

器件型号:CC2340R5

工具与软件:

我并不一定要收到数据包,我想简单地检测特定信道上的"能量"..  假设我的发射器只是发送一个未调制载波...。

我是否只是"打开"该信道的接收器,并调用类似 LRF_readRssi()的东西作为某个时间间隔的速率?????

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

    您好!

    xianping yang 说:
    我不需要接收数据包,就想简单地检测特定信道上的"能量"  假设我的发送器只是发送一个未调制载波...

    是的、RCL_readRssi 函数(最终调用 lrf_readRssi)应该足以用于此目的。

    xianping yang 说:
    我是否只是"打开"该信道的接收器并以某种间隔时间的某种频率调用类似 LRF_readRssi()的命令???

    在调用 RCL_readRssi 之前、必须提交一个有效的 RX 命令。

    相关帖子如下: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1401794/lp-em-cc2340r5-lp-em-cc2340r5/5377607#5377607

    谢谢!
    Toby

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

    它似乎确实起作用...

    在您引用的帖子中、在读取 RSSI 之前似乎有1ms 的延迟。。 当然、我会进行实验、但直到接收器完全正常工作之前的实际时间是多少???

    此外、由于我对接收数据包没有兴趣、我可以简单地为 RX 操作设置"硬停止时间"、然后读取最后的 RSSI 值...  我想尽快执行该"嗅探"操作、尽量减少 CPU 的参与。。

    回顾您引用的帖子、我能否简单地指示 RX 命令在1ms 后停止???

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

    我当然可以在1ms 后让 RX 命令停止。。  然而,一旦完成, LRF_readRssi()返回相同的"错误"值,表示接收器没有激活,,,, 我尝试读取 PBE_GENERIC_RAM_O_LASTRSSI ,但那里也没有真正有意义的信息;我无法确定接收器何时检测到能量...

    基本上,我是试图简单地"嗅探"的能源使用通用的 RX...  是否有其他一些寄存器可保存接收器看到的最后一个"原始"RSSI 值???

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在您引用的帖子中、在阅读 RSSI 之前似乎有1ms 的延迟... 当然、我会进行实验、但直到接收器完全正常工作为止的实际时间是多少???

    这由 SYNTHCALTIMEOUT 指示、默认为0xB4 * 0.25usec == 45usec。
    在实践中、我会增加一些裕度。  在之前的测试中、我等待了大约85usec:

    #include <ti/devices/cc23x0r5/driverlib/hapi.h>
    
    // ...
    
    #define RSSI_CONST_WAIT_USEC (85)
    
    // ...
    
    RCL_Command_submit(rclHandle, &rxCmd);
    
    HapiWaitUs(RSSI_CONST_WAIT_USEC);
    rssi = RCL_readRssi();

    [报价 userid="14178" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1414007/cc2340r5-clear-channel-assess-using-proprietary-radio/5416466 #5416466"]基本上、我是在尝试使用通用 RX...简单地"嗅探"能量  是否有其他一些寄存器可保存接收器看到的最后一个"原始"RSSI 值???

    您的观察结果 为预期行为。 RSSI 仅在 RX 处于活动状态时有效。

    如果这个过程不需要数据包、应用能够:

    1. 配置 RX 命令以丢弃它接收到的任何数据包(RCL_CMD_GENERIC_RX_t CONFIG.SPROADRxPACKETS)
    2. 配置 RX 命令以忽略所有同步字 (RCL_CMD_GENERIC_RX_t CONFIG.disableSyncA / disableSyncB )