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.

[参考译文] ADS8689:采集数据很奇怪

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/803864/ads8689-acquisition-data-is-strange

器件型号:ADS8689
主题中讨论的其他器件: OP07ADS8695

从 ADS 8689的输出获得的数据中存在10%的误差。 是否有任何原因?

缩写设置为单极0V ~ 10V。
发送命令[32'b1101_0000_0001_0100_0000_0000_0000_0000_1001]后、读取 ADC 的值。

※英语可能很奇怪。 我很抱歉

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

    您好 Lucas、

    导致较大误差的原因有很多:前端电阻较大、基准电压不稳定、布局不良、信号源等 最好检查您的电路原理图、还需要有关测试的更多信息(您的输入信号、包括信号电平和发生器、您获取的原始数据)。 此外、我想查看您的时序以确保它正确、包括 CONVST/CS、SCLK、SDO 和 SDI 在内的两个帧将非常好。

    您对 RANGE_SEL_REG 进行编程的命令是正确的、但我不确定是连续将其发送到 ADC 还是仅在器件加电后发送一次。

    期待了解您的更多信息。

    此致、

    戴尔

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

    Dale、

    感谢您的回答。

    首先、我确实连接了一个电路。 你有什么问题吗?

    我在修复当前条件的状态下读取 ADC 的输出、输入电平为8.91V。

    接下来、我在 FPGA 中控制 ADS8689。
    关于 RANGE_SEL_REG、在电源注入后、在取消复位后、onece 命令会传输。
    我确认的传输命令与逻辑仿真完全相同。

    ADC 的输出与下图类似。
    我读取的数据为"16'hC87E"。
    由于它的 C87E (h) x156.25μV =8.019V、因此10%会偏离理想电平。

    还有事我没在听吗?
    谢谢!
    此致、  Lucas.Ya

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

    您好 Lucas、

    感谢您的信息。 我会查看详细信息、并尽快将其反馈给您。

    此致、

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dale、
    感谢您的回答。
    非常感谢您的及时回复。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Lucas、
    我偶然读了您的问题、发现图表中 ADC 的输出可以是 E43Fh、而不是 C87Eh、因为我假设您选择了 SPI-00-S 协议(CPOL = 0、CPHA = 0)。 这将导致测量值58431 x 156.25uV = 9.13V。
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Salacia

    感谢您的回答。

    起初我认为是这样。
    在这种情况下、我用 ADC 转换0V、值是错误的、
    协议使 CPOL = 0、CPHA = 0。
    很抱歉、我被误解了。

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

    您好 Lucas、

    我现在也测试过它。 在测试中、我将一个可调电压源(未校准)连接到 ADC 的模拟输入端、并将输入范围更改为0-10V。 在所选的9.109V 电压下、ADC 将此电压发送为响应(蓝色= SCLK、黄色= SDO):

    我的微控制器将其读取为 E43Fh、对应 于58431 x 156.25uV = 9.129V。 与您的图表相比、我认为它看起来是一样的。

    我不知道我是否正确、但0V 看起来是这样的:

    如果我将输入范围更改为 有符号值范围(例如-12至12V)、则 ADC 的0V 响应如下所示:

    您是否确实确定 ADC 的输入电压正好为8.91V? 例如、您是否测量过它?

    此致

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

    您好 Lucas、

    我为答复迟了表示歉意。  Salacia 是对的、如果 CPOL 和 CPHA 都为0、那么您时序中的数据为0xE43F 而不是0xC87E。 通过在 SCLK 的上升沿检查每个 SDO 数据位(这是第一个边沿、CPHA=0)、您得到的实际数据为0xE43F、对于2.5Vref 输入范围(0-10.24V)为9.129V。 捕获并显示的正时 Salacia 清晰可见。

    我有同样的问题、我不知道您是否准确测量了 ADC 输入端的电压、通常在放大器之前应使用精密直流信号发生器进行测试。 此外、 对于该16位 ADS8695 ADC、OP07不是精密放大器、因为它具有更高的失调电压和其他规格、放大器反馈中的10千欧会产生噪声、如果读数正确、RC 滤波器中的电阻器为0欧姆、 这个带有电容器的电阻器将不能过滤来自前端电路和源极的任何噪声。

    我附加了一个简单的 Excel 文件、用于根据代码进行电压计算。

    e2e.ti.com/.../ADS8681-Family_5F00_FormatConversion.xlsx

    谢谢、Salacia。

    此致

    戴尔

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

    我不知道如何感谢您的准确建议。
    我需要重新考虑很多事情。

    感谢您指出这一点。

    此致、