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.

[参考译文] CC1312R:专有协议的透明射频模式

Guru**** 2553260 points
Other Parts Discussed in Thread: CC1312R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/985178/cc1312r-transparent-rf-mode-for-proprietary-protocol

器件型号:CC1312R

您好!

我目前正在开发无线电收发器。 由于我使用的是使用三个频率的专有协议、因此我无法使用状态机来接收 CC1312R 内部使用的数据包。

因为使用我们的协议、相关数据可以到达这三个频率中的任何一个。 为了实现这一点、我们一直这样做、以便我们能够倾听频率以读出10个字节、例如、这10个字节是否只是噪声或这是否已经是前导码无关紧要。 如果前导码已被识别,因此最后三个字节为0xAA 或0x55、0x55或0xAA,因为它未同步则仍会检查其他两个频率以查看是否也可以在该处识别前导码。 如果是这种情况、我必须决定、例如对于较高的 RSSI 水平、我将继续听到哪个频率。 如果未识别前导码、我们会自动跳转到下一个频率、所有内容都会重新开始。

所以我必须在低层次上工作、但我还没有弄清楚通信是如何在这方面工作的。 是否有任何文档或示例说明如何实现这一目标?

从以前使用 CC112X 的工作中可以了解到有一种所谓的透明串行模式。 CC1312R 有类似的东西吗? 有两个用于数据和参数的接口吗、例如在 CC112X 上、这样我就可以发送参数、例如更改频率、而在另一个接口上、我可以接收无线电数据?

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

    如果未找到前导码、我首先会考虑使用与 CMS_FS 命令链接的 CS 命令。  

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

    您好!

    感谢您的快速回答。 我不确定您的回答是否对我有所帮助。

    到目前为止,我已经这样做了:

    while (1)

       {

           RF_cmdFs.frequency = frequency [i];

           RF_cmdFs.fractFreq = factfrequency [i];

           rf_postCmd (rfHandle、(rf_Op*)&rf_cmdf、rf_PriorityNormal、NULL、0);

     

           /*进入 RX 模式*/

           CH1 = RF_postCmd (rfHandle、(RF_OP*)&RF_cmdPropRx、RF_PriorityNormal

    回调、RF_EventRxOk (&R);

     /*等待20个节拍6ms */

           vTaskDelay (20);

           /*获取 RSSI 值并将其保存在数组中*/

           RSSI[i]= RF_getRssi (rfHandle);

           /*在控制台中输出当前 RSSI 值*/

           printf ("%d "、RSSI[i]);

           fflum( stdout );

           vTaskDelay (20);

           /*结束 RF 命令*/

           rf_cancelCmd (rfHandle、CH1、1);

     

           i++;

           如果(i ==4)

           {

               I = 0;

               printf ("\n");

               fflum( stdout );

           }

       }

    这是我的主循环。 频率和实际频率是具有四个不同值的数组,因此频率每轮变化一次。 我还使用 RF_getRssi 命令获得 RSSI 值。 这些值打印在控制台上、以便我可以更轻松地看到它们。 在每四轮中、频率数组复位为零。

    现在、我想从每个频率读取所有数据。 但是、问题是它上并不总是有数据。 实际上、在大多数情况下、只有噪声。 即使我不会获得噪声的值。 当频率上有数据时、我想查看前导码、syncword 和有效载荷。 ´m、我现在只能读取有效载荷。

    我需要自己处理数据包、而不是使用您的状态机接收数据包。

    BR

    Huddel

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

    我建议使用命令链接、请参阅 https://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_4_40_04_04/docs/proprietary-rf/proprietary-rf-users-guide/rf-core/radio-operation-commands.html#conditional-execution-and-chaining 和 https://dev.ti.com/tirex/explore/node?node=APElKwJhh6-TGvG9qVY69g__pTTHBmu__LATEST (链接示例、使用所需的命令)