找回密码
 注册
关于网站域名变更的通知
查看: 101|回复: 0
打印 上一主题 下一主题

超低功耗MCU选型技巧

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-1-12 15:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
选择一款最适合您自己应用的超低功耗mcu并非易事,并不像对比数据表前面的数据那么简单。我们必须详细对比 mcu功能,包括:断电模式、 定时系统、 事件驱动功能、 片上外设、 掉电检测与保护、 漏电流、 处理效率。还可以关闭外设时钟,注意I/O口的电平状态等措施来降低功耗。+ g/ N8 _; X0 f# H1 {3 O1 Q
! z4 r* s! q2 f# T7 G8 K" i
/ V0 {$ j1 z. W+ ?% I$ d' V& U" s/ o4 x; T/ n; U
( v5 _9 e7 y5 }) M: d; k& x循序渐进式的功耗优化已经不再是超低功耗mcu的游戏规则,而是“突飞猛进”模式,与功耗相关的很多指标都不断刷新记录。我们在选择合适的超低功耗mcu时要掌握必要的技巧,在应用时还需要一些设计方向与思路才能够更好的应用。
. V% b, X. W) G+ H8 U- w
& G# W( k8 F- Y6 l4 k& F9 R$ H
2 |! b$ m" R- Z# {5 U9 z# z+ ?2 }4 t  Y) O2 ]
超低功耗MCU的选择方法- E5 q- L3 U9 E4 J) ~5 |
% O& D' S  [/ Q" W' c: w' s1 J  I, K; _( x% W6 t5 c; L
- O( w2 d5 g% L& a1 A$ M/ z
" V) c, w2 @* t" j$ i' H0 p& M; n嵌入式微控制器 (MCU)的功耗在当今电池供电应用中正变得越来越举足轻重。大多MCU芯片厂商都提供低功耗产品,但是选择一款最适合您自己应用的产品并非易事,并不像对比数据表前面的数据那么简单。我们必须详细对比 MCU功能,以便找到功耗最低的产品,这些功能包括:断电模式、 定时系统、 事件驱动功能、 片上外设、 掉电检测与保护、 漏电流、 处理效率。7 }* m1 x: F5 z) f0 W: `1 O5 v' ?0 v  f4 {1 U

1 j7 C0 v1 q2 s$ i4 m: l) l3 C7 h! T/ u7 K% @: \6 G2 F
* u: k" r; a! J9 T; ]* \7 _- n, L在低功耗设计中,平均电流消耗往往决定电池寿命。例如,如果某个应用采用额定电流为 400mAh 的 Eveready 高电量 9V 1222 型电池的话,要提供一年的电池寿命其平均电流消耗必须低于 400mAh/8760h,即45.7uA。
9 `9 `. R/ a% k6 t1 @# }* Y! M  u- B4 a! C" S+ p( v, ~+ g% b4 J) g3 C0 X/ n* O
, `1 I  b& W8 p3 J3 f, v- C% S( D* T7 L- V3 P2 e. g  n& {
在使MCU能够达到电流预算的所有功能中,断电模式最重要。低功耗MCU具有可提供不同级别功能的断电模式。例如,TI 超低功耗 MCU MSP430 系列产品可以提供 5 种断电模式。低功耗模式 0 (LPM0) 会关闭 CPU,但是保持其他功能正常运转。LPM1 与 LPM2 模式在禁用功能列表中增加了各种时钟功能。LPM3 是最常用的低功耗模式,只保持低频率时钟振荡器以及采用该时钟的外设运行。LPM3 通常称为实时时钟模式,因为它允许定时器采用低功耗 32768Hz 时钟源运行,电流消耗低于 1uA,同时还可定期激活系统。最后,LPM4 完全关闭器件上的包括 RAM 存储在内的所有功能,电流消耗仅 100 毫微安。" ~& {$ i: i! }; \
) X$ {! c8 W6 G+ }, v; {3 }* j* C0 J6 D  }2 v

! H2 K2 h  \7 f时钟系统是MCU功耗的关键。应用可以每秒多次或几百次进入与退出各种低功耗模式。进入或退出低功耗模式以及快速处理数据的功能极为重要,因为 CPU会在等待时钟稳定下来期间浪费电流。大多低功耗MCU都具有“即时启动”时钟,其可以在不到 10~20us 时间内为 CPU 准备就绪。但是,重要的是要明白哪些时钟是即时启动、哪些非即时启动的。某些MCU具有双级时钟激活功能,该功能在高频时钟稳定化过程中提供一个低频时钟(通常为32768Hz),其可以达到 1 毫秒。CPU 在大约 15us 时间内正常运行,但是运行频率较低,效率也较低。如果 CPU 只需要执行数量较少的指令的话,如:25 条,其需要 763us。CPU 低频比高频时消耗更少的电流,但是并不足于弥补处理时间的差异。相比而言,某些 MCU在 6 微秒时间内就可以为 CPU 提供高速时钟,处理相同的 25 条指令仅需要大约 9us(6us 激活+25 条指令′0.125us指令速率),而且可以实现即时启动的高速串行通信。
% b: F  l- l8 k2 G1 _3 q- d# D. A' x: a& f5 x7 I
8 X7 G: `, @& M" i1 C! t! ~9 T: V' V4 U3 a7 T& S, n5 U  {3 m5 d( l  s* n7 u
另外,如果MCU时钟系统为外设提供多个时钟源的话,当 CPU 处于睡眠状态时外设仍然可以运行。例如,一次 A/D 转换可能需要一个高速时钟。如果MCU 时钟系统提供独立于 CPU 的高速时钟,CPU 就可以在 A/D 转换器运行情况下进入睡眠状态,从而节省 CPU 耗流量。0 \# Y9 X: ]4 }5 X- U

" y$ X8 @0 \4 v0 L- N: x' k& A1 i% d( ]" x# w4 U0 g2 J
事件驱动功能与时钟系统的灵活性并存。中断会使MCU退出低功耗模式,因此,MCU的中断越多,其防止浪费电流的 CPU 轮询与降低功耗的灵活性就越大。轮询意味着进行与不进行功耗预算之间存在差异,因为它在等待出现事件时会浪费CPU 带宽并需要额外电流。一个好的低功耗MCU应具有充分的中断功能,为其所有外设提供中断,同时为外部事件提供众多外部中断。4 L2 I( i, m& R8 D, D
; }$ ]. x9 V8 W$ n, r( k; w: Q, G* n0 g
/ V, B2 r5 {; t' b: V! M, R8 y6 b7 X. L/ b% u( n; l, Y# Z  Z; o! h: G6 z0 R- ?/ k
按钮或键盘应用可以证明外部中断的优势。如果不具备中断功能,MCU必须频繁轮询键盘或按钮,以确定其是否被按下。不仅轮询自身会消耗功率,而且控制轮询间隔也需要定时器,其会消耗附加电流。相比而言,在具备中断情况下,CPU 可以在整个过程中保持睡眠状态,只有按下按钮时才激活。) ]0 M, p8 T4 t9 v, p3 h, h1 A6 `+ c  [, b* T0 B! Y+ ?8 e

/ Y- t; s. t$ G+ t* O' r. `) a" A4 v: [4 e2 A
在选择低功率MCU时,还需要考虑外设功耗与电源管理。某些低功率MCU仅仅是设计时不具备低利率功能的旧架构的改进版本。而有些MCU在设计时即具备低功耗特性,并在其外设中内置了低功耗功能。一种特性是在需要时单独启动或关闭外设的能力,换言之,更重要的是自动启动或关闭外设的能力。 A/D 转换器就是一个例子,其在完成一次转换后可以自动关闭。另外,某些MCU正在引入直接存储器存取功能,其可以在无需 CPU 干预情况下自动处理数据。7 X* t/ j6 A& F* b; j
; M! i! ?( I" S) B! J/ T" o& A3 K2 _$ i5 ?6 C; M0 M4 {7 A6 ~4 r6 Q
8 H: G1 V: P. Y+ S( X4 H' T6 F) X& H! i% a3 t
大多 MCU具有集成的掉电保护功能,当电源低于正常操作范围时其可以复位 MCU。通常会提供启动或关闭掉电保护以节省功耗的功能,但是必须在整个过程中都使掉电保护功能置于可用状态,因为掉电是不可预测的。某些MCU需要70uA 的电流来实现掉电保护。在只需要 45uA 平均电流的应用实例中很明显可以不考虑这些MCU。 在选择低功耗MCU期间有时会忽视漏电流,但是,在最苛刻的低功耗应用中则必须考虑到漏电流。大多改进后的低功耗MCU都具有 1uA 的限定输入漏电流。在 20 输入器件中,它可能会消耗 20uA!针对低功耗设计的最新MCU具有最高50nA 的漏电流。3 y; v4 q3 }6 t9 l- C1 H& e
8 N* _3 ^) s* u3 }3 v; o  w# o1 q: `& n9 `, }8 [9 Y$ q$ N
! N9 M" T& w5 g7 j5 p. O6 @$ E+ b2 j2 G4 o' A: B
# P9 I6 c+ v) ^1 n最后,我们常常会误解MCU处理效率。大家通常会认为 16 位 MCU需要两倍于 8 位MCU的内存,但是一个 16 位架构实际上需要比 8 位架构要少一些的代码,而 16 位MCU一般会更快速地执行任务。例如,8 位 MCU需要 CPU 开销来管理具有 10 位 A/D 转换数据或需要 16 位计算的应用中的数据。而且当今许多MCU产品都具有单个工作文件或累加器,其数据必须进行传输,以便处理,因此,与基于寄存器的架构相比需要额外的 CPU 开销。
" Z# g* l" N$ {/ d1 |8 ^. ^, ^/ C. u; ~. `' f; y3 I5 o4 u0 \' f7 J+ f3 y8 T  v5 O5 {+ Z& a, {2 u: d
+ [! n( m" b5 d6 n' \) i4 B& t) F
# e+ ?& @& }( Z6 I: U3 p选择低功率MCU是一项耗时、棘手的工作。如果花费一些时间来了解可用产品选项的架构特性,我们就能够开发出能满足最苛刻功率预算的设计。2 `# M! O* o- C% Q4 }* G" k2 R( W; p4 Z8 {0 z

: {% }2 l3 r* s+ t" _# s0 @6 B
( j; }( S4 }2 ]2 d8 Y3 [6 @小结:MCU的低功耗设计是一个细致活,要养成良好的习惯,做到每添加一个功能都要重新验证一下低功耗是否符合要求,这样就可以随时随地干掉消耗功率的因素。如果把所有功能都设计好了才去考虑低功耗的问题,一个不小心,就可能要更改程序的架构——即便如此也不一定能把功耗给彻底降下去。
+ Z: J/ K1 U8 b- I- i+ T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 04:38 , Processed in 0.078125 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表