工具与软件:
我正在尝试将 ESP32与 I2S 配合使用、以在8 Ω 扬声器上生成音调。 工作条件:
- Saif: I²S
- 16位数据、I2S_SLOT_BIT_WIDTH_32位
- RCLK = 48kHz
- BCLK = 3.072 MHz
- MCLK=BCLK
但我无法获得任何音频、并且故障寄存器始终返回位3有效。 FAULTZ 引脚始终为高电平。 不过、我在数据表中没有找到任何有用的内容。 是否有人知道会发生什么情况? 这是 I2S 配置。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我正在尝试将 ESP32与 I2S 配合使用、以在8 Ω 扬声器上生成音调。 工作条件:
但我无法获得任何音频、并且故障寄存器始终返回位3有效。 FAULTZ 引脚始终为高电平。 不过、我在数据表中没有找到任何有用的内容。 是否有人知道会发生什么情况? 这是 I2S 配置。
从表9中读取的 ADDR 为8、而变为高电平的位为3 (CLKE)。
我使用的库如下所示: github.com/.../TAS5720-Arduino
表9中的所有寄存器都使用变量 uint8_t 进行读取
I (10579) TAS5720:从寄存器0x00读取数据0x01 
E (10579)标签信息:地址0:1 
I (10589) TAS5720:从寄存器0x01读取数据0xFC 
E (10589)标签信息:地址1:252 
I (10599) TAS5720:从寄存器0x02读取数据0x14 
E (10599)标签信息:地址2:20 
I (10609) TAS5720:从寄存器0x03读取数据0x80 
E (10609)标签信息:地址3:128 
I (10619) TAS5720:从寄存器0x04读取数据0xFF 
E (10619)标签信息:地址4:255 
I (10629) TAS5720:从寄存器0x06读取数据0x59 
E (10629)标签信息:地址6:89 
I (10639) TAS5720:从寄存器0x08读取数据0x08 
E (10639)标签信息:地址8:8 
I (10649) TAS5720:从寄存器0x10读取数据0xFF 
E (10649)标签信息:地址10:255 
I (10659) TAS5720:从寄存器0x11读取数据0xFC 
E (10659)标签信息:地址11:252 
我进行了一些更改并获得了以下结果:
I (10392) TAS5720:从寄存器0x00读取数据0x01 
E (10392)标签信息:地址0:1 
I (10402) TAS5720:从寄存器0x01读取数据0x00 
E (10402)标签信息:地址1:0 
I (10412) TAS5720:从寄存器0x02读取数据0x04 
E (10412)标签信息:地址2:4 
I (10422) TAS5720:从寄存器0x03读取数据0x80 
E (10422)标签信息:地址3:128 
I (10432) TAS5720:从寄存器0x04读取数据0xCF 
E (10432)标签信息:地址4:207 
I (10442) TAS5720:从寄存器0x06读取数据0x55 
E (10442)标签信息:地址6:85 
I (10452) TAS5720:从寄存器0x08读取数据0x08 
E (10452)标签信息:地址8:8 
I (10462) TAS5720:从寄存器0x10读取数据0xFF 
E (10462)标签信息:地址10:255 
I (10472) TAS5720:从寄存器0x11读取数据0xFC 
E (10472)标签信息:地址11:252 
我将关断位设置为 true、系统本身自动进入关断模式
您好、Sam、
我没有更改该寄存器;它自己变为零。 我向其写入了值0xFD。 但是、错误仍然存在。 这些寄存器如下:
I (10369) TAS5720:从寄存器0x00读取数据0x01 
E (10369)标签信息:地址0:1 
I (10379) TAS5720:从寄存器0x01读取数据0xFD 
E (10379)标签信息:地址1:253 
I (10389) TAS5720:从寄存器0x02读取数据0x04 
E (10389)标签信息:地址2:4 
I (10399) TAS5720:从寄存器0x03读取数据0x80 
E (10399)标签信息:地址3:128 
I (10409) TAS5720:从寄存器0x04读取数据0xCF 
E (10409)标签信息:地址4:207 
I (10419) TAS5720:从寄存器0x06读取数据0x55 
E (10419)标签信息:地址6:85 
I (10429) TAS5720:从寄存器0x08读取数据0x08 
E (10429)标签信息:地址8:8 
I (10439) TAS5720:从寄存器0x10读取数据0xFF 
E (10439)标签信息:地址10:255 
I (10449) TAS5720:从寄存器0x11读取数据0xFC 
E (10449)标签信息:地址11:252 
嗨、airton、
1. MCLK 可以直接连接到 BCLK、能否仔细检查 BCLK 与 RCLK 的比率是否始终为64、LRCLK 是否始终为48kHz?
2.请检查/FAULTZ 引脚是否有连接到 DVDD 引脚的上拉电阻。
3. /FAULTZ 引脚是否会被拉低? 如果发生 Saif 时钟错误、TAS5720M 将进入睡眠模式、且/FAULTZ 引脚变为低电平。 在 Saif 时钟错误期间、FAULTZ 引脚将被置为低电平、而 CLKE 位将被置为高电平(寄存器0x08位3)。
此致、
Sam
嗨、airton、
您可以发送时钟波形和 PWM 信号的示波器快照吗? 如果您有 TAS5720MEVM、您可以尝试将 I2S 信号馈送到 EVM (将 MCLK 和 BCLK 短接在一起)并报告 FAULT 引脚的状态。
您在问题中共享的代码格式不正确。 请以清晰可辨的 I2S 和 I2C 格式提供更新的代码、以便我们对其进行调试。 谢谢。
谢谢你。
此致、
Sam
以下是带有 ESP32-S3的 ESP-IDF 扩展的 VS Code 的完整项目:e2e.ti.com/.../teste_5F00_i2s_5F00_std-_2800_2_2900_.zip
嗨、airton、
请勿将 SDZ 引脚连接到 FAULTZ 引脚。 请将 SDZ 引脚单独拉至高电平以开启放大器。 在第三个示波器屏幕截图中、PWM 开关频率正在变化、因此您必须有某种音频输出。 请尝试应用不同的输入、不应用任何输入、然后记录您在输出中看到的内容。 这是为了查看输入信号是否根本改变 PWM 频率、如果没有输入、信号应该处于空闲状态。 我们建议您购买我们的 EVM、因为我们无法调试您的代码、因为代码是特定于您的应用的。 谢谢。
此致、
Sam