STM32G4 - UCPDUSB Type-C™/USBパワーデリバリ・インタフェース

1.0版

STM32G4 UCPD（USB Type-C/パワーデリバリ）インタフェースのプレゼンテーションへようこそ。このモジュールの主な機能をカバーしています。

1

概要

2

UCPD

UsbPdClk
ClkReqPClk• USB Type-C™/USBパワーデリバリ
インタフェース（UCPD）の管理:• USB Type-C™デバウンスによるレベル検出

TxDMA
リクエスト
RxDMA
リクエスト

レジスタ
プログラミング
インタフェース

割込み
リクエスト

UCPD
デジタル
コントローラUCPD I/Oパッド
内蔵プルアップおよびプルダウン抵抗、Type-Cレベルコンパ
レータ、FRSレベル検出およびPD PHY• 高速ロール･スワップ（FRS）検出• USBパワーデリバリ･ペイロードのバイト･レベル
インタフェース、割込みの生成（DMA互換）

アプリケーション側の利点

ウェイク
アップ
リクエスト

•
A
P
B
3
2

•
•

オンチップUSB Type-C™ PHY、プルアップ（Rp、すべての値）とプルダウン（Rd）抵抗
デッドバッテリ・サポート
USBパワーデリバリ・メッセージの送受信

UCPDユニットは、設定チャネルピン（CC1およびCC2）に直接接続されたPD物理層（PHY）を内蔵しています。
UCPDは、ダウンストリーム・フェイシング・ポート（DFP）またはアップストリーム・フェ
イシング・ポート（UFP）として構成することができ、また、DFPとUFPの状態を入れ替えることができるFast Role Swap（高速ロールスワップ）プロトコルをサポートしています。
CC1またはCC2上でのメッセージ交換に基づくプロトコル層を実装するために、
UCPDはプログラミング・インタフェースを提供し、ソフトウェアがメッセージ・ペイロー
ド・バイトを受信または送信できるようにします。外部DMAチャネルへのリクエストは、メモリとの間でプロトコルメッセージを自動的に転送するために使用することもできます。
ブロック図は、UCPDモジュールの2つの重要な部分を示しています。
左側のレジスタ・インタフェースはPCLKによってクロックされ、モジュールの現在•の状態を設定し、決定するためにソフトウェアによって使用されます。メッセージ
は、TxおよびRxレジスタを使用してバイトごとに転送されます。
バイトのエンコード/デコード、CRCの付加、チェックを行うとともに、順序付き•セットの伝送を管理するPD物理層。
アプリケーションの利点は、RpおよびRd抵抗を含む統合オンチップPD PHY••
デッドバッテリーモードをサポートし、バッテリー切れの状況下でピアデバイスでの接続検出を可能にします。
PDメッセージの送受信、ソフトウェアはペイロードの処理を担当しています。
•

2

UCPD機能3• USB Type-C™/USBパワーデリバリ・インタフェースは、USBパワーデリバリ仕様の物理層をサポート• ユニバーサル・シリアル・バスのパワーデリバリ仕様をサポート:リビジョン3.0、v1.2• ユニバーサル・シリアル・バスType-C™ケーブルおよびコネクタ仕様をサポート:リリース1.3• 主な機能は、Type-C™ケーブル特有のパワーデリバリ（PD）仕様、CCシグナリン
グ方式（VBUSではない）の物理層実装

UCPDコントローラは、以下に準拠しています。
• USB Type-Cリビジョン1.2と• USBパワーデリバリ仕様リビジョン3.0
PHYについては、CC信号方式のみ対応しているため、Type-C
ケーブルが必要です。

3

UCPDのリセットとクロック
RCC
UsbPdClk

UCPD
HSI16

÷1-16

ClkReq

ハーフビットクロック
ディバイダ ÷1-63

nPReset
PClk

RxDMA
リクエスト

t TRANSITION_WINDOW
タイミングジェネレータ

コントロールレジスタ

t INTER_FRAME_GAP
タイミングジェネレータ

Txバイト
レジスタ
Rxバイト
レジスタ

Rxオーダ
セットレジスタ
割込み
リクエスト
ウェイクアップ
リクエスト~600kHz

レジスタ

Txオーダ
セットレジスタ
TxDMA
リクエスト

BMCレシーバ（9-18MHz）

ステータス
レジスタ
（割込み/
イベント）

BMCトランスミッタ（9-18MHz）

4• シングル・リセット信号nPReset（APBバス・リセット）を使用• UCPDのレジスタ・セクションはPClkで直接クロックされる• 主な機能部分は、UsbpdClkが供給される• このクロックは、事前にスケーリング
することが出来る• レシーバは9から18MHzまで、あらゆるクロック入力で動作するよう設計されているA
P
B
3
2

