STM32WB – USB デバイス
USB 2.0 フルスピードデバイスインタフェース
1.0 版

こんにちは。STM32WB のUSB 2.0 フルスピードインタフェースのプレゼンテーションへようこそ。 ここでは、PC とのインタフェー
スに広く使用されている、USB インタフェースの機能について説明します。

1

概要

2

• USB 2.0 フルスピードインタフェースを提供
バスパワーペリフェラル• 合計 16 のエンドポイント（8 つの双方向エンドポイントを提供可能）

VBUS から電力を受け取る
電圧レギュレータ• バッテリチャージャ検出 v1.2 のサポート

STM32WB

FS_DP
FS_DM

EMC
保護DP
DM

USB Micro-B
レセプタクル

VBUS

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

水晶発振子レス操作

•

低電力実装

•

バッテリチャージャ検出ハードウェアは、チャージャを認識するため、より効率的な充電が可能

この図は、STM32WB マイクロコントローラと USB コネクタの接続を示しています。
STM32WB は USB 2.0 フルスピード通信インタフェースを備え、マイクロコントローラと PC の通信が可能です。最も単純な実装
は、USB ペリフェラルデバイスです。
16 エンドポイントの能力を備え、たとえば、8 つの双方向エンドポイントとして設定できます。
また、バッテリ充電検出仕様 v1.2 をサポートします。
アプリケーション側の利点としては、水晶発振子レス操作、低電力実装、チャージャ検出機能による高速充電などがあります。

2

主な機能

3

• USB 2.0 フルスピード（12Mbit/s）• USB フルスピードデバイスを実装• クロックリカバリシステムにより、水晶発振子レス操作をサポート• 最大 16 のエンドポイント（8 つの双方向など）をサポート• アイソクロナスエンドポイントをサポート• ダブルバッファモードを使用したバルクエンドポイントパフォーマンスの最適化• リンク電源管理（LPM）をサポート• バッテリチャージャ検出ハードウェアを含む• 最新仕様 のBC1.2 をサポート（実装にはソフトウェアが必要）• この仕様をハードウェアの支援によって使用することにより、BC1.2 互換のチャージャから、より多くの電流（最大 1.5A）を安全に流すことができるため、バッテリ充電時間が短縮

この USB フルスピードインタフェースの主な機能のいくつかを見てみましょう。これは USB 2.0 互換のインタフェースであり、毎秒12Mbit のビットレートで動作します。
USB FS デバイスを実装できます。
水晶発振子レス操作がサポートされます。
合計 16 のエンドポイント（8 の双方向）をサポートできます。
アイソクロナスエンドポイントをサポートできます。
バルクエンドポイントでダブルバッファモードを使用して、より高いパフォーマンスを実現できます。
内蔵のリンク電源管理のサポートにより、USB 2.0 仕様に、強化された電源モードが追加されます。
バッテリチャージャ検出により、BC1.2 互換のチャージャから、より多くの電流を流すことができ、最大 1.5アンペアの充電が可能です。

3

DP

ブロック図（USB）

DM

4

アナログ
トランシーバ

USB

サスペンド
タイマ

RX-TX

クロック
リカバリ

コント
ロール

エンドポイント
選択

割込み
レジスタとロジック

エンドポイン
トレジスタ
エンドポイン
トレジスタ
エンドポイン
トレジスタ

パケットバッファ
インタフェース

アービタ

コントロール
レジスタとロジック

パケットバッファ
メモリ

レジスタ
マッパー

エンドポイン
トレジスタ
エンドポイン
トレジスタエンドポイン
トレジスタ

割込み
マッパー

APB ラッパー

PCLK

APB バス

IRQからNVIC へ

USB フルスピードデバイスコントローラのブロック図には、内部のさまざまな構成要素とともに、上部のアナログトランシーバが物理層を管理します。
物理層（PHY）は、特定のレベル検出を含むアナログ信号レベルやバッテリチャージャ検出機能を処理します。
USB 割込みは Cortex® プロセッサに送られて、さまざまな USBイベントを通知します。
AHB ペリフェラルバス（APB）は、コントローラの読出し／書込みアクセスを可能にします。
その他の主な要素は、低電力動作を可能にするパケットバッファメモリとサスペンドタイマです。

4

関連ペリフェラル

5• CRS（クロックリカバリシステム）• リモートホストのフレーム開始（SOF）タイミングがデバイスコントローラから抽出され、CRS はそれを使用して内部クロックジェネレータ（HSI RC 48MHz）を駆動するため、外部水晶発振子を必要とせずに USB タイミング要件を満たすことができます。

• NVIC（割込み）• 単一の割込みラインが NVIC に接続されて、イベントを生成• EXTI（イベント）• 単一のイベントラインが EXTI に接続され、USB アクティビティが再開されたとき（サスペンドモードを終了したとき）、システムを STOP モードから復帰可能

いくつかの関連ペリフェラルが USB デバイスコントローラと連携して、USB アクティビティをシステムの電源モードとソフトウェアの要件にリンクします。
クロックリカバリシステムにより、外部水晶発振子がなくても、内蔵の HSI オシレータをメインクロックソースとして使用して動作可能です。
割込みイベントは単一のラインを介してネスト化されたベクタ割込みコントローラに送信されます。
USB サスペンドモードから再開したときなど、システムイベントによってシステムは STOP モードから復帰できます。

