6.9.4. 测试指南

6.9.4.1. 测试环境

6.9.4.1.1. 硬件

  • 测试板:带有DMIC的测试板

  • PC:用于和测试板交互

  • 串口线:连接测试板的调试串口

6.9.4.1.2. 软件

  • PC端串口终端软件

  • alsa-lib和alsa-utils第三方软件包

6.9.4.2. 创建声卡

AudioCodec是SOC内置的codec,所以在AudioCodec的驱动中,已直接创建声卡,不需要再单独编写machine驱动。在按照 AudioCodec配置 配置后,内核会创建出名aic-SoundCard的声卡,对此声卡进行操作即可。

6.9.4.3. 音频测试

6.9.4.3.1. 配置音频路径

AudioCodec的音频通路中,存在较多的开关,混音器,数字音量调节器,多路选择器等器件。所以在执行 播放或录音任务前,需要先配置音频路径,使音频数据可以正确流通。

6.9.4.3.1.1. 自动配置

在SDK的target/aic16xx/perxx/rootfs_overlay/var/lib/alsa目录下,存放有asound.state文件,该文件保存的是声卡各个控件的配置值。在内核启动时,会自动加载该文件, 完成音频通路的配置。

../../../_images/load_asound_state.png

6.9.4.3.1.2. 手动配置

一般使用asound.state文件默认的配置即可。如果内核启动时的默认配置不满足需求,也可以通过amixer工具进行手动配置。amixer的使用方法如下:

amixer sset 'control-name-string' value

control-name-string和value的值可以通过以下方式查看:

../../../_images/amixer_scontents.png

修改设置示例:

../../../_images/amixer_example.png

修改完成后,可以通过alsactl命令将修改保存到asound.state文件中。在后续的上电过程中,内核会加载最新的修改配置。

alsactl -f /var/lib/alsa/asound.state store

6.9.4.3.2. 测试音频播放

aplay test.wav

6.9.4.3.3. 测试音频录音

arecord -d 10 -f dat -t wav test.wav

-d:指定录音时长,单位为秒

-f:指定录制的格式,dat表示16bit小端数据,48K采样率,立体声

-t:指定生成的文件格式,为wav文件

test.wav:生成的wav文件名

6.9.4.3.4. 调整播放音量

amixer sset 'AUDIO' 140

6.9.4.3.5. 调整DMIC录音音量

amixer sset 'DMICIN' 140

6.9.4.3.6. 调整AMIC录音音量

amixer sset 'ADC' 140

6.9.4.3.7. 调整PGA增益

amixer sset 'PGA Gain' 8