工具与软件:
您好、我的朋友们、
我想知道是否可以动态更改发射功率、频率、数据速率和 Rx 滤波器带宽、我的意思是在运行期间动态更改? 如果是、您能告诉我如何做到这一点吗?
谢谢。
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.
工具与软件:
您好、我的朋友们、
我想知道是否可以动态更改发射功率、频率、数据速率和 Rx 滤波器带宽、我的意思是在运行期间动态更改? 如果是、您能告诉我如何做到这一点吗?
谢谢。
嗨、Omid:
1.我想你要立即使用无线电命令。 请参阅: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_41_00_17/docs/proprietary-rf/proprietary-rf-users-guide/rf-core/commands.html
在这里可以找到命令的简短列表: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_41_00_17/docs/proprietary-rf/proprietary-rf-users-guide/rf-core/rf-commands-reference.html?highlight=frequency#
详细版本 包含在技术参考手册中: https://www.ti.com/lit/ug/swcu185g/swcu185g.pdf?ts = 1729513975483&ref_url=https%253A%252F%252Fdev.ti.com%252F
2.您可以在以下网址找到有关 TX 电源的文档: https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_41_00_17/docs/proprietary-rf/proprietary-rf-users-guide/proprietary-rf/tx-power.html?highlight=tx%20power#
此致、
等等
嗨、Omid:
是的、这是可以实现的。 更改无线电参数时、您基本上是更改 PHY。
我建议您关闭无线电驱动程序"rf_close (rf_handle h)"、然后使用新的设置命令作为参数再次将其打开。 您可以在我们的 Prop 射频示例中找到有关如何打开驱动程序的示例、而 API 的文档可在此处找到: https://dev.ti.com/tirex/explore/node?node=A__AIW3BFKR-3ew-wxtbzaH-A__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK__BSEc4rl__LATEST
如果您不想关闭并重新打开驱动程序、请查看此主题: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1388789/cc1352p7-waking-up-radio-after-updating-settings
如果在运行时在 PHY 之间切换、还应激活.syscfg -> custom-> custom phy setting -> code export -> RF PATCHS -> CPE Patch 中的多协议补丁(rf_patch_cpe_multi_protocol)。
如果您能实现、请告诉我。
此致、
等等
谢谢 Leo、我浏览了 API 文档并找到了一个被称为的数据结构 RFC_CMD_PROP_RADIO_SETUP_s 此数据结构似乎是在属性模式中保存对讲机设置的数据结构。 但是、我仍然不确定使用什么函数来更新设置。 它只是操纵数据结构的元素吗? "作为参数的新设置命令"是什么意思、用于布置什么函数 A 设置 命令 ?
您能举一个简单的例子、说明如何使用更新的设置(例如数据速率)发布设置命令。
嗨、Omid:
在查看电路板的 rfEchoTx 示例时、会在 rfEchoTx.c 的 mainThread ()中看到射频配置、RF 参数初始化、RF_cmdPropTx 和 RF_cmdPropRx 命令的定制、然后打开无线电并开始操作。 利用 "RF_Close (RF_Handle h)"函数、您可以再次进行无线电编程。 然后、您可以通过创建新参数并打开一个新的手柄来执行调整、yuo 将运行不同的无线电设置。
请告诉我此示例代码是否有帮助。
此致、
等等
谢谢、但下面是 RF_params 的结构:
typedef struct { uint32_t nInactivityTimeout; ///< Inactivity timeout in microseconds. ///< The default value is 0xFFFFFFFF (infinite). uint32_t nPowerUpDuration; ///< A custom power-up duration in microseconds. ///< If 0, the RF driver will start with a conservative value and measure the actual time during the first power-up. ///< The default value is 0. RF_Callback pPowerCb; ///< \deprecated Power up callback, will be removed future versions, see RF_Params::pClienteventCb instead. ///< The default value is NULL. RF_Callback pErrCb; ///< \deprecated Callback function for driver error events. uint16_t nPowerUpDurationMargin; ///< An additional safety margin to be added to #RF_Params::nPowerUpDuration. ///< This is necessary because of other hardware and software interrupts ///< preempting the RF driver interrupt handlers and state machine. ///< The default value is platform-dependent. uint16_t nPhySwitchingDurationMargin; ///< An additional safety margin to be used to calculate when conflicts shall be evaluated run-time. RF_ClientCallback pClientEventCb; ///< Callback function for client-related events. ///< The default value is NULL. RF_ClientEventMask nClientEventMask; ///< Event mask used to subscribe certain client events. ///< The purpose is to keep the number of callback executions small. uint32_t nID; ///< RF handle identifier. } RF_Params;
嗨、Omid:
如果您检查我之前链接的主题并查看来自 Siri 的第二个答案: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1388789/cc1352p7-waking-up-radio-after-updating-settings 、您将看到一个代码示例、其中中心频率和 TX 功率会在不关闭无线电驱动程序的情况下动态更改。
请再次浏览我们的无线电驱动程序文档: https://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_2_40_00_20/docs/tidrivers/doxygen/html/_r_f_8h.html 它说明了打开命令和其他命令选项的不同部分。 我很抱歉对参数感到困惑。 我指的是您要更改的无线电参数、这些参数是无线电设置的一部分。 您需要调整的数据结构在 ti_radio_config.h 中定义(RF_cmdPropRadioDivSetup、 RF_cmdPropTx、 RF_cmdPropRx)、您可以在打开无线电驱动程序之前在代码中更改它们。 您还可以在代码示例中看到它、因为在打开驱动程序之前更改了一些参数。 这就是为什么我告诉您它是关闭驱动程序、修改结构并再次打开它的最简单的方法。
此致、
等等