嵌入式分享#23:嵌入式外设调试思路——Audio调试篇
本篇是《嵌入式外设调试思路》系列的 Audio 调试篇梳理音频外设从硬件、软件到常见故障的通用排查方法。一、常用的 Audio 调试工具类别工具硬件仪器万用表、示波器、信号发生器、AP 音频分析仪调试命令tinyplay / alsa-utilsaplay、arecord、amixer、alsaloopfsprocfs、sysfsiotracesystrace、ftracePC 工具Audacity、Adobe Audition二、调试思路2.1 硬件方面供电与配置一致硬件供电要与软件配置的 IO domain 电压一致否则可能造成功能异常甚至芯片损坏测量信号用示波器测量时钟和数据信号检查时钟频率、幅度、占空比、jitter 等是否符合协议规范。比如工作电压为 3.3 V而实际时钟信号只有 2 V导致采集不到数据——原因可能是被外设拉低、对地短路或者软件电压配置不正确等。2.2 软件方面确认 driver 和 dts 配置进入系统后用i2cdetect -y -a X确认能否正确识别到音频设备Codec通过 procfs 确认声卡注册成功以及时钟设置是否正确最后进行播放 / 录音测试验证功能。三、整体调试步骤第 1 步确认引脚复用情况cat/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins|grepi2s第 2 步确认 Codec 是否识别i2cdetect-y-aX第 3 步确认声卡是否注册成功# cat /proc/asound/cards0[rockchiprk809co]: rockchip_rk809- - rockchip,rk809-codec rockchip,rk809-codec7[Loopback]: Loopback - Loopback Loopback1# ls /dev/snd/by-path controlC7 pcmC0D0p pcmC7D0p pcmC7D1p controlC0 pcmC0D0c pcmC7D0c pcmC7D1c timer第 4 步查看时钟设置是否正确cat/sys/kernel/debug/clk/clk_summary|grep-Ei2s0|mclkcat/sys/kernel/debug/clk/clk_summary|grepi2s0_8ch_mclkoutcat/sys/kernel/debug/clk/clk_summary|egrepi2s0|pll四、排查思路4.1 声卡注册失败确认声卡驱动配置已编译进系统根据 kmsg 定位原因是出在 DAI、CODEC 还是 Machine。比如下面的 log 表示 DAI 未注册上[ 0.584114] rk-multicodecs vad-sound: ASoC: CPU DAI (null) not registeredDAI failDMA 通道资源不足时会导致 DAI 注册失败可关闭其他使用 DMA 的模块后再次确认CODEC fail使用万用表和示波器测量 CODEC 的电压、时钟配合 i2c-tools 确认 I2C 设备通信是否正常。4.2 播放无声确认音频源为非静音文件使用aplay或tinyplay播放定位问题发生在用户态还是内核态播放等待 10 秒以上确认是否为 I/O error 问题使用amixer或tinymix检查 CODEC 内部 DAC 通路是否打开、音量是否静音查看寄存器配置配合芯片手册或 CODEC 手册确认 IOMUX、DAI、CODEC 配置是否正确使用万用表和示波器测量电压、时钟、数据确认电压和时钟正常、数据线上有波形测量 CODEC 近端模拟输出信号是否正常测量 PA 使能 GPIO 电平逐级定位问题点。4.3 录音无声CODEC 端通过信号发生器输入 1 kHz 波形使用arecord或tinycap录音定位问题发生在用户态还是内核态录音等待 10 秒以上确认是否为 I/O error 问题使用amixer或tinymix检查 CODEC 内部 ADC 通路是否打开、音量是否静音查看寄存器配置配合芯片手册或 CODEC 手册确认 IOMUX、DAI、CODEC 配置是否正确使用万用表和示波器测量电压、时钟、数据确认电压和时钟正常、数据线上有波形测量 CODEC 近端模拟输入信号是否正常逐级定位问题点。4.4 I/O error播放或录音 10 秒以上无响应时内核 log 会打印playback/capture write error (DMA or IRQ trouble?)排查方法通过寄存器查询 DAI 控制器的 FIFO COUNT 寄存器看是否已经停止计数通过 procfs 查看 DMA 中断是否在更新cat /proc/interrupts | grep dma通过寄存器查询 DMA 控制器 channel status 寄存器偏移地址 0x100是否异常停止DAI 工作于 slave 模式时请确保外设时钟在 DAI 的整个生命周期内持续提供如果无法保证请保持时钟常开。

相关新闻

如何构建支持多架构的Docker镜像?chinese-poetry-api容器化部署完整指南

如何构建支持多架构的Docker镜像?chinese-poetry-api容器化部署完整指南

如何构建支持多架构的Docker镜像?chinese-poetry-api容器化部署完整指南 【免费下载链接】chinese-poetry-api 📜 诗泉:高性能中国古诗词 API 服务 项目地址: https://gitcode.com/gh_mirrors/ch/chinese-poetry-api 📜 ch…

2026/9/30 23:09:04 阅读更多 →
JuiceFS 企业版 5.4:从千亿文件到百万客户端

JuiceFS 企业版 5.4:从千亿文件到百万客户端

继 JuiceFS 企业版 v5.3 支撑千亿文件规模之后,v5.4 进一步在超大规模场景下提升多项能力。千亿文件规模下,单次操作的细小开销也会累积成显著的资源负担,元数据分区部署后需要协调不同节点,兼顾性能、数据一致性与稳定性。围绕这…

2026/9/30 23:09:04 阅读更多 →
Python09:核心语法-数据存储与运算-字面量

Python09:核心语法-数据存储与运算-字面量

Python核心语法:数据存储与运算数据的逻辑处理数据存储容器函数面向对象基础数据存储与运算:字面量与变量常见数据类型输入与输出运算符一、字面量字面量决定数据在代码中怎么写(编写方式);变量决定数据在代码中如何存…

2026/9/30 23:09:04 阅读更多 →

最新新闻

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱Bilibili 同步视频游戏逻辑 vs 游戏引擎,剧本和摄影机的区别现代游戏引擎都包含哪些模块?游戏编辑器:游戏开发者的工作台数学,游戏引擎的内功根基需要重点掌握的数学知…

2026/9/30 23:59:29 阅读更多 →
中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关

中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关

近日,中国科学院青藏高原研究所、国家青藏高原科学数据中心联合国内多个地学数据中心科研人员,系统提出了“人工智能就绪地球科学数据(AI-ready geoscience data)”的定义框架与实现路径。当前,“人工智能就绪数据&…

2026/9/30 23:59:29 阅读更多 →
智能车竞赛芯片选型指南:从主频、资源到双核与生态的决策链

智能车竞赛芯片选型指南:从主频、资源到双核与生态的决策链

1. 为什么第十五届的“芯片选型”忽然成了所有人绕不开的话题从第十五届备赛周期开始,智能车竞赛里的一个趋势变得非常明显:你打开官方通知后,第一件事不再是去翻上届学长传下来的代码,而是先去看“主控芯片”那一栏还能不能沿用老…

2026/9/30 23:59:29 阅读更多 →
MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 23:59:29 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →