RK3568开发笔记-RK809音频调试

Posted flypig哗啦啦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3568开发笔记-RK809音频调试相关的知识,希望对你有一定的参考价值。

目录

前言

一、RK809部分原理图

二、设备树配置

三、音频播放测试​​​​​​​

总结


前言

本文主要介绍在RK3568平台介绍RK809电源管理芯片codec spk喇叭功能调试记录。

一、RK809部分原理图

RK809 SPK部分原理图如下所示。

二、设备树配置

原厂SDK默认已经打开了RK809喇叭相关设备树配置,主要配置有以下几点:

1、RK809_sound配置

  rk809_sound: rk809-sound 
                status = "okay";
                compatible = "simple-audio-card";
                simple-audio-card,format = "i2s";
                simple-audio-card,name = "rockchip,rk809-codec";
                simple-audio-card,mclk-fs = <256>;

                simple-audio-card,cpu 
                        sound-dai = <&i2s1_8ch>;
                ;
                simple-audio-card,codec 
                        sound-dai = <&rk809_codec>;
                ;
        ;

2、RK809-codec配置

               rk809_codec: codec 
                        #sound-dai-cells = <0>;
                        compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
                        clocks = <&cru I2S1_MCLKOUT>;
                        clock-names = "mclk";
                        assigned-clocks = <&cru I2S1_MCLKOUT>, <&cru I2S1_MCLK_TX_IOE>;
                        assigned-clock-rates = <12288000>;
                        assigned-clock-parents = <&cru I2S1_MCLKOUT_TX>, <&cru I2S1_MCLKOUT_TX>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&i2s1m0_mclk>;
                        hp-volume = <20>;
                        spk-volume = <5>;
                        //mic-in-differential;
                        adc-for-loopback;
                        status = "okay";
                ;
        ;

 3、板级设备树配置文件配置

&rk809_sound 
        status = "okay";
;

三、音频播放测试

使用aplay命令进行音频播放测试:aplay 8k8bpsMono.wav

 发现喇叭并没有任何声音输出,结果排查,由于板卡有HDMI接口,且设备树配置了HDMI音频输出,设备默认驱动并不支持HDMI和RK809音频同时输出,且默认以HDMI为主,故需要关闭HDMI音频输出,设备树配置如下所示:

&hdmi 
        status = "okay";

        rockchip,phy-table =
                <92812500  0x8009 0x0000 0x0270>,
                <165000000 0x800b 0x0000 0x026d>,
                <185625000 0x800b 0x0000 0x01ed>,
                <297000000 0x800b 0x0000 0x01ad>,
                <594000000 0x8029 0x0000 0x0088>,
                <000000000 0x0000 0x0000 0x0000>;

;

&hdmi_in_vp0 
        status = "okay";
;

&hdmi_in_vp1 
        status = "disabled";
;

&hdmi_sound 
        status = "disabled";
;

&route_hdmi 
        status = "okay";
        logo,uboot = "logo.bmp";
        logo,kernel = "logo.bmp";
        logo,mode = "center";
        charge_logo,mode = "center";
        connect = <&vp0_out_hdmi>;
;

此外以下是瑞芯微对播放无声给出的一些排查思路,可以借鉴参考:

  1. 确认音频源为 非静音文件
  2. 使用 aplay 或者 tinyplay 播放,定位问题是发生在用户态还是内核态
  3. 播放等待10秒以上确认是否为 I/O error 问题
  4. 使用 amixer 或者 tinymix 检查 CODEC 内部 DAC 通路是否打开,音量是否静音
  5. 查看 寄存器 配置,配合芯片手册或者 CODEC 手册确认配置是否正确:IOMUX,DAI,CODEC。
  6. 使用 万用表 和 示波器 测量电压,时钟,数据。确认电压,时钟正常,数据线上有波形;测量
  7. CODEC 近端 模拟输出信号是否正常,测量 PA 使能 gpio 电平,逐级定位问题点
     

总结

以上为本人调试RK809-sound功能的调试记录,在确保硬件无问题的情况下,没有声音可以参考本文介绍方式排查。

RK3568开发笔记:RK3568虚拟机基础环境搭建之更新源安装网络工具串口调试网络连接文件传输安装vscode和samba共享服务

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125142167

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

瑞芯微开发专栏

上一篇:《RK3568开发笔记(二):入手RK3568开发板的套件介绍、底板介绍和外设测试
下一篇:敬请期待…


前言

  开始搭建RK3568的基础虚拟机,具备基本的通用功能,主要包含了串口工具minicom,远程登陆ssh,远程传输filezilla,代码编辑工具vscode。


