ESP32-S31
(espressif.com)- ESP32-S31は最大320MHzで動作するデュアルコア32ビットRISC-Vマイクロコントローラで、マルチプロトコル接続と豊富なHMIが求められる高度なIoTアプリケーションを対象とする
- 接続性は、2.4GHz Wi-Fi 6、IEEE 802.15.4ベースのThread・Zigbee、Bluetooth 5.4 LEとBluetooth Classic、1000Mbps Ethernet MACをあわせて提供する構成
- システム・メモリは、60 GPIO、MMU、6.86 CoreMark/MHz、512KB SRAM、250MHz 8ビットDDR PSRAM接続、flash・PSRAMへの同時アクセス、高速Octal SPIモード互換の専用SPIインターフェースを備える
- HMI・オーディオは、DVPカメラ、パラレルRGB/I8080/MOTO6800 LCD、JPEGコーデック・PPA・2D-DMA、最大14チャネルのタッチ、LC3ベースのLE AudioとデュアルI2SのハードウェアBluetoothオーディオ同期を組み合わせた構成
- セキュリティ・ソフトウェアは、TRNG、RAMベースのPUF、secure boot、flash・PSRAM暗号化、AES/RSA/ECDSA/ECCアクセラレータ、TEE/APMを提供し、ESP-IDF、ESP-Matter、ESP-BLE-AUDIO、ESP-GMF、ESP Private Agentsとの連携が予定されている
概要
- ESP32-S31は高性能なデュアルコア32ビットRISC-Vマイクロコントローラで、最大320MHzで動作し、包括的なマルチプロトコル接続と豊富なヒューマンマシンインターフェースを必要とする高度なIoTアプリケーションを対象とする
- 60個のGPIOにより、複数の無線プロトコル、さまざまなディスプレイインターフェース、幅広い周辺機器を統合する複雑な設計に柔軟性を提供する
- エッジAIや機械学習ワークロードに適しており、ニューラルネットワーク推論、高度な信号処理、コンピュータビジョン、インテリジェントオーディオアプリケーションを、組み込みプラットフォームの効率性の範囲内で扱う方向性となっている
接続性と処理性能
- 2.4GHz Wi-Fi 6(802.11ax)は、伝送効率の向上と消費電力の削減を目的としており、バッテリー駆動および常時接続デバイスに適した選択肢
- IEEE 802.15.4はThreadとZigbeeプロトコルを可能にし、Bluetooth 5.4 LEはLE Audio、Direction Finding、Bluetooth Mesh 1.1をサポートする
- Bluetooth Classic(BR/EDR)は、既存のオーディオ機器や低遅延HMIアプリケーションとの互換性を担い、1000Mbps Ethernet MACは安定した高帯域幅の有線接続を提供する
- システムはMMUをサポートするデュアルコア32ビットRISC-Vアーキテクチャで、6.86 CoreMark/MHzの処理性能と60個のGPIOを提供する
- 一方のコアは128ビットデータパスとSIMD命令を備え、高速な並列処理をサポートする
- メモリは、512KB SRAM、250MHz 8ビットDDR PSRAM接続、flashとPSRAMへの同時アクセス、高速Octal SPIモード互換の専用SPIインターフェースによる外部メモリ拡張で構成される
HMIとオーディオ
- カメラ入力は8〜16ビットDVPカメラインターフェースを使用し、LCDは8〜24ビットのパラレルRGB、I8080、MOTO6800をサポートする
- RGB565、YUV422、YUV420、YUV411間の変換をサポートし、JPEGコーデック、PPA、2D-DMAハードウェアアクセラレータによって画像処理とディスプレイ更新の効率を高める
- 最大14個の静電容量式タッチ検出チャネルを提供し、スマートディスプレイ、ビデオドアベル、マルチメディアパネル、タッチ・ビジュアル・オーディオ統合アプリケーションに適した構成
- Bluetooth 5.4 LE Audioは、LC3コーデックとマルチストリームオーディオに基づく高品質・低消費電力のストリーミングをサポートする
- Bluetooth Classicは、ヘッドホン、スピーカー、自動車システムとの互換性を担い、デュアルI2SコントローラはハードウェアレベルのBluetoothオーディオ同期によって高精度なタイミングと低遅延を提供する
セキュリティ
- ハードウェアベースのセキュリティ機能は、厳格な業界要件を持つアプリケーションを対象としている
- TRNGとRAMベースのPUF機能を統合し、鍵生成とデバイスセキュリティの基盤を提供する
- secure boot、flashおよびPSRAM暗号化、AES-128/256・RSA・ECDSA・ECC暗号アクセラレータをサポートする
- ECDSAベースのデジタル署名周辺回路は、ソフトウェアアクセスから秘密鍵を保護し、TEEとAPMは安全なマルチアプリケーション展開のためのソフトウェア分離を可能にする
ソフトウェアと製品リソース
- ESP32-S31は、EspressifのオープンソースIoT開発フレームワーク ESP-IDF、Matterデバイス向けの ESP-Matter、ESP-BLE-AUDIO、マルチメディアアプリケーション向けの ESP-GMF を通じてサポートされる予定
- ESP Private Agents プラットフォームおよび汎用LLMと直接連携し、AIエージェントを実行したり相互作用したりするクライアントデバイスを構築できる方向性
- 製品リソースには、ESP32-S31 SoC、ESP32-S31-WROOM-3モジュール、ESP32-S31-Korvo-1およびESP32-S31-Function-Coreboard-1開発キットが挙げられている
1件のコメント
Hacker Newsのコメント
Espressif は本当に勢いがあって、CPU に SIMD 命令 まで入っている
組み込みシステムにおいて RISC-V コアには大きな意味がある。というのも、SoC 向けのコンパイルが、半分壊れた独占的なツールチェーンや SDK をダウンロードする作業ではなく、
rustup target add riscv32imac-unknown-none-elfの1行にかなり近づいたからだモダンな Rust 組み込み開発を始めるなら、https://kerkour.com/introduction-to-embedded-development-wit... と https://kerkour.com/rust-esp32-pentest を見るとよい
CAN-FD と Motor PWM モジュールは歓迎だが、ADC 変換時間がどこにも見当たらない。モーター制御では 1µs 未満の変換時間 が必要で、自分は約15年間それを先送りにして、去年ようやく固定小数点から浮動小数点に移行した
imacが何を意味するのか気になる3D プリント、部品の自動調達、カスタムソフトウェアの作成、もしかするとロボットアームまで含めて、机の上のきれいな箱に郵便受けのように部品を入れるだけで済む物がほしい。PROFIT
何でもかんでも ESP32 と呼ぶのはやめてほしい。ESP8266 と ESP8285 から ESP32 に移行したのは理にかなっていたが、今では機能もアーキテクチャも異なるバージョンが10種以上ある
Raspberry Pi Pico(RP2030/RP2350)のスレッドでも、単一基板コンピュータのほうと混同する人が毎回のように現れるのと似ている
ESP32 と聞くと、今でも普通は ESP32 Classic、たいていは WROOM-32E をまず思い浮かべる
機能の違う「バージョン」が10個以上あるわけではない。バージョンという言い方には、時間とともに漸進的に発展していくものを、モジュールを付け外しして台無しにしているというニュアンスが強い
実際には、同じ SDK、設計思想、価格体系、サプライチェーン、サポートチャネルを共有する 4〜5本の製品ライン があるということだ。製品を設計するエンジニアリングチームにとって、それぞれが非常に重要だ。趣味で学ぶ人だけの話ではないが、そうした人たちへのサポートもかなりしっかりしていると思う
そのラインの中には実際にバージョンがある。たとえば現在は主に S、C、H、P ラインがあり、ESP32-S2 は新規設計にはもはや推奨されず、ESP32-S3 を使うべきだ
結局これを理解する基準は、「ESP32 という名前の付いたチップを PCB に載せて、同じ SDK でプログラミングできるか」だ
RP2XXX マイクロコントローラシリーズも同じだ。マイクロコントローラと単一基板コンピュータの違いを混同するなら、その場に向いていないのかもしれない
もっと大きく言えば、こういうものに出会ったときに「自分はすでに理解していて他人が間違っている」という前提から始めないほうが、より早く学べる。心を開いてたくさん質問するほうがよく、今は独学者にとって黄金時代だが、それは謙虚な好奇心を長く持ち続ける人にだけ当てはまる
WLED で趣味の LED アートプロジェクト を作っているが、WLED は ESP32 プラットフォーム上にのみ構築されている。本当に楽しくて、こうした小さなボードの性能とオープンソースコミュニティには今でも驚かされる
お気に入りのコントローラプラットフォームは QuinLED ラインだ。電源分配、電圧レギュレータ、太い銅配線、設定可能なデータライン抵抗、スマート補助ハードウェアのサポートがあり、コントローラ1台あたり30〜50ドル程度と手頃だ。quinled.info
<https://kno.wled.ge/> は WLED のホームページで、個人的には史上最も気の利いた URL の1つだと思う
データシートを見ると BitScrambler ペリフェラル があり、柔軟性の面で Raspberry Pi Pico の PIO にかなり似ているように見える
仕様は良さそうで、好みのEspressifフォームファクタであるWROOMモジュールや小型の開発ボードで出てくるまでどれくらいかかるのか気になる。価格も気になるが、これまでは似た価格帯で世代が進むごとにずっと多くのものを提供してきたので印象的だった
比較的高速なRISC-VコアとSIMDに期待するなら、すでに入手可能なP4も見る価値がある。クロックはやや速いが、無線はない: https://products.espressif.com/#/product-comparison?names=ES...
DSP機能と内蔵画像処理を活用して大量のピクセルデータを処理する面白い作業例もあり、S31でも同様に動きそうだ: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...
2か月前の発表時の以前の議論: https://news.ycombinator.com/item?id=47561678
同じ部品にWi‑Fiと有線イーサネットが再び入ったのは良い
ただし、P4デュアルコアRISC-VラインにあったMIPIサポートは失われた
こういう小さなデバイスは本当に面白い。いつか始めたいサイドプロジェクトが1つあって、SoCを32個、あるいはコア数がもっと多い少数のSoCを配置し、PCB配線でイーサネットハブに接続したうえで、複数のボードをつなげられるように1つ以上の上位ネットワークポートを残すというものだ
各コアには90度LEDホルダーを通して、ボード前面の赤いLEDを点灯させるつもりだ
そういうボード16枚を束ねて、小さなConnection Machineキューブを作ってみたい
ただ、非常に非力なサーバー512台のクラスターを何に使うのかは自分でもよく分からない。たぶん、不合理なほど多くのノードを管理する方法を学ぶためだろう
中心的な目標は、使いやすさと性能のバランスを取りながら、これをどうプログラミングするかを見つけることだ
PSRAM結合部のようなアイデアも良い。すべてのコアがPSRAMを1つずつ持ちつつ、隣同士で所有権を交換できるようにするのだ
ESP32でやった場合、無線周波数帯域で何が起きるのかも気になっていた。狭い空間でデバイス512台が互いに叫び合うようなものだから
ESP32ライン全体でRISC-V採用が増えているのは歓迎したい。以前のXtensaベース部品も悪くなかったが、RISC-Vならツール、コンパイラ対応、長期的なエコシステムがよりすっきりしたものになるはずだ
楽器を少しかじるので、オーディオ出力に関心がある
マイクロコントローラでのBluetoothオーディオ出力は、今どんな状況なのだろう。低遅延かつ高品質な出力は可能だろうか?
こういうハードウェアで無線を使いつつ本気で遅延を減らしたいなら、ESP32をもう1つ使って、両者の間で直接ビットストリームを送る方法がある
数年前、高級WindowsノートPCで移動中の趣味用DAW作曲環境を組もうとした。ノートPCからヘッドホンやイヤホンへの実際のBTオーディオ遅延だけでも使いものにならず、別途BT MIDIコントローラ入力の遅延も使いものにならなかった。両方を重ねると総遅延は笑ってしまうほどだった
当時この問題は広く知られ、大いに嘆かれていた。一部の技術ブログやMSFTブログを含め、ドライバ、ファームウェア、シリコンなどスタックのあらゆる層に問題があり、エンドツーエンドの混乱を解消する作業が進行中だと述べていた
オンラインで言及されていた実用的なWindows向け解決策は、特定の非Bluetooth無線デバイスを使うことだけだった。ノートPCに専用USBドングルを挿し、特定の1機種を選ぶか、すべてのデバイスに対応する受信ドングルを選ぶ必要があるのでは、ただケーブルを使うより魅力が薄い
その後も年に1回くらいは調べ直しているが、意味のある進展の報告はまだ見ておらず、進行中の取り組みに関する議論もむしろ減っている。非常にがっかりだ。BTオーディオ品質の面でも大きく改善しているようには見えない
音質低下を避けるには、独自BTコーデックに対応した特定のデバイスを選ぶか、非BT無線ドングルのハードウェアに切り替える必要がある。音質改善の話自体はあるものの、BTオーディオ標準でより良い最低限の音質が義務化される兆しはまだはっきりしない
Windows構成における標準BTデバイスのデフォルト遅延や品質、入力・出力のいずれかの改善について何か情報があるなら、ぜひ聞きたい