|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
STM8
. x( L% ?0 O8 m* K9 V N1 b STM8系列是意法半导体公司生产的8位的单片机。该型号单片机分为STM8A、STM8S、STM8L三个系列。STM8A:汽车级应用STM8S:标准系列STM8L:超低功耗mcu
, Q# ?/ B: p. p- G# }3 `; M
S: ?8 Z) U8 D8 e6 E/ N 内核高级STM8内核,具有3级流水线的哈佛结构扩展指令集存储器程序存储器:8K字节Flash;10K 次擦写后在55°C环境下数据可保存20年数据存储器:640 字节真正的数据EEPROM;可达30万次擦写RAM:1K字节( ?* G7 _/ h0 c5 N1 o9 P
) B) y- w* x( j: v! S9 D! i! s 时钟、复位和电源管理2.95到5.5V工作电压灵活的时钟控制,4个主时钟源– 低功率晶体振荡器– 外部时钟输入– 用户可调整的内部16MHz RC– 内部低功耗128kHz RC带有时钟监控的时钟安全保障系统电源管理:– 低功耗模式( 等待、活跃停机、停机)– 外设的时钟可单独关闭永远打开的低功耗上电和掉电复位5 F( O6 U4 M: _, p6 S) y) ?
6 I( W& ~0 r4 W1 [
四种STM8低功耗模式的主要特性如表。5 Z( z$ |% r' [" w" r5 C" o
stm8 halt低功耗模式7 g' G, q- B! y* f L
* ], s5 v, R* i7 J+ \' ?' {
(表12:STM8S低功耗模式管理); L2 K: D$ s2 D) {: U0 P( o0 M
$ O. W U( D9 k! ?4 ]
1.如果外设时钟未被关闭1 U! p+ Q, `- i; Z5 o
$ T9 O" D y% E
2.包括通讯外设的中断(参见中断向量表)% e! |- {$ c( v" A9 D
& l' U! ]6 n3 l) y( n8 K
STM8等待(Wait)模式
5 s! t# ]2 C( S 在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制1 u8 t) }; Y% g l/ ^9 `
" K$ }: S8 J1 m, K6 ^" Z0 \ (CLK)的说明。
. s1 D- h! P' m% L' @4 @! \
2 @0 c$ R9 E1 f# ~ 在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。
+ V E! F' \8 Q0 ?/ {. O y$ b" S6 o9 a* L3 s: v# t2 I4 e
当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。
8 I! o5 H2 u' W0 G* ^2 e& T6 J; _# x# u' C
STM8停机(Halt)模式
: d8 [2 {! R7 N' T0 r; g& x& f1 q6 o r 在该模式下主时钟停止。即由fMASTER提供时钟的CPU及所有外设均被关闭。因此,所有外设均没有时钟,MCU的数字部分不消耗能量。2 {& n8 \5 V! e5 P0 I
0 o5 w1 \$ f. j) n# Z
在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。6 b( m: R" ], ~; _+ K( \
! }: m! _3 G" a) x3 H% l+ C& J MCU可通过执行HALT指令进入停机模式。外部中断可将MCU从停机模式唤醒。外部中断指配置为中断输入的GPIO端口或具有触发外设中断能力的端口。# X* K) Y4 u& t+ t+ ~% i8 J' R0 r
/ r3 V1 {% }& b* s' a+ N* V c 在这种模式下,为了节省功耗主电压调节器关闭。仅低电压调节器(及掉电复位)处于工作状态。
% { m% H" b' C: A) D4 D6 r: r$ d6 U: ]9 ^
快速时钟启动
& A/ j- i# g; G" ~" H( N7 ~0 b7 v8 T9 Q$ h! K9 h8 g" G: u, T
HSI RC的启动速度比HSE快(参见数据手册中电特性参数)。因此,为了减少MCU的唤醒时间,建议在进入暂停模式前选择HSI做为fMASTER的时钟源。# [1 m$ Q5 w! H/ B
/ M# H+ |# Z+ E$ B
在进入停机模式前可通过设置内部时钟寄存器CLK_ICKR的FHWU位选择HSI做为fMASTER的时钟源,而无需时钟切换。参见时钟控制章节。
+ c5 z# j, R4 ]" }" T0 o, l
4 k: P) w9 z) S6 V STM8活跃停机(AcTIve Halt)模式
$ v4 g1 O. A* R4 g! p6 }6 Z 活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。
" z) k+ a, x$ g5 G0 r% G
, V4 m% e; k( H( }; Q2 Q 在活跃暂停模式下,主振荡器、CPU及几乎所有外设都被停止。如果AWU和IWD已被使能,则只有LSI RC与HSE仍处于运行状态,以驱动AWU和IWD计数器。为进入活跃停机模式,需首先使能AWU(如AWU章节所述),然后执行HALT指令。
* b; B. l1 [0 w# Q9 b; b: j
, K# g' N1 m1 u6 j 主电压调节器自动关闭
+ s& G+ ?6 V4 B* M s0 P$ E' L& t7 W2 _; y5 {8 Y2 R, V0 w/ U# m
默认情况下,为了从活跃停机模式快速唤醒,主电压调节器处于激活状态。但其电流消耗是不可忽视的。4 s3 D; |& I" `* S. A$ [
% W& r" [" L9 q' T: {# c! c 为进一步降低功耗,当MCU进入活跃停机模式时,主电压调节器可自动关闭。通过设置内部时钟寄存器CLK_ICKR的REGAH位可实现此功能。此时:# W+ C6 }! a+ n
& y! C# W# d4 A2 p) p
MCU内核由低功耗电压调节器(LPVR)供电(如同停机模式)。
' b% y r6 @$ A& R C: x1 u6 f8 i$ N, L* }! d9 B8 Z- w
仅LSI时钟源可用,因为HSE时钟源对于LPVR来说电流消耗太大。3 U) \+ n9 k& z( t' l7 s: y$ ]) y
# a) ~' f5 ?8 z9 H8 w5 D
在唤醒时主电压调节器重新被打开,这需要一个比较长的唤醒时间(参见STM8数据手册电特性部分唤醒时间与电流消耗的相关数据)。( `8 f6 n# O* e! |+ Z1 U
* ]& y# G9 v/ x1 ] 快速唤醒时钟
3 ^- G5 ~ T+ N0 B, }8 W, Y( X, I
如停机模式所述,为了缩短唤醒时间,建议使用HSI做为fMASTER的时钟源。FHWU位也可用于缩短切换时间。
9 ]: y4 _' Q8 ^* w+ ?0 ^1 k( X# b4 ]& I. T; u& D, Y; e
在活跃停机模式下,快速唤醒是很重要的。这可以提高CPU的执行效率,使MCU处于运行状态与低功耗模式之间的时间最短,从而减少整体平均功耗。- \2 |+ f- p" w. q9 ^$ m( p
5 J9 c$ k H) p/ {% T |
|