0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3576+ES8388音频开发:tinymix控件全解析

jf_44130326 来源:Linux1024 作者:Linux1024 2026-03-10 08:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在基于RK3576的嵌入式音频开发中,tinymix是调试音频通路的核心工具——它能直接操作音频CODEC(本文中为ES8388)的底层配置项。但很多开发者面对tinymix输出的81项控件常会无从下手,尤其不知道如何结合硬件原理图精准配置。本文将全面解析这些控件的含义,并手把手教你基于原理图的配置方法。

wKgZPGmvYC2AThHPAABs8mrWj-s851.pngwKgZPGmvYC6AFKoyAAC2WBn1P0M197.png

一、tinymix基础认知

tinymix是Linux下操作ALSA音频混音器(Mixer)的命令行工具:

•ctl:控件编号,用于直接配置对应项;

•type:控件类型(ENUM枚举/INT整数/BOOL布尔);

•name:控件功能名称;

•value:当前配置值。

本次分析的是RK3576+ES8388组合的混音器,81个控件可按功能分为8大类,核心是映射硬件音频通路。

补充:tinycap、tinyplay与tinymix的关系及配合方法

在RK3576嵌入式音频开发中,tinymix、tinycap、tinyplay是一套完整的音频调试工具组合,三者分工明确、协同工作,共同完成音频通路的配置、录音、播放全流程调试,核心关系可总结为:tinymix负责“配置通路”,tinycap负责“采集录音”,tinyplay负责“播放验证”,三者缺一不可。

三者核心功能与配合逻辑如下:

•tinymix:核心是“配置器”,负责设置音频CODEC(ES8388)的底层通路、音量、开关等参数,为录音和播放打通硬件通路——只有通过tinymix配置好正确的输入(如麦克风)、输出(如耳机/喇叭)通路及参数,tinycap和tinyplay才能正常工作。

•tinycap:轻量级录音工具,用于采集音频(如麦克风输入),其工作依赖tinymix配置的采集通路(如主麦开关、采集音量、PGA输入源等),采集的音频质量由tinymix的ALC、采集音量等参数决定。

•tinyplay:轻量级播放工具,用于播放音频文件(如wav格式),其播放效果依赖tinymix配置的播放通路(如耳机/喇叭开关、Output音量、PCM音量等),通路配置错误会导致无声、音量异常等问题。

三者配合的核心流程:tinymix配置通路及参数→ tinycap录音(验证采集通路)→ tinyplay播放(验证播放通路/录音质量),形成完整的调试闭环,也是嵌入式音频开发中最常用的调试流程。

二、核心控件分类解析

1. SAI2总线底层配置(ctl 0-35)

SAI(Serial Audio Interface)是RK3576与ES8388之间的音频数据传输接口(本次用SAI2通道),这部分是音频传输的“底层协议”:

控件范围 核心功能 默认值/说明
0-3 收发启动模式/SDOx/SDIx选择 Standalone(独立模式)、Auto(自动选IO)
4-14 单声道/环路控制 单声道开关Disable、环路回传关闭
23-24 同步时钟配置 Sync Out来自CRU(芯片时钟)、Sync In来自IO
25-32 收发路径映射 Receive PATHx对应SDIx、Transmit SDOx对应PATHx
33-35 时钟/PCM等待 时钟自动切换Off、PCM读写等待0ms

2. 3D音效模式(ctl 36)

•3D Mode:枚举类型(默认Level 1),控制3D音效强度(可设为Off/Level 2等)。

3. ALC自动电平控制(ctl 37-48)

ALC(Automatic Level Control)是麦克风采集的“音量稳定器”,防止音量过大/过小:

控件 功能 默认值
37 ALC目标音量 12
40 ALC功能开关 Off(关闭)
44 ALC攻击时间 5ms(音量突变响应速度)
47 ALC噪声门开关 Off(关闭噪声过滤)

4.零交叉(ZC)超时(ctl 48)

•ZC Timeout Switch:默认Off,开启后可避免音量调节时的“爆音”(零交叉技术让音量平滑变化)。

5.音量控制类(ctl 49-58)

开发中最常用的控件,直接影响播放/采集音量:

控件 功能 默认值/说明
49 采集数字音量(双声道) 192 192(范围0-255)
50 采集静音开关 Off(不静音)
55 PCM播放音量(双声道) 192 192
58 Output 1播放音量 30 30(对应耳机等主输出)
59 Output 2播放音量 0 0(对应喇叭等次要输出)

