加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

调频无线发送芯片QN8027性能测试

2020/03/10
326
阅读需 10 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、实验硬件模块

1. I2C 总结单片机实验板

由于 QN8027 需要使用 I2C 总线进行控制,所使用的 STM32F030 的 I2C 总线控制板与在小型化 RDA5807 调频收音模块实验板[2]博文中所使用的 I2C 总线控制板是相同的。I2C 实验板在博文“RDA5807 FM 收音机模块”中进行了介绍。

I2C 控制电路

SPIF030 Hardware:
SPIF030 原理图:

SPIF030 原理图

SPIF030 PCB 和电路板

SPIF030 PCB 和电路板

SPIF030 Firmware: D:\zhuoqing\window\ARM\IAR\STM32\Application\Test\2020\GeneralFSPIF030 该软件是一个通用软件测试平台。其中包括有多个项目所遗留下来的代码片段。

2. 搭建面包板上的实验电路

QN8027 实验板接口
下图显示了 QN8027 的实验接口。

QN8027 实验板接口

在面包板上搭建实验电路板,将 AN8027 的 I2C 总线与 SPIF030 的 I2C 总结连接起来。在面包板上,从左到右的模块分别是:

实验电路板

二、软件调试

1. 测试软件

测试软件是有 STM32CubeMX 生成的程序框架,然后再使用 IAR 编辑和编译环境完成代码的生成。

2. QN8027 I2C protocl

关于 QN8027I2C 的软件协议以及相关的程序代码,可以查看 CSDN 中相关的博文。

点击识别其中二维码跳转至 CSDN 博文

三、QN8027 性能测试

1. 初始话程序

//------------------------------------------------------------------------------

void QN8027Init(void) {
   

QN8027WriteRegister(0x00, 0x81);        // Set the All the register to default values
   

WaitTime(20);                           // Delay 20MS
   

QN8027WriteRegister(0x03, 0x10);        // Using the default setting
   

QN8027WriteRegister(0x04, 0x33);        // Set the OSC frequency : 12MHz
   

QN8027WriteRegister(0x00, 0x41);
   

QN8027WriteRegister(0x00, 0x1);
   

WaitTime(20);
    
   

QN8027WriteRegister(0x01, 0x7e);
   

QN8027WriteRegister(0x02, 0xb9);
   

QN8027WriteRegister(0x00, 0x22);

}

读出的寄存器值:

22 7e b9 10 33 41 44 55 00....7f 81 06

寄存器 00,01 所对应的发送频道设定值 CH=027e。根据手册中计算输出频率的公式:

根据上面数值,此时输出频率应该为:107.9MHz.

2. 输出频谱

使用 DSA815 频谱仪测量 QN8027 天线输出信号

DSA815 频谱仪测量 QN8027 天线输出

测试实际输出频谱,如下图所示,对应的峰值在 108Mhz,与前面所设置的位置基本相同。

QN8027 输出频谱

3. 设置 QN8027 的频谱

使用如下的代码来修改输出的频率。

//------------------------------------------------------------------------------

void QN8027SetFrequency(float fMHz) {
   

unsigned int nChannel = (unsigned int)(fMHz - 76) * 20;
   

unsigned char uc00 = (unsigned char)(nChannel >> 8) | 0x20;
   

unsigned char uc01 = (unsigned char)(nChannel & 0xff);
    
   

unsigned char ucDim[2];
   

ucDim[0] = uc00;
   

ucDim[1] = uc01;
   

QN8027WriteRegisterDim(0x00, ucDim, 2);
   
}

主程序初始化之后,使用 QN8027SetFrequency 设置输出频谱为 90MHz。测量所得到的输出频谱为:

设置输出频谱为 90Mhz 之后的输出信号频谱

这说明对于 QN8027 输出频谱设置功能正确。

通过收音机接收发射信号

使用一台 TECSUM 收音机接收信号,分别使用不同的调制波形,查看收音机输出的波形。

(1)接收的不同调制信号波形

正弦调制(400Hz)收音机接收到的波形

 

方波调制(400Hz)收音机接收到的波形

 

三角波调制(400Hz)收音机接收到的波形

 

锯齿波调制(400Hz)收音机接收到的波形

(2)最大调制信号幅值
通过改变调制信号的幅值,检查接收信号的失真情况。发现当输入信号的峰峰值小于 1.2V 的时候,输出的波形基本上没有失真。当输入信号的峰峰值超过 1.2V 时,输出信号开始有失真。

下面波形是输入调制信号的峰峰值等于 1.5V 时,接收到的正弦波开始了顶部有了饱和失真

调制正弦波峰峰值 1.5V

(3)发送与接收信号之间的延时
下面使用频率为 3kHz 的信号进行调制,对比发送和接收信号之间的相位,可以看到发送和接收信号中之间有了明显的相位延迟。经过波形参数估计,延迟相位大约是 67.5°。

发送信号与接收信号之间的延迟

参考文献

小型化 RDA5807 调频收音模块实验板[3]

信标的调频发送[4]

使用 AD9833 谐波发送调频广播[5]

单片调频收音机[6]

RDA5807 FM 收音机模块[7]

参考资料

[1]

信标的调频发送: https://blog.csdn.net/zhuoqingjoking97298/article/details/104710034

[2]

小型化 RDA5807 调频收音模块实验板: https://blog.csdn.net/zhuoqingjoking97298/article/details/104121689

[3]

小型化 RDA5807 调频收音模块实验板: https://blog.csdn.net/zhuoqingjoking97298/article/details/104121689

[4]

信标的调频发送: https://blog.csdn.net/zhuoqingjoking97298/article/details/104710034

[5]

使用 AD9833 谐波发送调频广播: https://blog.csdn.net/zhuoqingjoking97298/article/details/104113891

[6]

单片调频收音机: https://blog.csdn.net/zhuoqingjoking97298/article/details/104131905

[7]

RDA5807 FM 收音机模块: https://blog.csdn.net/zhuoqingjoking97298/article/details/104116006

相关推荐

电子产业图谱

公众号TsinghuaJoking主笔。清华大学自动化系教师,研究兴趣范围包括自动控制、智能信息处理、嵌入式电子系统等。全国大学生智能汽车竞赛秘书处主任,技术组组长,网称“卓大大”。