リセット/クロックコントローラ（RCC）ユニットは、nPReset信号をアサートすることでUCPDユニットをリセットします。
また、以下の参照クロックをUCPDユニットに提供します。
• PClkは、APBクロックであり、メモリマップレジスタへのアクセスに使用されます。
• 主な機能クロックであるUsbPdClk
Biマーク位相符号化で必要とされるハーフビットクロックを得るた
めに、UsbPdClkをプリスケーリングすることができます。
tTransitionWindowとtInterFrameGapと呼ばれるタイミングについては、すべての場合においてタイミングを尊重するために、クロッ
ク周波数の不確実性を考慮に入れる必要があることに注意してください。
UCPDモジュールは、クロックゲーティングの低消費電力状態を抜けるために、RCCにClkReqをアサートします。

4ピンアウト
UCPD

UsbPdClk
ClkReq
PClk

ピン

説明

UCPD_FRSTX

USB高速ロール・スワップ・シグナリング制御（DRPにのみ適用可能）• 外部 NMOS がアクティブな CCi ラインを GND にプルダウンするための制御信号（アクティブハイ）（ Fast
Role Swapシグナリング）• 一般的なアプリケーションでは、2つのトランジスタ（1つはCC1用、もう1つはCC2用）がある• 1つのFRSTX信号はAFmuxで利用可能で、アクティ
ブなCC（CC1または CC2）のロール･スワップを要求するために使用

UCPD_DBCC1
UCPD_DBCC2

USB Type-C™設定コントロールライン、デッドバッテリピン• デッドバッテリのサポートが必要な場合、USB TypeC™コネクタの CCi ラインに UCPD_DBCCi 接続する必要がある
• それ以外の場合、これらの入力GNDに接続

UCPD_CC1
UCPD_CC2

USB Type-C™設定コントロールライン• USB Type-C™コネクタのCCiラインへの接続

レジスタ
コントロール
レジスタ

TxDMA
リクエスト
RxDMA
リクエスト

FRSパルス
生成器

Txオーダ
セットレジスタ

UCPD_DBCC1
Bmc
エンコード

Txバイト
レジスタ

CRC

4b5b
エンコード

Rxバイト
レジスタ

4b5b
デコード

オーダー
セット検出/
フィルタ

Rxオーダ
セットレジスタ

ステータス
レジスタ
（割込み/
イベント）

アナログ
PHY
Rp,Rd

BMC
デコード

BMC
周波数
推定

割込み
リクエスト
ウェイク
アップ
リクエスト

UCPD_FRSTXFRSパルス検出

UCPD_CC1

UCPD_DBCC2
アナログ
PHY
Rp,Rd

UCPD_CC2

Type-Cコントロール
Type-Cデバウンス

A
P
B
3
2

5

このスライドでは、UCPDユニットのピンアサインについて説明します。
ピンUCPD_CC1とUCPD_CC2は、USB Type-Cリセプタクルにルーティングされる唯一の信号です。ケーブルは反転させることができるため、ケーブルには固有のCC信号が含まれており、リセプタ
クルのCC1またはCC2に接続されていることに注意してください。
UCPD_FRSTXピンは、デュアルロールポートプロトコルがサポートされている場合に関連しています。これは、CC1またはCC2ラインをそれぞれプルダウンする外部NMOSトランジスタを制御するために使用され、ロールスワップを要求する方法です。
UCPD_DBCC1とUCPD_DBCC2ピンは、STM32G4 USB Type-C
ポートが、UCPD_DBCC1をUCPD_CC1に接続し、UCPD_DBCC2を
UCPD_CC2に接続することで、デッドバッテリ状態を相手ポートに示す場合に使用されます。

5

プルアップおよびプルダウン抵抗
Type-C仕様:

UCPD

UsbPdClk
ClkReqPClk

ダウンストリーム向きポート（DFP）

レジスタ
コントロールレジスタ

6

FRSパルス
生成器

UCPD_FRSTX

Type-Cケーブルアップストリーム向きポート（UFP）

VConn
接続の検出

TxDMA
リクエスト
RxDMA
リクエスト

Rd

Txオーダ
セットレジスタ

UCPD_DBCC1
Bmc
エンコード

Txバイト
レジスタ

CRC

4b5b
エンコード

Rxバイト
レジスタ

4b5b
デコード

オーダー
セット検出/
フィルタ

Rxオーダ
セットレジスタ

ウェイク
アップ
リクエスト

ステータス
レジスタ
（割込み/
イベント）

BMC
デコード

BMC
周波数
推定

割込み
リクエスト

アナログ
PHY
Rp,Rd

接続検出と
マルチコン
トロール

