使用STM32调试FMSDR模块及解调FM电台(1)

电子说

1.3w人已加入

描述

1. 硬件介绍及软件安装、基础实验案例

硬件介绍

FM_SDR引脚如下:

数字滤波器

与大拇指STM32H750开发板的接口引脚说明

数字滤波器

与大拇指EG4S20开发板接口引脚说明

数字滤波器

使用的STM32引脚分布如下:

数字滤波器

软件安装、基础实验案例

我们需要的软件有:

●STM32开发软件:

●JAVA安装包:jre-8u301-windows-x64.exe

●STM32CUBE开发工具:SetupSTM32CubeMX-6.3.0-Win.exe

●STM32CUBE库开发包:en.stm32cubeh7_v1-9-0_v1.9.0.zip

●KEIL开发工具:MDK535.EXE

●STM32H7的KEIL安装包:Keil.STM32H7xx_DFP.2.7.0.pack

●串口数据绘图软件:UARTPLOT

●示波器:本实验我们使用硬木课堂的口袋仪器产品进行测量

2. 调试整体思路

当我们使用FPGA或者STM32模块配合FMSDR模块使用的时候,需要从零开始调试这个电路,逐步完成:硬件好坏判断、8027和MSI001寄存器控制、波形采集、FM解调、滤波器设计和声音回放,这需要我们有一个清晰的调试思路:使用已知来调试未知。

很多同学一上来就调试MSI001收电台,几乎都收到的都是杂音,看到毫无规律的IQ信号无从下手,因为这里可能出错的地方很多:SPI时序错误,寄存器配置错误,ADC配置错误,解调算法错误,滤波算法错误,抽取算法错误,DAC程序错误等等,任意一步出问题都会导致最终结果不对。

更难受的是,即使是正常解调的电台,无论是IQ波形,解调后波形,还是滤波后波形,都是杂乱无章的(如下图),这对指导我们逐步调试没有任何帮助,因为错误的操作导致的波形有可能也是类似的杂乱无章的信号:

数字滤波器

正常解调电台的输出波形

数字滤波器

正常解调电台的输出波形

因此,我们需要一个已知正确的波形来指导我们逐步完成调试和解调过程,例如解调一个单音调制的FM信号,就可以在每一步都有已知正确的波形作为参考。

数字滤波器

解调单音调制的FM信号

数字滤波器

单音调制的FM信号

下面,我们使用STM32和口袋仪器m302对FMSDR进行调试示例,给出调试思路。使用肉眼就能够判断正确与否的正弦信号进行调制和解调,步步为营。

1使用8027发出单音FM信号(创建已知待解调信号)

a验证I2C接口:确保操作8027的I2C时序正确,硬件正常工作

a设置寄存器,使8027将DAC_L输入的1KHz正弦波调制到98.5MHz上

b使用频谱仪或者商用收音机确定98.5MHz上存在1KHz的FM调制信号

2使用MSI001解调8027发出的已知单音信号(和已知正确波形逐步对比)

a验证SPI接口:确保操作MSI001的SPI时序正确,硬件正常工作

b验证ADC采集:设置MSI001寄存器,查看单音输入时采集的IQ信号,对比本文中IQ采样的波形,看是否正常,可以调整MSI001的衰减倍数使IQ输出不饱和

c验证FM解调算法:对单音输入的IQ信号进行解调,对比本文中解调后的波形,看解调算法是否正确

d验证DAC播放程序:将滤波后的信号进行抽取以匹配DAC的刷新率,同时从DAC输出观察是否是一个连续的正弦信号,观察噪声情况

e验证数字滤波器:将抽取后的信号经过数字滤波器,对带有噪声的正弦信号进行低通滤波,并从DAC发出,看是否得到一个毛刺较少的连续的正弦信号

3更换频点使用MSI001解调电台(利用第2步得到的正确控制方法和算法解调电台)

a更换MSI001频点为已知电台的频点

b收听广播声音是否正常

c观察采集的IQ信号,调整MSI001的衰减倍数

d调整滤波器参数,听一下是否对声质有改善

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分