关于在自定义开发板 (ESP32 DevKit V1) 上适配无 I2C 控制的 CS4344 DAC 和 INMP441 麦克风的音频配置咨询 #2025
Unanswered
gharidepanggi
asked this question in
Q&A
Replies: 1 comment 2 replies
-
|
面包板和无名科技[xingzhi系列]的板子有用 NoAudioCodec,你可以参考一下。 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
开发者您好,
非常感谢您开源了小智 AI 这样优秀的项目!目前我正在尝试基于官方的自定义开发板教程,制作一款属于自己的固件。但在适配音频硬件的过程中遇到了技术瓶颈,特来向您请教。
1. 我的硬件环境 (Hardware Specifications)
2. 引脚连接情况 (GPIO Wiring)
3. 目前遇到的主要困惑与问题 (Issues Encountered)
由于框架默认推荐使用类似 ES8311 这种通过 I2C 配置寄存器的音频芯片,而在我的板子上:
NoAudioCodec作为驱动,系统会因为获取到的sample_rate或者是 Opus 解码器配置为 0 而导致内核崩溃,触发频繁的 Bootloop (不断重启)。board.cc中通过底层的原生 ESP-IDF 代码(i2s_new_channel)绕过现有的esp_codec_dev框架构建纯粹的PasifI2sCodec硬件管道,虽然能够成功配置并连接 WiFi/MQTT 进入listening状态而不再重启,但是设备依然处于完全无法发声且麦克风无响应的“聋哑”状态。因为硬件已经完全焊接固定(CS4344 必须采用 Left-Justified 格式,而 INMP441 需要标准 Philips I2S 格式分属双工通信),请问在当前小智的框架体系下,应该如何最优雅、最正确地编写
board.cc来让这种无 I2C 模块的纯 I2S 输入输出硬件(CS4344 + INMP441)正常协同工作?4. 编译环境补充 (Compilation Environment)
另外,补充一下我的编译环境:我目前是在手机上通过 Termux Ubuntu 虚拟环境进行编译的,使用的是 ESP-IDF v5.5 版本。鉴于底层音频驱动(例如 I2S 标准驱动在不同 IDF 版本间的 API 变化较大),请问我是否有必要将小智的项目源码或者 ESP-IDF 的版本降级(例如降到常用的 IDF v5.1 或 v5.3)以获得更好的音频框架稳定性?
期待您的指点和解答,非常感谢您的宝贵时间!
Beta Was this translation helpful? Give feedback.
All reactions