UCPD_DBCC2
アナログ
PHY
Rp,Rd

CC1

3.3V Rp
UCPD_CC1

USB Type-C
電流
検出

VConn

UCPD_CC2

Rd
CC2
3.3V Rp

FRSパルス検出
Type-Cコントロール
Type-Cデバウンス

A
P
B
3
2

•

一方のCCピンのみを使用する場合、CCENABLE制御フィー
ルドを使用して他方のピンの制御を無効にすることで消費電力を最適化することが出来る

STM32G4は、USB PD仕様で必要なCC1およびCC2ピンに接続された内部RpおよびRd抵抗を実装します。
• 接続の検出• ケーブルが反転しているかどうかの確認• 通電能力はRpの値に依存するため、デフォルトの使用可能電力を決定します。
最後に、ケーブルフリップに応じてCC1またはCC2という固有のCCピンが、PDメッセージを伝送するために使用されます。
未使用のCCピンは、アクティブケーブルに存在する集積回路に電力を供給するVCONNピンになる可能性があります。
消費電力を節約するために、UCPD_CRレジスタのCCENABLE
フィールドをプログラミングすることで、未使用のCCピンを無効にすることもできます。

6

PDおよびPU抵抗
ダウンストリーム向きポートとして設定されたUCPD
前提事項:ケーブルが反転しない

7

アップストリーム向きポートとして設定されたUCPD
前提事項:ケーブルが反転しない

Vconn

Vconn

Rp

Rp
CC1

3.3V

3.3V

CC1
Rd

Rd

Vconn

Vconn

Rp

Rp
CC2

3.3V
Rd

3.3V

CC2
Rd

UCPDはソフトウェアによって、ダウンストリーム向きポート（DFP）
またはアップストリーム向きポート（UFP）のいずれかに設定されます。
DFPモードでは、ケーブル反転がないと仮定して、CC1はRpに接続されます。Rpの値は、DFPがVbusで供給できるデフォルト電力の値を示します。
DFPモードでは、ケーブルが反転していないと仮定して、CC2はVCONNに接続されています。VCONNは、電子的にマークされたケーブルやVCONNを搭載したアクセサリを実装するために必要なプラグ内のデバイスに電力を供給するために使用される5ボル
ト1.0ワットの電源です。
UFPモードでは、ケーブルが反転しないと仮定して、CC1とCC2は5.1キロΩの抵抗器であるRdに接続されています。
UCPDはDFPとUFPの両方の動作をサポートしているため、図に示す内部スイッチが現在の構成を選択します。

7

PDおよびPU抵抗、デッド･バッテリ
デッドバッテリモード：有効

デッドバッテリモード：無効
UCPD_DBCC1

UCPD_CC1

UCPD_CC1

UCPD_DBCC2
UCPD_CC2• MCUの電源が入っていないときは、"電池切れ"Rdが表示

STM32G4

UCPD_DBCC2
UCPD_CC2

Type-C™
レセプタクルUCPD_DBCC1

Type-C™
レセプタクル

STM32G48• MCUが電源をオフにすると、CC1およびCC2にオープ
ンサーキットが表示• 電源が入ってMCUが起動した後、この動作を有効にするために
SYS_CONFIG[USBPDstrobe]を書き込む前にUCPD_CRレジスタのANAMODEとANASUBMODEフィールドに目的の動作（例えばシンク）をプログラムする必要がある

UCPDをアップストリーム向きポートとして使用する場合、デッドバッテリ機能により、UCPDはピア・ノードに電源供給が必要であることを示すことができます。このアナログ設定はMCUの電源がオフの場合でも機能します。このデフォルトの動作は、DBCCピンをそれぞれのCCピンに接続することで設定されます。
電源が入り、STM32G4が起動した後、UCPD_CRレジスタのANAMODEとANASUBMODEフィールドに所望の動作（シンクのソース）をプログラムし、SYS_CONFIGと呼ばれるSYSCFGレジス
タにUSB PD Strobeビットを1に設定しなければなりません。
DBCCピンをグラウンドに接続すると、デッドバッテリモードが無効になります。
この場合、ピアDFPは、デッドバッテリ状態と未接続状態を区別で
きません。

8

高速ロールスワップ（FRS）シグナリングと検出
高速ロールスワップ、アクティブCC:CC1

UCPD_FRSTX（オルタネート機能）
GPIOモード:ドライブ0

STM32G4

UCPD_CC1
UCPD_CC2
GPIOモード:ドライブ0

Type-C™コネクタ

UCPD_CC2

高速ロールスワップ、アクティブCC:CC2
Type-C™コネクタ

UCPD_CC1

9UCPD_FRSTX（オルタネート機能）

