主题中讨论的其他器件:、 TAS2560、 TAS2563
您好!
我想跟进几个月前发布的有关在嵌入式环境中使用 TAS2559的前一篇帖子。 我们的硬件已经到、我正在尝试使用 PurePath Console 3生成的配置序列和您提供的 Python 脚本启动 TAS2559、但我完全无法让扬声器发出声音。
我们使用 STM32芯片在裸机环境中对 TAS2559进行编程和启用。 我 目前使用的 MCLK = 4.096MHz、BCLK = 1.28MHz、希望在单声道 PCM 模式下支持16kHz 16位单声道音频。 为了实现这一点、我已将音频帧长度设置为80位、因为这会以16kHz 的速率在字时钟上触发脉冲。 我可以使用示波器验证这些信号是否正确生成。
我正在使用的配置可立即启用 TAS2559EVM 评估板上的扬声器、无需额外配置。 在我们的硬件上、在使用生成的头文件对 TAS2559进行编程后、我已采取以下额外步骤:
- 将0x01写入寄存器0x22 DSP_MODE 以手动将芯片设置为智能放大器模式
- 设置寄存器0x2A ASI_CTRL_1中的位1和位2以将 ASI1配置为使用单 PCM
- 将0x01写入寄存器0x2F ASI_CTRL_2以表示 PCM 模式下的16kHz 采样率
- 设置第1页寄存器0x01 ASI1_FORMAT 中的位7、将 ASI1输入模式格式设置为单 PCM。
此外、我还尝试手动设置以下硬件配置寄存器以匹配我们的硬件引脚分配、尽管编程的所有值均列为首选值:ASI1_BCLK、ASI1_WCLK、ASI1_DIN_DOUT、GPIO2_PIN、GPIO4_PIN、 GPI_PIN。
仍然没有声音。
我们板上的所有电源线均按规定工作、并且在容差范围内。 我已经检查了所有记录的状态寄存器。 所有器件都已通电、并且没有报告任何电压、电流或时钟错误。 我们正在使用 I2C 总线对 TAS2559进行编程、所有写入操作均为 ACKed、我可以正确读回写入的寄存器值、因此我相信芯片正在正确接收其程序。 我甚至尝试在 ROM 模式1 (仅 PCM 输入回放)下运行器件、只是为了从器件中获得某种声音、但不起作用。 我是否遗漏了任何内容?
一些其他信息:当我在上一个帖子中无法让评估板产生声音时、问题是时钟不匹配。 在这里、我确信我已经正确配置了芯片、以便从 MCLK 获得4.196MHz 的频率。 BCLK 或 WCLK 是否可能导致问题? 虽然选择了 BCLK 和帧长度来配置16kHz WCLK、但所选的时钟值均未在 Stone 中设置。 也许80位帧长度也可能导致数据问题? 文档指定字时钟的上升沿表示第(n-1)个数据位、但我们在80位帧的前16个时钟周期中发送16个数据位。 我希望帧中剩余的64位被忽略;是这样吗?
我还附加了配置文件及其生成的 C 头文件。
谢谢、
Sam
e2e.ti.com/.../parse.cfge2e.ti.com/.../audio_5F00_config_5F00_generated.h