站内搜索
更多
基于STM32F4的WM8978声卡
专业版

基于STM32F4的WM8978声卡

简介

基于STM32F4的WM8978声卡

简介:基于STM32F4的WM8978声卡

开源协议

GPL 3.0

创建时间:2024-12-06 15:33:10更新时间:2025-12-07 20:12:30

描述

基于STM32F4的WM8978声卡项目文档

重要说明
本项目是我本人两年前的处女作,当时刚开始接触 STM32 与 PCB 设计,PCB 设计非常粗糙,整体结构也不够规范,目前许多功能并未完全实现
因此:
⚠ 完全不建议任何人复刻此项目,仅供学习参考!

📌 项目简介

本项目基于 STM32F4 系列 MCUWM8978 音频编解码器 构建,实现基础的数字音频播放与录制功能,可用于音乐播放、录音、语音处理等场景。

(但请注意:本项目未实现全部功能,仅实现部分基础交互。)


🔧 项目功能(当前版本部分实现)

  1. 支持高品质音频播放(24bit/192kHz)
  2. 支持音频录制(带麦克风前级)
  3. 通过 I2C 配置 WM8978(增益、EQ、通道控制)
  4. 提供耳机 & 线路输出
  5. 数字音量控制
  6. 可扩展 DSP 音频处理(当前未实现)

📐 项目参数

  • 主控芯片:STM32F407VGT6(168MHz,带 FPU)
  • 音频编解码器:WM8978(24bit,高解析)
  • 信噪比:≥ 95 dB(A-weighted)
  • THD+N: < 0.01%
  • 采样率:8kHz ~ 192kHz
  • 供电:3.3V
  • 接口:I2S、I2C、耳机、Line In/Out

🔍 原理解析(硬件说明)

系统框图

系统框图

STM32F4 主控电路

主控电路

WM8978 编解码电路

音频电路


🧪 软件代码示例

// WM8978初始化示例代码
void WM8978_Init(void)
{
    WM8978_Write_Reg(0, 0x00);      // Reset
    WM8978_Write_Reg(1, 0x1E);      // Enable DAC/ADC
    WM8978_Write_Reg(4, 0x50);      // I2S, 16bit
    WM8978_Write_Reg(6, 0x00);      // 48kHz
    WM8978_Write_Reg(0x02, 0x1F0);  // HP volume L
    WM8978_Write_Reg(0x03, 0x1F0);  // HP volume R
    WM8978_Write_Reg(0x05, 0x00);
    WM8978_Write_Reg(0x07, 0x01);
    WM8978_Write_Reg(0x0A, 0x00);
    WM8978_Write_Reg(0x0B, 0x00);
    WM8978_Write_Reg(0x0C, 0x7F);
    WM8978_Write_Reg(0x0D, 0x7F);
    WM8978_Write_Reg(0x09, 0x01);   // Activate
}

完整代码仓库:
👉 GitHub: https://github.com/SmallCoral/wm8978


⚠ 使用注意

  • PCB 设计为作者首次作品,布局布线欠佳,模拟/数字地分割粗糙
  • WM8978 模拟电源部分退耦电容不足
  • I2S 信号线过长、阻抗不匹配
  • 耳放输出没有完整保护电路
  • 因上述原因:不建议复刻,仅供学习思路

🔧 组装流程

  1. 焊接 STM32F4 及基础供电电路
  2. 再焊接 WM8978 芯片
  3. 焊接耳机接口、Line In/Out
  4. 检查焊点
  5. 上电检查电源
  6. 连接调试器下载测试程序

📸 实物图

声卡正面

系统状态

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
一个简单的点灯程序.mp4
7
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航