跳过主要内容

TX接通DA14683电源

DA1468x

6个月前

发布的henrie.ananias30分 5回复
0的问题

我试图通过改变设置来改变DA14683上的TX电源,但就我所注意到的,似乎什么都没有发生。
当阅读文档时,它看起来是可能的,但在互联网上我看到注释,这可能是不可能的"https://support.dialog-semiconductor.com/programatically-change-tx-power".
我已经改变了特定的寄存器值,并将写入的值读回,我还通过手机上的nRFConnect应用程序看到了预期的TX功率值,但我没有看到行为上的差异。
在SDK中,我看到了2个寄存器,其中1个在手册中没有记录,但也写了相同的方式,作为我必须写的NFC“注40:激活“近场模式”,程序地址0x50002230,位9:5的值0x0。停止NFC恢复之前的位域值。

__IO uint16_t RF_ENABLE_CONFIG23_BLE_REG;/*!< (@ 0x5000222E) RF_ENABLE_CONFIG23_BLE_REG */
__IO uint16_t RF_ENABLE_CONFIG24_BLE_REG;/*!< (@ 0x50002230) RF_ENABLE_CONFIG24_BLE_REG */

是否有可能改变TX功率之间的0和-20 dBm?如果是,应该怎么做?

6个月前

PM_Dialog

嗨henrie.ananias,

谢谢你的在线问题。根据所附的票据,要将输出功率设置为-20 dBm, RF_ENABLE_CONFIG24_BLE_REG应该配置为:

__IO uint16_t RF_ENABLE_CONFIG24_BLE_REG;/*!< (@ 0x50002230) RF_ENABLE_CONFIG24_BLE_REG */ reg_set_mask (RFCU_POWER, RF_ENABLE_CONFIG24_BLE_REG, 0x03E0, 0x0000);

写入0x0000到RF_ENABLE_CONFIG24_BLE_REG;然后- 20dbm输出功率被启用。将这个寄存器设置为0x01A0可以恢复0 dBm的输出功率。

你能试一试并告诉我们吗?

谢谢,PM_Dialog

3个月前

henrie.ananias 30分

你好,

这花了一些时间,因为我们似乎不需要它,但对于一个新产品,我们可能需要切换功率级别。我尝试了上面描述的解决方案。

reg_set_mask (RFCU_POWER, RF_ENABLE_CONFIG24_BLE_REG, 0x03E0, 0x0000);

然而,我在nRfConnect应用程序中仍然看不到任何差异。我试图将它设置为0x0000和0x01A0,但没有测量差异。实际上我不知道它什么时候被允许访问寄存器,它可以在动态中完成,或者例如只在hw_rf_set_recommended_settings()中?我还尝试读取和记录RFCU_POWER->RF_ENABLE_CONFIG24_BLE_REG和fly的值,如果我将它设置为0x0000,我读取0x0000,有时是0x01A0。反过来,我读到的值也在变化。是否不允许在任何时候读取该值?

请建议更改/阅读寄存器值的预先条件是什么?

亲切的问候,

Henrie亚拿尼亚

3个月前

PM_Dialog

嗨henrie.ananias,

你能尝试以下解决方案并让我们知道吗?

添加:

REG_SETF(RFCU_POWER, RF_ENABLE_CONFIG24_BLE_REG, rfio_txrx_ble_dcf_tx, 0);

在函数hw_rf_request_on()的第1231行之后。

谢谢,PM_Dialog

3个月前

henrie.ananias 30分

你好,

谢谢你的回复。目前我能够改变TX功率,构建时间,我设置一个变量rf_enable_config24_ble_reg_value为0x0000或0x01A0。在下面的前两个函数中,我调用宏来设置值rf_enable_config24_ble_reg_value,在最后一个函数中,我复制了值,不知道是否真的需要?

我还不知道我需要在哪些函数中使用宏?

我还没有尝试新的宏,但它看起来也在系统启动时被调用?

我们愿意随时在飞行中改变TX电源。我试图改变rf_enable_config24_ble_reg_value值,但是在hw_rf_set_recommended_settings()或hw_rf_modulation_gain_calibration_generic_start()中似乎没有使用这个值。而且,当我读回RFCU_POWER->RF_ENABLE_CONFIG24_BLE_REG时,它从来不总是0x0000或0x01A0,它现在和那时在这两个值之间改变,它可能在哪里改变,或者它不允许读取它?

hw_rf_set_recommended_settings ()
REG_SET_MASKED
hw_rf_modulation_gain_calibration_generic_start ()
REG_SET_MASKED

hw_rf_modulation_gain_calibration_end ()
RFCU_POWER - > RF_ENABLE_CONFIG24_BLE_REG = rf_enable_config24_ble_reg_value;

3个月前

PM_Dialog

嗨henrie.ananias,

谢谢你的评论。我们团队的一名成员将直接就这个问题联系你。

谢谢,PM_Dialog