cc2500 如何进入单载波模式进行定频测试

一、要解决的问题和相关关键词

1. 实测射频通信频点

有一款产品,使用了多个频道,需要实测各个频道具体的频点数据。用来测试的仪器是频谱仪。射频芯片需要进入单载波模式

2. 相关关键词

  • 单载波(CW, Continuous Wave)
  • 连续发射模式
  • CW 射频信号
  • 用来测试发射功率
  • 恒载波模式

3. 其他

中文网站上很少关于这方面的完整记载。我记录一下自己整个实现过程,方便自己,也方便有需要的人。

二、定频测试的流程

在这里插入图片描述

三、配置cc2500 进入单载波模式

查阅了一轮cc2500datasheet,没看到有那个寄存器或者标志位是明确写着进入单载波模式的。在TI 官方论坛搜索了一轮,根据各个信息片段,整理出下面流程。

3.1 配置 SmartRF Studio

3.1.1 打开 SmartRF Studio,双击选择我们使用的cc2500 芯片

在这里插入图片描述

3.1.2 在 SmartRF Studio 上根据我们实际情况配置cc2500

在这里插入图片描述

  1. 选择 Expert Mode(专业模式)。Easy Mode 无单载波模式。
  2. 选择 Continuous TX
  3. 选择我们实际使用的数据速率(Data rate)。
  4. 配置RF 的基本参数:Base Frequency,Channel Spacing,晶振频率等
  5. 切换至Continuous TX 选项卡。
  6. 选择调制和非调整。(Modulated)
  7. 选择数据格式。(Synchronous serial mode)

3.1.3 在 SmartRF Studio 查看相关的寄存器和值

勾选 Register View ,在右侧会显示相关的寄存器和对应的值。点击寄存器名前面的三角形,能够查看寄存器各个字段对应的值。

在这里插入图片描述

3.2 从 SmartRF Studio 导出寄存器配置

进入导出数据界面

在右侧寄存器信息的顶部点击 Register Export ,导出寄存器的配置信息

在这里插入图片描述

根据自己的需求,选择导出模板

在这里插入图片描述

3.3 根据导出来的寄存配置,编写程序

3.3.1 配置cc2500 进入单载波模式

typedef struct
{
    uint8_t reg;
    uint8_t val;
} registerSetting_t ;

static const registerSetting_t rf_cw_setting[] =
{
    {CC2500_REG_IOCFG2,      0x0B},
    {CC2500_REG_IOCFG0,      0x0C},
    {CC2500_REG_PKTCTRL0,    0x12},
    {CC2500_REG_FSCTRL1,     0x12},
    {CC2500_REG_FREQ2,       0x5C},
    {CC2500_REG_FREQ1,       0x4E},
    {CC2500_REG_FREQ0,       0xC3},
    {CC2500_REG_MDMCFG4,     0x2D},
    {CC2500_REG_MDMCFG3,     0x3B},
    {CC2500_REG_MDMCFG2,     0xF0},
    {CC2500_REG_DEVIATN,     0x00},
    {CC2500_REG_MCSM0,       0x18},
    {CC2500_REG_FOCCFG,      0x1D},
    {CC2500_REG_BSCFG,       0x1C},
    {CC2500_REG_AGCCTRL2,    0xC7},
    {CC2500_REG_AGCCTRL1,    0x00},
    {CC2500_REG_AGCCTRL0,    0xB0},
    {CC2500_REG_FREND1,      0xB6},
    {CC2500_REG_FSCAL3,      0xEA},
    {CC2500_REG_FSCAL1,      0x00},
    {CC2500_REG_FSCAL0,      0x11},
};

void cc2500_config_for_sw_mode( void )
{
    uint8_t i = 0;

    for ( i = 0 ; i < sizeof( rf_cw_setting ) / sizeof( rf_cw_setting[0] ); i++ )
        cc2500_write_reg( rf_cw_setting[i].reg, rf_cw_setting[i].val );
}

3.3.2 cc2500 进入发送模式,配置完成

cc2500_write_strobe( CC2500_STROBE_STX );

