跳到主要内容

TX电源在DA14683上

da1468x.

6个月前

张贴了Henrie.Ananias.30分 5回复
0旋转

我试图通过改变设置改变DA14683的TX电源,但随着我注意到,它看起来看起来没有任何事情发生。
在阅读文档时,它看起来像是可能的,但在互联网上,我看到它可能是不可能的“https://support.dialog-semicondiondiondum/programicoical-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 * /

是否可以在0到20 dBm之间更改TX功率?如果是这样,应该如何完成?

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_masked(rfcu_power,rf_enable_config24_ble_reg,0x03e0,0x0000);

将0x0000写入RF_ENABLE_CONFIG24_BLE_REG;然后启用-20 dBm输出电源。将此寄存器设置为0x01a0恢复0 dBm的输出功率。

你能试一试,让我们知道吗?

谢谢,PM_DIALOG.

3个月前

Henrie.Ananias. 30分

你好,

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

REG_SET_MASKED(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 i读取0x0000,有时0x01a0。另外的另一种方式是arround i读取更改值。它是否不允许随时阅读价值?

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

亲切的问候,

Henrie Ananias.

3个月前

PM_DIALOG.

嗨henrie.ananias,

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

添加:

Reg_setf(rfcu_power,rf_enable_config24_ble_reg,rfio_txrx_ble_dcf_tx,0);

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

谢谢,PM_DIALOG.

3个月前

Henrie.Ananias. 30分

你好,

感谢您的答复。目前我能够更改TX电源,构建时间,我设置了0x0000或0x01a0的变量rf_enable_config24_ble_reg_value。在下面的前2个函数中,我调用宏来设置值rf_enable_config24_ble_reg_value,在最后一个我复制值中,不知道真的需要吗?

我还不知道我需要使用宏的功能吗?

我还没有尝试新的宏,但它看起来也被称为系统开始?

我们希望随时更改TX电源。应该如何完成,我尝试更改rf_enable_config24_ble_reg_value值,但它看起来不是在hw_rf_set_recommended_settings()或hw_rf_modulation_gain_calibtion_generic_start()中?还有更多,当我读回rfcu_power - > rf_enable_config24_ble_reg它永远不会总是0x0000或0x01a0,然后它在那些2个值之间改变,然后在哪里可以改变,或者它不允许读取它?

hw_rf_set_recommended_settings()
reg_set_masked.
hw_rf_modulation_gain_calibtion_generic_start()
reg_set_masked.

hw_rf_modulation_gain_calibtion_end()
rfcu_power-> rf_enable_config24_ble_reg = rf_enable_config24_ble_reg_value;

3个月前

PM_DIALOG.

嗨henrie.ananias,

谢谢你的评论。来自我们团队的一个将直接与您联系此问题。

谢谢,PM_DIALOG.