Skip to main content

Audio

Neardi Pi 3 提供:

  • 3.5mm 音频接口,支持 L/R 输出
  • MIC 输入
  • 2 路 10W / 8ohm Speaker 输出
  • HDMI 音频输出

板载音频 codec 配置在:

rk3576-neardi-lb200-sound-ctl.dtsi

该文件会启用 I2C3 上的 ES8388 codec 和 SAI1 音频接口,喇叭、耳机相关控制 GPIO 也在这里定义。

HDMI 音频和 HDMI 显示一起配置:

rk3576-neardi-lb200-hdmi.dtsi

音频局部参考图:

Codec / 耳机 / MICSpeaker PA
Neardi Pi 3 音频 Codec 局部原理图Neardi Pi 3 Speaker PA 局部原理图

喇叭和耳机播放测试

使用喇叭或耳机播放前,需要先配置 SAI1 通路,并打开对应输出通路。

首次测试建议使用双声道 48KHz WAV 文件:

# 选择 SAI1 发送通道
amixer -c 0 cset numid=31,iface=MIXER,name='SAI1 Transmit SDO2 Source Select' 0

# 设置 SAI1 收发数据线数量
amixer -c 0 cset numid=4,iface=MIXER,name='SAI1 Receive SDIx Select' 1
amixer -c 0 cset numid=3,iface=MIXER,name='SAI1 Transmit SDOx Select' 1

# 打开耳机输出
amixer -c 0 cset numid=80,iface=MIXER,name='OUT1 Switch' 1

# 打开喇叭输出和喇叭 PA
amixer -c 0 cset numid=80,iface=MIXER,name='OUT2 Switch' 1
amixer -c 0 cset numid=64,iface=MIXER,name='spk switch' on

# 播放双声道 48KHz 测试音频
aplay -Dhw:0,0 ./FB_48k.wav

如果没有声音,先检查输出通路是否打开,再确认音频文件是否为双声道 48KHz。

MIC 录音测试

MIC 录音可以根据实际输入打开 Main Mic 或 Headset Mic。

# 选择 SAI1 接收通路
amixer -c 0 cset numid=27,iface=MIXER,name='SAI1 Receive PATH2 Source Select' 0

# 设置 SAI1 接收数据线数量
amixer -c 0 cset numid=4,iface=MIXER,name='SAI1 Receive SDIx Select' 1

# 打开外置 MIC 输入
amixer -c 0 cset numid=69,iface=MIXER,name='Headset Mic Switch' on

# 打开耳机 MIC 输入
amixer -c 0 cset numid=68,iface=MIXER,name='Main Mic Switch' on

# 录制 10 秒双声道 48KHz 音频
arecord -Dhw:0,0 -d 10 -f cd -r 48000 -c 2 -t wav test.wav

如果只使用一路 MIC,录出来的音频可能是单声道。需要双声道录音时,请同时连接并打开对应输入通路。