我使用的是 s32k314,s32ds 3.6.1 版本。
我制作了读取 MCU TempSense 的源代码。
当我从 MCU TempSense 数据中获取数据时,数据非常奇怪。
在使用Adc_Sar_Ip_TempSenseGetTemp 函数 之前,我使用了 Adc_Sar_Ip_TempSenseEnable(1U)。
参数 1 的原因是我通过 adc 配置在 adc1 中使用了 TempSense adc 通道。
1. 为什么数据如此奇怪?
2. 我必须做什么吗?
3. 当您看到第一张图片时,adc 的分辨率为 14,因此 tempSens 的分辨率为 14bit?????。
感谢帮助。
我由硬件工程师检查硬件。所以我知道Data 不稳定。
虽然我的电源 vref 电压为 5.0V,但 vref 不稳定(4.1V~ 5.8V)。
RTD 版本为 4.0.0。
感谢帮助。
您的 RTD 版本是什么?
1. 对不起,这是我的失误。VREF 绝对电压为 5.0V。所以我已经更改了 0x50。
但结果是一样的。
2. 我要设置比当前值更大的值。
但我认为这不是解决办法。我可以捕捉到晃动的数据,但数值很奇怪。
你知道之前的照片,温度至少超过 150 摄氏度。
在您的最后一个答案中,您说" 是因为 MCU 的电源电压为 3.3V " 。现在您说"MCU VREFH 为 5.0V" 。你是认真的吗?
在您的配置中,温度感应电压电源为 0x53,即 5.3V
Adc 参考电压为 53-> 0x35-> 3.5V
我们谈了这么久,你却总是犯同样的错误。
如果 VREFH 为 5V,则应将两个值都设置为 0x50。
其次,为了提高稳定性,可以将以下参数设置为较大值,然后再次进行测试。
1. 我很难向您提供源代码。但我可以通过图像捕获来配置 adc。可以吗?
2.MCU VREFH 为 5.0 伏,VREFL 为 0 伏。
你好@rlaxortn
从您提供的数据来看,您的 ADC 采样结果波动很大。这应该是由于您的 ADC 采样配置存在一些问题造成的。
1。提供你的项目,我会帮你检查 ADC 设置
2.请确认当前硬件上的 ADC 参考电压并测试 VREFH 的实际电压。
1.如何知道 Tempsense 的电源电压?单片机的工作电压不就是 TEMPSense 的电源电压吗?
2. 因为 MCU 的电源电压为 3.3V。因此,我将温度感应电源电压设置为 50(0x32)-> 3.2V。
无论如何,我都要测试 Tempsense 电源电压,0x50(5.0V)、0x15(1.5V)、0x33(3.3v)。
当我设置 0x50 时
(TemperatureRaw 是整数值,mcuTempData 是用于打印的浮点数)。
ex) 2205 -> 0x89D
当我设置 0x33(3.3V)时
(TemperatureRaw 是整数值,mcuTempData 是用于打印的浮点数)。
ex) 2537->0x9e9
当我设置 0x15(1.5V)时
ex) 5515->0x158B
你好@rlaxortn
你的 ADC 参考电压是 3.2V?
更正一下,我的回答中有一些错误。
所用数据格式为 S11.4。
因此,实际值 = 原始 16 位有符号数 ÷ 16
例如:
1.0×15 = 21 / 16 = 1.3125V
2.0×35 = 53 / 16 = 3.3125V
3.0×50 = 80 / 16 = 5V