我将使用 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 输入、我可以使用这些基准电压来尝试查看是否存在偏移。