本篇文章主要介绍使用树莓派驱动PCM5102A音频解码芯片。
整体来说比较简单,但是如果买到了下面这种板子,就比较麻烦。好吧,我买的就是这个板子,按照网上的连线和配置就是没声音,最后找到大哥的文章才把问题解决。How to make PCM5102 DAC work on Raspberry Pi ZeroW?
1. 焊接板子上的模式选择
正面有1处需要焊接的地方如下,目测是PCM5102A自身会产生时钟,这个SCK需要接地。
背面有4个模式选择,详细介绍如下,没有特殊的要求按照下面直接焊接即可。
- H1L: FLT — "low" for normal latency filter
- H2L: DEMP — "low" to disable
- H3L: XSMT — "high" to disable
- H4L: FMT — "low" for I2S
OK,焊接选择模式才是第1步,硬件准备好我们继续下一步。
2. 树莓派连线
树莓派引脚是支持I2S的,对应的引脚如下:
3. 树莓派配置声卡
需要在树莓派的配置里大家支持I2S,以及asound配置。
修改/boot/config.txt
:
- 找到
dtparam=i2s=on
将前面的注释去除; - 注释
#dtparam=audio=on
; - 添加一行声卡,
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. 连接喇叭
我需要做的是一个游戏机,所以只有耳机是不够的,需要声音能够外放,所以需要个喇叭。下面的喇叭红色的接信号线,黑色接地就可以有声音了。
当然声音是非常微弱的,因为信号电流不足以驱动喇叭,我们还需要一个信号放大电路。因为手头上有之前的一个蜂鸣器,所以把蜂鸣器拆了,把喇叭焊接上去,声音就出来了!
修改之前是这样的:
修改之后焊接喇叭的: