嵌入式 / 硬件
FM 无线收发器
基于 N32G455 与 QN8066 的 FM 对讲小项目:一块板发射(TX),一块板接收(RX), 通过 FM 频段传输麦克风声音并在扬声器播放。我从元器件选型、画 PCB 到编写裸机固件, 完成了整个系统的端到端开发。
功能概述
- TX 板 — 采集麦克风音频,经 QN8066 在指定 FM 频率发射。
- RX 板 — 在相同频率接收 FM 信号,经 NS4150B 功放驱动扬声器播放。
- OLED 显示 — 当前模式(TX / RX)、工作频率;异常时显示错误状态。
- 按键控制 — 频率增减(步进 100 kHz);RX 端静音切换。
硬件平台
| 模块 | 型号 / 说明 |
|---|---|
| MCU | N32G455REL7(Cortex-M4) |
| FM 收发芯片 | QN8066(I2C) |
| 显示屏 | HS96L03W2C03 OLED(I2C) |
| 音频功放 | NS4150B |
| 供电 | TP4054 充电 + 单节锂电池 |
| 调试 | SWD(J-Link) |
固件架构
裸机 C 固件,无 RTOS。通过编译宏 FM_APP_ROLE 区分 TX / RX 两套固件,
共用同一套代码库。模块涵盖板级初始化、I2C 总线恢复、QN8066 射频配置与 OLED 显示。
- FM 频率范围:87.5 – 108.0 MHz(默认 106.1 MHz)
- 32.768 kHz 数字时钟驱动 QN8066
- I2C 总线恢复与 J-Link 在线调试变量
- GCC 与 Keil MDK 双工具链;Cursor 中 cortex-debug 调试
收获与体会
这是我第一个从零到一的硬件项目——选元件、画 PCB、调通 I2C 外设、迭代射频参数。 模拟 FM 传输带来的噪声问题,让我对无线系统中信号质量的权衡有了切身体会。
自我评价:音频质量仍有提升空间,模拟 FM 噪声比较明显。
后续可探索数字调制方案或优化天线匹配,以获得更干净的传输效果。
链接
演示与照片
TX 与 RX 板,配备 QN8066 射频模块、OLED 显示屏与锂电池供电。
演示:TX 与 RX 板之间的 FM 音频传输。