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:无法通过 I2C 获取正确的转换数据

Guru**** 2489685 points
Other Parts Discussed in Thread: AMC1301, TM4C129DNCPDT, ADS7924, INA333

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1532805/ads7924-not-getting-the-proper-converted-data-via-i2c

器件型号:ADS7924
Thread 中讨论的其他器件:TM4C129DNCPDT、AMC1301、 INA333

工具/软件:

一天的狂欢,

我们使用 TM4C129DNCPDT 微控制器来 使用 I2C 协议读取 ADS7924 转换后的数据。 但我们没有得到正确的数据。

我们已通过读取器件 ID 和模式设置来验证 I2C 通信 它们正在正常读取。

连接时 恒定的 3Vpp 使用函数发生器到 ADC 通道 CH0 的输入电压、 每次读取 0x02 和 0x03 寄存器时、我们都会获取不同的值 。 我们合并了两个寄存器读数以获得 12 位数字数据、并使用以下公式转换为电压格式。 电压输出持续在 0.5V 至 3V 之间变化。

VOLT =(12_BIT_DATA/ 4095)* 3.3;//AVDD 连接到 3.3V

但是、当我们移除 CH0 处的输入时、我们会从 0x02 寄存器获得常数 0x61 0x03 寄存器的变量值。 实施该公式后、电压介于 (1.269v 到 1.272v) 之间。

我们按照以下步骤配置 ADC。

1。将 0xAA 写入 0x16 寄存器以复位 ADC。

2.将 0x80 写入 0x00 寄存器、以便使 ADC 保持唤醒模式。

3.将 0xC0 写入 0x00 寄存器以选择 ADC CH0 手动单模式。

4.现在读取 CH0 转换后的数据、  在 I2C 写入模式下、我们将向 ADC 发送 0x82、并将 模式更改为突发读取模式并读取两次 、以便我们 分别获取 0x02 和 0x03 寄存器数据。

5.  现在、我们不断重复步骤 3 和 4、以连续读取 ADC 转换的数据、但每次都会获取不同的数据(输入电压保持 3Vpp)。

 

我们是否正确遵循了这些步骤? 还是我们遗漏了什么? 如果是、请纠正我们。

我们的原理图屏幕截图:

谢谢你。

此致、

Balaji TS

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

    尊敬的 Balaji:

    请描述模拟输入的右侧是什么。  ADC 输入和函数发生器之间是否有缓冲器?

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

    您好、Tom、

    感谢您的快速答复。

    我们在 ADC 输入和函数发生器之间提供了增益隔离放大器电路 (AMC1301) 和精密放大器 (INA333AIDGKR)。 目前我无法完全访问原理图。 我从硬件团队那里获得了上述信息。

    在 ADC 输入和函数发生器之间是否必须使用缓冲器?

    此致、

    Balaji TS

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

    尊敬的 Balaji:

    根据情况而定、在某些情况下、如 ADS7924 等 SAR 转换器前面没有缓冲器、则可以远离噪声源。  您能否使用镜片来验证放大器是否不会振荡?  请观看此视频、了解它是否能帮助您解决问题: https://www.youtube.com/watch?v=JWmSgP0KQWQ

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

    您好、Tom、

    很抱歉晚回复。  

    我们遇到的问题是由我们提供的模拟输入导致的。 这样、我们错误地为 ADS7924 输入通道提供了交流电压。 导致该问题的波形。

    现在、我们使用直流电压源提供输入、 现在我们能够读取正确的 ADC 输出、但读数存在大约 100mV 的连续波动。  我随附了 ADC 读数、其中包含以下 1V、2V 和 3V 输入的寄存器读数以及转换后的电压值。 您能告诉我们是什么 原因导致了这个问题吗?

    e2e.ti.com/.../1V-Readings.txte2e.ti.com/.../2V-Readings.txte2e.ti.com/.../3V-Readings.txt

    谢谢你。

    请注意、

    Balaji TS

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

    短接您的输入并查看获得了什么类型的转换结果。   您能否提供输入级的完整原理图?

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

    您好、Tom、

    很抱歉晚回复。 今天,我们得到了我们的董事会的阴谋。 下面我附加了 输入级的原理图。 请检查一次。

    请简短输入并查看您获得的转换结果类型

    您认为缩短输入是什么意思? 我们是否必须短接输入侧的正负引脚?

    谢谢你。

    此致、

    Balaji TS

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

    将每个 通道接地短接(一次短接一个,例如使用镊子)、只要您可以接触到 ADC 输入并检查转换结果即可。  然后返回模拟前端的其余部分并执行相同的操作。  短接 INA 的输出、然后短接 ISO AMP 的输入和输出等  从而帮助您确定噪声的来源。  

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

    您好、Tom、

    我们在板上的几个位置进行了探测、我们在所有点和下面附加的 DSO 波形都观察到了一些噪音。

    我们探测了原理图中的亮点。

    1.在 C941 (DNP) 的焊盘处 — 观察到电压持续下降 232mV。

    我们计划进行以下修改: — I) 安装 C941 并使用 0.1uF 电容器来消除噪声。   ii) 为 U15 添加 10 μ F 大容量去耦电容器 (INA333)。

    2.在 R2310 两个焊盘处 — 观察到 86mV 噪声

    3.在 D137 两个焊盘处 — 观察到 48mV 噪声

    是否有任何与示波器探测或返工有关的建议?  

    谢谢你。

    此致、

    Balaji TS

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

    尊敬的 Balaji:

    C91 的抖动可能是由内部采样/保持电容器的充电引起的。  您还可以探测 C94 吗?   

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

    您好、Tom、

    电容器处探测到的电阻。 我们在探测 C94 处施加了 1V 模拟输入。

    此致、

    Balaji

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

    是从 INA 输出端的 C941 开始、还是从 ADC MUXOUT 引脚处的 C94 开始、?  这只是单通道采样还是多通道采样?

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

    您好、Tom、

    此探测位于 C94 ADC MUXOUT 引脚处。 我们使用自动单通道模式仅对一个通道进行连续采样。

    此致、
    Balaji TS

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

    可以尝试减小 R1 和 C94 的值。 下面是另一个关于驱动 SAR 转换器输入的视频。  C94 通常是内部采样/保持电容值的 20 到 60x、即 15pF。  1nF 位于高侧。  您可以尝试的另一种方法是降低 ADC 的吞吐量 — 基本上在开始转换之前为输入提供更多的稳定时间。  以下是链接: https://www.ti.com/video/5466215483001 这是另一个很好的介绍: https://www.ti.com/video/5476574757001

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

    您好、Tom、

    很抱歉、延迟响应、我们通过降低 R1 和 C94 值进行了测试、 但问题未解决。 仍然是 ADC 输出发生 了变化。 因此、我们已反转了所有返工、并将模式从自动扫描模式更改为手动单模式、现在读数有所改进。 之前、我们观察到的 variatinon 高达 150mV、但如果施加的输入为 3V、变化不会降低 30mV。  

    此外、我们有电流输入施加到 ADC、我们将为 20mA 提供 4mA。 在该转换中、LSB 位发生了很大变化、在计算出我们观察到的电流后、有高达 0.1mA 的变化。 下面是 电流输入级的原理图。

    AINC1_P 连接到 ADC 模块的 CH_2。 我们的原理图中是否有任何问题、为什么电流读数变化如此之大?

    谢谢你。

    此致、

    Balaji TS

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

    尊敬的 Balaji:

    是否仍在 MUXOUT 引脚上的 C94 处看到这些大型瞬态?  您是否愿意尝试在其中添加缓冲区、类似于图 62 中所示的内容?