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

【中文文档】AN2868_STM32F10xx内部RC振荡器校准

[复制链接]
STMCU-管管 发布时间:2019-4-10 14:06
STM32F10xxx内部 RC 振荡器 (HSI)校准3 X2 i/ D; }% W. E! G

' s, [8 X; e* p7 P1 I前言
$ e( ^$ k" @9 U. o
9 I5 B- @% A" o2 {7 J; k) |STM32F10xxx 微控制器提供了适合运行的内部 RC 振荡器 (典型地,有 8 MHz 的 HSI:高速内部振荡器)。在 25 ℃时, HSI 的典型精度为 ±1%。在 –40 到 105 ℃, RC 频率精度值扩大为 ±3%。因此,温度对 RC 精度有影响。 0 H+ }6 b( j/ x+ a" _
6 s/ q( R" ~9 a& Q# `
为补偿应用中的温度影响,用户可使用运行时校准程序,进一步微调 STM32F10xxx HSI 振荡器的输出频率,提高 HSI 的频率精度。对通信外设来说,这可能是至关重要的。   X2 g! H9 s- `) z

5 \4 i6 D' p* |& S$ l本应用笔记给出了两个校准内部 RC 振荡器的方法:找到具有最小误差的频率或找到最大允许的频率误差。两者都通过提供精确的参考源,如 RTC/64 信号或主动信号实现。
0 ^/ h& f: ]7 v$ R5 M3 q) Y2 x
% v" }* @( c3 a( n! O这两个方法都基于相同的原理:计算 RC 频率 vs. 参考频率,计算 HSI 频率误差,设置RCC_CR 寄存器中的 HSITRIM 位。1 s( u! s8 Z) A- _; I; S5 v

( p  ~: l* `7 x2 A, p1 STM32F10xxx 的内部时钟:HSI 时钟 5 x" A9 a8 S: m8 P  r" F

, t: b5 N  q; xHSI 时钟信号由内部 8 MHz RC 振荡器生成,可直接用作系统时钟,或者除以 2 用作 PLL 输入。 HSI RC 振荡器的优点是成本较低 (无需使用外部组件)。它还比 HSE 晶振具有更快的启动时间。但即使校准后,频率也不如外部晶振或陶瓷谐振器的频率精度高。 HSI 信号还可作为备份时钟源 (辅助时钟)使用,以防 HSE 晶振发生故障。 8 R6 x5 x" c3 \& [
+ `/ f5 \: @& o  Y! {8 d& O
1.1 校准
/ n/ j' d& a) b( D+ X0 g
; P' F8 f# H9 K$ N
由于生产过程的不同,每个芯片的 RC 振荡器的频率都可能不同。因此,每个器件都由 ST做工厂校准,在 TA = 25 ℃时达到 1% 精度。
, _8 s0 |9 o) m  H1 E1 M, z
* I3 n9 O: f( w0 v  |* `0 T复位后,工厂校准值将加载到时钟控制寄存器 RCC_CR 的 HSICAL[7:0] 位中。
. Q1 L3 H5 E8 T; j8 }4 r* S% ]7 l( C1 q
通过设置 RCC_CR 寄存器中的 HSITRIM[4:0] 位进行用户校准。可对这些 位编程,以考虑电压和温度变化对内部 HSI RC 振荡器频率的影响。默认值为 16,加上 HSICAL 值,应能将HSI 微调至 8 MHz ±1%。前后两个 HSICAL 步进之间的微调步长 (Fhsitrim)约为 40 kHz。
' k# R7 r7 z( @
; ?/ E( n9 ~+ v7 q+ \* {2 RC 校准

: `; [" F8 a& w+ R2 d5 Q! P! T: P
" W& }9 l% R+ S% N  c+ m# N6 b! X
2.1 校准原理
( C9 A' ^" `; ~6 x7 s& I# Q
# r# n, l5 I" f% x, u8 ?- I8 C) m校准的原理为首先测量 HSI 频率,然后计算频率误差,最后设置 RCC_CR 寄存器中的HSITRIM 位。
" ?- P% Y0 Y4 X# i
# E: y; |4 C0 n  A# ?HSI 频率并不是直接测量的,而是使用定时器对 HSI 时钟沿计数方式算出,然后与理想值 8000 000 Hz 比较。为此,必须有一个非常精确的参考频率,比如由外部 32 kHz 晶振提供的RTC/64 信号或 50 Hz/60 Hz 主频 (请参考第 2.2.2 章节)。对于 RTC 时钟源的情况,参考频率等于 512 Hz (32768 Hz/64)。
$ k4 o$ V' P5 T7 R1 c" C$ {

9 o% G% x3 K* E2 [6 E5 L8 f) \图 1 显示了怎样使用定时器计数个数测量参考信号周期。
9 G% [8 `' N3 c4 y4 z1 D$ t! w' F$ p. Q% D* |& D6 Q0 ^
3 e, R0 n2 i! M: U7 L
1.png
- W8 i7 ~' k7 Y2 K' o* z; v  T
在每个上升沿会发生两个中断:捕获比较 1 中断和更新事件中断。后者用于在参考信号周期对计数器溢出计数。因为在每个新周期开始时两个中断同时发生,所以会发生额外的溢出。这就是为什么我们必须对计数器溢出的数目减 1:N – 1。
# e% K) K/ ?4 s. \- s% N& L
2 K9 D7 Z/ `% m6 |# U5 Y

+ X* @+ p& I8 j& V1 j
...........

: q1 r6 g. H$ H  d
想了解更多,请下载原文阅读

: q" S! {+ u$ Y6 D" s4 A! Q
赞 收藏 1 评论1 发布时间:2019-4-10 14:06

举报

1个回答
Kevin_G 回答时间:2019-4-10 14:35:58
收藏

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版