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.

[参考译文] ADS7924:ADS7924 I2C寄存器读/写

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/664788/ads7924-ads7924-i2c-register-read-write

部件号:ADS7924

尊敬的Evan:

遗憾的是,旧线程(同名)似乎已关闭,因此我必须启动新线程。

现在有了新的硬件,这次是在专业的回流过程中生产的,而不是手工焊接。 遗憾的是,仍然存在相同的问题:无法读取/写入ADS7924寄存器。

完全按照您告诉我的顺序:

1)重置设备之前,请先读取设备ID (寄存器16)
2)通过将0xAA编程为寄存器16来重置设备
3)再次读取设备ID
4)使用0x80对寄存器0进行编程,使其进入唤醒模式,就像您之前尝试的那样

这一切都在一个序列中完成,设备通电后的第一个操作。

我甚至无法读取ADS7924的设备ID,但设备会确认其地址。

已检查耗材:
AVDD:4.99V
DVDD 5.16V

还检查了I2C线路上的电平,看起来不错。

示意图:

尝试获取ADS7924EVM-PDK,但失败了:仅获得ADS7924EVM两次。

所有其他I2C设备都对其地址作出响应,因此没有其他设备使用相同的地址。

我们能做些什么?

此致

Ren é

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

    您好,Rene:

    我查看了您之前的逻辑镜头,我觉得您使用了错误的值来寻址设备。  似乎您正在写入0x48 (数据表中显示的地址),但 您应该发送0x90。  很容易忘记将7位地址移动一个。  请参阅ADS7924数据表第22页上的图29作为示例。

    此致,

    Bob B

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

    尊敬的Bob:

    我确实使用了地址0x90 (您可以在跟踪中看到MSB是1 -它只是分析器以这种方式解释地址)。

    已尝试再次附加跟踪(现在是Edge,昨天的Firefox)。

    已通过重复启动和单独的消息尝试读取。

    对于任何ADC读数也是一样的,这也是失败的,因此我们开始了最简单的任务-读取设备ID。

    此致

    Ren é

    e2e.ti.com/.../2018_5F00_02_5F00_15.docx

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

    我感受到您的沮丧,很抱歉我没有使用我不熟悉的工具仔细查看逻辑分析器镜头。

    当我过去使用ADS7924时,在读取和写入剩余寄存器时,我总是在0寄存器中将设备设置为首先唤醒。 默认启动模式为空闲。 当您在空闲时写入寄存器0时,这似乎是一个不必要的步骤,但ADS7924处于低功耗状态,我从未清楚在空闲状态下什么是断电的。 无论如何,使用这种方法在过去一直对我有效,值得一试。

    如果添加的步骤不起作用,那么我建议在尽可能靠近ADS7924引脚的位置获取SDA和SCL的常规示波器快照。 信号中可能存在故障,导致逻辑分析仪中无法清晰看到的问题。 根据设备ACK,这种情况似乎不太可能发生。

    另一个注意事项是确保在重置后等待一段时间,以便设备在尝试通信之前稳定并解除重置状态。

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

    尊敬的Bob:

    非常感谢您的回复,

    通过首先设置为唤醒模式,我现在可以读取设备ID。

    希望所有其他的工作也能顺利进行。

    此致

    Ren é