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.

[参考译文] TMS320F28069:温度范围内的 ADC 精度

Guru**** 2587365 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/823383/tms320f28069-adc-accuracy-over-temperature

器件型号:TMS320F28069

我将使用 ADCINA6来测量外部温度。  当环境温度发生变化时、该值似乎波动很大。

设置

  • 内部 BG 参考(ADCREFSEL = 0)
  • VREFLO 连接至 GND
  • SOC6 CHSEL = 6
  • SOC6 ACQPS = 15
  • SOC6 TRIGSEL = 1 (CPU 定时器0)
  • CPU 定时器0设置为100usec 并被启用
  • CPU 定时器0 ISR 读取 ADC 值

不执行重新校准或偏移重新校准(我尝试定期运行 AdcOffsetSelfCal()例程,但这似乎没有帮助)。

我看到、在~15C (以及更低)的环境温度下、与环境温度高于~18C 时相比、存在大约50个计数(0.042V)的差异。  我正在尝试解释 SPRS698G 的表6-27、以查看这是否符合预期。

这是文档中的表格、我尝试将其转换为右侧的 V (3.3V 缩放)以供参考:

最小 典型值 最大 和功能         最小 典型值 最大 和功能
偏移误差 -20 20. LSB 0.01611 0.016113
总增益误差(int ref) -60. 60 LSB -0.04834 0.04834
温度系数(int ref) -50. ppm/C -0.00017 V/C

这是因为我可以预期+/- 60个计数(+/- 0.04834V)的增益误差、并且我的~50个计数(~0.042V)的差异在规格范围内、还是我应该尝试重新校准以在不同温度下获得更一致的结果?  我没有任何基准电压连接到任何 ADC 输入、我可以使用这些基准电压来尝试查看是否存在偏移。

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

    Anthony、

    您能描述一下温度传感器的信号调节吗?  是缓冲的吗?  传感器和 ADC-A6引脚之间是否有滤波组件?  如果传感器未被缓冲、较大的 ACQPS 值可能会有所帮助。

    数据表规格适用于支持的工作条件。  在整个温度范围内、您应该预计 ADC 增益误差在理想值的+/- 60LSB 以内。  您观察到的(漂移的50LSB)可能处于+/- 60LSB 误差范围内、因为从技术上讲、它允许在理想值附近进行高达120LSB 的漂移。

    但是、如果我们考虑-50ppm/C 的典型温度系数、则可能是其他因素导致了您的误差。  典型参数不是保证值或受限值、如最小值和最大值参数、但它确实指示了我们期望平均器件的行为方式。  在-50ppm/C 和-40C 至125C 的工作温度范围内、典型器件可能会在整个温度范围内看到大约-50ppm/1M x 165C * 4096LSB =-34LSB 的满量程漂移。  您报告的是在较小的温度范围内发生更大的漂移、因此值得进行一些额外的调试。

    我建议启用 ADC 延迟中断并从 ADC ISR 读取结果。  这将有助于确保您读取的是最新触发器的结果、而不是从100us 之前的最后一次触发器的结果。

    在这之后、我建议配置所有16个 SOC、以使用单个触发器转换 ADC-A6温度传感器、以便您可以查看连续值是否大幅波动或是否存在一些明显的图形。

    Tommy

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

    Anthony、

    自上次更新以来已经有一段时间了。  我假设您能够解决您的问题。

    如果没有、请回复此主题。  如果该线程由于超时而锁定、请创建一个描述问题当前状态的新线程。

    Tommy

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

    很抱歉、我没有更新该主题。  信号被缓冲--在处理器的输入上有一个 RC 滤波器,4.99k 和2.2uf。  处理器引脚上的电容器。

    我们最终将 ACQPS 值增加到25、这个问题似乎已经解决(仍在对所有温度范围进行测试)。  因此、缓冲似乎不够。