MCU中的温度传感器是芯片内部的电压基准模块的一个电压输出。这个输出电压与其PN结的温度成线性关系。符合 V = KT+ V_0 的关系。V_0 是0度时的温度传感器的输出。传统的MCU中温度测量是用ADC测量温度传感器的电压,然后倒推对应的温度。由于温度传感器的“温度--输出电压”关系在不同芯片上有所差异,如果按照数据手册给出的典型值进行计算,则全温度范围(-40°~85°)最大误差可能达到±6°或者更糟糕。如果需要得到较高精度需要进行校准,校准之后可以达到全温度范围±3°。请参考:
一点校准
这里需要提出的是,对于EFM8LB1/SB1芯片,Silabs在生产这些芯片的工厂已经做了单点校准(offset),并把校准结果写到了芯片的flash或者寄存器中,具体参见AN929。
C8051F39x/37x MCU上有另外一个高精度温度传感器,这个传感器直接输出当前温度值,而且精度高,典型误差<0.5°,全温度范围(-40°~85°)误差±3°。
温度测量误差分析及F39x/F37x高精度温度传感器介绍
8-bit Knowledge Base
C8051Fxxx/EFM8 MCU上如何通过温度传感器获取温度?精度如何?
MCU中的温度传感器是芯片内部的电压基准模块的一个电压输出。这个输出电压与其PN结的温度成线性关系。符合 V = KT+ V_0 的关系。V_0 是0度时的温度传感器的输出。传统的MCU中温度测量是用ADC测量温度传感器的电压,然后倒推对应的温度。由于温度传感器的“温度--输出电压”关系在不同芯片上有所差异,如果按照数据手册给出的典型值进行计算,则全温度范围(-40°~85°)最大误差可能达到±6°或者更糟糕。如果需要得到较高精度需要进行校准,校准之后可以达到全温度范围±3°。请参考:
一点校准
这里需要提出的是,对于EFM8LB1/SB1芯片,Silabs在生产这些芯片的工厂已经做了单点校准(offset),并把校准结果写到了芯片的flash或者寄存器中,具体参见AN929。
C8051F39x/37x MCU上有另外一个高精度温度传感器,这个传感器直接输出当前温度值,而且精度高,典型误差<0.5°,全温度范围(-40°~85°)误差±3°。
温度测量误差分析及F39x/F37x高精度温度传感器介绍