STM32G4• FRSシグナリング:• 低抵抗プルダウンを適切なCCライン上でGNDに得るためには、外付けのN-MOSトランジスタが必要で、
FRSTX制御は1つまたは他のN-MOSにマッピングする必要がある• 制御信号（FRSTX）は、適切な時間だけハイレベルでパルスする• FRS検出はUCPD_CRレジスタのFRSRXENで制御

高速ロールスワッププロトコルは、DFPとUFPの役割を交換します。
デフォルトの電源ソースノードがシンクノードとなり、デフォルトのシンクノードがソースノードとなります。
ソースノードにFRSを要求するには、シンクデバイスは適切なCC
ラインを一時的にグランドに接続します。
これは、両方のCCライン上の外付けN-MOSトランジスタによって達成されますが、一方のみがFRSTXパルスを受信します。
非アクティブなCCラインのN-MOSは、GPIOモードを使用してロジック0レベルで駆動する必要があります。
UCPD_CRレジスタのFRSRXENビットは、シンクノードのFRS検出を制御します。このビットがセットされると、FRS検出が有効になります。

9

UCPDデジタル･コントローラ• デジタル･コントローラは以下のような特徴を持つ

UCPD

UsbPdClk
ClkReqPClk
レジスタ
コントロール
レジスタ

TxDMA
リクエスト
RxDMA
リクエスト

FRSパルス
生成器

UCPD_DBCC1
Bmc
エンコード
CRC

4b5b
エンコード

Rxバイト
レジスタ

4b5b
デコード

オーダー
セット検出/
フィルタ

Rxオーダ
セットレジスタ

ステータス
レジスタ
（割込み/
イベント）

FRSパルス検出
Type-Cコントロール
Type-Cデバウンス

A
P
B
3
2

アナログ
PHY
Rp,Rd

BMC
デコード

BMC
周波数
推定

割込み
リクエスト
ウェイク
アップ
リクエスト

UCPD_FRSTX

Txオーダ
セットレジスタ
Txバイト
レジスタ

10

UCPD_CC1

UCPD_DBCC2
アナログ
PHY
Rp,Rd

UCPD_CC1• USB Type-C™レベル検出、デバウンス、割込み発生
機能付き• FRS検出、割込みの生成• CRC生成/チェッキング
• 4b5bエンコード/デコード• バイフェーズマーク･エンコード/デコード• オーダーセット（受信時にプログラム可能な順序付き
セットマスクを使用）• プリアンブル時の受信機の周波数回復• USBパワーデリバリ･ペイロードのバイトレベル･インタ
フェース、割込みの生成（DMA互換）• USBパワーデリバリタイミング･ディバイダ（クロック･プリスケーラを含む）

デジタルコントローラは以下を担当しています。
• USB Type-Cレベル検出、デバウンス付き• 高速ロールスワップ（FRS）検出• CRCの生成とチェック• 4b5bエンコード/デコード• バイフェーズマーク（BMC）エンコード/デコード• オーダーセットの送信と受信受信機のクロックデータ回復ユニットは、受信したビットストリームから送信
クロックを回復します。
デジタルコントローラは、割込みを生成して、USBパワーデリバリペイロー
ドのためのバイトレベルインタフェースを提供する。UCPDユニットがDMA
転送を要求することができるため、DMAチャネルはメッセージペイロードの転送を支援することができます。
UCPDモジュールは、2つのクロックドメインを実装します。PCLKによってクロックされるAPBレジスタインタフェースと、UsbPdClkによってクロックされるPHYです。
最大周波数が300Kbps(キロビット/秒)のCCクロックを提供するために、
UsbPdClkはプログラマブル・プリスケーラで分割されています。バイフェー
ズマークコーディングのため、送信ビットごとに2つの遷移が発生する可能性があるため、実際の最大クロック周波数は600kHzとなります。

10電圧監視とデバウンス
UCPD

UsbPdClk
ClkReqPClk
レジスタ
コントロール
レジスタ

TxDMA
リクエスト
RxDMA
リクエスト

FRSパルス
生成器

Txオーダ
セットレジスタ
Txバイト
レジスタ

CRC

4b5b
エンコード

Rxバイト
レジスタ

4b5b
デコード

オーダー
セット検出/
フィルタ

Rxオーダ
セットレジスタ

ステータス
レジスタ
（割込み/
イベント）

• Type-C™ステートマシンを最新の状態に保つため、CC1ピンとCC2ピンの重要な電圧イベントの監視が可能であり、継続的、またはポーリン
グによって行うことが出来る

UCPD_DBCC1
Bmc
エンコード

アナログ
PHY
Rp,Rd

BMC
デコード

BMC
周波数
推定

割込み
リクエスト
ウェイク
アップ
リクエスト

UCPD_FRSTX

11

