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.

[参考译文] TLA2528:I2C 读取 ADC 数据

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1211743/tla2528-i2c-reading-adc-data

器件型号:TLA2528
主题中讨论的其他器件: ADS7138

我在实施 TLA2528时遇到 问题、准备在解决我自己的问题之前在此处发帖寻求帮助。  我已经找到了 ADC 读取信息时所欠缺的该系列芯片的数据表、所以我在这里发帖的目的是为了帮助其他为我所经历的困难而挣扎的人、并提请 TI 注意。

我的大多数问题都来自使用图29 、因为它似乎是 我 需要的、但实际上并没有。  添加另一个与此 类似的图以及有关如何读取 ADC 的章节、对于此 ADC 和类似 ADC (例如 ADS7138和其他功能几乎相同的 ADC 和数据表)的数据表大有裨益。

要读取 ADC 值、首先、将要读取的通道写入 CHANNEL_SEL 寄存器。  这需要4个帧:从器件地址+写入位;操作码00001000B 写入;CHANNEL_SEL 寄存器00010001b;以及您要读取00000000b-00000111b 的通道。  然后、 只剩下包含相应帧量(2-3)的简单读取操作。

如果有人愿意、我还将我的代码精简为一些伪代码。

ADDRESS = 0x10
RECIEVE_BUFFER = bytearray(3)

for CHANNEL in range(8):
  SEND_BUFFER = [0b00001000, 0b00010001, CHANNEL]
  I2C.write(ADDRESS, SEND_BUFFER)
  I2C.read(ADDRESS, REVIEVE_BUFFER)
  BUFFER[CHANNEL] = REVIEVE_BUFFER

希望这能帮助任何其他人,因为我一直在挣扎!

谢谢、

1月

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

    大家好、Jan、

    欢迎来到我们的 e2e 论坛!  很遗憾听到您为 TLA2528感到苦恼。  谢谢你的建议!  我们将尝试在下一次数据表修订版中实现它。