ESP32のデータシートの読み方

概要

ESP32のデータシートを読み直してみました。複数のデータシートがあるので、読む順番などを考えてみました。

データシートの場所

上記にデータシート一覧があります。ずばり読みたいものが決まっている場合には、ここから探すのが早いです。しなしながら、量が多すぎてなにから読めばいいのかわかりにくいですね。

Get Started

最初はこのはじめかたのページから読み始めるのがおすすめです。Development Board Overviewsのところに、開発ボード名が並んでいます。

このページは、ざざっとどんなことが書いてあるのか流し読みで大丈夫です。最初は理解する必要はないと思います。

上記で、シリーズ、SoC、モジュール、ボードという区分があるとわかりましたが、調べる場合にはよりボードに近いほうから読んだほうがわかりやすいです。

現在は、上記4つのボードがありました。私はM5StickCのことを調べたいので、ESP32-PICO-KITを見ます。とはいえ、実際のところ、どこみてもほとんど書いてあることは変わりません、、、

ターゲットボードのGet Started

このページも流し読みで大丈夫です。

Related Documents

一番下に参考文献の一覧があります。

上から目を通していくことをおすすめします。とりあえずは開いてみるだけで、どんなことが書いてあるのかを把握するだけでいいと思います。

ちなみに上から3つはボードの設計に関することなので、あまり関係ありません。

ESP32-PICO-D4 Datasheet

やっと、本命のデータシートです。このデータシートはESP32全体ではなく、PICOに特化した簡易版のデータシートになります。

PICOはモジュールがないので、ちょっと特殊なのですが、ESP32-WROOM-32 Datasheet相当のことが書かれています。

どちらも外見とアンテナの特性が若干異なる程度で、書いてあることはほぼ一緒です。

これ以降はこのデータシートの概要を解説します。

1. Overview

ESP32-PICO-D4の概要が書かれています。ここによるとPICOはSoCじゃなくてSiPらしいです。ESP32のSoCとフラッシュメモリが一緒になっているけれど、アンテナなどはないのでモジュールではないってことだと思います。

ESP32-WROOM-32との差は、ここの文章と技適などの認証周りになります。ESP32-WROOM-32はモジュールなので技適などの認証を取得していますが、PICOは組み込み用のSiPなので商品に合わせてアンテナなどを自由にレイアウト可能ですが、個別に技適を取得する必要があります。

CategoriesItemsSpecifications
CertificationBluetooth certificationBQB
Wi-FiProtocols802.11 b/g/n (802.11n up to 150 Mbps)
A-MPDU and A-MSDU aggregation and 0.4 µs guard interval support
Frequency range2.4 ~ 2.5 GHz
BluetoothProtocolsBluetooth V4.2 BR/EDR and Bluetooth LE specification
RadioNZIF receiver with –97 dBm sensitivity
Class-1, class-2 and class-3 transmitter
AFH
AudioCVSD and SBC
HardwareModule interfacesADC, DAC, touch sensor, SD/SDIO/MMC Host Controller, SPI, SDIO/SPI Slave Controller, EMAC, motor PWM, LED PWM, UART, I2C, I2S, infrared remote controller, GPIO, pulse counter
On-chipsensor Hall sensor
Integrated crystal40 MHz crystal
Integrated SPIflash 4 MB
Operating voltage/Power supply3.0 V ~ 3.6 V
Operating currentAverage: 80 mA
Minimum current delivered by power supply500 mA
Operating temperature range–40 °C ~ 85 °C
Package size(7.000±0.100) mm×(7.000±0.100) mm×(0.940±0.100) mm
Moisture sensitivity level (MSL)Level 3

2. Pin Definitions

ピンレイアウトと、ピンの説明があります。ピンレイアウトはあまり使いませんが、ピンの説明は重要です。とはいえ、ESP32シリーズであればほとんどピンの機能は変わらないです。

上記のようなことを調べるのは、ここのページなどを確認します。あとはStrapping Pinsの項目で特殊なピンについての説明があります。

起動時に特定のピンの状態を設定することで、動きを変えることができます。一番使うのが起動時にGPIO0をGNDに落とすことで、書き込みモードに設定します。

3. Functional Descriptions

機能説明のページです。CPUやメモリなどの概要がかかれています。ここはシリーズごとにことなりますので、ESP32シリーズとESP32-S2シリーズではまったく異なっています。

4. Peripherals and Sensors

周辺機器とセンサーのページです。細かいことはESP32シリーズのデータシートを読めと書いてあります。

5. Electrical Characteristics

電気的特性のページです。ここの項目は結構重要なので、把握しておいたほうがいいです。

最大定格