5

割込み
割込みイベント

説明

パケットメモリ領域のオーバー／アンダーラン

マイクロコントローラが USB メモリリクエストに時間内に応答できなかったことを通知します。

エラー

ソフトウェア開発に役立つ汎用エラー信号。通知されたエラー（いくつかのタイプ）は一般に再送信によってプロトコルで処理されます。この割込みは、これらの条件が実際に発生していることを示します。

ウェイクアップ

サスペンドモードで、マイクロコントローラの復帰を有効にするために使用されます。

サスペンドモードリクエスト

ホストトラフィックが 3ms 間、ないことを検出します。これは、USB プロトコルがデバイスに「サスペンド」動作を取るように要求する条件です。

USB リセットリクエスト

ホストから通知された USB リセットを検出します。

フレーム開始ホストからの新しいフレームをシステムに通知します。

予期されたフレーム開始

新しいフレームが予期されたが受信されないときに、システムに通知します。

LPM L1 状態リクエスト

LPM L1 状態の受信と確認応答を通知します。

USB デバイスコントローラは、さまざまな状況で一般にソフトウェアによる処理を必要とする割込みを生成します。
最初の 2 つの割込みは、さまざまなエラーおよび警告条件をカバーします。
残りの割込みは、通常の USB プロトコルイベントに対応します。

6

低電力モード
MCU モード

説明

USB の可用性

RUN

MCU フルアクティブ。

USB がサスペンドモードに入るまで必要。

SLEEP

ペリフェラル割込みによって、デバイスはSLEEP モードを終了します。ペリフェラルレジス
タの内容は保たれます。

USB がサスペンドモードのときに使用可能です。

STOP 0,1

ペリフェラル割込みによって、デバイスは STOPモードを終了します。ペリフェラルレジスタの内容は保たれます。

USB がサスペンドモードのときに使用可能であり、最適な電力削減を提供します。

STOP 2

ペリフェラル割込みによって、デバイスは STOPモードを終了します。ペリフェラルレジスタの内容は保たれます。

USB は動作しません。

STANDBY

パワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

USB は動作しません。

USB ペリフェラルは、RUN モードで完全にアクティブです。サスペンドイベント後、SLEEP モードと STOP 0 および 1 モードが使用可能です。STOP 2 および STANDBY モードは使用できません。

7

デバッグ情報8• ステータスおよびフレーム番号レジスタ内の専用ビットがデバッグに役立ちます。

デバッグビット

説明

エラー（ERR）

エラービット（ERR）は、割込みのスライドにも記載されていますが、（プロトコルエラーではない）イベント数の可視化を可能にします。
• 無応答• ビットスタッフィングエラー• CRC エラー
• フレーミングフォーマット違反

RXDP；RXDM

D+ および D- ピンの受信ライン状態割込みイベントに対応する単一のステータスビットを使用して、いくつかのデバッグヘルプを使用できます。
USB デバイスコントローラ内の専用 ERR ステータスビットは、
USB アプリケーションにおいて、さまざまなイベントに関するデバッグ機能を提供します。このデバッグビットをトリガできるイベン
トが、この表に記載されています。
D+ および D- ラインの状態を直接読み取る手段もあります。

8

アプリケーション：低電力デバイス• この図は、ペリフェラルデバイスアプリ
ケーションの低電力設計例を示しています。

バスパワーペリフェラル
VBUS から電力を受け取る
電圧
レギュレータSTM32WB

FS_DM

EMC
保護DPDM

USB Micro-Bレ
セプタクル

VBUS

FS_DP

9

• この例では、デバイスはバスから電力を供給され、USB VBUS ピンからのみ電力を引き出します。
• 水晶発振子は不要です。タイミングは、リモートホストのフレームから CRS ブ
ロックを使用して求められます。

これは、低電力ペリフェラルデバイスのアプリケーション例です。
電力は USB VBUS 信号から直接引き出されます。
水晶発振子は不要です。

9参照

10

• 詳細については、以下のページを参照してください。
• www.usb.org: usb20_docs （以下を含むZIP ファイルがあります）：• USB 2.0 specification• USB2.0 ECN：Link Power Management Addendum• www.usb.org: devclass_docs• Battery charger v1.2 specification• 以下のアプリケーションノートに追加情報があります。
• アプリケーションノート AN4879: USB hardware and PCB guidelines using STM32 MCUs
• アプリケーションノート AN4775: Basics and low-cost solution proposals to move from alegacy USB 2.0 connector to USB Type-C™ connector with STM32 devices

USB 仕様の詳細な関連資料については、USB.org を参照してください。
USB 2.0 関連資料ホームページには、USB 2.0 および OTG
2.0 仕様とリンク電源管理（LPM）の設計変更通知（ECN）を含むZIPファイルが用意されています。
USB デバイスクラスの関連資料のページには、バッテリチャージャ仕様があります。
これらのアプリケーションノートに追加情報があります。

10