USB Type-C™ & Power Delivery向けSTM32ソリューション
USB Type-C™ & Power Deliveryテクノロジーの導入には、コネクティビティ、パワー・マネージメント、データ通信、認証など、さまざまな領域の技術的な専門知識が必要です。
500型番を超えるSTM32マイコンにUSB Power Deliveryコントローラ・ペリフェラル(UCPD)が内蔵されており、外部Power Deliveryコントローラを使用せずに、シンク、ソース、またはデュアルロールのポート制御を実現できます。
STM32 UCPDマイコンは、最新のUSB PD r3.1仕様に準拠し、以下をサポートしています。
- SPRメッセージ(標準電力域は100Wまで)
- EPRメッセージ(拡張電力域は240Wまで)
- PPS(プログラマブル電源)
- AM(オルタネート・モード)
USB Power Delivery
設計の安全性を高めるため、STM32マイコンに加えて、コスト効率の高い TCPP0xシリーズのUSB Type-Cポート・プロテクション・デバイスを使用することができます。
ミドルウェア、設定およびデバッグ用のツール、ハードウェア開発プラットフォームを連携させるSTの開発エコシステムは、開発者によるUSB Type-C & PDテクノロジー実装を支援するとともに、最大限の柔軟性を提供します。
USB Power Deliveryペリフェラル(UCPD)を内蔵したSTM32マイコンでは、アプリケーションの一般的な機能を制御するだけでなく、次のようなことが可能です。
- USB Type-Cデバイスの接続時に使用されるUSB Type-CコネクタのCC(設定と通信チャネル)ラインの制御
- USB Power Deliveryプロトコル・メッセージの送受信
すぐに使えるハードウェアとファームウェア・サンプルを使用すれば、USB Type-CとPower Deliveryテクノロジーをあらゆる組込みシステムに実装でき、市場投入までの時間を短縮できます。
USB Type-C向けのSTM32ソリューションは、システム・オン・チップ(SoC)、アプリケーション・プロセッサ、またはSTM32マイクロプロセッサをメイン・プロセッサとして使用するWindowsまたはLinuxベースのアーキテクチャ向けの、USB Type-Cコネクタ・システム・インタフェース仕様(UCSI)に準拠しています。
組込みシステムにUSB Type-C & Power Deliveryテクノロジーを使用する理由
USB Type-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 Type-CコネクタのCC(設定と通信チャネル)ラインの制御
- USB Power Deliveryプロトコル・メッセージの送受信
ターンキー・ソリューション
ターンキー・ソリューション
UCPDコントローラを搭載した主な製品
マイコン・シリーズ | CPU | UCPDインタフェース | シンク | ソース | Dual Role Power(DRP) | USBデータ・インタフェース | Dual Role Data(DRD) |
STM32G0x1* | Cortex-M0+ | 2 | USB2.0フルスピード デバイス + ホスト | ||||
STM32G4 | Cortex-M4 | 1 | USB2.0フルスピード デバイスのみ | ||||
STM32L5 | Cortex-M33+ | 1 | USB2.0フルスピード デバイスのみ | ||||
STM32U5 | Cortex-M33+ | 1 | USB2.0フルスピード デバイス + ホスト | ||||
STM32H5 | Cortex-M33 | 1 | USB2.0フルスピード デバイス + ホスト | ||||
STM32H7R/S | Cortex-M7 | 1 | USB2.0ハイスピード 1x(PHY付き) + USB2.0フルスピード 1x | ||||
STM32MP2 | Cortex-A53 + Cortex-M33 | 1 | USB 2.0ホスト + USB 3.0 |
* 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 STM32CubeH5 STM32CubeH7RS
- 実際の使用例からデモ・ファームウェアを再利用する :
- STM32 UCPDマイコンとコンパニオンTCPPを使用して、シンク、ソース、またはデュアルロールを実装するX-CUBE-TCPP
- LinuxベースのSTM32マイクロプロセッサ・アーキテクチャでUSB PDデュアルロール・ソリューションを実装するX-CUBE-UCSI
STM32デバッグ・ソフトウェアとハードウェア・ツールによる設計のモニタリング
- USB Type-Cアプリケーションのモニタリングと設定を行う無償ソフトウェアSTM32CubeMonUCPD
- USB Type-C 1.2およびUSB PD 2.0/3.1に対応(SPRおよびEPRメッセージングを含む)
- 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ポート |