5ドルのマイクロコントローラーボード「Raspberry Pi Pico 2」が販売開始
(raspberrypi.com)- Raspberry Piが第2世代ボード Raspberry Pi Pico 2 を発売。新しい RP2350 ベースで性能・メモリ・セキュリティ・インターフェースを強化しつつ、既存のPicoエコシステムとの互換性を維持
- 中核チップのRP2350は、150MHzのArm Cortex-M33×2、520KB SRAM、TrustZoneベースのセキュリティ、signed boot、OTP、SHA-256アクセラレーション、TRNG、アップグレードされたPIO、HSTX、外部QSPI PSRAM対応を含む
- Pico 2はRP2350Aと4MB外部QSPIフラッシュを組み合わせた 5ドルのボード で、Pico 2 Wと0.1インチヘッダー実装済み版も年内発売が見込まれる
- 開発環境も、更新されたPico SDK、MicroPython・CircuitPythonイメージ、Rust対応作業、Trusted Firmware-M 2.1.0 LTS基準ハードウェアとしての取り組み、Google Pigweed SDK対応により拡充
- RP2350は起動時にArm Cortex-M33の代わりに Hazard3 RISC-V コア×2を選択でき、Raspberry Piボード上でRISC-Vを安定して試せる基盤となる
Pico 2の発売と基本的な変更点
- Raspberry Pi Pico 2は、Raspberry Piが設計した新しい高性能・セキュアなマイクロコントローラー RP2350 をベースにした第2世代マイクロコントローラーボード
- 既存のPicoシリーズよりコアクロックが高くなり、メモリは2倍に増え、より強力なArmコア、新しいセキュリティ機能、改善されたインターフェースを提供
- 従来のPicoシリーズとの ハードウェア・ソフトウェア互換性 を維持
- 販売価格は 5ドル
RP2040からRP2350へ
- 2021年1月に発売された初代PicoとRP2040以降の3年半で、PicoとPico Wはほぼ 400万台 販売された
- RP2040は複数のサードパーティ製開発ボードやOEM製品で採用され、ピンボール台やシンセサイザーのような製品にも組み込まれた
- RP2040は、32ビットコア×2、オンチップRAM、プログラマブルI/O(PIO)サブシステム、決定論的バスファブリックを備えたマイクロコントローラーとして設計された
- RP2040ベースのデモには、Graham SandersonのDOOM移植、Dmitry GrinbergのPalmOS移植、Kevin Vanceの“CPU-less” Commodore 64 cartridgeがある
- RP2040にはオンチップストレージ、低消費電力アイドル状態、パッケージの選択肢が不足しており、ユーザーはより高速なコア、より多いRAM、コード保護機能を求めていた
RP2350チップ仕様とパッケージ
- RP2350はRP2040よりはるかに洗練された設計
- 主な仕様は以下のとおり
- 150MHz Arm Cortex-M33 コア×2、浮動小数点およびDSP対応
- 同時アクセス可能な10バンク構成の 520KBオンチップSRAM
- Arm TrustZone for Cortex-Mベースのセキュリティアーキテクチャ
- signed boot対応
- 8KBオンチップantifuse OTP メモリ
- SHA-256アクセラレーション
- ハードウェアtrue random number generator(TRNG)
- オンチップ・スイッチモード電源と低静止電流LDO
- アップグレードされたPIOステートマシン×12
- 高速データ転送用 HSTX ペリフェラル
- 外部QSPI PSRAM対応
- パッケージの選択肢は、RP2040の単一7×7mm QFN56より多様化
- RP2350A: 7×7mm QFN60、GPIO 30本
- RP2350B: 10×10mm QFN80、GPIO 48本
- RP2354A/RP2354B: それぞれ2MB stacked-in-package QSPIフラッシュを含む派生品
- 価格はRP2350Aが3,400個リール基準で 0.80ドル、単品基準で 1.10ドル で、RP2040より10セント高い
- RP2350BはRP2350Aより10セント高く、RP2354派生品はフラッシュなしの対応モデルより20セント高い
- RP2350は2024年末までに大量供給される予定で、サンプルプログラムへの参加は製品ページから申し込める
Pico 2ボードと発売予定製品
- Pico 2は RP2350A と4MB外部QSPIフラッシュを組み合わせている
- 初代Picoの外部QSPIフラッシュは2MBだった
- フォームファクターと電気的特性は初代Pico設計と互換
- 発売時点での流通チャネル在庫は多くないが、Pico 2はSonyとともに full-rate production 状態にある
- 複数のApproved Resellerパートナーがバックオーダーと予約制度を運用しており、今後数週間にわたり定期的に出荷される予定
- 年内発売予定の製品は以下のとおり
- Pico Wと同じ Infineon 43439 モデムを使う無線対応 Pico 2 W
- Pico 2とPico 2 Wの0.1インチヘッダー実装済み版
開発ツール、セキュリティ認証、ドキュメント
- Pico 2とRP2350の発売に合わせてPico SDKが更新された
- 新しいMicroPythonイメージとCircuitPythonイメージが提供される
- Jonathan Pallantと協力者たちが、新プラットフォームにRust言語対応をもたらす作業を進めている
- Raspberry PiはTrusted Firmwareプロジェクトと協力し、RP2350をTrusted Firmware-M 2.1.0 LTSの基準ハードウェアプラットフォームにしようとしている
- TF-MはArm v8-Mチップ上でPSA Certifiedのリファレンス実装を提供する
- RP2350は認定された独立研究所でテストされる予定
- 目標は10月リリース前の PSA Certified Level 2 達成
- Googleとともに、Pico 2ネイティブ対応を含む Pigweed SDK もリリース
- Pigweedミドルウェアライブラリは、Google PixelデバイスやNestサーモスタットを含む数百万台のデバイスに搭載されている
- Googleの発表はannouncement pageで確認できる
- RP2350には包括的なdatasheetが提供される
- 新しく更新されたRaspberry Pi Pico Visual Studio Code extensionを使ったC/C++開発を始めるチュートリアルも提供される
Signed bootとセキュリティバウンティ
- RP2350のセキュリティモデルの中核は signed boot
- セキュリティが有効化されると、OTPに保存された公開鍵ハッシュに対応する秘密鍵で署名されたバイナリだけを起動できる
- 任意コード実行を防ぐことで、コード保護に使われる暗号鍵を含む OTP内容の抽出 がはるかに難しくなる
- RP2350はfault-injection攻撃に備え、複数の手法を使用する
- ハードウェアfast glitch detector
- 特許出願中のredundancy coprocessor
- 制御フローとデータ完全性の保護
- Raspberry Piは、RP2350が重要なアプリケーションに配備される前に、ブートプロセスの欠陥を見つけて修正しようとしている
- 発売前にNewAEとHextreeへセキュリティアーキテクチャ監査を依頼した
- signed bootプロセスで最初に確認されたbreakに対して 10,000ドルのバウンティ を提供する
- 初回運用期間は1か月
- 欠陥が見つからなければ期間を延長できる
- 別個の追加欠陥に対して追加バウンティを提供できる
- 詳細はbounty programにある
- DEF CONハッキングコンベンションと協力し、RP2350ハードウェアをセキュリティ研究者に提供する
- 今年のDEF CONバッジはRP2350ベース
- Hextreeは電源レールおよび電磁glitching実験用ボードを限定数製作した
RP2350ベースのパートナー製品
- Raspberry Piは過去1年にわたり、パートナー各社と RP2350ベース製品 を開発した
- 製品の多くは既存のRP2040ベース製品のアップグレードで、一部は完全な新製品
- 発売日または今後1か月以内に提供されると見込まれる例は以下のとおり
- 4D Systems: 2.4″〜7.0″高性能ディスプレイ gen4-RP2530 シリーズ
- Adafruit: Arduino互換シールド向けMetro RP2350、Feather形式のFeather RP2350
- Bus Pirate: RP2350ベースのオープンハードウェアデバッグツールBus Pirate 5XL、Bus Pirate 6
- Cytron: 産業用I/OコントローラーIRIV I/O Controller、ロボットコントローラーMOTION 2350 Pro
- Invector Labs: 8MBフラッシュ、8MB PSRAM、BConnectまたはWiFi6/BLE5モジュールを備えたChallenger+ RP2350製品
- NewAE: 電力解析とfault injectionテスト用RP2350 Target for ChipWhisperer
- Pimoroni: Explorer、Tiny2350、Plasma 2350、PGA 2350
- Seeed: 19本のGPIO、RGB LED、バッテリー管理システムを備えたXIAO RP2350
- Solder Party: RP2350、16MBフラッシュ、LDO、LiPo充電器、LED、Reset・Bootボタンを統合したRP2350 StampとStamp XL
- SparkFun: Pro MicroフォームファクターのPro Micro – RP2350
- Switch Science: USB-Cコネクターを備えたPicossci2 Breakoutおよび関連モジュール
- Tiny Circuits: プログラム可能なウェアラブル・キーチェーンコンソールThumby Color
- Wiznet: W5100S、W5500、W6100 Ethernetチップ向けRP2350ベース評価ボード
RISC-VモードとHazard3
- RP2350には、起動時にCortex-M33コアの代わりに使用できるオープンハードウェアHazard3 RISC-Vコア×2 が含まれる
- ブートROMはsecond-stageバイナリがどのアーキテクチャ向けにビルドされたかを自動検出し、チップを適切なモードで再起動できる
- RISC-Vモードでは、少数のセキュリティ機能と倍精度浮動小数点アクセラレーターを除くチップ機能を利用できる
- Hazard3はRaspberry PiチップチームのPrincipal EngineerであるLuke Wrenが個人の時間で開発した
- Hazard3は最適化された3段パイプラインプロセッサで、RV32I 命令セットと、性能・コード密度を狙った複数の標準拡張を実装している
- RP2350にHazard3を追加した目的は、ソフトウェア開発者が安定してサポートのある環境でRISC-Vアーキテクチャを試せるようにし、Hazard3を他のデバイスでそのまま使ったり追加開発の基盤として使ったりできる、クリーンなオープンコアとして広めること
3件のコメント
Hacker News のコメント
Hazard3 の作者である Luke が、M33 の横に Hazard3 コアを入れた背景を説明している
2つのコアのサイズは比較にならないが、Hazard3 を取り除いていたとしても最終的なダイサイズはほぼ同じだった可能性が高い
標準セルロジックは圧縮可能で、パッドリング設計の制約によりダイ寸法にも丸めが入るためだという
ただし RISC-V コアを外していれば、最終レイアウトと静的タイミング解析で抜ける髪は少なかっただろうとも述べている
https://x.com/wren6991/status/1821582405188350417
なぜいまだに Micro USB を使っているのか分からない
ボード1枚あたりのコストが少し上がっても、次のバージョンでは USB-C を使うことを期待していた
https://www.raspberrypi.com/for-industry/powered-by/product-...
中国製の USB-C ボードでは CC プルアップ抵抗をケチっていて、C-to-C ケーブルではポートが機能しない場合がある
まだ micro-USB ケーブルが山ほどあり、使い道はどんどん減っている
こうしたデバイスは頻繁に移動したり抜き差ししたりしないので、コネクタが壊れる主な状況もあまり発生しない
プロジェクトケースを再設計しなければならないなら、ドロップインアップグレードではない
RP2040 と比べると変更点はかなり多い
より大きなパッケージ、2MB 内蔵フラッシュ版、セキュアブートと暗号化ブート、2つのセキュア実行コンテキスト、乱数生成器、SHA-256 アクセラレータ、8KB OTP ROM、8チャネル HSTX 高速シリアル送信機、GPIO は30本から48本へ、PIO ステートマシンは8個から12個へ、DMA チャネルは12本から16本へ、起動時に選択可能な RISC-V と Arm、Cortex-M0+ から Cortex-M33 へ、コアクロックは133MHzから150MHzへ増加
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.p...
RP2040 で不満だった点をほぼすべて解消したように見える
一番下の「One more thing」セクションまで必ず読むべき
起動時に Cortex-M33 または RISC-V を透過的に選択できる
その面積をより多くの RAM や別の Arm コアに使うほうがよいのではないかと思うし、いっそ RISC-V 専用バージョンを売るほうが筋が通る
PSRAM を増やすか、ニューラルネットワーク処理ユニットを入れるほうが有用だったと思う
小型モバイル機器向けのバッテリー管理オールインワンボードを知っているか気になる
最近 ESP32 を触り始めたのだが、USB バッテリー充電と同時に機器への電源供給を処理できる、すぐ使えるボードが AliExpress にあまりなくて驚いた
設計に LiPo を付けて、携帯電話のようにそのまま動くようにしたい
充電用の USB ケーブルが別に必要になる
ただ、一部の ESP32 ボードは USB ポート経由で LiPo を充電するようで、Heltec の一部ボードもそうらしい
JST バッテリーコネクタ付きのボードを持っているが、長く使っていないので確かではなく、おそらくこのモデルだと思う: https://heltec.org/project/wifi-kit32-v3/
今、机の上に T18 が1枚ある: https://github.com/LilyGO/TTGO-T-ControllerV2.2/blob/master/...
ただし、アップロードが正しく動くようにするまで少し問題があり、LILYGO 製品は全体的に多少の試行錯誤が必要だが、いったん合わせ込めば安定しているほうだ
奇妙なのは、バッテリーをはんだ付けしろという以外、動作方式が明確に説明されていないことだ
単一セルソリューションとしては IP2312、ETA9740、TP5100、IP5328P、MCP73834、MCP73833、LTC1734、LTC4121 がある
AliExpress で USB-C コネクタ付きのモジュールもいくつか見つけたが、まだテストしていない
IP2326: https://www.aliexpress.com/item/1005007175222069.html
CN3302: https://www.aliexpress.com/item/1005006203228418.html
同時充電に対応する汎用バッテリー管理ボードはこちら: https://shop.pimoroni.com/products/lipo-amigo?variant=397793...
Pico 向けのバージョンや、バッテリー管理が統合された RP2040 ベースのボードも入手できる
すごいことに、Cortex-M33 コア2個とオープンソースの RISC-V Hazard3 コア2個が入っている
Cortex-M33 は 4.09 CoreMark/MHz、Hazard3 は 3.81 CoreMark/MHz だという: https://github.com/Wren6991/Hazard3
RP2350 には Cortex-M33 コアの代わりに起動時に代替できるオープンハードウェアの Hazard3 RISC-V コアのペアが入っており、ブート ROM が第2段階バイナリがどのアーキテクチャ向けにビルドされたかを自動検出して、適切なモードで再起動することもできる
https://www.raspberrypi.com/documentation/microcontrollers/s...
はい、DOOM も動かせる
Graham Sanderson による DOOM 移植のような見事なデモがすでにあったという
RP2040 で外部 RAM をどうにか「動かす」ために、書き込みトラップやエミュレーションのような泥臭い手法を議論したことがあった
RP2350 のデータシートには、新しい QSPI メモリインターフェースで読み書きメモリマッピングをサポートするとあるので、PSRAM をそのまま接続できるという意味なのか気になる
ハードウェアに詳しいほうではないが、かなり有望に見えるし、もしそれができるなら性能がどれほど良くなるのかも気になる
こういう物を見ると、デジタル廃棄物や使用による足跡に対して無責任になっている人が多いのではないかと思う
何年も特に理由なく Raspberry Pi の派生品を集めてきて、今では何もしていないものが積み上がっている
それでも、この分野で極端な部類に入るとは思わない
一方で、無線や Bluetooth を搭載した Raspberry Pi Pico 2 W がいつ出るのかは気になる
RP2350 が Arm Cortex-M33 のペアとオープンハードウェアの Hazard3 RISC-V のペアを備え、ソフトウェアまたはオンチップ OTP メモリ設定で選択できるという点も興味深い
1つのチップに2つのアーキテクチャが入っているわけだ: https://www.raspberrypi.com/products/rp2350/
Pico が400万台売れ、包装はリサイクルされるとしても、すべての Pico が埋め立てられると仮定してみよう
データシート上のサイズは 21×51mm で、厚さはおよそ 5mm ほどなので、1台あたり約 5.35mL になる
400万台なら 5659ガロン、756立方フィートで、これまでに売れたすべての Pico の電子廃棄物は、ガレージ内の 9.1フィートの立方体 1つに収まる
これは時間をかけて心配するほどの問題には見えず、EPA のオフィスの標識を回している Pico 1台の方が、廃棄物全体が与える害より大きな環境上の利益を生んでいるかもしれない
すでに子どもがいるなら、地球への被害を減らすためにできることはほとんどなく、ガラクタ用の引き出しに入る程度の Raspberry Pi を買っても大差はない
休暇で飛行機に乗ったり、数年ごとに新しい携帯電話を買ったりするのも同じで、Raspberry Pi は丸め誤差レベルだ
以前は古いモデルでさえ入手が難しく高価だった時期に売る機会を逃したが、最近は以前のボードをすべて妥当な価格で売ったので、直接的な廃棄物は出していない
ただし今回の Pico でより心配なのは 署名付きブートのロック 機能だ
元に戻せないのなら、Pico が元のプログラムに永久に縛られ、悪意のないユーザーが元の内容を読まずに全体を再フラッシュしようとしても、中古ボードを別の用途に使えなくなる可能性がある
フラッシュ全体の消去で署名付きブートのロックを元に戻せるのか、もっと知りたい
特にマイクロコントローラや開発ボードでは、アップグレードの必要性はプロジェクトの要件によって決まる
アップデートやエンドユーザー向けアプリ、OS が人為的に旧式化を生むコンピュータやモバイル機器とは違う
オンチップの スイッチング電源 とは驚きだ
以前 PCB 上でこういうものを組んだことがあるが、インダクタと複数の受動部品が必要だった
それが全部どうやってチップ内に入るのか気になる
不要になるのは外部のスイッチング電源 IC だけだ
依然としてそうした受動部品が必要で、データシートの 6.3 節を見ればよい
データシート [0] の「5.4 Powerchain」節には、外部インダクタが付いた外部 RT6150 バックブースト・スイッチャが示されている
https://datasheets.raspberrypi.com/pico/pico-2-datasheet.pdf
さらに読んでみると、「RP2350 には 3.3V 電源からデジタルコアへ 1.1V を供給するオンチップ・スイッチングレギュレータがあり、Figure 7 には表示されていない」とある
回路図 PDF を探すのが大変すぎるし Cadence Allegro も入っていないので、これ以上探すのはやめる
最後の部分についてもう少し書くと…
特に MCU にフラッシュメモリが採用されるようになってから、チップ内の電源管理がさらに重要な技術要素になりました。電源管理ができていないと、フラッシュの retention が維持される程度に各セルへきちんと書き込まれず、多くのチップレスがかなり苦労していたのを思い出します。
それなのにこの新製品は、オンチップのスイッチングモード電源部を最初から搭載しているとのことで、驚くと同時に、そこで発生したであろうノイズをどう抑えたのか気になります。
チャプレス => ファブレス