当前文档版本为 v0.8.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

单载波应用测试参考

1 功能介绍

PAN3029/3060提供单载波测试功能,配置单载波模式,芯片会发射单载波供用户使用。

2 软件设计参考

2.1 软件设计流程

1、芯片初始化;

2、配置单载波相关参数,并配置进入单载波模式;

3、配置频点,设置芯片进入单载波发射状态;

4、如要修改频点,需要等待TxDone IRQ信号,然后退出发射状态,重新配置频点,再次设置进入单载波发射状态;

5、如要退出单载波状态,需要等待TxDone IRQ信号,然后退出发射状态,退出单载波模式。

2.2 接口描述

uint32_t rf_set_carrier_wave_on(void);

配置单载波相关参数,并配置进入单载波模式。

uint32_t rf_set_carrier_wave_freq(uint32_t freq);

配置单载波发射频点,并输出单载波。

uint32_t rf_set_carrier_wave_off(void);

配置关闭单载波模式,并停止输出单载波。

2.3 软件设计验证

2.3.1 SDK示例

参考代码:

uint32_t freq_now;	
#define REFQ_408	1//遍历开关,开408~565MHz遍历
ret = rf_init();//射频初始化
if(ret != OK)
{
    dis_err(" RF Init Fail");
    while(1);
}	
#if REFQ_408 
    uint8_t i;
    uint32_t freq_min = 408000000;	//遍历起始频点
    for(i=0; i<158; i++)
    {
        freq_now = freq_min + i*1000000;	//计算当前发送频点
        rf_set_carrier_wave_freq(freq_now);	//设置当前频点,启动单载波发送
        while(rf_get_transmit_flag() != RADIO_FLAG_TXDONE)//等待 TxDone IRQ中断
        {
            rf_irq_process();
        }
        rf_set_transmit_flag(RADIO_FLAG_IDLE); //清事件标志
    }
#else	//遍历816~1080MHz
    uint16_t j;
    uint32_t freq_min = 816000000;
    for(j=0; j<265; j++)
    {
        freq_now = freq_min + j*1000000;
        rf_set_carrier_wave_freq(freq_now);
        while(rf_get_transmit_flag() != RADIO_FLAG_TXDONE)//等待TxDone IRQ信号
        {
            rf_irq_process();
        }
        rf_set_transmit_flag(RADIO_FLAG_IDLE);
    }
#endif
rf_set_carrier_wave_off();//关闭并退出单载波模式
while(1)
{
}

示例代码配置了输出408~565MHz和816~1080MHz单载波输出,通过宏REFQ_408切换程序。

用户可根据需要选择发射单载波的频点范围,如果不执行rf_set_carrier_wave_off()则芯片会保持输出当前频点的单载波。

2.3.2 验证结果

频谱仪显示结果如图1:

img

图 1 频谱仪显示结果