虚拟机

  文档对对虚拟机做了一些基本要求,如下图:
  
  为了尽量在前期减少错误,应选择一样的vmware版本 和ubuntu,尤其是ubuntu(重点是amd 64位的)。
  笔者使用ubutn18.04 x64位系统,制作一个空系统,使用vmware虚拟机只做一个改系统的空系统(如何安装虚拟机,请自行百度)。
  


Ubuntu界面方式更新源

更换源

  
  
  
  
  更换完成,如果弹出要更新,请点击取消(界面更新的东西好像比较多)。


安装网络工具

  Ubuntu18没有ifconfig等一些工具,需要手动安装:

sudo apt-get install net-tools

  


开发板调试串口连接

更新源

  更换完成后,使用以下命令更新以下:

sudo apt-get update

  

串口物理连接

  将串口连接到PC电脑上,并将串口PC与虚拟机连接,是虚拟机可以打开串口。
  串口物理接线:
  
  电脑上显示新的串口:
  
  虚拟机将串口接入:
  
  确认串口(USB串口):
  
  虚拟机网络连接
  
  下载串口工具minicom

sudo apt-get install minicom

  

打开串口(ttyUSB0,一般波特率都为115200)

sudo minicom -s

  
  
  

重新上电,连接成功

  
  查看开发板内核系统版本:
  


虚拟机与开发板的网络连接

虚拟机通往开发板

  开发板ip:
  
  查看网卡,此开发板网络配置很多,wlan0为无线网卡配置;
  
  虚拟机通往开发板:
  

开发板通往虚拟机

  虚拟机ip:
  
  开发板通往虚拟机:
  


安装fileZilla文件传输软件

  (此开发板自带的系统没有该服务,但是我们系统需要安装上后,往后需要搭建自己的系统,现在只安装这个软件)
  在ubuntu软件中心下载软件fileZilla,如下图:
  


代码开发编辑工具vscode

下载vscode

  (因为开发驱动,而不是之前只开发qt和c应用了,尝试使用vscode)。
  vscode 是一款免费开源的代码编辑器, 而且功能十分强大, 基本支持所有主流的编程语言的语法高亮,自动补全, 匹配括号等。 软件跨平台支持 win, mac 和 linux。
  官方下载地址:https://code.visualstudio.com/Download
  CSDN粉丝0积分下载地址:https://download.csdn.net/download/qq21497936/85430506
  QQ群下载地址:1047134658(点击“文件”搜索“code”,群内与博文同步更新)
  

安装vscode

sudo dpkg --install code_1.67.2-1652812855_amd64.deb 

  
  

安装vscode插件

  
  
  安装插件,根据开发文档推荐的,如下:

  • C/C++:C和C++的编译环境
  • C/C++ Snippets:C/C++重用代码块。
  • C/C++ Advanced Lint:C/C++静态检测。
  • Code Runner:即代码运行。
  • Include AutoComplete:自动头文件包含。
  • Rainbow Brackets:彩虹花括号,有助于阅读代码。
  • One Dark Pro:VSCode 的主题。
  • GBKtoUTF8:将 GBK 转换为 UTF8。
  • Arm Assmebly:即支持 ARM 汇编语法高亮显示。
  • Chinese(Simplified):中文环境。
  • vscode-icons:VSCode 图标插件, 主要是资源管理器下各个文件夹的图标。
  • compareit:比较插件, 可以用于比较两个文件的差异。
  • DeviceTree:设备树语法插件。
  • TabNine AI:AI 自动补全插件。

  安装完成后:
  


共享文件服务器samba

  虚拟机有时候拽拖文件有问题,为了更好的避免,此处安装了samba服务,让外部电脑通过资源管理器直接使用ip地址即可访问虚拟机ubuntu的共享文件夹,实现文件传输。
  参考博文《linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享


上一篇:《RK3568开发笔记(二):入手RK3568开发板的套件介绍、底板介绍和外设测试
下一篇:敬请期待…


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124981391

以上是关于RK3568开发笔记-RK809音频调试的主要内容,如果未能解决你的问题,请参考以下文章

RK3568开发笔记:RK3568虚拟机基础环境搭建之更新源安装网络工具串口调试网络连接文件传输安装vscode和samba共享服务

RK3568开发笔记:RK3568虚拟机基础环境搭建之更新源安装网络工具串口调试网络连接文件传输安装vscode和samba共享服务

RK3568平台开发系列讲解(音频篇)Android AudioRecord 采集音频

RK3568开发笔记:入手RK3568开发板的套件介绍底板介绍和外设测试

RK3568平台开发系列讲解(音频篇)Audio 音量控制流程

RK3568开发笔记:瑞芯微RK3568芯片介绍,入手开发板的核心板介绍