UCPD_CC1

UCPD_DBCC2
アナログ
PHY
Rp,Rd

• ソフトウェアに重要なイベントのみを提示するために、デバウンスが実行され、電力供給Tx/Rx
アクティビティとの調整も行わる

UCPD_CC1

FRSパルス検出
Type-Cコントロール
Type-Cデバウンス

A
P
B
3
2

PHYはCC1とCC2の状態を継続的に監視するか、ポーリングに
よって、UCPD_SRレジスタにフラグを設定してソフトウェアにイベントを検出し、シグナルを送ります。
電力消費を最適化するために、Type-C検出器はSTOPからのウェイクアップではなく、ポーリングの間でオフになるため、ポーリ
ングを使用することをお勧めします。
CCピンの静的レベルは、レジスタの電圧範囲値を与えるために
PHYの閾値検出器を介して決定され、ソフトウェアでのType-Cス
テートマシンの実装を容易にし、またケーブルの向きを決定することを可能にします。
Type-Cのバウンス解除サブユニットは、ソフトウェアに報告されるイベントをフィルタ処理します。また、イベントシグナリングと電力供給のTx/Rxアクティビティ間の調整を確実に行います。

11

PDプロトコル
ソフトウェア･スタック

ハードウェア

UCPD

UsbPdClk
ClkReqPClk

USB PD
システムポリシー
マネージャ

12

レジスタ
コントロールレジスタ

USB PD
デバイスポリシー
マネージャ

FRSパルス
生成器

UCPD_FRSTX

Txオーダ
セットレジスタUSB PD
ポリシーエンジン
USB PD
プロトコル層USB PD
物理層

UCPD_DBCC1
Bmc
エンコード

Txバイト
レジスタ

CRC

4b5b
エンコード

Rxバイト
レジスタ

4b5b
デコード

オーダー
セット検出/
フィルタ

Rxオーダ
セットレジスタ

アナログ
PHY
Rp,Rd

BMC
デコード

BMC
周波数
推定

UCPD_CC1

UCPD_DBCC2
アナログ
PHY
Rp,Rd

UCPD_CC1

FRSパルス検出
割込み
リクエスト

Type-Cコントロール
Type-Cデバウンス

A
P
B
3
2

PDソフトウェアスタックは、STM32G4のCortex-M4コアによって実行されます。
メッセージとイベントに基づき、イベントは、割込みを通じて
Cortex-M4コアに報告されます。
メッセージに関しては、ペイロードのみがソフトウェア制御下にあります。
デジタルコントローラは、プリアンブル、パケットの開始、CRC、およびパケットの終わりでメッセージカプセル化を実行します。
ソフトウェアスタックには、プロトコル層、ポリシーエンジン、デバ
イスポリシーマネージャ、およびシステムポリシーマネージャが含まれます。
システムポリシーマネージャは、プラットフォームレベルの電源管理を実装するために、複数のPDポートを制御できます。

12PDプロトコル
プロトコル層

13

目的

DPM

デバイス
ポリシー
マネージャ

DPMは、システム全体の管理と監視を担当• ポリシーエンジン、電源、ケーブル検出、およびシステムポリシーマネージャとやり取りする• 現在の電力状態に応じて必要な電力計画と行動（契約）を決定

PE

ポリシー･エンジン強制されるローカル･ポリシーを決定するポートごとに1つのインスタンス• さまざまな操作に対してメッセージ・シーケンスが指定される• ポートの電源リソースを要求• 電源またはシンクの切り替え• このレイヤは、電源ネゴシエーションとスワッピングを実装• メッセージ・フロー・エラーおよびリセットを処理

PL

プロトコル層

送信時に、このレイヤはメッセージを構築し、それをデジタル･コントローラに渡す
受信時に、このレイヤはデジタル･コントローラからメッセージを取得し、それを解析して分解• CRC の生成 / チェ ックは この レイヤ によっ て実行さ れ、正 しく受信され たメッセー ジ に対してGoodCRCが自動的に返される• 通信エラーもこの層によって処理されるPD仕様では、3つのソフトウェア層が定義されています。
1. デバイスポリシーマネージャ（DPM）は、デバイスレベルのシ
ステム管理と監視を担当します。現在の電源状態に応じて、電源プランと契約を決定します。
2. ポリシーエンジン（PE）は、単一のUCPDポートを制御します。
メッセージシーケンスは、パワーリソースを要求し、ソースまたはシンク遷移を実行するために定義されています。このレイヤは、パワーネゴシエーション、スワッピングを実装し、メッセージフローエラーとリセットを処理します。
3. プロトコル層（PL）は、PDメッセージの構築と分解を担当しています。この層は、メッセージが正しく受信された場合に自動的にGoodCRCを返し、タイムアウトやリトライなどの送信エ
ラーも処理します。

