6681如何设置单载波,修改发射功率、频偏

songhui · 362次点击 · 10个月前

First

由于射频部分由core1处理,我们在core1里设置发射单载波,但不能在main里立刻设置单载波并死循环,得等双核通信一会之后再做,于是设置到一个软定时里处理。如图:

doc_0.png

参考代码如下:

evt_timer_t test_t_id;

void timer_callback(evt_timer_t *timer, void *p)

{

daif_rf_full_rx_enable(true,2440);

while(1);

}

evt_timer_init();

evt_timer_set(&test_t_id, 3000, EVT_TIMER_ONE_SHOT, timer_callback, NULL);


Second

那么如何修改发射功率呢?

需要配置寄存器0x4017000c的<28>=1,0x4017000c<27:24>=1111(最大),0000(最小)      

查看代码DAIF_PA_CNS_GAIN_PA_MO 为发射功率值位置,配置代码如下:   

register_set(&OM_DAIF->PA_CNS, MASK_3REG(DAIF_PA_CNS_TXDAC_GAIN, 5,

                                                DAIF_PA_CNS_GAIN_PA_MO, 0x9,

                                                DAIF_PA_CNS_GAIN_PA_ME, 1));


该把这个函数放在哪里呢?

建议放在calib_rf_end_callback@core1的最后,如图:

doc_1.png


Third

如何修改频偏呢?

需要配置XTAL32M内部电容寄存器 0x40180094<17:13>

#define OM_PMU_BASE                 0x40180000U

目前sdk此参数默认为8,可直接调用接口:pmu_xtal32m_change_param(x);


此接口放在startup_thread@core0即可,如图:

doc_2.png

End

有不当之处请随时与我沟通,danke

被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站