マイコンのスリープモードを簡単に理解したい!

どうもこんにちは.杉本です.

先週,テクニカルレポートの提出〆切があり研究室の皆様はお疲れさまでした!

私としては実験不足&不足&不足でもっと頑張らねば!と痛感しました笑

さて今回のブログは,タイトルにもある通り,皆さんでマイコンのスリープモードを簡単に理解することを目的に書いていきたいと思います!

…というのも,なんでこんな記事を書くのかってところだと思うんですけど,理由は簡単で,現在私は卒業研究でIoTデバイスの省電力化をテーマに研究をしていますが,よく”デバイスのスリープモードを使う”という言葉を見かけます.

簡単に言うと,PCを操作せずにいるとディスプレイが自動的に暗くなる,あのスリープと同じようなものなのです.

でもスリープモードって結局のところ,内部で何が起きているかあまりよくわからないですよ.話がくそ難しくなるので

あとそういう事を書いている記事やサイトもかなり少ないです.だからスリープは内部がどんな状態になっているか理解して使っている人はあまりいないんじゃないかなって思います.

ということで私がちょー簡単に内部で何が起きているかを今から説明しますよ!!

はいまずこれ!今回は例としてESP-WROOM-32というチップを画像には使いました!

これの内部を見るとはいぱかっ!!!!!!!!!!

適当で本当にすいません...

でも大体こんな感じになっているんです.ちなみにCPUはこのチップの中に入っているのであの大きいやつ全体ではないので勘違いしないように!

さて,たくさんアルファベットが出てきましたが,全部詳しく知る必要がありません!

でも簡単に説明しちゃうぞ

・VDD : 電源のことです!

・VREG : レギュレータと言われるものです!電圧を安定させるために使います!(AC/DCコンバータとか入ってるやつで,交流電源を直流電源に変えたりする超大切な役割を持っているとこっそり言っておきます)

・CPU : みんな大好きなアレ(最近はARMとかで少し話題ですね)

・RAM : メモリですね!

・Primary Osc : 発振器といわれるやつです!これは周波数を安定させるために用いられます!

・Timer1 SOSC : タイマー1の外部発振回路と言われるやつです!これはよく32.768kHzで発振させる機器として有名らしいです!(よく知らない)

・ペリフェラル : 周辺機器という意味を持つ言葉です!マイコンではよく見かける言葉のうちの1つですね~.有名なのがRTC(Real Time Clock)と呼ばれるもので,実は機械の時の刻んでいる装置なんです.すぎょい

と適当な説明をしましたが,知ってほしいのは,スリープモードになったときにどこが電力供給をされているかです.

ではスリープモードの時のやつどん!!!

黒くなっているところが停止しているところです

もう上の画像でひとめで分かりますが,CPUやRAM等の中央処理系モジュールを止めている,これがスリープモードの正体です!

実は消費電力を一番食うのはCPUなのです.まあコンピュータの心臓ですから当然と言えば当然ですけど(-_-;)ここを止めることによって,消費電力をググっと下げているんです!

ここで話を終わりにしてもいいんですけど,あと1つだけ

ESP32などのマイコンには一部,究極のスリープモード,Deep-sleepというものがあるんです!!

本当にすごくて,例えばESP32のDeep-sleep時の消費電力はなんと

”” 4μA(マイクロアンペア) ””

ほとんど消費電力は発生していないのとおんなじなんです

…中身がどうなってるか気になりますよね?

赤くなっているところが更に動作が停止するところです!

すごーい.何も動いてなーい.

そうなんです,ほとんど何も動いてないんです.

動いているのは簡単に言ってしまえば,「何秒後に起動させるからその時間測っているね!!」と言っているタイマー君と,「外部から起きろ!って言われたら起きる準備しておくわ!!」と言っているINT0君くらいです笑

こうやって消費電力を抑える技術があるんですねぇ~~ほ~~ってなります

原理を知るとスリープモードの使い方がもっと論理的に理解できて楽しいですね

ではまた!!!!

Leave a Reply