芯片内置温度传感器,在-40~85℃范围内精度为 2℃。 85~105℃范围内精度为 3℃。
芯片出厂前会经温度校正,校正值保存在flash info区。
芯片上电的默认状态下,温度传感器模块是关闭的。开启传感器之前,需要先开启BGP模块。
温度传感器通过设置
TMPPDN=1打开,开启到稳定需要约 2us,因此需在 ADC测量传感器之前 2us打开。
温度传感器信号连至 ADC的通道 18。
ADC部分的设置参考不再赘述。
温度传感器的典型曲线如下图所示:
图中
X轴为温度传感器的温度信号所对应的 ADC值, Y轴为传感器所处的温度。测温时,按照
如上要求配置传感器相关寄存器,并得到 ADC值后,将 ADC值作为 X代入公式 :
y=-0.6032x+364.96
求得的Y值即为此时的温度。
公式中有两个系数,a=-0.6032, b=364.96。
对于不同的芯片, b系数的值是不一样的。芯片出厂前会经过温度标定,将每颗芯片所对应的系数 b写入 flash的 info区,地址为 0x0000039C。存储
时,会将 b系数小数点右移一位(乘 10)存入 info区,小数点后第二位不进行保存。
同时为方便客户操作,系数a也会存入 flash info区,地址为 0x00000398。存储时,将 a系数小数点右移四位(乘 10000)存入 info区。
实际使用中,应从flash info区 对应 地址读出 a/b系数,同时将读取到 的 ADC测到的当下温度传感器值代入公式,即可计算得到当下温度值,单位为摄氏度。计算时,需注意系数 a/b在保存时小数点的位移数,即 a系数应除以 10000 b系数除以 10。
注意,上述计算公式,基于ADC右对齐实现。若换成左对齐, ADC采样值需右移 4位后,才能代入上述公式。
|