|
如下面两个图, 计算公式有错吧?最后应该加上的是TS_CAL1_TEMP?也就是加上30度? 我的芯片 TS_CAL1= 12190 TS_CAL2 = 16174 基本没挂外设,整板电流80ma的情况下,ADC检测温度值13315 算得温度59度,正常吗?手摸芯片,感觉没有这么高。
|
VREF是3.319V,应该没有问题。 ADC改测试VBAT,ADC值是16700左右,VBAT是3.3V,因为内部连到ADC有1/4分压,所以检测VBAT是正常的。我觉得ADC应该是正常的。 疑问在温度检测,通过计算,30度到130度的电压变化是0.2V而已,还有就是规格书中说的两个标定点到底是不是30度到130度。 我尝试降低内部LDO的VOS配置和主频,通过电流表检测5V端电压只有20ma时,检测到的内部温度是50度。这明显不正常。 我觉得要不就是标定有问题,又不就是这个内部温度传感器根本就不是偏差几度,而是偏差相当大。
我刚才下载了最新的手册看了下,还是跟你写的一样。认同你的判断,它这个地方是有问题的,尤其额外加的那个数据不应该是ADC转换值而是具体温度值,按照这里算是的写法就应该是加30℃。另外,你注意下校准值的测试电压跟你目前所用VDDA是否一致,不一致的话还需要调整下。这里有篇文章你可以参考。 。 关于STM32内部温度传感器的算式话题 (qq.com)
你的理解是对的,应该是加30度 一般来说芯片内部温度是要高于表面温度的,不过你这温度确实奇怪,检查一下芯片ADC部分的供电