6.音频数据选择(ctl 60)

ADC Data Select:默认Left Right(左右声道采集),可设为单声道(如Left/Right)。

7.硬件开关类(ctl 61-74)

核心!直接映射硬件物理通路,需严格匹配原理图:

控件 功能 默认值
61 耳机插孔检测 On(启用检测)
63 喇叭开关 Off(关闭喇叭通路)
65 耳机通路开关 On(启用耳机输出)
66 喇叭通路开关 On(启用喇叭输出)
67 主麦克风开关 On(启用板载主麦)
68 耳机麦克风开关 On(启用耳机麦)
69-70 左右PGA多路选择器 Line 1L/1R(PGA输入源选择)
73-74 左右线路多路选择器 Line 1L/1R(线路输入通路选择)

8.混音器与输出开关(ctl 75-80)

混音器负责多路音频源混合,输出开关控制最终输出:

控件 功能 默认值
75 左混音器左播放开关 On(启用左声道播放混音)
79 OUT1开关 On(启用主输出通道)
80 OUT2开关 Off(关闭次要输出通道)

三、如何结合原理图配置tinymix控件?

原理图是硬件通路的“地图”,配置核心是“控件→硬件通路”的一一匹配,步骤如下:

1.第一步:解析音频原理图核心信息

•确认SAI2连接:看RK3576的SAI2(CLK/FS/DIN/DOUT)与ES8388的引脚连接,确定SAI2主/从模式(对应ctl 0-1);

•确认输入输出硬件:

○输入:主麦/耳机麦/线路输入连接到ES8388的哪个PGA/Line通道(对应ctl 69-74);

○输出:耳机/喇叭连接到ES8388的OUT1/OUT2哪个通道(对应ctl 58-59、79-80);

•确认硬件开关:喇叭使能、耳机检测引脚是否连接到ES8388(对应ctl 61-68)。

2.第二步:匹配控件与硬件通路(实操示例)

假设原理图中:主麦连ES8388的Line 2L/2R,喇叭连OUT2通道。

# 1. 配置主麦输入源tinymix69"Line 2L" # 左PGA选Line2Ltinymix70"Line 2R" # 右PGA选Line2R# 2. 启用喇叭通路tinymix63On    # 开启喇叭开关tinymix593030   # 设置Output2音量为30tinymix80On    # 开启OUT2开关# 3. 调整采集音量tinymix49200200  # 采集数字音量调至200

3.第三步:验证配置(tinymix+tinycap+tinyplay协同验证)

配置完成后,通过tinycap(录音)和tinyplay(播放)验证tinymix的配置是否正确,三者协同完成通路验证,是嵌入式音频调试的标准操作:

tinycap -D 0 /data/test.wav tinyplay /data/test.wav     # 播放录音确认

4.第四步:调试优化

•爆音问题:开启零交叉超时(tinymix 48 On),调整ALC攻击时间;

•声道异常:检查ADC Data Select(ctl 60)、Mono Mux(ctl 72);

•音量过小:调高对应Output音量或采集数字音量。

四、tinymix配置流程图

wKgZPGmvYC6AYY6HAADzrRbLCSk326.png

五、总结

1.RK3576+ES8388的81个tinymix控件可按SAI2总线、ALC、音量、硬件开关等8大类划分,核心是硬件通路的映射;

2.结合原理图配置的关键:先解析硬件连接,再匹配Mux/开关控件,最后验证调试;

