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.

[参考译文] DAC43608:I2C 超时功能、用于异常通信。

Guru**** 1794070 points
Other Parts Discussed in Thread: LM73, DAC43608
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/857205/dac43608-i2c-time-out-function-for-abnormal-communication

器件型号:DAC43608
主题中讨论的其他器件:LM73

你(们)好

我的客户需要 考虑 I2C 通信错误时的重启方法。

例如、LM73 (温度传感器)具有 I2C 的超时功能。 因此、客户计划 使用此功能。

 当 I2C 通信错误时、您对 DAC43608的重新启动方法有什么好主意吗?

软件复位是一种复位方法、假定可以进行 I2C 通信。 他们不能使用它。

谢谢

穆克

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

    您好、Mukuno-San、

    DAC43608没有复位引脚或这个超时功能。  如果 I2C 线路上存在故障、则在通过 I2C 写入单个字节的同时保持 SDA 为高电平将复位 DAC43608 I2C 接口、前提是您只关心接口是否保持故障状态。  否则、我们还有一个清零引脚(CLR)、该引脚将在引脚置为低电平时将 DAC 设置为零代码。  虽然这不是完全复位、但至少会使模拟侧进入已知状态。   

    谢谢、

    Paul

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

    尊敬的 Paul-San:

    客户的理解是、如果 SDA 保持高电平8个时钟、则可复位接口。 正确吗?
    是否有办法判断接口是否已复位?

    谢谢

    穆克

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

    您好、Mukuno-San、

    我认为没有办法知道接口是否被复位(如标志或状态寄存器中)。  但是、如果主器件中存在故障、使 DAC 处于尝试下拉 SDA 线的状态、则该命令的目的是复位 I2C 接口。  例如、假设主器件正在从 DAC 从器件读取一个字节、但主器件仅在4位后停止 SCL。  这将使从器件在保持 SDA 的同时等待剩余的 SCL 脉冲。  

    这种情况会阻止主器件在恢复后与总线上的任何其他器件进行通信。  在这种情况下、RESET 接口命令很有用。

    谢谢、

    Paul