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.

[参考译文] CC1101:使自动增益控制关闭

Guru**** 2540720 points
Other Parts Discussed in Thread: CC1101

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/907324/cc1101-make-automatic-gain-control-off

器件型号:CC1101

尊敬的 TI 技术支持:我使用 CC1101的 RSSI 功能来检测大约5us 的回波信号强度、并使用 STM32来控制 CC1101、但我发现在缺少回波信号的情况下完成读取 RSSI 寄存器的过程大约需要10us。

这是我编写的程序

while ((SPI1->SR&1<<1)=0)//等待发送缓冲区为空

i++;
if (i>0xFFFE)返回0;

I=0;
SPI1->DR = 0xF4;//发送数据、读取 RSSI 寄存器
while ((SPI1->SR &(uint16_t) 0x0001)==0)//等待接收一个字节
{i++;
if (i>0xFFFE)返回0;}
AVE_RSSI =(uint8_t) SPI1->DR;
I=0;

while ((SPI1->SR&1<<1)=0)//等待发送缓冲区为空

i++;
if (i>0xFFFE)返回0;

I=0;
SPI1->DR = 0xFF;//发送数据
while ((SPI1->SR &(uint16_t) 0x0001)==0)//等待接收一个字节
{i++;
if (i>0xFFFE)返回0;}
AVE_RSSI =(uint8_t) SPI1->DR;

我想问、如何修改该程序以缩短时间并读取回波信号? 我还想更详细地了解 RSSI 寄存器的设计。 它的更新频率和读取频率如何?

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

    很抱歉、标题错误、应该是如何缩短 RSSI 程序

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

    恐怕我无法帮助您优化 STM32的代码。 我唯一可以说的是、您的 SPI 通信必须在 CC1101数据表中"SPI 接口时序要求"表中的规格范围内。

    您可以在此处阅读有关 RSSI 和时序的更多信息:

    Siri

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

    感谢你的答复。 我有另一个关于 RSSI 寄存器更新的问题。 我想知道 CC1101是否被置于 RX 模式、即使我没有读取 RSSI 寄存器、RSSI 寄存器也会自动更新。 或者只有当我写入一个命令来读取 RSSI 寄存器时、RSSI 寄存器才会自动更新。

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

    无论寄存器是否被读取、RSSI 寄存器都将被更新。

    Siri