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.

[参考译文] ADS7138:读取模拟输入的值

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1425459/ads7138-reading-value-of-analog-in

器件型号:ADS7138

工具与软件:

我使用 NXP 微控制器与 ADS7138芯片连接。 我需要在代码运行时的某些位置读取行中选定模拟的模拟值。 我尝试使用读取操作码读取模拟输入行、但无法与芯片通信。 我知道我的代码的 I2C 接口可在其他器件上工作、但我无法使其适用于此芯片。 我的逻辑如下:

将用于读取的操作码发送到芯片地址(0001 0000b、芯片的地址为0x10 -使用 I2C 扫描仪找到)。  

将 A0线 MSB 的寄存器地址发送到芯片(0xA1)

尝试读取从芯片返回的值。  

如果我没有执行任何步骤、或者是否需要在其中一个寄存器中设置配置标志、请告诉我。 谢谢!

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

    尊敬的 Nate:

    该器件的 I2C 地址由 ADDR 引脚上的电阻器设置。 在本例中、ADDR 引脚保持悬空、并与任何东西断开、因此地址为0x10。

    要读取转换、您首先必须通过 CHANNEL_SEL (0x11)寄存器中的 MANUAL_Chid[3:0]来选择通道。 您可以通过将 GENERAL_CFG (0x1)寄存器中的 CNVST 位设置为高电平或提供转换读取帧(如下面数据表中图25的帧 A 所述)来收集转换。 在第二种情况下、转换会直接输出到 I2C 总线、而无需读取寄存器。  

    之后、您可以从 Recental_CHx_MSB 和 Recent_CHx_LSB 寄存器中读取数据以获得转换。 让我知道这是否对你有用!

    此致、
    Joel