USB Type-C™ & Power Delivery向けSTM32ソリューション
USB Type-C™ & Power Deliveryテクノロジーの導入には、コネクティビティ、パワー・マネージメント、データ通信、認証など、さまざまな領域の専門知識が求められます。
STM32マイクロコントローラは、組込みシステムへのUSB Power Delivery(PD)テクノロジー導入を簡素化して、最新のユース・ケースに対応できるようにします。STM32G0、STM32G4、STM32L5、STM32U5シリーズなど、STが提供する最新のSTM32マイコン・シリーズは、認定済みのUSB PDコントローラ(UCPD)を内蔵し、これと互換性のあるTCPP0xシリーズのUSB Type-C(USB-C)ポート・プロテクション・デバイスを組み合わせれば、設計の安全性をさらに高めることができます。
ミドルウェア、設定およびデバッグ用のツール、ハードウェア開発プラットフォームを連携させるSTの開発エコシステムは、開発者によるUSB-C & PDテクノロジー導入を支援するとともに、最大限の柔軟性を提供します。
組込みシステムにUSB Type-C & Power Deliveryテクノロジーを使用する理由
USB-Cは組込みシステムにおける推奨通信インタフェースであり、バッテリで動作する電子デバイスへの5V給電も可能です。広く採用されている逆挿し可能なUSB Type-Cコネクタはユーザの利便性を高め、設計に生かして製品の差別化を図れる機能をいくつか備えています。
Dual Roleテクノロジーによる相互運用性の強化

USBの電源とデータ転送は、もはや一方向ではありません。ユース・ケースによっては、シンクとソース(受電と給電)という電源の役割を入れ換えたり、デバイスからホストだったデータの流れをホストからデバイス(または、その逆)に切り換えたりする設定が可能になりました。USB PDプロトコルが、電源とデータの役割入換え機能を制御します。
大電力化

USB PDプロトコルは、最大240Wの供給に対応して携帯デバイスの高速再充電を可能とします。単にアプリケーションへの供給電圧を高める(5Vから48V)ことも可能です。このプロトコルに準拠した外部USB PDチャージャを使用して、電源変換ブロックがもたらす複雑性やコストに対処すれば設計が簡素化されます。
プロトコルの多機能化

USB PDプロトコルではオルタネート・モード(AM)の有効化が可能です。USB Type-Cによるビデオ・ドングルのような代表的なアプリケーションの場合、USBを介してDisplayPort、HDMI、Thunderboltなどの独自規格の信号を送受信するためにAMを使用しています。
セキュリティの強化

USB PDプロトコルは、USB Type-C認証を実行し、承認されたデバイスのブランド保護、安全な接続、安全な充電を保証します。
ここからはUSB Type-C & Power Deliveryの主な要件と代表的なアプリケーションの概要を紹介します。

ソリューション
アーキテクチャ
アプリケーションの従来機能の制御に加え、STM32は以下を実現する2種類の機能を実装します。
- USB Type-Cデバイスの接続時に使用されるUSB-CコネクタのCC(設定と通信チャネル)ラインの制御
- USB Power Deliveryプロトコル・メッセージの送受信
実装方法は、設計で選択するSTM32マイコンによって2種類用意されています。USB-C & PDコントローラ(UCPD)を搭載したSTM32マイコンを使用する場合と、STM32マイコンをType-Cポート ・マネージャ(TCPM)として、外部PDコントローラ(TCPC)と併用する場合です。


このハードウェア・ペリフェラル(UCPD)と関連するPDミドルウェア・スタックを使用すれば、外部PDコントローラなしでも、シンク、ソース、またはデュアルロールに対応するUSB Type-C接続を実装できます。
Type-Cポート保護デバイス(TCPPシリーズ)と組み合わせることで、静電破壊や、VbusおよびCCラインの高電圧サージから設計を保護できます。この高耐圧デバイスには、電源パスの負荷スイッチを駆動するゲート・ドライバが内蔵されています。
- シンク用に最適化されたTCPP01-M12
- ソース・アプリケーション向けのTCPP02-M18
- Dual Role Powerアプリケーション(DRP/DRD)向けのTCPP03-M20
X-CUBE-TCPP拡張ソフトウェア・パッケージを使用して開発を簡略化できます。
UCPDコントローラを搭載した主な製品
マイコン・シリーズ | CPU | UCPDインタフェース | シンク | ソース | Dual Role Power(DRP) | USBデータ・インタフェース | Dual Role Data(DRD) |
STM32G0x1* | Cortex-M0+ | 2 | USB2.0 FS x1 デバイス + ホスト | ||||
STM32G4 | Cortex-M4 | 1 | USB2.0 FS x1 デバイスのみ | ||||
STM32L5 | Cortex-M33+ | 1 | USB2.0 FS x1 デバイスのみ | ||||
STM32U5 | Cortex-M33+ | 1 | USB2.0 FS デバイス + ホスト |
※STM32G071xx、STM32G081xx、STM32G0B1xx、STM32G0C1xxに搭載されています。
開発エコシステム
STの開発エコシステムを活用して迅速および簡単な開発を実現
USB Type-Cの設計をゼロから始めることは、簡単ではありません。ソフトウェア、ハードウェア、設計ツールからなるSTの総合的な開発エコシステムは、設計のアイデアから完成までをサポートします。
まずはSTM32 Nucleo USB Type-C拡張ボードでプロトタイプに着手
STM32 USB Type-C Nucleoシールドは、STM32 UCPDコントローラとコンパニオンTCPPデバイスを使用して基本的なアプリケーションを簡易かつ迅速に開発する方法を必要としている開発者向けに設計されています。
このキットには、シンク、ソース、またはデュアルロールのアプリケーションを評価するときに実行するX-CUBE-TCPP拡張ソフトウェアが付属しています。

