MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MSP430F149 - 電力モードのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MSP430F149 - 電力モード
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 電力モードは、マイコンの消費電力を管理するための仕組みである。<br> アプリケーションの要件に応じて、適切な電力モードを選択することにより、バッテリー駆動のデバイスにおける動作時間を延ばすことができる。<br> <br> * アクティブモード *: マイコンがフル機能で動作しているモードである。 *: 全てのクロックが動作し、CPUと周辺モジュールは通常の速度で動作する。 *: 消費電力が最も高くなる。 *: <br> * 低電力モード *: マイコンの一部の機能を停止または低速化することで、消費電力を抑えるモードである。 *: 低電力モードにはいくつかのレベルがあり、停止する機能によって分類される。 *: 一般的に、低電力モードのレベルが上がるほど、消費電力は低くなるが、復帰に時間がかかる場合がある。 *: <br> * スリープモード *: CPUを停止して、いくつかの周辺モジュールも停止するモードである。 *: 割り込みやリセットにより、スリープモードから復帰する。 *: 低電力モードの一種と考えることができる。 *: <br> * ディープスリープモード *: ほとんどの機能を停止して、最小限の消費電力で動作するモードである。 *: 外部割り込みやリセットにより、ディープスリープモードから復帰する。 *: 復帰時に、メモリの内容が失われる場合がある。 *: <br> * 遷移と復帰 *: 電力モード間の遷移は、レジスタの設定や特定の命令で行う。 *: 割り込みやリセットにより、低電力モードからアクティブモードに復帰する。 *: 復帰時に、停止していた機能を再初期化する必要がある場合がある。 <br> 電力モードを効果的に使用するには、アプリケーションの要件を分析、および、必要な機能と応答時間を考慮して、適切なモードを選択する必要がある。<br> また、割り込みや周辺モジュールの設定を適切に行い、復帰時の処理を正しく実装することが重要である。<br> <br><br> == MSP430F149の電力モード == * アクティブモード (AM) *: CPUと全てのクロックが動作しているモードである。 *: MCLK、SMCLK、ACLKが動作し、全ての周辺モジュールが使用可能である。 *: 消費電力が最も高くなる。 *: <br> * 低電力モード0 (LPM0) *: CPUとMCLKが停止する。 *: SMCLK、ACLK、DCOは動作し続ける。 *: 周辺モジュールがSMCLKまたはACLKを使用する場合に適している。 *: <br> * 低電力モード1 (LPM1) *: CPU、MCLKが停止する。 *: DCOのループ制御も無効化される。 *: SMCLK、ACLKは動作し続ける。 *: <br> * 低電力モード2 (LPM2) *: CPU、MCLK、SMCLKが停止する。 *: DCOも停止するが、DCジェネレータは動作し続ける。 *: ACLKは動作し続ける。 *: <br> * 低電力モード3 (LPM3) *: CPU、MCLK、SMCLK、DCO、DCジェネレータが停止する。 *: ACLKのみ動作し続ける。 *: リアルタイムクロックやタイマーをACLKでクロッキングする場合に最適。 *: 消費電力は約0.8µA程度となる。 *: <br> * 低電力モード4 (LPM4) *: CPUと全てのクロックが停止する。 *: 全てのオシレータ(LFXT1、XT2、DCO)が停止する。 *: 消費電力が最も低くなり、約0.1µA程度となる。 *: 外部割り込みやリセットでのみ復帰可能。 <br><br> == MSP430F149のクロックシステム == MSP430F149は、Basic Clock Module (BCS)を搭載しており、3種類のクロック信号と3種類のオシレータを提供する。<br> <br> ==== クロック信号 ==== * MCLK (Master Clock) *: CPUとシステムで使用される主クロック。 *: LFXT1CLK、XT2CLK、DCOCLKから選択可能。 *: 1、2、4、8の分周が可能。 *: <br> * SMCLK (Sub-Main Clock) *: 周辺モジュールで使用されるサブシステムクロック。 *: DCOCLK、XT2CLKから選択可能。 *: 1、2、4、8の分周が可能。 *: <br> * ACLK (Auxiliary Clock) *: 補助クロック。主に低消費電力動作用。 *: LFXT1CLKから供給される。(通常は、32768[Hz]) *: 1、2、4、8の分周が可能。 <br> ==== オシレータ ==== * LFXT1 (Low Frequency / High Frequency Crystal Oscillator 1) *: 低周波モード:32768[Hz]のウォッチクリスタルを接続。 *: 高周波モード:450[kHz]〜8[MHz]のクリスタルを接続可能。 *: ACLKのソースとして使用される。 *: <br> * XT2 (High Frequency Crystal Oscillator 2) *: 450kHz〜8MHzのクリスタルまたはレゾネータを接続。 *: MCLK、SMCLKのソースとして選択可能。 *: 高速動作が必要な場合に使用。 *: <br> * DCO (Digitally Controlled Oscillator) *: 内蔵デジタル制御発振器。 *: 外部部品不要で動作。 *: 起動時間が約6µs以下と非常に高速。 *: 消費電力と起動時間のバランスが良い。 *: キャリブレーションデータによりソフトウェアで周波数調整が可能。 <br><br> == 電力モードの設定 == ==== 状態レジスタ (SR) を使用する場合 ==== 状態レジスタ (Status Register, SR) は、マイコンの現在の状態を示すレジスタである。<br> MSP430マイコン全般では、SRは16ビットのレジスタであり、各ビットが特定の状態を表している。<br> <br> 電力モードに必要な各ビットについて、以下に示す。<br> * CPUの停止 (4ビット目) *: SRのCPUOFFビットを<code>1</code>にする。 *: <br> * オシレータの停止 (5ビット目) *: SRのOSCOFFビットを<code>1</code>にする。 *: <br> * システムクロックジェネレータ (DCOのDCジェネレータ) の停止 (6ビット目) *: SRのSCG0ビットを<code>1</code>にする。 *: <br> * システムクロックジェネレータ (DCO、SMCLK) の停止 (7ビット目) *: SRのSCG1ビットを<code>1</code>にする。 <br> ==== __bis_SR_register()関数を使用する場合 ==== <code>__bis_SR_register</code>関数を使用して、状態レジスタ (SR) の該当ビットを<code>1</code>にする。<br> <br> ただし、割り込みが発生すると、省電力モードから復帰する。<br> 省電力モードを使用する場合は、必要なクロックと周辺モジュールを適切に設定して、不要なものは停止させることが重要である。<br> また、割り込みを適切に設定して、省電力モードから復帰できるようにする必要がある。<br> <syntaxhighlight lang="c"> // LPM3に移行 __bis_SR_register(LPM3_bits + GIE); // 割り込み有効化とともにLPM3へ </syntaxhighlight> <br> ==== 各電力モードの設定例 ==== <syntaxhighlight lang="c"> // LPM0への移行 __bis_SR_register(LPM0_bits + GIE); // LPM1への移行 __bis_SR_register(LPM1_bits + GIE); // LPM2への移行 __bis_SR_register(LPM2_bits + GIE); // LPM3への移行(リアルタイムクロック動作時に最適) __bis_SR_register(LPM3_bits + GIE); // LPM4への移行(最小消費電力) __bis_SR_register(LPM4_bits + GIE); </syntaxhighlight> <br><br> == 電力モードからの復帰 == 低電力モードからアクティブモードへの復帰は、以下に示す方法で行われる。<br> <br> * 割り込みによる復帰 *: 有効な割り込みが発生すると、自動的にアクティブモードに復帰する。 *: 割り込みサービスルーチン (ISR) を実行後、元のコードに戻る。 *: ISR内でSRのビットをクリアすることで、復帰後もアクティブモードを維持できる。 *: <br> * リセットによる復帰 *: リセット信号により、マイコンは初期状態に戻る。 *: <br> * 復帰時間 *: DCOを使用する場合、LPM3またはLPM4からの復帰時間は約6µs以下と非常に高速。 *: 外部クリスタル(XT2)を使用する場合は、発振安定化のため復帰に時間がかかる場合がある。 <br><br> {{#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 {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:MSP430]]
MSP430F149 - 電力モード
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse