概要
ESP32のデータシートを読み直してみました。複数のデータシートがあるので、読む順番などを考えてみました。
データシートの場所
上記にデータシート一覧があります。ずばり読みたいものが決まっている場合には、ここから探すのが早いです。しなしながら、量が多すぎてなにから読めばいいのかわかりにくいですね。
Get Started
最初はこのはじめかたのページから読み始めるのがおすすめです。Development Board Overviewsのところに、開発ボード名が並んでいます。
このページは、ざざっとどんなことが書いてあるのか流し読みで大丈夫です。最初は理解する必要はないと思います。
上記で、シリーズ、SoC、モジュール、ボードという区分があるとわかりましたが、調べる場合にはよりボードに近いほうから読んだほうがわかりやすいです。
現在は、上記4つのボードがありました。私はM5StickCのことを調べたいので、ESP32-PICO-KITを見ます。とはいえ、実際のところ、どこみてもほとんど書いてあることは変わりません、、、
ターゲットボードのGet Started
このページも流し読みで大丈夫です。
Related Documents
一番下に参考文献の一覧があります。
- ESP32-PICO-KIT V4 schematic (PDF)
- ESP32-PICO-KIT V4.1 schematic (PDF)
- ESP32-PICO-KIT Reference Design containing OrCAD schematic, PCB layout, gerbers and BOM
- ESP32-PICO-D4 Datasheet (PDF)
- ESP32 Hardware Reference
上から目を通していくことをおすすめします。とりあえずは開いてみるだけで、どんなことが書いてあるのかを把握するだけでいいと思います。
ちなみに上から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なので商品に合わせてアンテナなどを自由にレイアウト可能ですが、個別に技適を取得する必要があります。
Categories | Items | Specifications |
---|---|---|
Certification | Bluetooth certification | BQB |
Wi-Fi | Protocols | 802.11 b/g/n (802.11n up to 150 Mbps) |
A-MPDU and A-MSDU aggregation and 0.4 µs guard interval support | ||
Frequency range | 2.4 ~ 2.5 GHz | |
Bluetooth | Protocols | Bluetooth V4.2 BR/EDR and Bluetooth LE specification |
Radio | NZIF receiver with –97 dBm sensitivity | |
Class-1, class-2 and class-3 transmitter | ||
AFH | ||
Audio | CVSD and SBC | |
Hardware | Module interfaces | ADC, 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-chip | sensor Hall sensor | |
Integrated crystal | 40 MHz crystal | |
Integrated SPI | flash 4 MB | |
Operating voltage/Power supply | 3.0 V ~ 3.6 V | |
Operating current | Average: 80 mA | |
Minimum current delivered by power supply | 500 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
電気的特性のページです。ここの項目は結構重要なので、把握しておいたほうがいいです。
最大定格
Symbol | Parameter | Min | Max | Unit |
VDD33 | Power supply voltage | –0.3 | 3.6 | V |
Ioutput | Cumulative IO output current | – | 1,100 | mA |
Tstore | Storage temperature | –40 | 150 | °C |
3.6Vまでしか電源をつなげるなと書いてあります。乾電池2本だと大丈夫ですが、3本つなげるとオーバーしてしまいます。DCDCなどが必要ですね。
IOで出力できる電流は、全部のGPIOで合計して1.1Aみたいです。1つのピンからはそれほど流せないので、ここまで流すことはほとんどないと思います。
推奨動作条件
Symbol | Parameter | Min | Typical | Max | Unit |
VDD33 | Power supply voltage | 3 | 3.3 | 3.6 | V |
IV DD | Current delivered by external power supply | 0.5 | – | – | A |
T | Operating temperature | –40 | – | 85 | °C |
基本的には最大値は無視して、推奨値で動かす必要があります。電源は3.3Vで0.5A以上の電源を接続する必要がありそうです。USB給電の場合0.5Aは一般的に保証されているので、それぐらいは必要ってことですね。
DC特性 (3.3 V, 25 °C)
Symbol | Parameter | Min | Typ | Max | Unit |
CIN | Pin capacitance | – | 2 | – | pF |
VIH | High-level input voltage | 0.75×VDD1 | – | VDD1+0.3 | V |
VIL | Low-level input voltage | –0.3 | – | 0.25×VDD1 | V |
IIH | High-level input current | – | – | 50 | nA |
IIL | Low-level input current | – | – | 50 | nA |
VOH | High-level output voltage | 0.8×VDD1 | – | – | V |
VOL | Low-level output voltage | – | – | 0.1×VDD1 | V |
IOH | High-level source current VDD3P3_CPU power domain | – | 40 | – | mA |
– | High-level source current VDD3P3_RTC power domain | – | 40 | – | mA |
– | High-level source current VDD_SDIO power domain | – | 20 | – | mA |
IOL | Low-level sink current | – | 28 | – | mA |
RP U | Resistance of internal pull-up resistor | – | 45 | – | kΩ |
RPD | Resistance of internal pull-down resistor | – | 45 | – | kΩ |
VIL_nRST | Low-level input voltage of CHIP_PU to power off the chip | – | – | 0.6 | V |
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.825Vまでを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シリーズのデータシートも読み込みたいのですが、流し読みぐらいしかできていません。
コメント