|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
STM8
9 r1 s% [# L6 X6 W) n/ b4 K* ^& F4 v5 F STM8系列是意法半导体公司生产的8位的单片机。该型号单片机分为STM8A、STM8S、STM8L三个系列。STM8A:汽车级应用STM8S:标准系列STM8L:超低功耗mcu7 h$ K7 Z; O1 Z8 K `
5 J9 }; E! c1 `3 w' O7 b
内核高级STM8内核,具有3级流水线的哈佛结构扩展指令集存储器程序存储器:8K字节Flash;10K 次擦写后在55°C环境下数据可保存20年数据存储器:640 字节真正的数据EEPROM;可达30万次擦写RAM:1K字节+ T. F( \- n) o9 B
) M, l& r( I) Z. r! U6 C 时钟、复位和电源管理2.95到5.5V工作电压灵活的时钟控制,4个主时钟源– 低功率晶体振荡器– 外部时钟输入– 用户可调整的内部16MHz RC– 内部低功耗128kHz RC带有时钟监控的时钟安全保障系统电源管理:– 低功耗模式( 等待、活跃停机、停机)– 外设的时钟可单独关闭永远打开的低功耗上电和掉电复位
, t6 q& D2 V" K x8 j" O- L/ \& f8 q5 w5 } R) w, n/ t
四种STM8低功耗模式的主要特性如表。& k4 `2 `# D% y3 I% h5 r1 H6 ?/ n
stm8 halt低功耗模式
' `# x( s i9 ? p4 G' j, t
# C- I' R; L) Y+ P3 z/ X: r (表12:STM8S低功耗模式管理)
. o4 G) T8 ~$ {2 _8 O0 x
. X" `; X# {0 x2 ]6 w+ d X, P+ C 1.如果外设时钟未被关闭
+ i' Z: }, O; Z0 ^7 ^/ Y% V! S" h% r2 ^9 Z3 s0 i
2.包括通讯外设的中断(参见中断向量表)1 h5 d/ y T! S+ \0 A- D
) ?& F5 e" m& d8 C+ f STM8等待(Wait)模式" B" T6 }8 l) r, |
在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制( X: a$ a5 D3 c/ n/ V2 V
2 g5 {2 [1 I1 b* X (CLK)的说明。6 N2 q2 Y- R+ p. O2 s, c# z
3 `% N3 O- k8 O$ O7 E* e4 t* e 在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。
$ ]' o6 T2 O1 N0 I6 |& @* G* y- X& C4 _# ?+ E* t$ Y
当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。% G- x2 Z4 ]; g! y0 ]$ Z5 {
4 _ e8 Q, x9 j( k! u* m STM8停机(Halt)模式
# P+ W0 b% y/ y$ q 在该模式下主时钟停止。即由fMASTER提供时钟的CPU及所有外设均被关闭。因此,所有外设均没有时钟,MCU的数字部分不消耗能量。
- `; ?& C8 x7 p& H0 \7 u$ C8 D$ S5 I% z3 J
在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。
$ n& Z7 ^ I# U* W M7 N1 H, J1 [( j' Q. P! `. i
MCU可通过执行HALT指令进入停机模式。外部中断可将MCU从停机模式唤醒。外部中断指配置为中断输入的GPIO端口或具有触发外设中断能力的端口。
( m8 Q1 S7 B! N$ ^1 p
& Z( K) }# l; Z' t% b 在这种模式下,为了节省功耗主电压调节器关闭。仅低电压调节器(及掉电复位)处于工作状态。
4 @- e, a9 D6 {$ E3 X0 Z( c, ?' ^7 C7 n
快速时钟启动
( |8 F4 `* q& w u
& X$ d8 s1 c; u HSI RC的启动速度比HSE快(参见数据手册中电特性参数)。因此,为了减少MCU的唤醒时间,建议在进入暂停模式前选择HSI做为fMASTER的时钟源。/ W" z3 F( Q6 S
6 ~- _& p( T4 ]- B
在进入停机模式前可通过设置内部时钟寄存器CLK_ICKR的FHWU位选择HSI做为fMASTER的时钟源,而无需时钟切换。参见时钟控制章节。3 h7 C, d# ?: P3 z
8 f: O$ @. F# ? _
STM8活跃停机(AcTIve Halt)模式
. x8 y1 }3 a9 C4 A; F 活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。7 R+ R0 u8 o0 k8 D# f
& C ?& e5 Y1 }( y. c7 _ 在活跃暂停模式下,主振荡器、CPU及几乎所有外设都被停止。如果AWU和IWD已被使能,则只有LSI RC与HSE仍处于运行状态,以驱动AWU和IWD计数器。为进入活跃停机模式,需首先使能AWU(如AWU章节所述),然后执行HALT指令。
& `4 Z K6 j) K( l9 g; S# R) c8 E% o8 T( a& Q A; g
主电压调节器自动关闭9 c$ _& d* ?% C
/ D; }6 h3 ^5 h5 J; Z
默认情况下,为了从活跃停机模式快速唤醒,主电压调节器处于激活状态。但其电流消耗是不可忽视的。
& S' U: |% V; U$ F7 V$ D
% Z# E0 B4 j, x: }" z: `, R 为进一步降低功耗,当MCU进入活跃停机模式时,主电压调节器可自动关闭。通过设置内部时钟寄存器CLK_ICKR的REGAH位可实现此功能。此时:
: H. T5 W) \& n2 j; S$ m
3 m( F7 p) ?4 J2 A' U- J) E MCU内核由低功耗电压调节器(LPVR)供电(如同停机模式)。
& I% U" ]3 r$ y3 {- H7 q4 R1 X
1 _( E! t, `1 s1 M. _+ ` 仅LSI时钟源可用,因为HSE时钟源对于LPVR来说电流消耗太大。; r* n8 F* h/ k+ j) H3 A
$ t5 _! ]7 F0 O" Z! S# G
在唤醒时主电压调节器重新被打开,这需要一个比较长的唤醒时间(参见STM8数据手册电特性部分唤醒时间与电流消耗的相关数据)。
+ E& U j. \$ C, ]
8 ^* k F+ q [+ N 快速唤醒时钟; B' Q- z3 c* k& m
7 D/ w: D8 [0 M3 a) ]' T 如停机模式所述,为了缩短唤醒时间,建议使用HSI做为fMASTER的时钟源。FHWU位也可用于缩短切换时间。' i5 d1 T+ ]' f H1 j8 B: s
" O# G" D; O' `: B
在活跃停机模式下,快速唤醒是很重要的。这可以提高CPU的执行效率,使MCU处于运行状态与低功耗模式之间的时间最短,从而减少整体平均功耗。
* T4 r0 O% l: @/ H
/ H4 P( [2 X* s |
|