13

ST独自のUSB-PDスタック

14• STマイクロエレクトロニクスは、USB.org仕様に基づいて独自のUSB-PDスタック
を提供
USB-PDアプリケーション
ユーザ･アプリケーション

USBPD
ポート
パートナー

USBPDスタック
USBPDデバイス
ハードウェア:LL HALおよびBSP

Type-Cバス

2つの部分はSTマイクロエレクトロニクスによって完全に管理されているため（USBPDコアスタックとUSBPDデバイス）、ユーザーは他の2つの部分だけに開発努力を集中させる必要があります。
•ユーザアプリケーションパーツ:USB組織仕様の内部で「デバイスポリシーマネージャ」と呼ばれます。STは、アプリケーションのニーズに応じて完成するアプリケーションテンプレートを提供します。
•ハードウェア部分:主にエネルギー管理に重点を置いていますが、これはユーザーがType-C電源の側面を管理するために選択した周辺機能に依存します。
STマイクロエレクトロニクスは、搭載されているSTM32ボード上のUSB Type-C™パワーデリバリ(UCPD)ポートを設定および監視するためのソフトウェアツールであるSTM32CubeMonitor-UCPD（STM32CubeMonUCPD）をリリースしました。
構成部では、USB Type-Cパワーデリバリポートのデフォルト設
定を変更できます。
パワーデリバリ契約の確立と活動のチェックは、監視ツールで可
能です。

14

オーダーセット15• オーダーセットは4Kコードから成り立つ• 受信機は4つのKコードをすべて検索し、そのうちの1つが4つのうち3つ、または4つすべてを正しい場所に見つけたとき、それを有効な順序付き集合として解釈することが出来るPD仕様で定義されたオーダーセット
ケーブル･リセット

ケーブル･リセットを発生させる

ハード･リセットハード･リセットを発生させる

SOP
SOP’
SOP’_デバッグ
SOP’’

ケーブルに電気印が付いているピアPDデバイスまたはデバイスを対象とするパケットの開始

SOP’’_デバッグ

PDプロトコルは、5ビットコードに変換されたデータの数字を転送することに加えて、順序付きセットと呼ばれるシグナリングパター
ンも転送します。
これらは4つの5ビットKコードで構成され、冗長メカニズムを介した伝送エラーに対して耐性があります。
パケットの開始(SOP)などの順序付けられたセットは、必ずパケッ
ト内に存在します。
デジタルコントローラは、受信機の有効性を確認した後、自動的に送信機に挿入し、受信機にストリップします。
PD仕様で定義されているオーダーセットは、• ケーブルまたはハードリセット状態の信号を送る• パケットの先頭を区切ります。

15

PDパケット
64b

16b

16b

プリアンブル

SOP

ヘッダ

ペイロード0-260バイト
バイト0

…

バイトn

32b

4b

CRC

EOP

16

PHY送信機のプレフィックス
PHY受信機による確認
TxおよびRxバイト･レジスタを介してソフトウェアによって処理される

フィールド

4b/5bコーディング?

プリアンブル

いいえ

SOP

はい

ヘッダ

はい

ペイロード

はい

CRC

はい

EOP

はい

PHYは、プリアンブル、パケットの開始（SOP）、CRC、およびパケットの終わり（EOP）を自動的に挿入します。
受信機PHYはこれらのフィールドを処理し、それらを削除します。
ヘッダーフィールドとペイロードフィールドは、ソフトウェアによって完全に処理されます。
PHYは、その内容を解釈しません。
プリアンブルはエンコードされません。
これは、受信機PHYがクロックデータを回復するために使用します。
後続のすべてのフィールドは送信機でエンコードされ、受信機でデコードされます。

16

PDパケット、リセット
64b

4b

4b

4b

4b

64b

4b

4b

4b

4b

プリアンブル

RST-1

RST-1

RST-1

RST-2

プリアンブル

RST-1

Sync-1

RST-1

Sync-3

ハードリセットのオーダーセット

17

ケーブルリセットオーダーセット• ハードリセット･パケットは、クリーンな方法で実行中の転送を直接中断する• ケーブルリセットはハードリセットと同様のフォーマットですが、ハードリセットとは異なり、特定の「優先度の高い処理」は不要• シーケンス• tInterFrameGap（25µs）待機• CCがアイドル状態でない場合は、アイドル状態になるまで待つ• プリアンブルを送信し、ハードリセットシグナリング用の4Kコードを送信• チャネルを無効にする（つまり送受信の停止）、PHYレイヤをリセットし、PHYレイヤがリセッ
トされたことをプロトコル･レイヤに通知• プロトコル層から要求されたチャネルを再度有効にする

