环境配置,我要使用的是MAX98357,是i2s信号的DAC音频。

这个芯片,我才用的原因是来自于2年前买的谷歌aio,里面搭载的就是这个音频dac驱动,是为了树莓派做的。咱们jetson引脚和树莓派相同,所以有了下面的测试,并且测试成功。

硬件:jetson nano 4G版本
软件:jetson-nano-4gb-jp441-sd-card-image.zip( JP 4.4.1 2020/10/21 )
软件image最新下载地址:https://developer.nvidia.com/jetson-nano-sd-card-image
软件:官方库 https://github.com/NVIDIA/jetson-gpio

第一步,使用jetson-io库,开启I2S引脚功能

sudo /opt/nvidia/jetson-io/jetson-io.py

选择配置40p扩展引脚选项,然后设置为如下界面(使用回车设置星号)

然后back后第一个选项就是保存并推出和重启。重启后引脚即配置完成。

(SCK)AUDIO_MCLK –> GPIO BB.00 (Audio Master Clock—12.288MHz) (BCK)DAP4_SCLK –> GPIO J.07 (I2S4 BitClock—1.5/1.4MHz)
(LRCK)DAP4_FS –> GPIO J.04 (I2S4 FS—48/44.1KHz)
(DIN)DAP4_DIN –> GPIO J.05 (I2S4 Data In from Codec)
DAP4_DOUT –> GPIO J.06 (I2S4 Data Out to Codec)

2,物理连接max98357和喇叭

3,测试音频是否成功

# 查看引脚配置
sudo grep "Name:\|J:\|BB:" /sys/kernel/debug/tegra_gpio
Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL
 J: 2:1 00 00 00 00 00 00 000000
BB: 6:3 00 00 00 00 00 00 000000


cat /proc/asound/cards
 0 [tegrahda       ]: tegra-hda - tegra-hda
                      tegra-hda at 0x70038000 irq 83
 1 [tegrasndt210ref]: tegra-snd-t210r - tegra-snd-t210ref-mobile-rt565x
                      tegra-snd-t210ref-mobile-rt565x
        
# 将I2S绑定到声卡
# amixer -c <cardname> cset name="I2Sn Mux" ADMAIF<i>
amixer -c tegrasndt210ref cset name="I2S4 Mux" "ADMAIF1"

# 播放音频
# aplay -D hw:<cardname>,<i-1> <in.wav>
aplay -D hw:tegrasndt210ref,0 audio_test.wav

最后一个命令如果说繁忙,就再执行一遍。听到了每秒的音乐。audio_test.wav文件请自行准备。

样本大小:8位(S8),16位(S16_LE)或24/32位(S32_LE)

采样率:8000、11025、16000、22.5、0 24000、32000、44100、48000、88400、96000、176400或192000 Hz

频道:1或2

本文参考网址:
https://www.jianshu.com/p/e7e84f48b653
https://qiita.com/seitomatsubara/items/dfe7e353879c37d5569c