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.

[参考译文] PCM1690:驱动 BCK - I2S 主模式?

Guru**** 2390755 points
Other Parts Discussed in Thread: PCM1690, TLV320ADC5140

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1012980/pcm1690-driving-bck---i2s-master-mode

器件型号:PCM1690
主题中讨论的其他器件: TLV320ADC5140

我们有一个采用 PCM1690的设计、其中它由软件编码 I2C 总线控制、用于 I2S 从模式。 I2C 总线上有很多通信、每隔几毫秒轮询一次等、然后到达总线上的其他器件。 PCM 仅在复位后初始化一次。 几分钟后、PCM1690开始像 I2S 主机一样运行、并输出位时钟和字时钟。 这当然会导致总线出现音频问题。 这怎么会发生? 根据数据表、PCM 没有 I2S 主控模式。 我怀疑从总线中读取一些其他信息有误、或者其他一些原因可能会将其设置为主控模式? 或者、我是否完全错误了、而且 IC 甚至没有该引脚上的驱动器? 我添加了一些与 BCK 和 WCK 串联的47R 电阻器、可以测量这些电阻器上的电压很高(约0.5V、表示驱动电流约为10mA)。 请告诉我 PCM 是否确实可以进入 I2S 主模式、以及如何操作、以便我能够找出根本原因。 谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jeroen、

    很抱歉耽误你的时间。 我们  将对此进行探讨、并向您提供答案。

    此致、

    Arash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jeroen、

    这是一种奇怪的行为! 您能否确认、如果从 I2C 总线断开 PCM1690、它从未进入此模式? 您能否确认 I2C 总线上没有共享器件地址? 即使寄存器地址不同、让多个器件共享一个器件地址也是不好的做法。

    谢谢、

    Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Paul:

    我在一段时间前做了一个测试、没有断开引脚连接、而是停止了 I2C 总线上的通信、问题没有发生。 我现在是度假,直到7月底,然后我可以重复这项试验。

    至于从器件地址:当然、我们在总线上没有多个具有相同从器件地址的器件。 甚至不接近、始终至少有2位差。 不管怎样、总共只有3个器件:PCM1690 (0x9e)、TLV320ADC5140 (0x98)和具有两个 I2C 地址0x68和0x6A 的 EFM 处理器。 PCM 和 TLV 在启动时只写入一次、这是正常的。 然后、每隔100ms 左右轮询一次 EFM。

    那么、PCM 是否具有"隐藏"主模式、可以通过某种方式激活? 您是否知道 PCM 如何将 I2C 数据解释为起始条件并开始侦听数据? 这是我唯一能想到的解释、即一些随机数据被读取为 PCM 地址、然后是更多数据、这些数据随后会在 PCM 中设置一些随机寄存器。

    此致、Jeroen