https://e2e.ti.com/support/audio-group/audio/f/audio-forum/744260/tas2552-i2c-slave-nak
器件型号:TAS2552主题中讨论的其他器件: TAS2553
大家好、
我的客户在他们的 I2C 总线上看到间歇性问题、在这种情况下、他们从 TAS2552从器件间歇性地获取 NAK。 最初、我们以为是音频芯片使 I2C 主设备达到峰值、但通过查看示波器迹线、我们注意到其他问题可能会出现。 我想请您帮助解决这一问题的原因。
在我进入解释之前、下面是它们设置的概要:
1)我们的器件、具有 I2C 主器件 FSM、数字 PDM CLK 和数据驱动器
2)我们的器件发出的 I2C 信号(SCL/SDA)和 PDM 信号(PDM/PDM_CL)连接到 JP3 + GND 上的引脚
3)通过台式电源为 EVM 提供5V 和3.3V 电压
4) 4)差分模拟音频输出连接到8 Ω 扬声器
我们的应用程序对音频芯片中的 I2C 寄存器进行编程、以将其设置为 PDM 模式、完成此操作后、我们将开始驱动 PDM 时钟和 PDM 数据。
有时、当运行 I2C 初始化时、我们会间歇性地得到一个 NAK (正如我们的 I2C 主设备所见)。 此时的分析是、I2C 主器件 FSM 有时会被混淆、这是因为在 ACK 阶段、如果通过 TAS2552的 SCL、SDA 在下降沿被释放的方式。 请参阅随附的第九个时钟脉冲(即 ACK 阶段)的示波器捕获、一个时钟脉冲具有我们的 I2C 主设备(TAS2552_ACK_Phase)、另一个时钟主设备具有 EVM 板上的 I2C 主设备(EVM_I2C_Master_TAS2552_ACK_Phase)
TAS2552_ACK_Phase:
EVM_I2C_Master_TAS2552_ACK_Phase:
正如您在第一种情况下看到的、SDA 线路在 SCL 线路仍在下降的同时被释放。 有时、这看起来像是 SDA 在 SCL 为高电平时发生变化(看起来像一个使主器件混淆的重复起始条件)。 结果是这一点之后的不可预测的行为。 如果您注意到在第二张图片中、SCL 下降和 TAS2552释放总线且 I2C 主器件接管的"干扰"之间存在一定的间隔。
我知道这是总线上的拉电阻器/电容的函数。 我们很好奇的一点是、TAS2552在 SCL 下降沿(o HOLD)之后似乎不提供和保持。 根据 TAS2552数据表、规定的最短保持时间为10ns。 这是仅对输入的要求吗? 输出保持值是多少? 此外、如果您在第一张图片中注意到、TAS2552无法将 SDA 线路一直驱动至 GND。 我们在该线路上具有更强的上拉电阻(~1.5K)、与 EVM 板上的10K 电阻并联、这会导致每条线路上产生~1.3K 的有效上拉电阻。 因此、灌电流要求为3.3V/1.3K (在我们的例子中、3.3V 是 IOVDD)、这是~2.5mA 的电流、小于 I2C 的3mA 最小要求。 这似乎是合理的、但观察结果是 TAS2552无法灌入如此大的电流。
非常感谢您提供的任何指导/信息。
谢谢、
Mitchell

