【ESP8266 ESP-01の回路・基板もう少し調査】
前回の確認で、やはりリセットが怪しいので、もう少し基板内でRESETピンがどのように接続されているのかを確認してみたいと思います。
ESP-01の回路図は、今のところネット上を探してもそれらしき、ピッタリするものが見つからないので、版下の情報から類推してみることにしました。
この基板レイアウト図上では、RESETピンは、”GPIO16”と記載されていますが、これについてはもう少し後で調べてみることにします。このピンからの配線を「むりやり」たどってみると ESP8266EXのICの、32ピン(EXT_RSTB)に直接つながっているように見えます。途中にプルアップ抵抗や、POR用のコンデンサ等は見当たりません。
EXP8266のデータシート(ver 4.9) を見ても、何故か、リセットに関する詳細な記載は見当たりません。、
ただ、Version 4.9のデータシートには、8ピン(XPD_DCDC, GPIO16, Deep-Sleep Wakeup)を EXT_RSTBに接続する必要があるとの記載があります。
多分、Deep Sleepからの復帰は、デバイスの初期リセットを掛けることによってのみ実現できるという事でしょう。そういう視点で上記の基板レイアウトの8ピンを確認してみたのですが、どう見てもこのピンはオープン(未接続)のように見えます。いずれにせよ、Deep Sleepに入ってしまった後は、RESETピンでデバイス全部をを強制リセッしてしまえば、復帰するという事でしょうから、未接続でも良いのかもしれません(となると、このピンの意味って何かあるのか・・・? よく分かりません) –> 後述【おまけ】で少しスッキリ・・・。
Power Onシーケンスに関して、こんな記事も見つけましたが、なんとなくピンと来ない説明です。
まぁ、私なりの結論としては、「このモジュール基板には、Power On Reset機能は搭載されていないため、ちゃんと、外部回路で構成してあげないとRESETが正常にかからない」 という事ですね。 現実の実験結果からも同じ結論ですけど。
【おまけ】
Wake Upに関するこんな資料がありました。Espressif.com (ESP8266の開発元)のサイトにあった、Low Power Solutionの説明です。
つまり、Deep Sleepモードからの復帰には、Automaticモードと外部トリガモードがあり、Automaticモードの時には、GPIO16 (XPD_DCDC)が EXT_RSTBに接続されている場合、Sleep時間が経過した後、このGPIO16の’L’レベルパルス信号(出力)がEXT_RSTBピン(入力)へ供給されて、デバイスがリセットされる・・・という事でしょうか。 ちょっと英語の読解力が不足していて、若干自信が無いですが・・・
GPIO16とEXT_RSTBが接続されていない場合には、Deep Sleepからの Automatic Wake Upは出来ないという事になるのでしょうね。