STM32CubeUSB Type-Cソフトウェア開発エコシステムによるアプリケーション開発
- STM32 UCPDコントローラの選定と設定を支援するSTM32CubeMX
- STM32のリソースとペリフェラルの選択
- UCPDペリフェラルのアクティブ化とUSB Type-Cの役割の定義
- UCPDミドルウェア設定の定義
- USBデータ・ペリフェラルとドライバの設定
- コードの生成
- 開発期間を短縮するSTM32Cubeマイコン・パッケージ
- USB PDミドルウェア・ライブラリ
- Billboard USBドライバ、FreeRTOS、Azure® RTOS ThreadX
- ハードウェア抽象化レイヤ、ロー・レイヤAPI、CMSIS
- STボードで動作するサンプル STM32CubeG0 STM32CubeG4 STM32CubeL5 STM32CubeU5
- 実用的ユース・ケースからのデモ・ファームウェアの再利用
- STM32 UCPDマイコンとコンパニオンTCPPを使用して、シンク、ソース、またはデュアルロールを実装するX-CUBE-TCPP
- STのマルチポート向けレガシー・ソリューションX-CUBE-USB-PD
- すべてのSTM32 マイクロコントローラにUSB Type-Cポート・マネージャ(TCPM)を実装
- 他社製のType-Cポート・コントローラ(TCPC)チップを制御

STM32デバッグ・ソフトウェアとハードウェア・ツールによる設計のモニタリング
- USB Type-Cアプリケーションのモニタリングと設定を行う無償ソフトウェアSTM32CubeMonUCPD
- USB Type-C 1.2およびUSB PD 2.0/3.1に対応
- PD設定、VDM、SOP、ソース / シンク機能のためのポート設定ペイン
- VBUS、IBUSのモニタ、遠距離ポート機能、メッセージ・セレクタ、リアルタイム・トレースのためのポート通信ペイン

- USB Type-CとPD用スニファSTM32G071B-DISCO
- 任意のホストのUSB Type-C電源および機能を表示
- USBスニファ、USB PDデータ・パケット、およびVBUS電圧、IBUS電流を表示
- STM32CubeMonitor UCPDを使用したUSB PD 3.1パケットのデバッグ / 設定 / 挿入

ハードウェア・ツールとリファレンス設計
STM32F0 | STM32G0 | STM32G4 | STM32L5 | STM32U5 | |
USB Type-CからDisplayPortアダプタ | STEVAL-USBC2DP | ||||
TCPM/TCPC | ON-FUSB3-STM32 (他社製TCPCと併用) | ||||
AC/DC USB PD 電源アダプタ | STEVAL-USBPD45C (45W) | STEVAL-USBPD27S (27W / PPS対応) STEVAL-2STPD01 (2W x 60W) | |||
USB Type-C ディスカバリ・キット | STM32G071B-DISCO (USB-Cスニファ / アナライザ) | B-G474E-DPOW1 DRP x1ポート | STM32L562E-DK シンク x1ポート | B-U585I-IOT02A DRP x1ポート | |
評価ボード | STM32G0C1E-EV 45W DRP x1ポート シンク x1ポート | STM32G474E-EVAL DRP x1ポート搭載 | STM32L552E-EV シンク x1ポート | STM32U575I-EV DRP x1ポート | |
Nucleoボード Nucleoシールド | P-NUCLEO-USB002 STM32F072RBT6 + STUSB1602によるDRP x1ポート | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | NUCLEO-L552ZE-Q シンク x1ポート | NUCLEO-U575ZI-Q シンク x1ポート |