「MSP430G2553 - 電力モード」の版間の差分
提供: MochiuWiki : SUSE, EC, PCB
細 文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{… |
|||
| 32行目: | 32行目: | ||
<br><br> | <br><br> | ||
== | == MSP430G2553の動作モード == | ||
MSP430G2553は、1つのアクティブモードと5つのソフトウェア選択可能な低消費電力動作モードを備えている。<br> | |||
割り込みイベントにより、いずれの低消費電力モードからでもウェイクアップ、要求を処理して、割り込みからの復帰時に低消費電力モードに戻ることができる。<br> | |||
<br> | |||
6つの動作モードをソフトウェアで設定することができる。<br> | |||
<br> | |||
* アクティブモード (AM) | * アクティブモード (AM) | ||
*: CPUと全てのクロックが動作しているモードである。 | *: CPUと全てのクロックが動作しているモードである。 | ||
*: 消費電力が最も高くなる。 | *: 消費電力が最も高くなる。 | ||
*: <br> | *: <br> | ||
* | * 低消費電力モード0 (LPM0) | ||
*: | *: CPUおよびMCLKは停止するが、ACLK、SMCLK、DCOは動作し続ける。 | ||
*: CPUの消費電力を抑えることができる。 | *: CPUの消費電力を抑えることができる。 | ||
*: <br> | *: <br> | ||
* 低電力モード1 (LPM1) | * 低電力モード1 (LPM1) | ||
*: | *: CPU、MCLKが停止する。 | ||
*: DCOのDCジェネレータにおいては、アクティブモードでDCOが使用されていない場合は停止する。 | |||
*: ACLK、SMCLK、MCLKは動作し続ける。 | *: ACLK、SMCLK、MCLKは動作し続ける。 | ||
*: <br> | *: <br> | ||
* 低電力モード2 (LPM2) | * 低電力モード2 (LPM2) | ||
*: | *: CPU、DCO、MCLK、SMCLKが停止する。 | ||
*: | *: DCOのDCジェネレータ、ACLKは動作し続ける。 | ||
*: <br> | *: <br> | ||
* 低電力モード3 (LPM3) | * 低電力モード3 (LPM3) | ||
| 54行目: | 60行目: | ||
*: <br> | *: <br> | ||
* 低電力モード4 (LPM4) | * 低電力モード4 (LPM4) | ||
*: | *: CPU、MCLK、SMCLK、ACLK、DCOのDCジェネレータが停止する。 | ||
*: 水晶発振器も停止する。 | |||
*: 消費電力が最も低くなる。 | *: 消費電力が最も低くなる。 | ||
<br><br> | <br><br> | ||
2025年12月29日 (月) 02:59時点における版
概要
電力モードは、マイコンの消費電力を管理するための仕組みである。
アプリケーションの要件に応じて、適切な電力モードを選択することにより、バッテリー駆動のデバイスにおける動作時間を延ばすことができる。
- アクティブモード
- マイコンがフル機能で動作しているモードである。
- 全てのクロックが動作し、CPUと周辺モジュールは通常の速度で動作する。
- 消費電力が最も高くなる。
- 低電力モード
- マイコンの一部の機能を停止または低速化することで、消費電力を抑えるモードである。
- 低電力モードにはいくつかのレベルがあり、停止する機能によって分類される。
- 一般的に、低電力モードのレベルが上がるほど、消費電力は低くなるが、復帰に時間がかかる場合がある。
- スリープモード
- CPUを停止して、いくつかの周辺モジュールも停止するモードである。
- 割り込みやリセットにより、スリープモードから復帰する。
- 低電力モードの一種と考えることができる。
- ディープスリープモード
- ほとんどの機能を停止して、最小限の消費電力で動作するモードである。
- 外部割り込みやリセットにより、ディープスリープモードから復帰する。
- 復帰時に、メモリの内容が失われる場合がある。
- 遷移と復帰
- 電力モード間の遷移は、レジスタの設定や特定の命令で行う。
- 割り込みやリセットにより、低電力モードからアクティブモードに復帰する。
- 復帰時に、停止していた機能を再初期化する必要がある場合がある。
電力モードを効果的に使用するには、アプリケーションの要件を分析、および、必要な機能と応答時間を考慮して、適切なモードを選択する必要がある。
また、割り込みや周辺モジュールの設定を適切に行い、復帰時の処理を正しく実装することが重要である。
MSP430G2553の動作モード
MSP430G2553は、1つのアクティブモードと5つのソフトウェア選択可能な低消費電力動作モードを備えている。
割り込みイベントにより、いずれの低消費電力モードからでもウェイクアップ、要求を処理して、割り込みからの復帰時に低消費電力モードに戻ることができる。
6つの動作モードをソフトウェアで設定することができる。
- アクティブモード (AM)
- CPUと全てのクロックが動作しているモードである。
- 消費電力が最も高くなる。
- 低消費電力モード0 (LPM0)
- CPUおよびMCLKは停止するが、ACLK、SMCLK、DCOは動作し続ける。
- CPUの消費電力を抑えることができる。
- 低電力モード1 (LPM1)
- CPU、MCLKが停止する。
- DCOのDCジェネレータにおいては、アクティブモードでDCOが使用されていない場合は停止する。
- ACLK、SMCLK、MCLKは動作し続ける。
- 低電力モード2 (LPM2)
- CPU、DCO、MCLK、SMCLKが停止する。
- DCOのDCジェネレータ、ACLKは動作し続ける。
- 低電力モード3 (LPM3)
- CPU、DCO、MCLK、SMCLKが停止する。
- ACLKのみ動作し続ける。
- 低電力モード4 (LPM4)
- CPU、MCLK、SMCLK、ACLK、DCOのDCジェネレータが停止する。
- 水晶発振器も停止する。
- 消費電力が最も低くなる。
電力モードの設定
状態レジスタ (SR) を使用する場合
状態レジスタ (Status Register, SR) は、マイコンの現在の状態を示すレジスタである。
MSP430マイコン全般では、SRは16ビットのレジスタであり、各ビットが特定の状態を表している。
電力モードに必要な各ビットについて、以下に示す。
- CPUの停止 (4ビット目)
- SRのCPUOFFビットを
1にする。
- SRのCPUOFFビットを
- オシレータの停止 (5ビット目)
- SRのOSCOFFビットを
1にする。
- SRのOSCOFFビットを
- システムクロックジェネレータ (DCOおよびSMCLK) の停止 (6ビット目)
- SRのSCG0ビットを
1にする。
- SRのSCG0ビットを
- システムクロックジェネレータ (DCO、SMCLK、MCLK) の停止 (7ビット目)
- SRのSCG1ビットを
1にする。
- SRのSCG1ビットを
__bis_SR_register()関数を使用する場合
__bis_SR_register関数を使用して、状態レジスタ (SR) の該当ビットを1にする。
ただし、割り込みが発生すると、省電力モードから復帰する。
省電力モードを使用する場合は、必要なクロックと周辺モジュールを適切に設定して、不要なものは停止させることが重要である。
また、割り込みを適切に設定して、省電力モードから復帰できるようにする必要がある。
// LPM3に移行
__bis_SR_register(LPM3_bits);