你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】AN3964_STM32L1x的温度传感器例子

[复制链接]
STMCU-管管 发布时间:2019-4-4 10:29
STM32L1x 温度传感器应用举例* E8 E/ b+ t0 C
$ Q0 x3 R3 A% u9 v  w8 ?& _
前言
' s4 I8 C$ C. W8 ^1 J/ A5 J
3 y0 l4 ]* {  j% ~% h3 ~, E) E* i8 ?
本应用笔记说明了使用 STM32L-DISCOVERY 和 32L152CDISCOVERY 板,实现简单温度测量应用的方法。本文讲解的解决方案使用 STM32L1x 微控制器集成的温度传感器。本文讲解了使用工厂或用户校准,提高温度传感器精度的方法。 * P& w% m9 o3 Z
! d" R+ W. f- a' Z6 s
演示应用不需要任何额外硬件。当使用相关固件更新 STM32L-DISCOVERY 和32L152CDISCOVERY,并通过连至主机 PC 的 USB 线给板子上电之后,应用即可显示STM32L1x 微控制器的温度。
; V: N- t* V: q$ m
8 N) e8 P7 ?5 t& u* N3 y* B+ H! a
温度传感器例程代码包含在 STM32L1x 探索固件包中 (STSW-STM32072),可从http://www.st.com 获得。
  q$ l% {9 r" q' f
& [9 A% c9 F4 [* ?参考文档
3 ^2 U5 C$ g7 a' i. L! i7 Z7 S• STM32L-DISCOVERY 和 32L152CDISCOVERY 用户手册 (UM1079) 0 g; O; _$ k! ?7 U7 o; r
• STM32L-DISCOVERY 和 32L152CDISCOVERY 板软件开发工具入门 (UM1451) 2 x; v/ c# Q- c7 p7 S; }
• STM32L1x 电流消耗测量和触摸感应演示 (AN3413)
, r" m" ?  C/ H• 超低功耗 STM32L15xx6/8/B 数据手册
: L" R# D2 x8 M; i/ X$ x• 超低功耗 STM32L151xC 和 STM32L152xC 数据手册
9 A( _3 N8 q( _9 E  D+ ?4 g, M• 超低功耗 STM32L151xD 和 STM32L152xD 数据手册 3 ]8 _+ _$ ~/ e, h- J
• 超低功耗 STM32L162xD 数据手册 3 x/ a" I* ?) X0 I5 R3 ]* C+ q
• STM32L100xx、STM32L151xx、STM32L152xx 和 STM32L162xx 基于 ARM 内核的 32位高级 MCU 参考手册 (RM0038)
$ W/ K, d( m( g5 s- f# ?  U* E

2 s4 G% E! e+ s+ T5 C; j9 q以上文档可从 http://www.st.com 获得。5 x- A4 ~; D+ G$ P$ i. Z8 f6 W
1.png
  q/ ?3 m: I- b: I: h3 v
1 应用概述

, b- W+ {7 x# K( N. q6 P
本章说明了温度传感器的工作原理以及如何使用 STM32L-DISCOVERY 或32L152CDISCOVERY 上内置的 STM32L1x 微控制器进行温度测量

3 \1 V7 U4 s; W
后面会简单说明如何实现示例温度测量应用。

1 g; B0 b8 c" R0 |& B$ F7 W6 Y
在整个文档中,使用 STM32L1xxDISCOVERY 表示 STM32L-DISCOVERY 或32L152CDISCOVERY 评估套件。
5 f$ V& k" U3 z3 f% M$ q% N' {
1.1 温度传感器
* d4 [5 t3 K5 U8 Z. \
集成于 STM32L1x 微控制器中的温度传感器可输出与器件芯片结温成正比的模拟电压。
; v0 M) C9 y: R8 L$ l; n
注: 请注意,传感器提供的温度信息为芯片结温 (半导体表面的实际温度),它可能与环境温度不同。若需更详细信息,请参见产品数据手册的 “ 热特性 ” 一节。

/ h1 v, V; u! `1 u* I. |1 {4 r- Y8 x" ~
集成的温度传感器提供了较好的线性特性,典型偏差为 ± 1%。其温度范围等于器件的温度范围 (–40 °C 到 85 °C),最大结温为 150 °C。
7 d  c8 Z) n% K; r
传感器的线性很好,但可交换性很差,必须对其校准以得到较好的总体精度。若应用设计为仅测量温度的相对变化,则不需要校准温度传感器。
* J$ a" s. g/ @& N6 w( b
1.2 温度测量和数据处理

3 l' F1 M" c+ i! y$ b1 [, D
温度传感器的输出在芯片内部连至 STM32L1x 中 ADC (模数转换器)的通道 16(ADC_IN16), ADC 通道用于采样和转换温度传感器的输出电压。必须进一步处理原始ADC 数据,以便用标准温度单位显示温度 (摄氏度、华氏度、开氏温度)。
( l! ]1 k/ I$ p9 c9 x
ADC 参考电压 (VDDA = VREF+)连至 STM32L1xxDISCOVERY 板的 3 V VDD 电源。若不知道 VDD 的精确值,则与使用电池工作的应用一样,必须对它测量以得到正确的总体 ADC转换范围 (见下节的详细信息)。

9 A% P* c. \- Q! r  B" z2 m7 ?
电池供电设备上的温度测量

- L/ b  i1 @# {4 a0 L3 e1 ~: A+ [
若器件直接用电池供电,则微控制器的供电电压会有变化。若 ADC 参考电压连至 VDDA,即低引脚数封装器件的连接方式,ADC 转换的值会随电池电压漂移。需要知道供电电压以补偿该电压漂移。可使用芯片的内部电压参考 (VREFINT)来确定实际供电电压 (VDDA)。ADC_IN17 内部参考输入上的 ADC 采样值 (Val_VREFINT)可由下式表示

* r8 G5 n$ O, G# J2 _
精确的芯片内部参考电压 (VREFINT)由 ADC 单独采样,在制造过程期间,将每个器件的对应转换值 (Val_VREFINT_CAL)储存于受保护的存储区,其地址为产品数据手册中规定的VREFINT_CAL。内部参考电压校准数据为 12 位的无符号数 (右对齐,存储于 2 个字节中),由用于参考的 STM32L1x ADC 获取

! |& I$ Y% r; B, q
工厂测量的校准数据总体精度为 ± 5 mV (若需更详细信息,请参考数据手册)。

$ f" K7 o8 h$ f) z- h2 ]3 S
我们可使用上式确定实际的 VDDA 电压,如下所示:

- d4 ]  G1 n- d2 f. s3 L
Val_VREFINT VREFINT 212 VREF+ × ⁄ VREFINT 4096 VDDA = = × ⁄VVREF_MEAS VREF+ = = 3V 0.01V ±VDDA 3 Val_VREFINT_CAL Val_VREFINT
  m% n. z  ]- `$ n/ _
...........
  ~$ a8 ]- O3 X# d
想了解更多,请下载原文阅读

0 d' B& V8 m* z3 K2 E
* z# X+ B& g% Z# p! b- V

. e4 a. G( ]* y; W% w+ p8 e$ t
收藏 评论1 发布时间:2019-4-4 10:29

举报

1个回答
Kevin_G 回答时间:2019-4-8 09:47:28
点赞
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版