瑞芯微RK3506核心板/开发板DSM音频开发实战,关键知识点与实操案例必看攻略! - 教程

news/2025/9/27 7:13:10/文章来源:https://www.cnblogs.com/lxjshuju/p/19110468

本文基于触觉智能RK3506核心板/开发板,介绍DSM音频功能使用攻略。

DSM简介

  • DSM

DSM(Delta-Sigma Modulation,德尔塔-西格玛调制)音频原理,DSM 的核心是一种过采样噪声整形技术,它的目标不是一次性精确地记录每个采样点的幅度,而是通过极高的采样率来记录相邻采样点之间的变化(Delta, Δ),并将量化误差(噪声)推挤(Sigma, Σ, 意为求和与积累) 到人耳不敏感的高频区域,再通过数字滤波器将其滤除。

  • DSM应用

以ADC为例,负责将麦克风、乐器等模拟音频信号转换为数字信号,DSM 技术在此场景中解决了 “高精度与低成本” 的矛盾 —— 传统多位数 ADC(如 16 位、24 位)依赖复杂的模拟电路来保证精度,而 DSM ADC 通过 1 位量化器 + 过采样 / 噪声整形,用数字算法替代部分模拟电路成本,同时实现更高动态范围。像汽车音频:车载麦克风(用于语音助手、降噪通话)。汽车环境存在发动机、风噪等干扰,DSM 的噪声整形技术可将量化噪声推至人耳不敏感的高频段(>20kHz),提升语音信号的信噪比。

硬件连接参考

  • 硬件修改

触觉智能RK3506开发板由于默认使用ES8388音频编解码芯片,需整改硬件,修改如下:空贴R183、R174,焊接R180、R178。

图片

图片

触觉智能RK3506开发板,相关底板详细资料请关注深圳触觉智能CDSN或  官方客服134   2385   6106,提供软硬件资料与Demo。

内核配置

  • 打补丁

将触觉智能提供的RK3506网盘中,软件资料/Linux/patch/dsm路径下的文件替换<SDK_PATH>/kernel/sound/soc/codecs/下的文件。

  • DTS配置

相关配置如下,需要注意以下2点:

1.RK3506 sndcpu必须为sai3。

dsm_sound: dsm-sound {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = ;
simple-audio-card,name = "rockchip,dsm-sound";
simple-audio-card,bitclock-master = ;
simple-audio-card,frame-master = ;
sndcpu: simple-audio-card,cpu {
sound-dai = ;
};
sndcodec: simple-audio-card,codec {
sound-dai = ;
};
};
&acdcdig_dsm {
status = "okay";
};
&sai3 {
status = "okay";
};
&audio_codec {
status = "okay";
};

2.触觉智能RK3506开发板(EVB3506)的es8388声卡与DSM复用,所以配置DSM功能前需先关闭es8388相关配置。

es8388_sound: es8388-sound {
status = "disabled";
compatible = "rockchip,multicodecs-card";
rockchip,card-name = "rockchip-es8388";
spk-con-gpio = ;
rockchip,pre-power-on-delay-ms = ;
rockchip,post-power-down-delay-ms = ;
rockchip,format = "i2s";
rockchip,mclk-fs = ;
rockchip,cpu = ;
rockchip,codec = ;
rockchip,audio-routing =
"Headphone", "LOUT1",
"Headphone", "ROUT1",
"Speaker", "LOUT2",
"Speaker", "ROUT2",
"Headphone", "Headphone Power",
"Headphone", "Headphone Power",
"Speaker", "Speaker Power",
"Speaker", "Speaker Power",
"RINPUT1", "Main Mic",
"RINPUT2", "Main Mic",
"LINPUT1", "Headset Mic",
"LINPUT2", "Headset Mic";
pinctrl-names = "default";
pinctrl-0 = ;
};
&i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = ;
es8388: es8388@11 {
status = "disabled";
#sound
-dai-cells = ;
compatible = "everest,es8388", "everest,es8323";
reg = ;
clocks = ;
clock-names = "mclk";
assigned-clocks = ;
assigned-clock-rates = ;
pinctrl-names = "default";
pinctrl-0 = ;
};
};

播放音频测试方法

查看DSM声卡,命令如下:

root@rk3506-buildroot:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: rockchipdsmsoun [rockchip,dsm-sound], device 0: ff4a0000.sai-rk_dsm rk_dsm-0 [ff4a0000.sai-rk_dsm rk_dsm-0]
Subdevices: 1/1
Subdevice
#0
: subdevice
#0
root@rk3506-buildroot:/#

配置功放芯片,将功放芯片开关脚拉高,命令如下:

​​​​​​​
root@rk3506-buildroot:/root# echo 14 > /sys/class/gpio/export
root@rk3506-buildroot:/root# echo out > /sys/class/gpio/gpio14/direction
root@rk3506-buildroot:/root# echo 255 > /sys/class/gpio/gpio14/value

使用aplay播放音频,命令如下:

root@rk3506-buildroot:/# aplay  -Dhw:1,0 1KHZ.wav
Playing WAVE '1KHZ.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

当播放1k频率音频文件,示波器抓取经过RC滤波前后的音频信号如下:

图片

RC滤波前的信号为放大查看:

图片

RC滤波后的音频信号查看:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不只是一台玩具车:开源燃料电池机器人HydroBot全揭秘 - 实践

不只是一台玩具车:开源燃料电池机器人HydroBot全揭秘 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名窗口管理工具需求洞察

该篇文章无摘要a.内容描述核心功能定位:该项目是一个为某知名操作系统设计的窗口管理增强工具,主要功能是通过特定的键盘修饰键配合鼠标拖拽操作,实现窗口的便捷移动和大小调整。其设计理念借鉴了多个X11/Linux窗口…

