2016年10月26日

ESP32について

ESP8266 というチップをご存じだろうか? Wifi が自由に使える マイコンで、arduino IDE を開発環境として使える。しかも 技適ありのモジュールが秋月で 500円だかで安価に購入できる。まぁ素晴らしいものだとは思うが実はあまり興味を引かなかった。ところが、ESP32 という次の世代のチップが最近出てきた。調べていくと、なにかと凄いのである。実に興味深い。

なにを凄いと感じたか書いてみよう。

1)Bluetooth をサポート。
自由に BT 装置を作れる --- そんなマイコンは初めてのような。しかも、技適取得も期待できる。Wifi だけだと消費電力が大きそうだが、BT だとバッテリー駆動もできそう。また、BT には、プロファイルというものがある。それに従った装置ならば、既存のOS、既存のアプリと組み合わせて使えるのだ。無線のUSB みたいなものと思えば、色々出来そうではないか。

2) I/O ピンが多い、メモリが多い。
ESP8266 は、I/O ピンが少なくてがっかりしたのだが、かなり増えて、ざっと見 30 ぐらいはある。メモリについても SRAM 520 KB と実に多い。プロトコルスタック用に ROM を448 KB 積んでいて、使える RAM を圧迫しないように工夫もされている。

AVR では、あまりのメモリの少なさ、それに対して出来ることの多さに驚いたものだが、そのノリで使ったら、余りまくりそう。かと言って Linux 動かすほどの メモリ量ではない。だが、逆にそれも良い。Linux が載るなら載せてしまうだろう --- 自由なようでそうでもないのだ。

まぁ Linux が載る Rasberry pi みたいな SBC も、それはそれで興味はある。ただ、Linux が動くだけでは面白くない。PC の Linux では出来ないこと − そういうものを見つけたらトライしてみたいとは思っている。


3) ペリフェラルの多さ、I/Oマッピングの自由度。
機能について、こんな風に列記されていたりするのだが。。。

capacitive touch
ADCs (analog-to-digital converter)
DACs (digital-to-analog converter)
I2C (Inter-Integrated Circuit)
UART (universal asynchronous receiver/transmitter)
SPI (Serial Peripheral Interface)
I2S (Integrated Interchip Sound)
RMII (reduced media-independent interface)
PWM (Pulse Width Modulation).

RMII があるのは驚きだが、これでも全然説明が足りない。なんと CSI カメラインターフェイスや (24bit バラレルまでの)LCD インターフェイスがI2S の機能のなかに含まれていたりする。列挙されていないが、SD Host 、SD Slave もある。AVR なんかでは、タイマー機能の確認は真っ先にするものだが、これも記載されていない。調べてみた限りでは、64bit タイマーが 4本あるようだ。他には IrDA もある。地味ではあるが、便利かも知れない。

実に沢山あるわけだが、いくつかのものは、完全に自由に I/O ピンに割り当てられる。AVR では、ピンアサインをどうするか頭の痛い問題だった。PIC32MX なんかでは、選択ができたが、入力と出力でルールが違い、かえって混乱した。こいつは、I2C 、UART 、SPI 、I2S 、PWM を完全に自由に割り当てられる。なにの機能が同時に使えるかすぐ把握できるのは非常にありがたい。

性能とかの観点で見れば無駄とも思える機能ではある。しかし、こいつは 40nm のプロセスルールで作られている。 40nm というと、普通は GHz クラスの CPU を作れるのだが、160 or 240 MHz に抑えてこういうものにリソースを振り分けている。なんとも素晴らしい無駄遣いではないか。

4) USB が ... ない。
多くの人が欲しがると思われる USB がない。組み込もうと思えば簡単に組み込めただろう。あえて外して見せて、「無線で出来ることを有線でやらなくも良いだろう」と言ってるようにも思える。それに乗ってみるのも悪くはない。

ただ、既存の USB装置を無線化することを考えると、あって欲しかったとも思う。これについてはソフトUSB の可能性がある。ESP8266 で実装した人がいる。ESP32 は デュアル Core なので、実行クロック数がコントールできず 無理かと思っていたが、そうでもないかも知れない。少なくとも RAM については、バンクが競合しない限りウェイトが入らないとか。

というわけで、かなりのインパクトを受けた。値段もあまり高くないようだし、しばらくこれで遊んでみたい。

入手性について


遊んでみたいわけだが入手できなければ話にならない。

中国国内では、チップ単体ですら入手できるようだが、日本で使う限り技適は無視できない。となると少なくともモジュールになったものを入手しないとならない。

現時点で購入可能なモジュールはいくつかある。
Ai-Thinker ESP3212 Module
真っ先に入手が可能になったモジュールで Seeed Studio で $7 で販売していた。だが、ESP-32S に切り替わるそうで既に Ghost だそうだ。

Ai-Thinker ESP-32S Module
Banggood でプリセール中 $9 。これは、今だ出ていない 正規版モジュール ESP-WROOM-32 の互換品。技適はない。


ESP-WROOM-32
ESP8266 の ESP-WROOM-02 は技適を通してきたから、これも期待できるのだが、今だアナウンスがない。予定では9月のはずだったのだ。
10/25 olimex で 6 EUR で発売開始。ただし、写真では技適はおろか FCC/CE マークも見えない。


というわけで、ESP-WROOM-32 待ちではあるが、ESP-32S で試作が出来るのが現状。

色々と書いてきたが、現時点では、
 ・http://esp32.net/
 ・http://www.espressif.com/en/products/hardware/esp32/resources
ここに情報が整理されているようだ。興味が湧いたならチェックしてみて欲しい。
2016/12/04 追記

ついに、技適マークが付いたモジュールになった。もうすぐ秋月で販売されるだろう。


注意:現時点で、開発環境は使えるものの、完成していない。Bluetooth は未だらしい。ドキュメントも作成途中のようで、十分な情報が公開されていない。ちゃんと使えるようになるまで、時間がかかる。

さて、入手したとしても、物理的な問題においても、すぐに使えるわけではない。 --- ピッチ変換基板をなんとかしないと。次回はこれについて考察してみよう。
posted by すz at 01:53| Comment(0) | TrackBack(0) | ESP32
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/177389815
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック