MENU

MAME移植之树莓派驱动PCM5102A

2024 年 07 月 21 日 • 嵌入式

本篇文章主要介绍使用树莓派驱动PCM5102A音频解码芯片。

整体来说比较简单,但是如果买到了下面这种板子,就比较麻烦。好吧,我买的就是这个板子,按照网上的连线和配置就是没声音,最后找到大哥的文章才把问题解决。How to make PCM5102 DAC work on Raspberry Pi ZeroW?

0bYn0b

1. 焊接板子上的模式选择

正面有1处需要焊接的地方如下,目测是PCM5102A自身会产生时钟,这个SCK需要接地。

omxdi1

背面有4个模式选择,详细介绍如下,没有特殊的要求按照下面直接焊接即可。

  • H1L: FLT — "low" for normal latency filter
  • H2L: DEMP — "low" to disable
  • H3L: XSMT — "high" to disable
  • H4L: FMT — "low" for I2S

kTf1Gz

iXMtLe

OK,焊接选择模式才是第1步,硬件准备好我们继续下一步。

2. 树莓派连线

树莓派引脚是支持I2S的,对应的引脚如下:
jmzj5O
IUCGvz

3. 树莓派配置声卡

需要在树莓派的配置里大家支持I2S,以及asound配置。
修改/boot/config.txt

  1. 找到dtparam=i2s=on将前面的注释去除;
  2. 注释#dtparam=audio=on
  3. 添加一行声卡,dtoverlay=hifiberry-dac,如果这个声卡不行修改成dtoverlay=hifiberry-dacplus

/etc/asound.conf中添加声卡内容,如果没有则创建

pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

修改完毕后重启树莓派。

4. 声音测试

启动完毕后,首先使用工具测试下声卡是否正常识别,如果出现snd_rpi_hifiberry_dac则识别正常。

pi@raspberrypi:~ $ aplay -l
 **** List of PLAYBACK Hardware Devices ****
 card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
   Subdevices: 1/1
   Subdevice #0: subdevice #0

播放声音使用aplay xxx.wav即可,xxx.wav是需要播放的声音。
这个时候只能连接耳机,耳机里是有声音的。

5. 连接喇叭

我需要做的是一个游戏机,所以只有耳机是不够的,需要声音能够外放,所以需要个喇叭。下面的喇叭红色的接信号线,黑色接地就可以有声音了。

ypJ9pL

当然声音是非常微弱的,因为信号电流不足以驱动喇叭,我们还需要一个信号放大电路。因为手头上有之前的一个蜂鸣器,所以把蜂鸣器拆了,把喇叭焊接上去,声音就出来了!

修改之前是这样的:
q8DRYG

修改之后焊接喇叭的:
rGhftx