四、单载波模式和普通发射模式的寄存器差异对比

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
描述 SmartRF Studio 是一个 Windows 应用程序 用于评估和配置德州仪器 TI 的低功耗 RF IC 该应用程序将帮助射频系统的设计人员在设计过程的早期阶段轻松评估 RF IC 它对生成配置寄存器值 实际测试射频系统和查找优化的外部组件值尤为有用 SmartRF Studio 可作为独的应用程序使用 或与应用程序评估板一起随 RF IC 开发套件提供 SmartRF Studio 支持 TI 所有低功耗 RF IC 请注意 您可能需要使用该工具的较早版本方可操作较旧的设备 SmartRF Studio 6 CC400 CC900 CC1000 C1010 CC1020 CC1021 CC1050 CC1070 CC2400 CC2420 SmartRF Studio 7 CC1100 CC1100E CC1101 CC1150 CC110L CC113L CC115L CC1120 CC1121 CC1110 CC1111 CC2500 CC2550 CC2510 CC2511 CC2430 CC2431 CC2520 CC2530 CC2531 CC2533 CC2540 CC430 特性 链接测试 发送和接收节点间数据包 天线和辐射测试 在持续的 TX 和 RX 状态下设置无线电 轻松模式 用于软件包测试并获取基本寄存器值 一组适用于所有器件的推荐 一般寄存器设置 读写独的射频寄存器 有关每个寄存器的位字段的详情 从文件保存 负载器件配置数据 将寄存器设置导出至用户可定义格式 通过 USB 端口或并行端口与评估板通信 个计算机上支持多达 32 个评估板 SmartRF Studio 6 可在 Windows 98 Windows 2000 Windows XP(32 位) Windows Vista(32 位)和 Windows 7(32 位)上运行 SmartRF Studio 7 可在同样的操作系统上运行 除此之外还包括 Windows Vista x64 和 Windows 7 x64 安装建议: 将 ZIP 文件下载到硬盘 将文件解压缩 阅读 readme txt 文件以获取版本信息 运行设置文件并按照指示操作 ">描述 SmartRF Studio 是一个 Windows 应用程序 用于评估和配置德州仪器 TI 的低功耗 RF IC 该应用程序将帮助射频系统的设计人员在设计过程的早期阶段轻松评估 RF IC 它对生成配置寄存器值 实际测试射频系统和查找优化的外 [更多]
以下是一个简的MATLAB程序,用于测试不同环路带宽对环路收敛速度的影响: ```matlab % 设置常量 fc = 1000; % 载波频率 fs = 10000; % 采样率 Ts = 1/fs; % 采样时间间隔 fc_offset = 50; % 载波频偏 Kp = 1; % 比例增益 Ki = 1; % 积分增益 Kd = 1; % 微分增益 N = 1000; % 仿真步数 % 生成信号 t = (0:N-1)*Ts; s = sin(2*pi*(fc+fc_offset)*t); % 环路控制器 K = tf([Kd Kp Ki],[1 0]); % 测试不同环路带宽 bw_list = [10 50 100 200 500]; % 环路带宽列表 figure; for i = 1:length(bw_list) bw = bw_list(i); C = pidtune(K,'pi',bw); % 设计PID控制器 sys = feedback(C*K,1); % 系统闭环 y = lsim(sys,s,t); % 仿真输出 subplot(length(bw_list),1,i); plot(t,y); title(['Bandwidth = ' num2str(bw)]); end ``` 该程序首先生成一个带有频偏的正弦波信号,并设置了一些常量,如载波频率、采样率、比例/积分/微分增益等。然后,程序使用MATLAB的控制系统工具箱中的pidtune函数来设计PID控制器,并将其与环路控制器结合形成闭环系统。接着,程序使用MATLAB的lsim函数进行仿真,计算出系统的输出。最后,程序根据不同的环路带宽绘制出仿真输出的图像。 在运行该程序时,可以尝试不同的环路带宽值,并观察仿真输出的变化。可以发现,当环路带宽较小时,系统的收敛速度较慢,且可能存在较大的稳态误差;而当环路带宽较大时,系统的收敛速度较快,但可能存在较大的振荡和超调。因此,在实际应用中,需要根据实际需求和系统特性来选择合适的环路带宽。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值