树莓派 CM4 和 4B 的 CPU 均为 2711,但是实际使用过程中还是会有差异。比如 USBHUB 默认没有开启、音频输出配置方面存在差别。
树莓派 4B 可以通过 HDMI 输出音频,也可以通过 3.5mm 模拟音频接口输出,另外还可以通过 I2S 外扩音频模块。对于 CM4 而言,已经没有 3.5mm 模拟音频输出接口了,那么最直接的使用方法就是通过 HDMI 输出音频,当然也可以通过 I2S 外挂解码芯片输入音频,比如 PCM5122 模块。
需要注意的是,默认情况下 HDMI 端口的音频输出是关闭的,虽然在系统右上角可以看到音频控制图标,但是实际并没有信号输出。
cat /proc/asound/cards
确认可以看到没有任何声卡的存在。
接下来我们开启 HDMI 的音频输出,找到 boot 分区下的 config.txt 文件,编辑其中内容。主要是确认几个地方:
1、添加一行配置。
dtoverlay=audremap
2、确认下面的内容没有被注释掉,如果没有找到这行,就手动添加一下。
dtparam=audio=on
3、确认下面的内容没有被注释掉,如果没有找到这行,就手动添加一下。
hdmi_drive=2
保存配置后重启,然后再运行 cat /proc/asound/cards 应该可以看到声卡已经有了。
可以发现音频输出只有 HDMI 1,这个 HDMI 1 是指系统下的第一路 HDMI,从原理图上讲是 HDMI 0。
打开了音频后就可以通过 HDMI 播放视频并输出音频信息,目前仅 HDMI1 可以输出音频,请注意 HDMI 连接顺序。
如果需要启用 USB 功能,在 /boot/config.txt 文件中加入下面的命令:
dtoverlay=dwc2,dr_mode=host