ESP-WROOM-02 ESPr Developerの書込みモード制御


気軽に開発をしたいなら、これらのSwitchScience製品をオススメしたのは、先述の通り。USBシリアル + 3.3V700mA が ついている。だけではなく、動作モード用の各種プルアップ・プルダウン済みなのだ。しかも、自動で「書込みモード」になりやがる。

具体的には

 ・ファームウェアーの書き込み時
 ・Arduino IDEからの書き込み時

に、自動でリセット。書込みモードで再起動をしてくれる。なので、気軽にやりたいのであるならば、強くおすすめをしておく。

さて。さて。オイラは・・・。なんもないDIP変換タイプを購入している。

なので、全てのプルアップやプルダウンは、こちらで配線しにゃーならん。
というか、手動で「リセットとIo0を押し、リセットを離しながら時間差でIo0を開放」という事もしにゃーならん。

そこらの自動化が羨ましい。っうか。どうやって、自動化してるんだ!?(´・ω・`)

てなことで、色々と解析してみました。


ESP_WROOM_02_リセット周り.jpg
こんな風に、ExNOR?に近い回路になっている。

DTRRSTというのは、USBシリアル変換(FT231X)から出ている信号で、ハードウェアーフロー制御に使われる。詳しくはWikipediaの「RS-232 DTE同士の接続」を読んで欲しい。

要するに、RSTとDTRを使って、書込み時の制御をしている。

上記回路の流れは

DTR   RST   RESET Io 0  
LowLowHighHigh
HighLowLowHigh
LowHighHighLow
HighHighHighHigh

という動作になるわけですが。イマイチ、この回路の必然性がヨクワカラン。(´・ω・`)

ぶっちゃけ、DTRとRSTを直結した形の回路で十分。な気がするわけで。

てなことで、ロジアナで各種書き込み時の信号を観察してみた。
ESPファーム書き込み時.jpg
まずは、ESP-WROOM-02の標準ファームウェアー書込みツールからの動作。
RSTがLow->HighでRESETが掛かった状態(Low)から解除状態(High)となる。同時にDTRがHigh->Lowとなり、Io0がLowとなり書込みモードとなる。


ESP・LEDチカ書き込み時.jpg
Arduino IDEからのプログラム(LEDチカ)書込み動作。
RSTとDTRがLowであり、RESET&Io0がHigh状態でRSTのみLow->Highとなり、Io0はLowの状態でRESETがHighとなり、書込みモードのまま、リセットが解除される。

やっぱり、DTRとRSTを直結した形の回路で十分。な気がするわけで。

と、思っていたら。これの為だった。
ESP・HTTP書き込み時.jpg
Arduino IDEからのプログラム(HTTP TEST)書込み動作。
よく見ると、先ほどまでの書込みではHighからのスタートだったのにLowから始まっている。

ESP・LEDチカ書き込み時2.jpg
念のため。Arduino IDEからのプログラム(LEDチカ)を書込み。
やはり、HighからのスタートではなくLowから始まっている。

あちゃこちゃ、試した結果・・・。どうやら

シリアルモニターを立ちあげているとLow(True)から始まる模様。

その為の、あの回路みたいなんだな。(´・ω・`)ほむん

信号タイミングは理解したので、そのうちPICでも利用して、リセット回路でも作りますかいの。


それでは、また!!!!