基于STM32H723与16位ADC构建HF SDR接收机
STM32H723ZGT6支持通过Tayloe混频器实现覆盖1–30 MHz频段的HF SDR接收机。音频输出可通过内部12位DAC或通过UAC1向PC传输I/Q流提供。四层PCB尺寸为100×60毫米,未使用的MCU引脚引出至PLS连接器以便扩展。
输入电路采用Tayloe检波器。测试了带变压器和平衡配置的变体——未观察到性能差异。尽管在160米和10米波段之间存在1–2 dB的灵敏度变化,仍选择了简单设计。
模拟路径与滤波
混频器输出的信号通过仪表运算放大器放大以抑制共模噪声。下一级是采用Sallen-Key拓扑的四阶有源低通滤波器,截止频率为48 kHz或24 kHz。
LPF频率响应在频带边缘显示出足够的衰减,但观察到±25–30 kHz处强信号的混叠。对于接近零频率的处理,这是可接受的。
信号馈送至STM32H723ZGT6的16位ADC输入。混频器由Si5351时钟驱动,频率倍增因子为4。
软件实现与界面
代码在STM32CubeIDE中使用HAL、TinyUSB(用于复合USB设备:COM + 音频)和CMSIS-DSP(用于信号处理)开发。参数存储在外部闪存中。
控制通过带按钮的编码器和三个功能按钮实现。显示屏显示频率、AGC/NOTCH状态、S表、±24 kHz瀑布频谱以及解调带宽边界。
在PC的USB模式下,频谱被隐藏,并显示状态。ADC在双独立通道模式(ADC1/ADC2)下工作,由Timer 8以48 kHz触发。双模式导致信号镜像,因此未使用。
- 数字化后校正:
- 直流偏移去除。
- 幅度和相位校准(每波段系数)。
I/Q数据进入循环缓冲区:至PC——UAC1;独立模式——FFT用于瀑布、SSB/CW解调、AGC/NOTCH、DAC。
DAC(12位)由同一Timer 8时钟驱动,通过OPAMP1 + RC低通滤波器缓冲。这对于业余HF无线电和广播已足够。测试了外部PCM5102(16–24位)以提升质量。
数字信号处理
DSP通过C#应用程序探索,用于分析来自ADC或WAV文件的I/Q,以及测试I/Q信号发生器。
DSP代码片段可在作者网站上获取。未来计划包括优化和发射机部分。
关键点:
- STM32H723中的16位ADC以48 kHz实时处理I/Q。
- Tayloe混频器 + Si5351最小化硬件成本。
- HAL + CMSIS-DSP加速开发且无性能损失。
- 独立模式具备板载FFT、解调和DAC。
- USB UAC1用于向PC传输I/Q,无需额外驱动程序。
— Editorial Team
暂无评论。