Type-Cコネクタは、専用のリセット信号をサポートしていません。
したがって、CC回線を介して転送される特定のPDパケットを使用
して、リセット条件が通知されます。
これらのパケットは、順序付きセットと呼ばれ、物理層によって完全に処理されます。
リセットの2つのタイプが定義されている:ハードリセット、オン時転送を中止し、ケーブルのリセット、「優先度の高い処理」を必要としません。
リセットパケットの発行に必要な順序については、このスライドで説明します。

17

PDパケット、組込みセルフテスト（BIST）

18• プロトコル層が要求するBISTアクションに応じて、次のいずれかの実行が可能• UCPD_CRレジスタのTXMODEとTXSENDに書き込むことで達成されるTxBISTパターン･テスト• UCPD_CRレジスタのRXBISTフィールドの正しい値をRXMODEに書き込むことで達成される
RxBISTパターンテスト• UCPDでサポートされる2つのパターンは以下の通り• BISTテスト･データ（192ビットパターン）は、TxおよびRxに適用される• 受信者はパケットを確認したが、その後破棄される（プロトコル層には渡されない）
プリアンブル

SOP

ヘッダ

BISTテストデータ

CRC

EOP

• BISTキャリア･モード（シングル･パターン、無限長メッセージ）はTxにのみ適用され、このモードでTxに対向するRxは、この状態の間CCラインを単に無視しなければいけない
プリアンブル

SOP

1010101….（リセットするまで繰り返す）PD仕様では、CCラインが機能しているかどうかをテストするために使用されるBuilt-In Self test（BIST）パケットを記述しています。
BISTは、UCPD_CRレジスタのフィールドに基づいて、ソフトウェアの決定に基づいて送信されます。
ソフトウェアは、BISTパケットの送信を強制することができ、レシーバーをテストモードで構成することもできます。
BISTパケットの2つのフォーマットがPD仕様で定義されています。
• デジタルコントローラのテストに使用されるペイロードを含むパケットであるBISTテストデータ• BISTキャリアモードは、例えばオシロスコープでCCを捕捉して物理リンクをテストするための、シングルパターンの無限長メッ
セージ。

18

Type-C™ステートマシンの処理

19• ソースとシンクの一般的なアプリケーションの場合（また、これらの2つを切り替えることができるデュアルロール･ポートも）、ソフトウェアは、関連するUSB Type-C™ス
テートマシンを実装しなければならない• UCPDモジュールはCC回線のみを制御
ソースモードDC/
DC

シンクモードDC/
DC
VBUS
ロードスイッチ

VBUS

レギュレータ

VBUS

VCONN
ロードスイッチ

VCONN

レギュレータ

VCONN

EN

EN

A/D
コン
バータ

GPIO
UCPD
STM32G4

CC1/CC2UCPD

CC1/CC2

STM32G4

Type-Cステートマシンはソフトウェアで実装されています。
Type-Cステートマシンは、CCピンレベルだけでなく、ポートの役
割にも依存します。
• シンクモードでは、VBUSの存在検出に依存• ソースモードでは、VCONNの発生とVBUSの状態に依存します。ON、OFF、電圧レベル、放電に依存します。
UCPDモジュールはCC回線のみを制御します。
VBUSおよびVCONN電源装置の制御には、他のモジュールが含まれています。
ソースモードでは、電力の供給を動的に制御するためには、
GPIOが必要です。
シンクモードでは、A/Dコンバータチャネルを使用してVBUSおよびVCONN電源を監視します。

19

低電力動作20• インタフェースは、MCUがこの低消費電力モードにあるときに、USBパワーデリバリ
受信メッセージとFRS信号を検出する能力を維持し、STOPモードと互換性のある低消費電力動作を提供• MCUを起動するようにUCPDを設定可能

PDイベント検出

UCPD

UCPDウェイクアップ

EXTI

sys_ウェイクアップ

PWR

BMCレシーバでのイベント
ウェイクアップ
イベント

BMCレシーバでのイベント
FRS検出器でのイベント
Type-C™検出器のイベント

UCPDは、STOP0モードとSTOP1モードでアクティブな状態を維持するようにプログラムできます。
MCUがSTOPモードにある間にPDイベントが検出されると、EXTI
ユニットに信号が送られ、その後PWRユニットに信号が送られてウェイクアップ状態になります。
ウェイクアップ要求を発生させるために、次のイベントを構成できます。
• BMC受信側のイベント（メッセージ受信など）• 高速ロールスワップ要求• Type-C™検出器のイベント（アタッチメント/デタッチなど）。

20低電力モード
モード

21

説明

RUN

UCPDは有効SLEEP

UCPDは有効

STOP0/1

