rk3399 rt5640 录音调试记录

前言

问题描述: 基于 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

结语

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

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
为了调试rk3399的gmac驱动记录,首先需要确认设备的连接情况。检查网线是否正常连接到gmac接口,确保与外部网络连接的网线正常。然后,需要查看系统日志,以确定是否有与gmac驱动相关的错误或提示信息。可以使用dmesg命令来查看系统日志,寻找与gmac驱动相关的错误信息。 在确认设备连接和系统日志后,可以尝试重新加载或卸载再加载gmac驱动。可以使用modprobe命令加载或卸载再加载gmac驱动。加载驱动时,可以通过设置modprobe的参数来调试驱动。常用的参数包括verbose、debug以及err_mask等,这些参数可以输出更详细的驱动信息,帮助定位问题。 如果以上方法没有解决问题,可以查阅rk3399和gmac驱动的官方文档,了解更多相关信息。在官方文档中,可以找到驱动的配置选项和参数,以及一些常见问题的解决方法。可以尝试按照官方文档中的建议进行调试。 此外,还可以尝试使用一些网络诊断工具来测试gmac驱动的性能和稳定性。例如,可以使用ping命令来测试网络连通性,iperf命令测试网络带宽,以及wireshark命令来抓取网络数据包进行分析。 在调试过程中,要注意保护设备的安全性,避免对系统或网络造成不必要的损坏。同时,建议备份系统数据,以防止误操作导致数据丢失。 总之,对于rk3399的gmac驱动调试,需要确认设备连接情况,查看系统日志,重新加载驱动并设置调试参数,参考官方文档解决问题,并利用网络诊断工具进行测试。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值