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.

DAC121C085: I2C通讯问题

Part Number: DAC121C085

Hi team,

我们在IIC通讯时候会偶尔会出现,芯片SDA脚一直被下拉状态,只能断电重启才可以恢复,是不是芯片内部进入了某种保护模式?

  • 您好,I2C总线上只有DAC121C085一个器件吗?SDA一直为低,会被认为总线一直处于占用状态,主机会一直等到,直到SDA释放到高电平。

  • Hi Kailyn,

    单片机的IIC直连接了两个一样的DAC芯片,在多次通讯偶尔其中一个DAC芯片的SDA会一直拉低.我使用飞线连接芯片SDA到单片机,在现象出现后,断开SDA到单片机连接,发现SDA总线是被其中一个DAC芯片内部拉低的

  • 在多次通讯偶尔其中一个DAC芯片的SDA会一直拉低.

    有没有通过示波器看下这个I2C的时序,这颗DAC芯片是DAC121C085吗?可以通过时序图看下是什么情况导致SDA拉低。比如在发送给主机ACK信号之后一直拉低还是其他情况。

    另外,主机的I2C是GPIO模拟的I2C吗?如果是的话,要看下GPIO内部是否有上拉,这样外部就不需要再上拉了。

  • Hi Kailyn,

    两颗芯片都是DAC121C085,主机的I2C是硬件的I2C,不是GPIO模拟的。

    芯片什么情况会出现,我用飞线断开和主机连接的SDA后,内部SDA还是一直处于拉低状态。

  • SDA上拉阻值为多少?

    正常通讯一段时间,没有进行什么动作,然后SDA被拉低了是吗?

    因为我想可以排除总线电容的关系,总线上只有两个DAC,所以容性负载不会太大。

    其次,上拉阻值应该取的也是合适的,因为开始能正常通讯。

    两个I2C地址没有冲突吧?

  • Hi Kailyn,

    地址是没有冲突,我们进行的动作就是频繁I2C通讯改变DAC输出的模拟值.

  • 频繁的对I2C进行配置。那每一次改变是否等到上一次转换完成再对其进行配置?

    或者说每次对I2C进行配置的时候,是否每次都能收到ACK信号?

    我想频率的配置不是问题,而是要注意观察它的时序,保证每次配置都能收到ACK信号,才能确保配置没问题从而输出也没问题。