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.

[参考译文] DAC5571:总线清除功能

Guru**** 2798555 points

Other Parts Discussed in Thread: DAC5571

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1621160/dac5571-bus-clear-function

器件型号: DAC5571

您好的团队、

该器件是否包括 I2C 的总线清除功能? 由于没有复位引脚、DAC5571 似乎没有总线清除功能。

image.png

此致、

山本俊介

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

    您好的团队、

    如果在 SCL 线和 SDA 线上发送数据期间从 MCU 到 SCL 线的时钟突然停止、DAC5571 如何识别?

    此致、

    山本俊介

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

    你好、Yamamamamamamoto-San

    该器件没有任何 I2C 清除功能。 如果 I2C 出现故障、必须对器件进行硬件复位。

    如果 SCL 突然停止、器件将等待命令完成。 数据表未指定任何超时函数。  

    谢谢、
    Erin

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

    山本山


    DAC5571 没有用于复位任何 I2C 通信的 RESET 引脚。 您从 3.1.16 总线清除中削波的这一部分来自 I2C 规范。 它描述了用于释放总线的时钟输出 9 个脉冲。 这是一种在时钟沿输出目标器件可能剩余的任何数据的机制、应适用于大多数器件、包括 DAC5571。 如 Erin 所述、该器件具有上电复位功能以复位器件、但需要断电以复位 I2C 总线。

    如果 SCL 线路在事务过程中突然停止、您需要继续在时钟沿输出字节以释放总线。 如果 MCU 检测到总线处于保持状态(因为该器件未接收到整个传输)、MCU 会按照“总线清除“部分中所述在时钟沿输出 9 个脉冲以释放总线。

    一些较新的器件具有 25ms - 35ms 的 I2C 时钟超时。 如果总线在这段时间内是静态的、则器件会释放 I2C 总线。 该超时来自类似的 PMBus/SMBus 规范、但并不是真正的 I2C 规范。


    Joseph Wu

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

    尊敬的 Erin-san, Joseph-san,

    感谢您的答复。 我完全理解。

    如果 SCL 线路在事务过程中突然停止、您需要继续在时钟沿输出字节以释放总线。 如果 MCU 检测到总线处于保持状态(因为该器件未接收到整个传输)、MCU 会按照“总线清除“部分所述在时钟沿输出 9 个脉冲以释放总线。

    关于上面的注释、是否可以输入包含开始和停止条件的一个事务、而不是在 CLK 线上输入时钟?

    此致、

    山本俊介

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

    山本山


    控制器 可以尝试在 9 个时钟周期的开始和结束时执行启动和停止条件。 但是、控制器无法控制总线。 由于目标器件在控制总线、因此总线一直处于低电平。

    您可以在 I2C 基本指南 (https://www.ti.com/lit/pdf/sbaa565):) 中找到此图

    当总线连接时、SDA 已经为低电平。 启动条件从 SDA 变为低电平开始、随后 SCL 从高电平开始、然后变为低电平。 由于总线已连接、因此不能发生启动、因为 SDA 无法转换为低电平。 发送 9 个时钟周期后、目标器件应释放总线。 此时、应可以出现停止条件。  


    Joseph Wu