1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Silicon Labs EFM32系列的产品是基于Cortex-M0+/M3/M4内核的32位MCU,芯片最低工作电流可以达到37uA/MHz,EM2模式的休眠电流低到1.3uA,芯片的功耗特性较好,由于其超低功耗和丰富的外设等特性,被广泛的使用各种产品开发。 EFM32系列的MCU中自带了温度传感器,本文主要以EFM32HG系列MCU为例,对内部的温度传感器做个简单的介绍。 在参考手册中的ADC一章中,可以看到温度传感器计算的公式,如下图 对公式中的各参数介绍如下 T(CELSIUS):计算得出的温度,单位摄氏度 CAL_TEMP_0:芯片生产时候的温度。EFM32系列的MCU在出厂时将生产温度以及此温度下对应的ADC读数保存在了芯片的Device Information(DI)Page,所以此数据保存于DI page中。可以理解为MCU在生产的时候进行了单点温度校准。 ADC0_TEMP_0_READ_1V25:在生产温度下,ADC的读数。此读数是在1.25V的内部参考下的12位ADC读数。 ADC_result:当前的温度传感器的ADC结果。 TGRAD_ADCTH:温度梯度,在公式这里单位应该是mV/℃,此数据可以在DataSheet中查看。如下图 在Simplicity Studio中,我们还可以找到Demo程序,在这里我们可以看到官方提供的源码,如下图 我将源码中关于将ADC结果转换为摄氏度的函数贴在下面,以供参考 cal_temp_0为MCU生产时的温度,这个数据的单位是摄氏度,此数据是从MCU的Device Information页中读取的。此数据即上文提到的CAL_TEMP_0。 cal_value_0为MCU在生产温度下,ADC的读数,同上文提到的ADC0_TEMP_0_READ_1V25。 t_grad指的是温度梯度,这个-6.27可以在Datasheet中查到,单位为ADC Codes/°C 关于EFM32内部的传感器,在偏移量(offset)和斜率(slope)上都有很大的变化。EFM32在出厂时做了单点的校准,但是在斜率上的误差还是会很容易的使测量误差达到±3℃。如果一段段的进行两点校准可以获得更高的准确度。而且ADC本身也存在误差,芯片发热也会影响温度传感器的测量数据。综上,当计划使用EFM32内部传感器做外部环境温度的测量时,就需要进行校准和测试,从而来判断此温度传感器是否适合自己产品上的应用。如果对环境温度测量的精度要求较高,比如精度需要达到0.1℃,那建议另加一颗温度传感器,例如Silicon Labs的Si7051。 |
|
|
|
偏置电路与宽带偏置电路(Bias-Tee)-----电感器比较与选择
2634 浏览 0 评论
6044 浏览 0 评论
3629 浏览 2 评论
6514 浏览 2 评论
4320 浏览 0 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 20:41 , Processed in 0.462311 second(s), Total 65, Slave 48 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号