1、硬件环境:
soc: im8mp
bt: cypress CYW43455, 并通过M2接口连接到imx8mp开发板。
2、硬件连接:
3、综述:
BT通过M2接口连接到IMX8mp开发板,M2接口中包含了PCM总线、UART、BT_EN引脚。
通话音频播放,BT使用imx8mp默认PCM接口,所以默认情况下无需额外配置,imx8会自动识别并加载音频设备,通过aplay -l 指令可以发现对应card2设备。通过card2音频设备可以进进行音频通话。播放音频到card2代表本地手机A通话输入,从card2录入音频代表远端手机B通话输入。
音乐音频播放,BT将从手机接收的A2DP数据传送到Host协议栈,协议栈打开PCM设备即WM8960设备进行编解码并通过imx8mp开发板默认耳机接口输出。
附加:协议栈需求的libasound.so即alsa库,imx8mp交叉编译工具以及linux系统内已默认包含且可用,所以无需单独编译alsa库,编译协议栈时仅需要source /opt环境变量并编译即可。
4、imx8mp本地音频设备列表:
5、录音和播放测试:
使用wm8960录音和播放:
arecord -D plughw3,0 1.wav
aplay -D plughw:3,0 1.wav
使用bt pcm总线录音和播放:
arecord -D plughw:2,0 1.wav
aplay -D plughw:2,0 1.wav
调整音量:
alsamixer
6、协议栈测试:
(1)设置音频配置文件/etc/asound.conf, 配置默认card和device.
(2)协议栈测试电话:
录音:arecord -D plughw:2,0 1.wav &
运行协议栈,连接手机A并拨打手机B并接通,对手机B说话,录入声音。
播放:aplay -D plughw:3,0 1.wav通过wm8960播放录音, 或 aplay -D plughw:2,0 1.wav &
运行协议栈后,连接手机A并拨打手机B并接通,从手机B观察是否有录音播放。
(3)协议栈测试音频:文章来源:https://www.toymoban.com/news/detail-406140.html
运行协议栈,连接手机并播放音乐,观察wm8960的耳机口是否有音频播放文章来源地址https://www.toymoban.com/news/detail-406140.html
到了这里,关于IMX8mp alsa音频调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!