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:具有2个 ADS7924从器件共享总线的 I2C 单主器件

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS7924

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1057328/ads7924-i2c-single-master-with-2-ads7924-slaves-sharing-bus

器件型号:ADS7924

您好!

IAM 尝试通过与2个 ADS7924从站进行通信来实现 I2C 主设备代码。

我使用以下的写入和读取方法。

为了进行写入、我使用从器件地址(1001001)为1 ADS7924发送以下数据

以唤醒器件

   0x92 0x00 0x80

将 INT 配置为 BUSY 引脚以指示要  读取的数据就绪状态  

  0x92 0x12 0xFC

用于将器件设置为自动扫描休眠模式

  0x92 0x00 0xFC

为了进行写入、我使用从器件地址(1001000)发送2个 ADS7924的以下数据

以唤醒器件

   0x90 0x00 0x80

将 INT 配置为 BUSY 引脚以指示要  读取的数据就绪状态  

  0x90 0x12 0xFC

用于将器件设置为自动扫描休眠模式

  0x90 0x00 0xFC

 使用 I2C 总线将此数据传送到两个 ADS7924后、当通道处于睡眠模式时、我尝试读取通道数据。

为了进行读取、我使用从器件地址(1001001)发送1个 ADS7924的以下数据

当 INT 进入高-低状态时、我将 INT 输入为主器件、这意味着器件处于睡眠模式的时间为10.02ms

当 INT 为低电平时、我开始发送以下数据

 0x92 0x82

(我发送增量地址寄存器)

0x93 -------------- ------

再次从1 ADS7924读取数据后、我会发送2 ADS7924的读取请求  

 0x90 0x82

(我发送增量地址寄存器)

0x91 -------------- ------

这就是我尝试读取 ADC7924相对于多从器件的数据的方式。  如果我与 ADS7924的交易是对的还是错的,请更正我。

SCL 时钟 iAM 以100kHz 的频率发送。(标准模式)

 

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

    您好、Naresh、

    您上面提到的过程看起来正确、寄存器读/写操作遵循数据表的建议、对我来说很好!

    此致、

    Aaron Estrada