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.

[参考译文] ADS7830:ADS7830 I2C 问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1195927/ads7830-ads7830-i2c-issue

器件型号:ADS7830

您好!

我们在新项目中使用 ADS7830进行电压采样、现在我们针对 I2C 总线有以下问题:

我们 将 ARM MCU 用于 I2C Matter、将 ADS7830用于 I2C 从器件、现在 MCU 发出 ADS7830地址、并且没有 ACK 信号反馈;

2.波形如下:

3. 基于上述,我们再次发送地址信号,有 ACK 信号反馈,ADC 正常;

4.我们测试其他电路板,这个问题只针对第一次上电,我们认为这是 概率事件;

我们查看了原理图、不知道是否有任何错误、原理图如下所示:

         

6. Plesae 非常友好地查看上述原理图,并分享您的意见如何解决这个问题,谢谢。

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

    1. 一个问题是、不良通信的 i2c 通信仅具有8个时钟脉冲。 一个正常的 I2C 事务有8个数据时钟和一个用于确认的时钟。  您能否解释一下您的交易为什么没有9个时钟?  您使用的是内置 i2c 控制模块还是“位拆裂”i2c。
    2. 另一个问题是 I2C 地址控制引脚(A0、A1)连接到数字控制线路。 通常、这些引脚被连接至一个固定的逻辑电平(高电平= VDD、低电平= GND)。  为了进行调试、您能否尝试将这些引脚永久连接到 GND。

    我希望我们能够快速解决您的问题。  

    此致、

    艺术

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

    尊敬的 Art:

    请参阅以下答复:

    项目1:我们使用的是"位拆裂"i2c、由于主器件(控制器:ARM 处理器)正在等待从器件(ADS7830)将 SDA 信号拉低(等待从器件发送一个 ACK 响应)、因此只有8个时钟;

    项目2: A0/A1引脚直接连接到 GND;

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

    1. i2c 总线是否在器件之前通电? 这样做可能会导致操作异常、并在技术上违反 ABS 最大规格。 或者、如果在加电期间数字输入上存在瞬变、则可能会将其解释为数字数据、并可能使器件进入不良状态。  在任何情况下、我认为加电时都会发生一些事情、使器件进入不良状态。  您可能希望在上电后发送一个 i2c 常规调用复位(常规调用、(0000 0000)、发送0000 0110 (06h)、因为第二个字节会导致软件复位)。
    2. 关于项目1、您可以在加电期间在 SCL 和 SDA 以及 Vdd 上放置一个示波器、以查看是否发现瞬变或 i2c 是否在 Vdd 之前加电。
    3. 我建议始终使用标准 i2c 帧。 换句话说、让主器件发出一个时钟脉冲以进行确认、而不管从器件是否进行确认。  在没有应答时钟的情况下发送8个时钟不是正常的 i2c 传输。  我同意 ADS7830应该已经将 SDA 拉至您的第一个波形的低电平、但在这种情况下、您不应该忽略发送第9个时钟。  如果多个 i2c 器件共享一条总线、这种情况尤其如此、因为这是一种异常的 i2c 交易。  
    4. 总之、我认为有人会在上电后将器件置于不良状态。 理想情况下、您应该识别问题并加以纠正。  但是、如果清除错误、则可以进行良好的 i2c 通信。

    此致、Art

x 出现错误。请重试或与管理员联系。