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.

[参考译文] ADS1256:ADS1256精度问题

Guru**** 2513185 points
Other Parts Discussed in Thread: ADS1256

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/980316/ads1256-ads1256-accuracy-problem

器件型号:ADS1256

您好!

在设计的定制板上使用 ADS1256时、我遇到了一个问题。 尽管我在电路板上发现的值要小得多、但 ADC 读取的值大约为180mv、并且无法将通道输入上的电压降至最低。 我可以共享原理图和电路板光绘文件进行审阅。

我已附上 reference.e2e.ti.com/.../ADS1256_5F00_Readings.xlsx 的读数

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

    大家好、Kongara、

    您能否分享您的原理图和 ADC 配置设置? 此时不需要发送光绘文件。

    您是否尝试运行偏移和增益校准以查看精度是否提高? 对于使用单个输入电压进行的所有测量、例如 VIN = 0V、误差看起来非常一致。 平均误差往往会在输入信号增加时降低、因此您应该能够校准出误差。

    布莱恩

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

    您好、Bryan、

    自 校准和系统校准会给出负值。 我将再次执行测试并提供读数。

    请提供邮件 ID 以共享原理图。

    谢谢你。

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

    您好、Bryan、

    配置

    • ADC AINCOM 和-VREF 接地
    • 所有通道均为单端通道。
    • 设为60SPS。
    • 单次转换。

    下面是我正在执行的 ADS1256 Init()序列

    void ADS1256_Init (void)
    {
    
    NVIC_DisableIRQ (EXTI0_IRQn);
    ADS1256_PWR_ON;
    HAL_DELAY (15);
    ADS1256_ResetCommand ();
    HAL_DELAY (50);
    ADS1256_ReadRegisters (ADS1256_STATUS、5);
    //ADS1256_SetInputBufferSeting (SET);
    //ADS1256_SetAutoCalSetting (SET);
    ADS1256_ReadRegisters (ADS1256_STATUS、 1);
    NVIC_EnableIRQ (EXTI0_IRQn);
    //ADS1256_CalibrateSelf ();
    //ADS1256_CalibrateSystem_Offset ();
    ADS1256_CalibrateSystem_GAIN ();
    ADS1256_SetDataRate (ADS1256_SPS_60);
    //进入同步状态*/
    ADS1256_Sync ();
    //ADS1256_Standby ();
    ////////*等待 ADC 信号完成*
    while (reset = ADS1256_DRDY_Flag)
    {}ADS1256_DRDY_Debug
    (%print_gb
    
    );%printing Buffer
    (%0856.n_Debug);%print_gapor.h)
    

     校准读数位于 attachment.e2e.ti.com/.../4812.ADS1256_5F00_Readings.xlsx 中

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

    大家好、Kongara、

    您如何执行校准? 我不清楚您在 Excel 文档中发送了哪些数据。 对于 SELFCAL、您不必像文档中所述那样将通道2接地短路。 ADC 会在内部自动将输入短接在一起以进行偏移校准、并应用来自您应用于增益校准的基准电压的满量程信号。 我不清楚值表表示的是什么、例如"Reset -1"、"Reset -2"等

    当您执行 SYSOCAL / SYSGCAL 时、是否分别将外部输入短接并应用满量程信号? 否则、您得到的值将不准确、并会导致不良结果。

    您是否为这些测量启用了缓冲器?

    您可以单击我的姓名并选择"请求友谊"。 这将允许您通过私人消息将原理图发送给我、以便其他人看不到它。

    布莱恩

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

    您好、Bryan、

    正如建议的那样、我已经执行了 SELFCAL、在输入缓冲器关闭的情况下、通道1和接地之间的输入为100mV。

    在多个复位周期内、观察到的偏移和增益值不一致。

    我无法发送私人邮件、因为在新邮件弹出窗口中无法识别您的姓名。

    读数位于 attachment.e2e.ti.com/.../ADS1256_5F00_SELFCAL_5F00_Readings.xlsx 中

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

    大家好、Kongara、

    我相信我必须接受您朋友的请求、然后您才能向我发送消息、我刚才已经这样做了。 因此、请尽快离线将原理图发送给我。

    是否可以发送您正在使用的配置设置? 以下哪一项是您要写入寄存器以配置器件的示例十六进制/二进制值?

    这里似乎有问题、因为您报告的 FSC 寄存器值(FFFFFFh)基本上为0、此时它们应该约为400000h。

    此外、您在发送的表中显示的内容是什么? 每列数据显示不同的偏移和增益值、然后是下面的值列表。 这些值似乎比漂移更高、从而达到相对稳定的状态-该数据应该显示什么? 校准完成后、我希望值非常类似、因此该信息毫无意义。

    布莱恩

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

    您好、Bryan、

    读数不一致是由于 SPI 接口的工作频率所致。 它设置为3Mbit/s、我已将其更改为1.5Mbit/s 现在、我能够正确读取寄存器。

    下面是我正在使用的 ADC 配置。

    [ADS1256]寄存器0状态:0x31
    [ADS1256]寄存器1 MUX:0x18
    [ADS1256]寄存器2 ADCON:0x20
    [ADS1256]寄存器3 DRATE:0xF0
    [ADS1256]寄存器4 IO:0xE1
    [ADS1256]寄存器5 OFC0:0xD3
    [ADS1256]寄存器6 OFC1:0xB6
    [ADS1256]寄存器7 OFC2:0xFD
    [ADS1256]寄存器8 FSC0:0x5F
    [ADS1256]寄存器9 FSC1:0x49
    [ADS1256]寄存器10 FSC2:0x40

    在上述配置下、我获取了满量程读数、但偏移仍然存在。 我将尝试对 ADC 进行 SELFCAL 并发布读数。

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

    大家好、Kongara、

    感谢您让我了解 SPI 速度。 SCLK 必须至少小于 CLK/4。 因此、如果您使用的是7.68MHz CLK、则 SCLK 的最大值必须为1.92MHz。 使用更快的 SCLK 肯定会导致时序问题并导致错误数据。

    请告诉我您对执行 SELFCAL 的了解。

    布莱恩

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

    此外、有关原理图的一些注释(我只查看了第3页):

    • 您的 VREFN 似乎连接到-2.5V。 如果是这种情况、ADC 在真正的负电压下将无法正常工作。 VREFN 应接地
    • SYNC/PWDN 似乎被上拉至 AVDD、在此应上拉至 DVDD
    • 我们不一定建议在电源引脚上使用铁氧体、因为 ADC 可能需要大量的瞬时电流、而铁氧体可能会扼流、从而导致电源电压下降。 这并不总是一个问题、而是需要牢记的问题
    • 您可以直接将 GPIO 引脚接地、无需使用下拉电阻器。 只需确保所有这些引脚都配置为输入即可。 D0/CLKOUT 引脚尤其如此、必须在 IO 和 ADCON 寄存器中更新该引脚。
    • 您可能需要对 VREF 电路的输出/ VREFP、VREFN 的输入添加一些滤波。 这显示在图25中的 ADS1256数据表中

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

    您好、Bryan、

    根据所需通道选择多路复用器后、我正在执行 SELFCAL、并且我在固件中进行了一些滤波以跳过采样超出范围。 因此、我达到了很高的精度要求。 我们的硬件团队正在努力找出校准后观察到的偏移的根本原因。

    原理图观察结果

    1.  通过短接 C51将-VREF 连接到 GND。 未安装 U16。
    2. 我们将按照+VREF 处的建议添加滤波器。
    3. SYNC /PDWN 引脚将上拉至 DVDD。
    4. 铁氧体磁珠将在 DVDD 和 AVDD 上移除。

    校准和滤波后的读数为 attached.e2e.ti.com/.../2047.ADS1256_5F00_SELFCAL_5F00_readings.xlsx