TI论坛
直播中

王锦霞

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

DAC121C085在IIC通讯时候会偶尔会出现,芯片SDA脚一直被下拉状态,只能断电重启才可以恢复,为什么?


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

回帖(4)

王静

2024-11-15 11:43:51
I2C总线上只有DAC121C085一个器件吗?SDA一直为低,会被认为总线一直处于占用状态,主机会一直等到,直到SDA释放到高电平。
举报

喻唯

2024-11-15 11:44:00
在多次通讯偶尔其中一个DAC芯片的SDA会一直拉低.

有没有通过示波器看下这个I2C的时序,这颗DAC芯片是DAC121C085吗?可以通过时序图看下是什么情况导致SDA拉低。比如在发送给主机ACK信号之后一直拉低还是其他情况。
另外,主机的I2C是GPIO模拟的I2C吗?如果是的话,要看下GPIO内部是否有上拉,这样外部就不需要再上拉了。
举报

袁嫚玲

2024-11-15 11:44:24
  频繁的对I2C进行配置。那每一次改变是否等到上一次转换完成再对其进行配置?
或者说每次对I2C进行配置的时候,是否每次都能收到ACK信号?
我想频率的配置不是问题,而是要注意观察它的时序,保证每次配置都能收到ACK信号,才能确保配置没问题从而输出也没问题。
举报

爱与友人

2024-11-15 18:21:35
DAC121C085是一款12位数字模拟转换器(DAC),在I2C通信中可能出现SDA脚被下拉的情况。这种情况可能是由多种原因引起的,以下是一些可能的原因和解决方案:

1. 线路问题:检查I2C总线上的连接是否正确,确保SDA和SCL线没有短路或接触不良。同时,检查电源和地线是否连接正确。

2. 外部干扰:电磁干扰可能导致I2C总线上的信号不稳定。尝试使用屏蔽线缆或增加滤波器来减少干扰。

3. 软件问题:检查I2C通信协议的实现是否正确,确保没有错误的时序或命令。可以尝试使用不同的软件库或示例代码来排除软件问题。

4. 芯片保护模式:DAC121C085内部可能存在保护机制,当检测到异常信号时,可能会将SDA引脚下拉。这种情况下,可以尝试查阅芯片的数据手册,了解是否有相关的保护机制,并按照手册中的建议进行操作。

5. 芯片损坏:如果以上方法都无法解决问题,可能是DAC121C085芯片本身存在问题。可以尝试更换一个新的芯片来排除硬件故障。

总之,要解决这个问题,需要从硬件和软件两方面进行排查。首先检查线路连接和外部干扰,然后检查软件实现,最后考虑芯片保护模式和硬件故障。希望这些建议能帮助您解决问题。
举报

更多回帖

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