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

STM32F10xxx内部 RC 振荡器 (HSI)校准

[复制链接]
STMCU小助手 发布时间:2022-7-17 19:01
前言
( I$ w4 g5 h1 m8 k7 _2 {1 lSTM32F10xxx 微控制器提供了适合运行的内部 RC 振荡器 (典型地,有 8 MHz 的 HSI:高速内部振荡器)。在 25 ℃时, HSI 的典型精度为 ±1%。在 –40 到 105 ℃, RC 频率精度值扩大为 ±3%。因此,温度对 RC 精度有影响。
* B7 D4 n; s5 A5 h8 n' O为补偿应用中的温度影响,用户可使用运行时校准程序,进一步微调 STM32F10xxx HSI 振荡器的输出频率,提高 HSI 的频率精度。对通信外设来说,这可能是至关重要的。
% G" p1 ~9 A' |/ A+ g! i& }本应用笔记给出了两个校准内部 RC 振荡器的方法:找到具有最小误差的频率或找到最大允许的频率误差。两者都通过提供精确的参考源,如 RTC/64 信号或主动信号实现。
0 r7 S+ Q0 J' n' V这两个方法都基于相同的原理:计算 RC 频率 vs. 参考频率,计算 HSI 频率误差,设置RCC_CR 寄存器中的 HSITRIM 位。/ O3 ^9 r8 V5 S
1 `2 I1 K4 I, _& r! i& B
1 STM32F10xxx 的内部时钟:HSI 时钟
5 s& l6 H) D+ ]% CHSI 时钟信号由内部 8 MHz RC 振荡器生成,可直接用作系统时钟,或者除以 2 用作 PLL 输入。 HSI RC 振荡器的优点是成本较低 (无需使用外部组件)。它还比 HSE 晶振具有更快的启动时间。但即使校准后,频率也不如外部晶振或陶瓷谐振器的频率精度高。 HSI 信号还可作为备份时钟源 (辅助时钟)使用,以防 HSE 晶振发生故障。: l: H6 C1 a. {2 s( T# K- R4 b
1.1 校准
% U- A& g! ]0 P  m* V由于生产过程的不同,每个芯片的 RC 振荡器的频率都可能不同。因此,每个器件都由 ST做工厂校准,在 TA = 25 ℃时达到 1% 精度。  q9 R3 O' v! }: q  k. [& @
复位后,工厂校准值将加载到时钟控制寄存器 RCC_CR 的 HSICAL[7:0] 位中。
- K: k$ l% J" H, k  [/ P& _# V通过设置 RCC_CR 寄存器中的 HSITRIM[4:0] 位进行用户校准。可对这些 位编程,以考虑电压和温度变化对内部 HSI RC 振荡器频率的影响。默认值为 16,加上 HSICAL 值,应能将HSI 微调至 8 MHz ±1%。前后两个 HSICAL 步进之间的微调步长 (Fhsitrim)约为 40 kHz。
& W) ~3 F$ ?/ v& N, c
; c9 S. n/ D3 Q% X0 k- S/ l6 F( |9 L

2 m7 {, h5 C2 r/ G& l; z2 RC 校准
: i6 K) ~3 P/ l; k% I2.1 校准原理# j! [! P- Q: J4 C2 |0 R0 d* ^
校准的原理为首先测量 HSI 频率,然后计算频率误差,最后设置 RCC_CR 寄存器中的HSITRIM 位。/ X& I* Q6 K3 x) H, V3 b
HSI 频率并不是直接测量的,而是使用定时器对 HSI 时钟沿计数方式算出,然后与理想值 8 000 000 Hz 比较。为此,必须有一个非常精确的参考频率,比如由外部 32 kHz 晶振提供的RTC/64 信号或 50 Hz/60 Hz 主频 (请参考2.2.2 章节)。对于 RTC 时钟源的情况,参考频率等于 512 Hz (32768 Hz/64)。
: _) `1 p6 e" {1 显示了怎样使用定时器计数个数测量参考信号周期。
( |' o" E0 L0 V( A% x; X5 E* O. H) U9 z! _) R

: D4 D/ B% N# h+ p Y8BCQI3R1FHQ]7%$Q[68~%U.png
9 W3 t* w# M* ~- i8 d- o- p7 }7 k8 t! Q" C/ \2 B

7 H. n% S. U" c  J! D" m" N% j在每个上升沿会发生两个中断:捕获比较 1 中断和更新事件中断。后者用于在参考信号周期对计数器溢出计数。因为在每个新周期开始时两个中断同时发生,所以会发生额外的溢出。
/ {( I" n9 Y: g' j' b: ]这就是为什么我们必须对计数器溢出的数目减 1:N – 1。
$ s9 ~4 C7 r+ `% O4 |因此 HSI 时钟沿计数数目如下:
8 Q# W1 r2 A: V8 z! u7 N( ?TimerPeriodCount N 1 – ( ) × 65535 + Capture1,其中:
' m4 a8 l* x) r- k$ f– N 为一个参考频率周期期间定时器溢出的数目
: M. P- G) C' u2 F! g3 n– Capture1 为从定时器 CCR1 寄存器中读取的值。7 R: C" f  K" w. }: c* E4 l$ W$ P- w
因为定时器由内部 RC 提供时钟,所以微控制器可计算 HSI 产生的真正频率并与参考频率比较。
6 z* G! d' y2 y1 {( fFrequencyRC TimerPeriodCount FrequencyRef
) |  `  D1 x0 Q/ ]( J6 k误差 (单位 Hz)为 RC 频率 (FrequencyRC)与 8 000 000 Hz 之差的绝对值。
8 M; V) s  i* I4 ^' _8 g因此, RC 频率误差表示为:  J4 [( S, N4 s: v3 J& V* M6 Z& y
Error Hz ( ) = FrequencyRC – 8000000
$ n# _( w; T9 F1 e, j8 A计算误差之后,算法会确定写入 RCC_CR 寄存器中 HSITRIM 位的校准值 (若需更详细信息,请参考3 章节)。
, C: \2 X7 L' ?6 H5 d. d' o
$ n6 }) p5 e0 e1 r+ J6 C2.2 硬件实现1 ^6 F: O$ e6 ~
2.2.1 RTC/64 用作参考频率的情况:512 Hz
8 F. A( G2 w! L  T( }# S5 USTM32F10xxx 可将 RTC 信号 64 分频输出至 GPIO PC13 (TAMPER-RTC 引脚)。
2 y- @' D" U. e$ b" [& z. q" v$ _TAMPER-RTC 信号可用作 RC 校准的参考频率。要达到该目的,此引脚必须配置为复用功能推挽,连至定时器通道输入。
! ^- a9 |+ W0 K: E" Y. a  d注: 在本应用笔记的后续部分,使用的通道为定时器 3 通道 1 TIM3_CH1)。- F7 @; y5 m+ A9 v1 H
2 显示了使用 RTC/64 作为校准的精确频率源时, RC 校准需要的硬件连接。% Y7 m1 {2 X. i8 X7 n8 O' W* d
, ~( K  j1 `  |& c$ F. f

8 j" n! O- C# U, Q" y ~PKF7WC_~}ZA9129MBR6.png 0 D0 X" P: s  u/ U& n: ]

3 D9 w5 y2 c, K' S2.2.2 主频用作参考频率的情况:
( l+ x2 {, T. d* F1 e# H50 Hz/60 Hz' C0 f3 `+ w7 y
本节说明了使用 AC 主频作为参考频率方法的硬件需求。3 显示了向微控制器提供 DC 电源 (约 3.3 V)的电路实现:$ A' k& b' x% H( }1 ^5 T
保护定时器输入所需的唯一元件为一个电阻。因此若不需要电源,则只需在 TIM3_CH1 输入上有一个电阻以保护定时器输入的过电流。
# w" `0 C: t" u$ z2 ~; F6 A此电路包括一些无源元件,以将 220 V/50 Hz 的 EU 电源或 110 V/60 Hz 的 US 电源转换为3.3 V DC 电源。对于具有较高耗电电流的应用,可使用功率转换器 (请参考应用笔记AN1357:VIPower:在非隔离应用中使用 VIPer12A 作为低成本电源)。0 B3 l" i4 o5 M% j
! j6 n  X! O8 h( w/ q
注意: 4 ~: t7 P9 I$ N% S# w
若电流变化太大,则参考信号调节和电源电路无法使用。
1 w, {1 R2 k/ w* p0 k4 Z对于噪声主频的情况,建议使用输入功率线性滤波器 (请参考应用笔记 AN2326:使用主频校准 ST7ULTRALITE MCU RC 振荡器)
! U, `" |5 ^" Y( O, Y: k3 w* x# D
! _: s) o4 u/ u- n+ t2 g完整版请查看:附件6 ~5 b2 t. E5 T

CD00221839_ZHV1.pdf

下载

452.13 KB, 下载次数: 8

收藏 评论0 发布时间:2022-7-17 19:01

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版