当前位置:首页 » 《关注互联网》 » 正文

rk3399 rt5640 录音调试记录_W_nvshengdan的博客

9 人参与  2021年09月01日 09:43  分类 : 《关注互联网》  评论

点击全文阅读


前言

问题描述: 基于 rk3399 linux SDK,音频芯片rt5640 不能录音,分享一下笔者的调试记录。

分析步骤

1. 通过如下命令确认声卡是否注册成功
hhh
可以看出,声卡已经注册上了。
controlC0 --> 用于声卡的控制,例如通道选择,混音,麦克风的控制等
pcmC0D0c --〉 用于录音的 pcm 设备
pcmC0D0p --〉 用于播放的 pcm 设备

声卡注册上之后,就开始调试播放和录音功能。rk3399 官方手册文档是基于android 调试的,安卓上
常用的是tiny工具,就与alsa裁剪的。
linux 常用的音频ALSA 开发工具 是alsa-utils
安装即可 :dpkg -i alsa-utils_1.2.2-1kylin1rk1_arm64.deb

2. 验证一下播放
在这里插入图片描述
在耳机中也能听到声音,播放没啥问题,基于也说明了,音频驱动iic ,i2s的问题不大。
接下来开始验证录音

3. 验证一下录音
在这里插入图片描述
再用上文的aplay 播放,发现放不出声音,接下来开始分析录音问题。

3.1 先打开 地板硬件原理图,找到音频芯片部分,

在这里插入图片描述

如圈出来的部分,原理图上 看出重要的信息:
1.麦克风 通过 MIC_IN3P 接到了Mono(单声道),
2.与cpu通信用的是 i2s0.
3.播放接的是L_OUT,

3.2 在检查一下设备树的配置:
在这里插入图片描述

手上的源码里 ,图片圈出来的1 部分要改成IN3,
2 部分要改成 i2s0,
i2s 不对,板子里确能放音乐,有点不对劲,经过沟通,板子的内核是最新修改过的,已改成如下:

在这里插入图片描述
3.3 接下来大概率 就是音频通路的配置问题了,接着说linux 下如何配录音通路。

1.先通过 amixer contents 查看音频接口

2…在打开rt5640 的datasheet,如下图 Audio Mix Path
在这里插入图片描述
如上图所示:从上文原理图得知麦克风介入IN3P,在结合上图中的1. 2. 部分,通过MICBST3 接入RECMIXR器件。
可以 得出 BST3 相关的接口 numid = 33,需要打开这个开关
在这里插入图片描述
至此,通路第一条命令 可以得出
amixer cset numid=33 1

3.接着往下走 ,如下图 Audio Mix Path中,圈出来的红色标记3,接到到digital mixer path 部分
如下图:
在这里插入图片描述

同理可以得出图片4,5,6 ,7 的通路配置
amixer cset numid=41 1
amixer cset numid=42 1
amixer cset numid=49 1
amixer cset numid=23 1

接下来在设置一下录音的音量
在这里插入图片描述
由于我们接的是mono,所以:
amixer cset numid=18 100 100

至此 录音的通路就配置好了,由于硬件接的是Mono,所以不支持耳麦,需要找旧式的台式机耳机测试,这一点也是踩了坑才知道。

接着按上文的方法验证录音,录音功能ok

结语

如果,此时录音还有问题,就需要打印寄存器的值,量硬件波形等等方式,进一步排查。
如有不足之处欢迎您的批评指正!!


点击全文阅读


本文链接:http://zhangshiyu.com/post/26707.html

的是  录音  通路  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1