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.

[参考译文] ADS1248:偏移校准

Guru**** 2571725 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/623902/ads1248-offset-calibration

部件号:ADS1248

您好,

我们正在使用ADS1248测量热电偶,并且系统和自偏移校准产生了一些奇怪的结果。

当使用SELFOCAL命令执行自偏移校准时,我们得到的偏移值大约为-15到-17微伏。

但是,当我们通过将0V差分输入应用到输入引脚来执行系统校准时,我们会根据我们使用的输入来测量(4096个测量值的平均值)- 6.851 到9.421 的偏移。

我们还提升了ADS1248的引脚,然后测量-1至-3微伏的偏移。

我们很难解释校准中的这些差异,因此我们不确定我们是否正确地进行了所有操作。

我们的原理图:

和7100_7400_热 电7400 电偶输入部件:

以及用于自偏移校准的代码:

Int32_t DRV_ADS1248_SelfOffset (void)
{
UINT8_t writeBuffer[3]={0};
UINT8_t readBuffer[3]={0};
UINT32_t preExtended = 0;
Int32_t已扩展 = 0;
数据就绪 =假;

//清除偏移寄存器
writeBuffer[0]= 0x00;
writeBuffer[1]= 0x00;
writeBuffer[2]= 0x00;
DRV_ADS1248_WriteReg (ADS_OFC0_offset,writeBuffer,readBuffer,3);
//将FSC设置为0x40万
writeBuffer[0]= 0x00;
writeBuffer[1]= 0x00;
writeBuffer[2]= 0x40;
DRV_ADS1248_WriteReg (ADS_FSC0_OFFSET,writeBuffer,readBuffer,3);

//开始自偏移校准
DRV_ADS1248_WriteCmd (ADS_SELFOCAL);
while (!dataReady);
//读取校准结果
DRV_ADS1248_ReadReg (ADS_OFC0_OFFSET,readBuffer,3);
PreExtended =(readBuffer[2]<<16 | readBuffer[1]<8 | readBuffer[0]);
扩展= 0;

//如果位ADC_SIGK_BIT为1,则扩展符号,否则复制
IF (预扩展>> 23 == 1)
{
扩展= preExtended |(0xFF <<24);
}
否则
{
Extended = preExtended;
}

//返回扩展ADC值
回车时间延长;
} 

我们想知道为什么我们在系统偏移校准和自偏移校准方面遇到如此大的差异(对于热电偶而言,这是很大的差异)

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


    校准后参考的输入偏移在数据表中列为±15uV。 尽管如此,偏移校准结果仍会有一些变化。 校准命令期间,输入会自动短路(使用SELFOCAL),或者用户手动将输入短接在一起(对于SYSOCAL)。 然后,设备将平均16个读数,并将平均值存储为偏移校准寄存器。 然后从未来的读数中减去该结果。

    请注意,校准结果受噪音影响。 用16个读数计算偏移量的平均值可能不会使噪声级别降至您想要获得偏移量的正确读数。

    如果你需要更好的东西,我会做两件事。 首先使用较低的数据速率将有助于减少测量中的噪声,并可能获得较少噪声的偏移结果。 其次,您可能需要手动设置自己的偏移校准结果。 手动缩短输入,然后读取更多数据点。 例如,使用256个而不是16个读数。 然后,计算点的平均值,并将其用作新的偏移校准寄存器结果。 通过平均更多偏移结果,偏移校准中的差异将会减少。

    对于SYSOCAL,您需要设置输入到直流电压的短路,无论传感器正常工作是什么。 根据输入电压电平的不同,会出现一些差异(直流CMR为典型值90dB,增益为1时最大值80dB)。

    您使用的数据速率和PGA增益是多少? 它将提供理想的噪声级别。


    吴若瑟
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们一直在使用SELFOCAL和手动偏移校准,但这正是问题所在。 我们已经看到SELFOCAL,SYSOCAL和手动偏移校准之间的巨大差异,在这种情况下,我们将ADS1248的引脚短接(甚至提起然后短接)在一起。
    我们确实希望SYSOCAL和SELFOCAL有所不同,因为在SYSOCAL中,我们包括完整路径(带有RC滤波器和MUX)。 我们不希望看到的是SELFOCAL的计算与ADS1248引脚提升和短路的测量之间的差异。
    我将提供一些有关我们设置的额外信息:
    我们使用的是ADS1248的内部参考
    -在开始校准之前,我们已将OFC寄存器设置为0,将FSC寄存器设置为40万h
    - ADS1248用于双极操作
    - PGA设置为64
    -数据速率为2000SPS

    今天我将使用较低的数据速率开始一些校准,看看这是否会产生更好的结果。

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

    Bas,


    在运行测试时,需要记住一些事项。 数据速率越高,噪音越大。 要生成一个输出数据点,您需要采集较少的过采样读数。 另一个考虑因素是电源。 如果电源噪音特别大,则电源上的任何定期信号都可能会与输入或基准耦合,并可能导致噪音。 PSR被列为135dB (典型)和100dB (最大)(直流)。 这可能不是问题,但如果您可以清洁电源,可能会有所帮助。

    要运行的另一个测试只是不运行校准,而只是生成一组4096个读数。 报告后,我们可以查看测量值中的噪声,并将其与表1至表6中的值进行比较(具体取决于与您的设置最接近的值)。 查看此噪音将有助于确定系统中的噪音是否比预期的要大。 如果您记录了一组4096个读数,请将其编译在Excel文件中,然后将其添加到下一篇文章中。


    吴若瑟