TI论坛
直播中

张超

7年用户 1301经验值
私信 关注
[问答]

PCM3168的I2C接口访问不回ACK是怎么回事?


  • 我在用DSP的I2C接口访问PCM3168A的时候遇到了问题:发完从地址以后,发现PCM3168不回ACK,请问要想让这个片子的控制接口工作在I2C模式下,除了配置MODE、ADR0、ADR1以外还需要其它特殊配置吗,和系统时钟SCKI有关系吗,时序上面看过了,应该没有问题的,访问这条总线上的其它片子都会回ACK,感觉就是这个片子没有进入I2C模式,对照datasheet暂时看不出来哪里有问题,还请帮忙分析下,谢谢~

回帖(2)

陈磊

2024-10-31 15:35:03
发现 I2C 从机不回 ACK,如果连接和上电正常, 要不是地址错了, 要不从机还没有就绪, 还不能接受命令.
举报

贾熹

2024-10-31 18:04:26
根据您的描述,PCM3168的I2C接口访问不回ACK的问题可能与以下几个方面有关:

1. 硬件连接问题:请检查PCM3168的I2C接口与DSP的I2C接口之间的连接是否正确。确保SDA(数据线)和SCL(时钟线)没有短路或断路,并且它们之间的电阻值符合I2C规范。

2. 时钟频率问题:I2C通信需要在特定的时钟频率下进行。请检查您的系统时钟SCKI是否与PCM3168的I2C时钟频率兼容。PCM3168的I2C时钟频率范围为100kHz至400kHz。如果您的系统时钟频率超出了这个范围,可能会导致通信问题。

3. 地址配置问题:请确保您正确配置了PCM3168的MODE、ADR0和ADR1寄存器。这些寄存器决定了I2C通信的地址和模式。请参考PCM3168的数据手册,确保您的配置正确。

4. I2C总线冲突:请检查您的I2C总线上是否有其他设备占用了PCM3168的地址。如果有冲突,可能会导致PCM3168无法正确响应。

5. 电源问题:请检查PCM3168的电源是否稳定。不稳定的电源可能会导致I2C通信问题。

6. 软件问题:请检查您的DSP代码是否正确实现了I2C通信协议。确保您正确发送了起始条件、地址、读写位和停止条件。

综上所述,您需要从硬件连接、时钟频率、地址配置、I2C总线冲突、电源和软件等方面进行排查。希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分