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.

[参考译文] ADS124S08:ADS124S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1325056/ads124s08-ads124s08

器件型号:ADS124S08

我们使用 TI ADC 模块 ADS124S08、这是一个具有12个通道的24位模块。 我们在写入其固件时遇到一些意外问题。 问题如下:

  1. 我们得到的最大 ADC 计数接近8388608、实际上是23位最大值。 如果是24位 ADC、其最大值应接近16777216。 我已经检查了寄存器设置来配置 ADC、但没有找到任何基于分辨率的寄存器。 那么、我们如何在不同的电压下获得24位 ADC 计数呢?
  2. 我们面临的第二个问题是、当我们向 ADC 通道(PFA-1)提供1.47增益时、ADC 计数更加精确、但当它为单位增益(PFA-4)时、ADC 计数不是那么精确。 在固件中、我们要设置2个寄存器–0x04的值为0x17 (对于100SPS)、0x02的值为 ADC 通道。 附加分析快照 f.y.r (PFA-2&3)。

 

请告诉我们这些问题的解决方案、并告诉我们需要对系统进行哪些更改。

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

        ADC 计数分析  

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

    你好,Nimish Palod,

    Unknown 说:
    我们得到的最大 ADC 计数接近8388608、实际上是23位的最大值。 如果是24位 ADC、其最大值应接近16777216。 我已经检查了寄存器设置来配置 ADC、但没有找到任何基于分辨率的寄存器。 那么、我们如何在不同的电压下获得24位 ADC 计数?

    即使连接为单端、ADS124S08也始终以差分方式进行测量。  这意味着输出始终是相对于 AINN 的 AINP。  转换结果为二进制补码形式。  正值代码将介于0至0x7FFFFF (0至8388607)之间。  当 AINP 的输入电压小于 AINN 时、负代码为0xFFFFFF 至0x800000 (-1至-8388608)。

    [报价 userid="593826" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1325056/ads124s08-ads124s08 ]我们面临的第二个问题是、当我们向 ADC 通道提供1.47增益(PFA-1)时、ADC 计数更精确、但当它是单位增益(PFA-4)时、ADC 计数不是那么精确。 在固件中、我们要设置2个寄存器–0x04的值为0x17 (对于100SPS)、0x02的值为 ADC 通道。 附加分析快照 f.y.r (PFA-2&3)。

    我不确定 PFA 指的是什么。  您能解释一下这里的意思吗?  ADC PGA 对增益(1、2、4、高达128)使用二进制阶跃。  没有1.47增益。  这是外部放大器吗?  ADC 的满量程范围由使用的基准电压和 PGA 增益(1 count =+/-VREF/PGA gain/(2^24 - 1)决定。  如果您的测量是单端测量(其中 AINN 连接到 AVSS (单极电源的 AGND)、则将 PGA 增益设置限制为1、并且必须绕过 PGA、否则您将获得非线性测量。

    您需要确保 ADC 的电压输入处于相对于 PGA 设置的测量范围内。 为了提供更多帮助、我需要查看原理图并了解您正在使用的所有寄存器设置。

    此致、

    鲍勃 B

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

    尊敬的 Bob:

    感谢您的答复。 请忽略 PFA 一词、它是误添加的。 从外部添加了1.47增益(连接电路的快照)。 PGA 被绕过、我们正在将1.47增益替换为单位增益(连接单位增益电路的快照)。  
    系统在1.47增益下正常工作、即我们通过电压输入获得适当的 ADC 计数。 但当我们将其转换为单位增益时、几个电压的 ADC 计数是不正确的(附加在1.47增益和单位增益下捕获的两个读数的快照)。 我们将为100SPS 设置寄存器0x04 (寄存器配置- 0x17)。 我们已经尝试将数据速率降低到60、50和20SPS、但问题仍然是一样的。 是否还需要通过固件配置任何其他寄存器、因为我也尝试了不同的寄存器设置、但找不到分辨率。  

    请找到附件。

    谢谢。此致、

    尼米什

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

    您好、Nimish:

    这看起来可能是模拟稳定误差。  滤波器截止频率为22Hz、但在大多数情况下采样速度要快得多。  即使在20sps 的输出数据速率下、基本上也会在50ms 周期内看到平均值计算、因为调制器采样频率为256kHz。  此外、输入端与输出滤波器上的滤波器相同。  这将进一步延迟趋稳。  RC 时间常数约为7ms、对于1/2 LSB 稳定时间、您需要大约17个时间常数才能完全稳定以进行24位转换。  这导致整个模拟稳定为120ms。  由于您有两个滤波器、因此您会将该时间进一步延长。

    最后、以比滤波器响应更快的速度收集数据没有好处。  我无法解释这两个电路之间的区别。  我建议使用示波器来验证趋稳行为。  您可能还需要验证增益为1的运算放大器上使用的元件、以确保这些值与1.47增益相同。  您还可以尝试在捕获转换结果之前增加一些延迟或等待额外的时间。  有时、收集多个结果也会通过显示任何稳定问题而受益。

    此致、

    鲍勃 B

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

    尊敬的 Bob:

    由于我们有15K 串联电阻器和47nF 电容器、在 OPAMP 的输入和输出侧作为低通滤波器安装、从而使截止频率为225Hz。

    GAIN=1和 GAIN=1.47的设计具有相同的值部件。

    如果这是由趋稳周期导致的误差、则我们可能会在1.47增益通道上观察到类似的结果。

    作为实验的一部分、我们从运算放大器的输入和输出端移除了滤波器、但仍未观察到任何改进。

    如果您需要有关此问题的任何其他特定信息、请告知我们。

    谢谢。此致、

    尼米什

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

    您好、Nimish:

    正如您所说的、在滤波器时序方面、两种输入配置之间应该没有差异。  但是、电路板布局、器件配置或通信必须有所不同。  

    • 请向我发送1.47增益和增益为1的情况下都使用的寄存器配置。  
    • 还要向我说明如何测量输入通道。  我的意思是、您只收集单个数据转换点、对多个样本取平均值等。  
    • 另外、请告诉我您是否在循环多路复用器通道。  
    • 还请告诉我您是如何确定何时从 ADC 读取转换数据的。  您是否使用计时器等从 DRDY 触发了中断?
    • 您是直接读取数据、还是使用 RDATA 命令检索转换数据?

    此致、

    鲍勃 B

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

    尊敬的 Bob:

    您的查询:

    1.47和单位增益均使用相同的运算放大器。 我们只是替换2个寄存器、以便使其从1.47增益变成单位增益。 因此 应该不 会出现任何电路板布局问题。
    2.我们在两种情况下都使用低延迟滤波器(1.47增益和单位增益)将寄存器0x04的值设置为0x17、采样率为100SPS。 我们尝试配置更多的寄存器、但没有发现任何差异。 此外、我们还尝试将数据速率降低至60SPS、50SPS 和20SPS、但发现了同样的问题。 请告诉我、我们是否缺少任何用于配置 w.r.t 增益设置的寄存器。
    3、我们是用 START 和 STOP 命令直接读取数据、在读取数据寄存器之间读取数据。 在此之前、我们将使用唤醒命令从待机模式继续。
    4.我们采用50个 ADC 计数的平均值。 上面添加的附件显示的 ADC 值为平均值50。
    我们在 ADC 上读取9个通道的输入。 我们将使用多路复用通道来配置寄存器0x02、使用通道编号(从0x0C 到0x9C)。

    希望您能从以下细节了解我们的转换流程。

    此致、
    尼米什   

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

    您好、Nimish:

    [报价 userid="593826" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1325056/ads124s08-ads124s08/5048301 #5048301"]我们要配置寄存器0x04,将其值设置为0x17以实现100SPS 的采样率,两种情况都使用低延迟滤波器(1.47增益和单位增益)。 我们尝试配置更多的寄存器、但没有发现任何差异。 此外、我们还尝试将数据速率降低至60SPS、50SPS 和20SPS、但发现了同样的问题。 如果我们缺少任何用于配置 w.r.t 增益设置的寄存器,请告诉我。

    您能给我发邮件吗? 完成 您在每个用例中使用的寄存器映射值是多少?  我希望查看不止一个寄存器、这样我就知道 ADC 将会显示什么结果。

    我们使用启动和停止命令直接读取数据,并在两次读取数据寄存器之间读取数据。 在此之前,我们将使用唤醒命令从待机模式继续。

    如果您使用 START/STOP 命令、是否会将微 GPIO 的 START 引脚设置为低电平?  关于您如何知道转换何时完成以及何时可以从 ADC 中读取数据、您仍然没有回答我的问题。

    我们平均采用50个 ADC 计数。 上面添加的附件显示平均读数为50的 ADC 值。

    您是否能够以这种方式收集数据、以便我查看所有转换数据、而不是向我发送平均数据?  在从 ADC 读取数据时、您是否能让我用逻辑分析仪检查通信流和数据?

    我们正在读取 ADC 上的9个通道输入。 我们将使用通道号(从0x0C 到0x9C)对寄存器0x02进行多路复用通道配置。

    您能不能给我确认哪些通道的增益为1、哪些通道的增益为1.47?  再次查看您的数据、我预计在1.47和1种情况下的结果都与理论值更接近。 您使用什么作为源?  该来源在所提供的两组数据之间有何不同?  对于增益为1的情况、每3个读数似乎有一个不寻常的阶跃误差、并且7.1至7.3mA 附近有显著的非线性。  在增益为1.47的数据中、您不会在相同的数据范围内显示如此大的粒度、因此、如果在每种情况下使用相同的数据点、数据很可能会以类似的方式显示。

    此致、

    鲍勃 B

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

    尊敬的 Bob:

    根据要求、该计划是针对1.47增益开发的、从最近几年开始使用、这款计划运行正常。 首先、我们设置 数据速率寄存器(0x04)通道低延迟滤波器和100SPS 数据速率(0x17 -配置值)。 然后、我们使用 ADC 输入通道编号(从0x0C 到0x9C 的配置值)设置输入多路复用器寄存器(0x02)。 然后、我们向 ADC 发送唤醒命令(0x02 -在数据表的第65页中提供)。 我们收到 GPIO 中断 当数据就绪或发生转换时、我们从 ADC 读取数据输出。 最后、当接收到所有3个字节的数据时、我们向 ADC 发送停止命令(0x0A - 在数据表的第65页中给出)。 其余寄存器必须设置为默认值、因为它们不被使用。

    对于单位增益、我们尝试将值为0x00和0x0F 的偏移校准寄存器(0x0A 至0x0E)配置为值0x40、但未观察到差异。 我们尝试了使用内部基准(参考控制寄存器0x05)、但仍获得了单位增益的正确值、但直到2.5V。 要涵盖满标量程、我们仍然找不到任何解决方案。

    您的查询:

    1. START/SYNC 引脚通过微控制器 GPIO 设置为低电平。 只要转换完成、我们就会通过 GPIO 中断接收数据就绪信息。  
    2。我已经捕捉了在一个用于4.2mA 读取的缓冲器中用于平均的值。 附加相同 f.y.r 的快照

    3. AIN0和 AIN1设置为1.47增益、其余所有通道都设置为单位增益。
    4.我们使用的源是0 -20mA 电流模拟器。 我之前附上的快照用于两种情况下的接近电压读数。  

    如果需要更多信息、请告诉我。

    谢谢。此致、

    尼米什

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

    您好、Nimish:

    感谢您提供有关您所使用流程的信息。  这个过程对我来说似乎是可以的。  让我们备份几个步骤。  首先、您需要根据电压响应测量电流。  您根据预期的电压结果进行测量、而不是根据测量的电流进行测量。  这种方法的问题在于、用作输入的电流对于两种配置并不反映相同的整体响应。  原因是、在一种情况下您输入一组完全不同的电流、我们不知道您的电流仿真器在所有步骤中的线性度有多高。

    如果你想继续使用同样的方法,那么你需要测量实际的输入电压 (你可能也应该这样做),并与转换结果进行比较。  要准确检查线性、您还应该测量基准电压。

    如果您将结果绘制为线性曲线图、则可以确定相对于测量输入值的结果接近程度。  我们不知道您的仿真器在所有电流上有多大的线性。  您正在使用的某些中间值可能会显示一些误差、这可能不是由 ADC 引起、而是由仿真器引起。  因此、1.47增益和增益值为1时都应使用与输入相同的电流、而不是理论电压、因为您尚未实际测量该电压。

    此致、

    鲍勃 B