イベントの検出（Type-C™、BMC Rx、FRS検出）は動作したままで、MCUをウェイクアップすることが可能

STANDBYUCPDが動作しておらず、MCUを起こすことができない• 設定されている場合、プルダウンはアクティブなまま

パワー供給なし

デッド･バッテリのプルダウンはアクティブなまま

UCPDは、以下にリストアップされている関連イベントの1つを認識したときにMCUを停止モードからウェイクアップすることができます（UCPD_CFG2レジス
タのWUPENビットを設定することで有効になっている場合）。
• CCピンのいずれかで見られる電圧範囲の変化に関連したType-Cイベ
ントで、TYPEC_VSTATE_CCxに表示される。
• RXORDSETを読むことでわかるように、RXORDSETEN[8:0]に従ってフィルタリングされたものと一致する順序付きセットを持つ電力供給受信
メッセージ。
UCPDレベルでは、カーネルクロックアクティビティを必要とする3種類のイベントがSTOPモードの間に発生する可能性があります:TYPE-C™、BMC Rx、およびFRSを検出します。
RCCで正しく機能するために、次のイベントが検出されるとクロック要求信号
がアクティブ化されます（WUPENに条件を設定します）。
• アナログPHY電圧しきい値検出器の動作が、Type-C仕様で定義された
電圧範囲間の安定した変化であることが確認された• Rxメッセージイベント（RXORDSET）の後に生成される可能性がある、（選択されたCCピンからの）電力供給BMCレシーバーの動作• 後にFRSシグナリング検出イベント（FRSSEVT）の後に生成される可能性のある電力供給FRS検出器の動作• Type-C電圧スレッショルドの検出（どちらかのCC端子からの出力）• パワーデリバリ受信信号（選択されたCC端子からの信号）• FRS検出信号（選択されたCC端子からの信号）
21

割込み
割込みイベント

22

説明

高速ロール･スワップ検出イベント

ポートで新しいFRS（高速ロール･スワップ）受信イベントが発生した場合にセット

Type-C電圧レベル･イベント（CC2）TYPEC_VSTATE_CC2の値が変化するたびにセットされ、そのピン上の新しい安定した電圧を示す

Type-C電圧レベル･イベント（CC1）TYPEC_VSTATE_CC1の値が変化するたびにセットされ、そのピン上の新しい安定した電圧を示す

Rxメッセージ受信

新しいメッセージを受信した場合にセット

Rxデータ･オーバーフロー割込み

Rxバイトのバッファがオーバーランした場合にセット（入力バイトの空き領域に時間内に読み取りされない）

Rxハードリセット検出割込み

ハード･リセット･メッセージを受信するタイミングをセット

Rxオーダーセット（4Kコード）が割込みを検出

新しいオーダーセットを受信するタイミングをセット

受信データ･レジスタが空でない場合の割込み

UCPD_RXDRレジスタが空でない場合にセット

Txデータアンダーラン条件割込み

Txデータレジスタ（TXDR）がアンダーラン（送信メッセージで使用するためのデータの書き込みが間に合わない）しているエ
ラー状態の時にセット

HRST送信割込み

HRSTメッセージが経過した場合にセット

HRST破棄割込み

HRSTメッセージが破棄された場合にセット

送信メッセージアボート割込み

転送中に優先度を引き継いで、後続のHRST送信要求が原因でTxメッセージが中止された場合にセット

メッセージ送信割込み

パケット送信の完了時にセット

送信メッセージ破棄割込み

受信中（または回線上のノイズ）のためにメッセージの送信が不可能な場合にセット

送信割込みステータス

UCPD_TXDRレジスタが空で書き込む必要がある場合にセット

UCPDからの割り込みを受信すると、ソフトウェアはUCPD_SRレジ
スタを読み取って割り込みのソースを判別する必要があります。
どのビットが"1"に設定されているかに応じて、割り込みサービス
ルーチンはその条件を処理し、UCPD_ICRレジスタの適切なビットに書き込んでビットをクリアする必要があります。
このスライドでは、割り込み要求を引き起こす可能性のある
UCPDモジュールによって検出されたすべてのイベントを要約します。

22

関連ペリフェラル

23• この機能に関連した以下のトレーニング資料を参照してください。
• STM32G4 DMAコントローラ（DMA）• リセットおよびクロック制御（RCC）• 拡張割込みコントローラ（EXTI）• システム設定コントローラ（SYSCFG）• 電源コントローラ（PWR）

この機能に関連した以下のトレーニング資料を参照してください。
• STM32G4 DMAコントローラ（DMA）• リセットおよびクロック制御（RCC）• 拡張割込みコントローラ（EXTI）• システム設定コントローラ（SYSCFG）• 電源コントローラ（PWR）

23