嘉定企业网站制作做的网站需要买什么服务器

在windos10系统电脑中使用SolidWorks时&#xff0c;发现软件运行速度很慢&#xff0c;感觉非常烦恼。这是怎么回事呢&#xff1f;SolidWorks是基于Windows平台来开发的&#xff0c;所以Windows的一些设置也会影响SW的运行速度&#xff01;下面&#xff0c;就随小编一起看看让So…

OS-KylinV10-加载动态库运行异常-全局函数重名或未使用命名空间

OS-KylinV10-加载动态库运行异常-全局函数重名或未使用命名空间 Record: 在KylinV10上调用编译完成的C++的一组计算动态库,出现崩溃问题。(Windows上运行正常) 调用方式:Java通过JNA单线程循环调用该组动态库内不同…

详细介绍:【代码】关于C#支持文件和文本框的简单日志实现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

前端笔记:vue中 Map、Set之间的采用和区别

前端笔记:vue中 Map、Set之间的采用和区别2025-09-25 08:01 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: blo…

性能暴涨50%:PD分离KV cache传输的实战干货

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 最近我们团队[1]在vLLM上开发了一种KV cache传输的connector,实现…

加强对网站建设php做的网站如何运行

在C语言编程中&#xff0c;使用scanf函数输入字符串是一项基本操作。然而&#xff0c;当我们尝试在for循环中使用scanf输入字符串时&#xff0c;可能会遇到意外的问题&#xff0c;导致循环无法正常执行。本文将深入探讨这个问题&#xff0c;并提供解决方案&#xff0c;让你能够…

做网站店铺图片用什么软件株洲网站建设的企业

目录 1.什么是链表&#xff1f; 2.链表的分类 &#xff08;1&#xff09;无头单向非循环链表&#xff1a; &#xff08;2&#xff09;带头双向循环链表&#xff1a; 3.单链表的实现 &#xff08;1&#xff09;单链表的定义 &#xff08;2&#xff09;动态创建节点 &#…

【GitHub每日速递 250925】 一套代码跑遍全平台!Flutter 让你的应用开发提速 10 倍

原文:https://mp.weixin.qq.com/s/diCHi4TGuroj4IuJL1j2zA Mac用户福音!Ice菜单管理神器,功能超多超强大! Ice 是一个功能强大的菜单栏管理工具的 macOS 应用。简单讲,它能帮你自动整理和隐藏菜单栏图标,让顶部状…

网站建设报价模板四川住房和建设厅网站

技术背景 我们在做执法记录仪或指挥系统的时候&#xff0c;会遇到这样的情况&#xff0c;大多场景下&#xff0c;我们是不需要把设备端的数据&#xff0c;实时传给国标平台端的&#xff0c;默认只需要本地录像留底&#xff0c;如果指挥中心需要查看前端设备实时数据的时候&…

会展免费网站模板公司域名不变网站做变动

本文收录于《AI绘画从入门到精通》专栏,订阅后可阅读专栏内所有文章,专栏总目录:点这里。 大家好,我是水滴~~ 本文主要介绍在 Stable Diffusion WebUI 中使用 ControlNet 的 depth_zoe 预处理器时,出现的 RuntimeError: Error(s) in loading state_dict for ZoeDepth 异常…

未来做啥网站能致富推广计划ppt

Re介绍一下CentOS下MySQL数据库的安装与配置方法MySQL数据库配置的具体步骤&#xff1a;1、编辑MySQL的配置文件&#xff0c;使用vi /etc/my.cnf[rootsample ~]# vi /etc/my.cnf  ← 编辑MySQL的配置文件[mysqld]datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sock# Defau…

本网站服务器多个wordpress 合并

企智汇项目管理软系统是一款支持私有化部署的项目管理系统&#xff0c;适合大型、中型、小型企业的不同需求。企智汇软件是一个专业的项目全周期管理平台&#xff0c;拥有10年的项目管理经验&#xff0c;以项目为中心&#xff0c;通过计划控制进度&#xff0c;预算控制成本&…

上海芯片上市公司市值大揭秘!谁是“芯”界顶流?

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087上海芯片上市公司市值大揭秘!谁是“芯”界顶流?上海作为中国集成…

如何设计一个高端网站简洁大方大气wap啥梗

Primary介绍 Primary 是 Spring 框架中的一个注解&#xff0c;用于在多个相同类型的 bean 中指定一个默认的 bean。当 Spring 容器在自动装配时遇到类型冲突&#xff0c;即存在多个相同类型的 bean 时&#xff0c;如果没有使用 Qualifier 或其他方式指定具体的 bean&#xff0…

百度云分享tp响应式网站开发国家标准下载网免费

首先介绍计算机的二进制码 二进制常用的有原码&#xff0c;反码和补码&#xff0c;他们都是由最左边的一个符号位和右边的数值位构成。在计算机中为了更低成本的计算&#xff0c;数据都是用补码来存储和运算的。 原码 最高位表示符号位&#xff08;0代表正数&#xff0c;1代…

建设工程扣分查询网站wordpress 倒计时

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

湖南太平洋建设集团网站猴王水果竞猜网站建设

关键字static的作用是什么&#xff1f; 这个简单的问题很少有人能回答完全。在C语言中&#xff0c;关键字static有三个明显的作用&#xff1a; 1、在函数体&#xff0c;一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2、 在模块内&#xff08;但在函数体外&…

网站成本费用网络营销效果评估的作用

1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 &#xff08;1&#xff09;直接转换命令&#xff1a; ffmpeg -i out.mp4 out.gif(2) 带参数命令&…