主题中讨论的其他器件:LM73、
你(们)好
我的客户需要 考虑 I2C 通信错误时的重启方法。
例如、LM73 (温度传感器)具有 I2C 的超时功能。 因此、客户计划 使用此功能。
当 I2C 通信错误时、您对 DAC43608的重新启动方法有什么好主意吗?
软件复位是一种复位方法、假定可以进行 I2C 通信。 他们不能使用它。
谢谢
穆克
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.
您好、Mukuno-San、
DAC43608没有复位引脚或这个超时功能。 如果 I2C 线路上存在故障、则在通过 I2C 写入单个字节的同时保持 SDA 为高电平将复位 DAC43608 I2C 接口、前提是您只关心接口是否保持故障状态。 否则、我们还有一个清零引脚(CLR)、该引脚将在引脚置为低电平时将 DAC 设置为零代码。 虽然这不是完全复位、但至少会使模拟侧进入已知状态。
谢谢、
Paul
您好、Mukuno-San、
我认为没有办法知道接口是否被复位(如标志或状态寄存器中)。 但是、如果主器件中存在故障、使 DAC 处于尝试下拉 SDA 线的状态、则该命令的目的是复位 I2C 接口。 例如、假设主器件正在从 DAC 从器件读取一个字节、但主器件仅在4位后停止 SCL。 这将使从器件在保持 SDA 的同时等待剩余的 SCL 脉冲。
这种情况会阻止主器件在恢复后与总线上的任何其他器件进行通信。 在这种情况下、RESET 接口命令很有用。
谢谢、
Paul