3.常用技巧:开启零交叉避免爆音,通过Mux切换输入源,通过Output开关控制输出通路。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音频
    +关注

    关注

    31

    文章

    3218

    浏览量

    86169
  • rk3576
    +关注

    关注

    1

    文章

    286

    浏览量

    1661
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于RK3576开发板的PWN使用说明

    RK3576开发板使用PWN教程及Demo
    的头像 发表于 05-07 14:07 2443次阅读
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>开发</b>板的PWN使用说明

    基于RK3576开发板的人脸识别算法

    RK3576开发板展示人脸识别算法例程和API说明
    的头像 发表于 05-07 16:48 2872次阅读
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>开发</b>板的人脸识别算法

    rockchip rk3576开发设计资料

    (RSA 4096,AES 256,SHA - 512…)。 HDMI 和 DP/eDP 支持 HDCP 2.x。 SDK 支持 Linux 和 Android。 其他。 封装信息 FCCSP698L(16.1 x 17.2mm,pitch: 0.6mm)。 推荐一款RK3576
    发表于 02-05 11:39

    国产开发板的端侧AI测评-基于米尔瑞芯微RK3576

    ,国产自主可控必须搞起来。那与非网本期内容就跟自主可控强关联——评测一款基于国产SoC的板卡,由米尔电子推出的瑞芯微RK3576开发板(MYD-LR3576)。 开发板外设 MYD-
    发表于 02-14 16:29

    【作品合集】米尔RK3576开发板测评

    】米尔RK3576开发板免费试用 作者:EPTmachine【米尔RK3576开发板免费体验】1、开发环境、镜像烧录、QT
    发表于 09-11 10:19

    【作品合集】灵眸科技EASY EAI Orin Nano(RK3576开发板测评

    Orin Nano(RK3576开发板试用体验】使用Linux posix文件读取接口和LVGL的animimg(图像动画)控件实现动画播放以及.. 【EASY EAI Orin Nano(
    发表于 09-09 09:59

    《电子发烧友电子设计周报》聚焦硬科技领域核心价值 26年第4期:2026.3.1--2025.3.12

    板项目: 1、RK3576+ES8388音频开发tinymix控件
    发表于 03-13 17:56

    ES8388音频编解码器简介

    1、ES8388简介ES8388是一种高性能、低功耗、低成本的音频编解码器。它由两路ADC,2通道DAC,话筒放大器、耳机放大器、数字音效、模拟混合和增益功能。ES8388采用先进的多
    发表于 07-28 06:08

    深圳回收ES8388 收购ES8388

    【【高价回收ES8388,优势回收ES8388----帝欧电子!】】我司现急购电子芯片 ES8388,实力收购ES8388!诚信上门收购此电子料ES
    发表于 09-04 16:13

    RK系列开发音频驱动适配指南(三)

    驱动适配,本次主要介绍音频驱动适配中的Codec模块适配。RK系列开发ES8388 Codec模块适配:Codec其主要作用是对PCM(Pulse Code Modulation)
    发表于 10-10 09:11

    HZ-CORE-RK3576开发

    HZ-CORE-RK3576开发
    的头像 发表于 08-29 13:58 1199次阅读
    HZ-CORE-<b class='flag-5'>RK3576</b><b class='flag-5'>开发</b>板

    新品体验 | RK3576开发

    前言:RK3576作为瑞芯微第二代8nm高性能AIOT平台,一经推出便获得了极大的关注。广州眺望电子科技有限公司是一家专注于嵌入式处理器模组研发与应用的国家高新技术企业,目前公司已推出的相关型号有
    的头像 发表于 11-01 08:08 3335次阅读
    新品体验 | <b class='flag-5'>RK3576</b><b class='flag-5'>开发</b>板

    瑞芯微RK3576RK3576S有什么区别,性能参数配置与型号差异解析

    、物联网等商用AIoT领域。(瑞芯微RK3576RK3576S芯片框图)触觉智能作为专业的瑞芯微方案商,基于RK3576芯片平台推出了核心板、开发板、行业主板等
    的头像 发表于 08-14 23:57 2607次阅读
    瑞芯微<b class='flag-5'>RK3576</b>与<b class='flag-5'>RK3576</b>S有什么区别,性能参数配置与型号差异<b class='flag-5'>解析</b>

    RK3576音频调试全纪录

    在嵌入式设备开发中,音频调试往往是“牵一发而动全身” 的环节 —— 既需要对齐硬件原理图的信号定义,又要适配软件层的 codec 配置、引脚映射和驱动逻辑。本文基于 RK3576 平台的实际调试
    的头像 发表于 02-02 17:13 1768次阅读
    <b class='flag-5'>RK3576</b><b class='flag-5'>音频</b>调试全纪录

    深度解析ES8389/ES8390/音频芯片Linux驱动(Linux6.1内核)

          在嵌入式音频开发中,顺芯( Everest ) ES8389/ES8390 是一款高集成度的音频 Codec 芯片,广泛应用于智
    的头像 发表于 02-02 11:37 2142次阅读
    深度<b class='flag-5'>解析</b><b class='flag-5'>ES</b>8389/<b class='flag-5'>ES</b>8390/<b class='flag-5'>音频</b>芯片Linux驱动(Linux6.1内核)