SymbolParameterMinMaxUnit
VDD33Power supply voltage–0.33.6V
IoutputCumulative IO output current1,100mA
TstoreStorage temperature–40150°C

3.6Vまでしか電源をつなげるなと書いてあります。乾電池2本だと大丈夫ですが、3本つなげるとオーバーしてしまいます。DCDCなどが必要ですね。

IOで出力できる電流は、全部のGPIOで合計して1.1Aみたいです。1つのピンからはそれほど流せないので、ここまで流すことはほとんどないと思います。

推奨動作条件

SymbolParameterMinTypicalMaxUnit
VDD33Power supply voltage33.33.6V
IV DDCurrent delivered by external power supply0.5A
TOperating temperature–4085°C

基本的には最大値は無視して、推奨値で動かす必要があります。電源は3.3Vで0.5A以上の電源を接続する必要がありそうです。USB給電の場合0.5Aは一般的に保証されているので、それぐらいは必要ってことですね。

DC特性 (3.3 V, 25 °C)

SymbolParameterMinTypMaxUnit
CINPin capacitance2pF
VIHHigh-level input voltage0.75×VDD1VDD1+0.3V
VILLow-level input voltage–0.30.25×VDD1V
IIHHigh-level input current50nA
IILLow-level input current50nA
VOHHigh-level output voltage0.8×VDD1V
VOLLow-level output voltage0.1×VDD1V
IOHHigh-level source current VDD3P3_CPU power domain40mA
High-level source current VDD3P3_RTC power domain40mA
High-level source current VDD_SDIO power domain20mA
IOLLow-level sink current28mA
RP UResistance of internal pull-up resistor45
RPDResistance of internal pull-down resistor45
VIL_nRSTLow-level input voltage of CHIP_PU to power off the chip0.6V

25度で3.3V給電した場合のDC特性です。重要なのは以下に列挙します。

VIH(High-level input voltage)

デジタル入力のときにHIGHと判定する電圧。0.75×VDD1からVDD1+0.3の電圧をHIGHと判定します。VDD1は動作電圧なので3.3V。つまり、2.475Vから3.6VまでをHIGHと判定します。

VIL(Low-level input voltage)

デジタル入力のときにLOWと判定する電圧。-0.3から0.25*VDD1の電圧をLOWと判定します。 つまり-0.3Vから0.825‬VまでをLOWと判定します。

VIHとVILの間の0.825Vから2.475Vまでは未定義ですので、判定に利用しないでください。

IOH(High-level source current)

HIGHを出力した場合の電流の上限です。MAXは記述がありませんので、VDD_SDIOは20mA、それ以外は40mAまでを推奨しているようです。

IOL(Low-level sink current)

LOWを出力して、吸い込む電流の上限です。MAXは記述がありませんので、28mAまでを推奨しているようです。

トレラント(Tolerant)は?

ESP32のデータシート上で気をつけないといけないことは、Tolerantの記述がないことです。トレラントとは、何Vまでの入力を入れて大丈夫かを表します。

一般的に3.3Vで動くモジュールなどの場合には、5Vの信号を入力しても大丈夫な場合、5Vトレラントなどと表現されています。

ESP32の場合にはトレラントの表記がありません。そのため5Vのボードなどと直結して壊れないかがわかりません。VIHが3.6Vまでなので、データシート上では5Vを入力すると範囲外になります。

無線系と回路図やパッケージについて

流し読みで問題ありませんので、飛ばします。

9. Learning Resources

ここが重要なページで、次に読むべき資料を紹介してくれています。シリーズのデータシートを最初に読んでしまうと、詳細情報が出てきますが細かいドキュメントの一覧がリンクされていません。

ざっくりと、次に読むべき資料を紹介します。とはいえ、Arduino IDEで普通にプログラムを組みだけであれば、以下の資料は読まなくてもよいと思います、、、

ESP32 Series Datasheet

ESP32シリーズ全体のデータシートです。細かい動作はこちらを読むことで理解できると思います。内容的には今まで読んだデータシートを詳細にしたものになります。

ESP32 Technical Reference Manual

ハードウエアの機能を直接制御しようとしたときに必要になるマニュアルです。DMA転送だとかULPまわりを自分で触りたい場合には、参考になると思います。

Espressif Product Ordering Information

Espressifの製品一覧が書かれています。個人で頼む人は少ないはずですが、直接注文も可能なようです。

変更履歴をみると、どんな商品がいつごろ追加されたのがわかるのでおすすめです。

まとめ

一番読みやすいESP32のモジュール相当のデータシートを読んでみました。ESP32シリーズのデータシートも読み込みたいのですが、流し読みぐらいしかできていません。

コメント