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.

[参考译文] ADS1278:ADC 未读取满量程;也未正确读取负值

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

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1004247/ads1278-adc-not-reading-full-scale-and-not-reading-negative-values-correctly

器件型号:ADS1278

您好!

我正在使用上述 ADC (ads1278)。  我已严格遵循数据表、并具有以下参数:

  • AVDD = 5V
  • DVDD = 1.8V
  • IOVdd = 3.3V
  • VREFP = 2.5V
  • VREFN = 0V GND
  • fclk = 25MHz

我在高速模式下工作;具有分立式输出的 SPI。

工作单端;AINN1 = GND、AINP1是我的输入电压。

使用这些设置、我希望能够从-2.5V 至2.5V 读取 AINP1;

具体而言、我希望 ADC 的输出如下(例如):

  • -2.5V、对应于输出1000000...
  • 0与输出00000...相对应
  • 2.5V、对应于输出0111111..

为了测试这一点、我将8个最高有效位连接到 LED、以便在各种输入电压下读取 ADC 输出的"最高有效位"。  结果如下、令人困惑。

如您所见、除了0V (闪烁;明显在正负值之间振荡)之外、所有结果都不匹配。   我在输出的8个最高有效位上得到非常一致的结果;因此我不会考虑它的噪声或类似的噪声。

具体而言、我观察到的奇怪情况:

  • +5V 对应于1100000.... 这毫无意义...这是一个负数!
  • 在正极侧、这些值似乎在2.5V 左右饱和-但是这个输入 V 上的数字输出不对应于满量程24位输出(它以011开始;应该为0111)  
  • 在负极侧、这些值几乎会立即在-0.5V 时饱和;最终始终读取1111111111、对应于恰好低于零的值!

有人对问题所在有什么想法吗?

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

    您好拉曼、

    ADS1278不支持负输入电压。  (输入上的电压低于接地。)

    您可以操作输入单端。  在本例中、您将 AINN 连接到+2.5V、然后 AINP 的范围将为0V 至+5V。

    AINP=+5V、AINN=+2.5V、VDIFF=AINP-AINN=+5V-2.5V =+2.5V 差分、正满量程。

    AINP=0V、AINN=+2.5V、VDIF=AINP-AINN=0V-2.5V=-2.5V 差分、负满量程。

    请观看此 TI 高精度实验室视频、以更好地了解差分输入。  本演示重点介绍 SAR ADC;ADS1278输入与演示中讨论的"真正差分"输入等效、基准设置为+2.5V。

    此致、
    Keith Nicholas
    精密 ADC 应用

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

    您好、Keith、

    谢谢-解决了一个问题。  但是 、看起来我的范围仍然只有我应该达到的一半。

    我将 AINN 设置为2.5、因此我的 AINP 可以是0到5V。

     0V  输出的 AINP 约 为-4194304;满量程负的一半。

     5V AINP 输出约 为4128768;满量程正数的一半。

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

    您好拉曼、

    VREFP 和 VREFN 引脚之间是否连接了+2.5V 基准电压?  如果使用5V 基准、ADS1278将读取1/2满量程、并且将一个差分+/-2.5V 应用于输入。

    由于您已将负电压连接到输入端、因此您超出了器件的绝对最大值额定值、并且可能已损坏器件。

    此外、您可能还需要查看您的数字通信。  您可能无法正确捕获数据。

    此致、
    Keith

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

    谢谢 Keith、我对数字通信非常有信心、但我将仔细检查示波器。

    我的 VREFP 上确实有+2.5V 电压、VREFN 上有0V 电压。  我想我可能已经损坏了芯片;我肯定对输入1施加了更多-5V 的电压。看起来很奇怪、它的运行方式与我使用的是5V 基准而不是2.5基准完全一样。  我尝试在4个通道上工作-其中3个通道完全相同(工作方式与使用5V 基准一样)、第四个通道似乎不输出任何内容。  那么、再说一次、我可能会在里面烧了一些东西。  我使用另一个新 ADC 重试。

    谢谢 Keith、您的帮助非常好。

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

    您好拉曼、

    还可以  如果新 ADC 无法解决问题、则这可能与 SPI 通信有关。

    Keith

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

    新芯片的运行方式相同。  我更详细地了解了通信。  

    我更改了两件事、使其正常工作。  首先 、我注意到、在 DRDY 下降到开始读取 DOUT 之间、我仅提供1/2 CLK 周期。 将其更改为数据表中指定的1个完整 SCLK 周期。   

    第二件事(我不确定这对任何东西产生了什么影响)我更改了是读取 DOUT 引脚;当我从 SCLK 的正边沿读取其值到 SCLK 的负边沿时、我更改了该引脚的值。   

    这两种变化(两者都不起作用),我从 ACD 获得的输出显然是正确的。

    非常感谢 Keith。  您的帮助非常好。

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

    不用客气。