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.

[参考译文] ADS8201:如何从 ADS8201读取 ADC

Guru**** 2516170 points
Other Parts Discussed in Thread: ADS8201

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/750278/ads8201-how-to-read-adc-from-ads8201

器件型号:ADS8201

尊敬的所有人:

现在、我使用 ADS8021通过 SPI 通信读取 ADC 值。

我发送:0x9004 (选择通道4)

I SEND:0x0000 (开始读取 ADC)

我读出:0x0000 0x8000表示0V

我读出:0xFF70 0x8000 for 3V3

我不知道它是对还是错、以及如何将0xFF70 0x8000转换为 ADC 值?

任何人都知道读取 ADC 值的顺序(配置+读取)

谢谢、致以诚挚的问候。

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

    欢迎参加我们的 e2e 论坛! 您能否为我们提供有关您如何使用 ADS8201的更多详细信息? 您的基准电压和 PGA 设置是多少? 您可以查看第16页的表6、了解有关如何将代码转换为电压的基础知识。 如果我假设您的基准是3.3V、那么您的 LSB 大小将是3.3V/4096代码或大约805uV/代码。 您的0xFF70将是4088代码* 805uV 或大约3.29V
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Tom:

    感谢您的提示。

    在我这边、
    //=========== hardware ===========
    REF = VA = VD = 3、33V;
    ADCIN = AGND = REFGND = 0V;
    PGAOUT = PGAREF = 0V;

    //=========== software===========
    //硬件复位
    RST = 0;
    DELAY_us (1);
    RST = 1;

    //设置为空闲模式
    将0x00写入寄存器0x08;

    //选择通道6
    将0x06写入寄存器0x04;


    while (1)

    ReadADC ();//I 通过使用 SPI 发送0x0000 0x0000来读取 ADC (模式0、MSB 在前)
    延迟(1s);


    我看到:
    >时、我读取0x0000
    >使用2V 时、我读取0xFF70 0x8000。
    >我从2V 增加到3V3、它仍然是0xFF70 0x8000。

    我不知道有什么问题。
    您是否可以为从单个通道读取 ADC 以及从多个通道读取 ADC 提供配置建议。

    谢谢、此致、

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

    请使用 SPI 模式1 (CPOL = 0、CPHA = 1)并提供命令/数据响应(/CS、SDI、SDO 和 SCLK)的一些屏幕截图以及 ADC 前端信号链的原理图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tom:

    SPI 模式1不工作。 我们必须使用 SPI 模式0。

    最好的 Reagards

    TAM

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

    那么、您是否仍有问题? 您能否将读/写序列的屏幕截图发送到 ADS8201?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tom、

    最后、我发现了我的问题。 我的 Vref = 2.5V。 因此、我只读取 ADC 值<= 2.5V
    我将 Vref 增加到3.3V。 这是对的。

    感谢您的支持
    此致、
    TAM