USB Host COREドライバ
本モジュールは、以下の機能を提供します。
本モジュールは以下をサポートしません。
SUSPEND前にHUBを除く全てのクラスデバイスの通信が停止している必要があります。
RESUME後に、HUBを除く全てのクラスデバイスの通信を再開する必要があります。
クラスドライバには、SUSPEND/RESUME中であることは通知されません。
StartSplit,CompleteSplitの送出uフレーム位置は固定です。
インタラプト通信の最大周期は32msです。
インタラプト通信でFullSpeed/LowSpeedの場合は周期を8の倍数に丸めます。
OS必須です。本モジュールはuC3向けに作成してあります。
USBホストコアドライバは、ドライバ内部においてタスクのプライオリティ(優先順位)を、ドライバ駆動を行う最適な値に設定しています。
USBホストコアドライバ内では、ベース優先度(ユーザ設定)に対して、その他タスクのプライオリティを+αで設定しています。この+αの優先度を変更すると正常に動作しなくなる可能性があるので変更は禁止です。但し、ベース優先度はユーザ側で設定可能です。
USBHost HUBクラスドライバ (USBHHub)
USBHost MSCクラスドライバ (USBHMsc)
USBHost HIDクラスドライバ (USBHHid)
USBHost CDCクラスドライバ (USBHCdc)
初期化シーケンス(画像をクリックして拡大)
停止シーケンス(画像をクリックして拡大)
デバイス・アタッチ検出シーケンス(画像をクリックして拡大)
デバイス・デタッチ検出シーケンス(画像をクリックして拡大)
転送前処理シーケンス(画像をクリックして拡大)
転送後処理シーケンス(画像をクリックして拡大)
標準リクエストシーケンス(画像をクリックして拡大)
コントロール通信(非同期)シーケンス(画像をクリックして拡大)
コントロール通信(同期)シーケンス(画像をクリックして拡大)
バルク通信(非同期)シーケンス(画像をクリックして拡大)
バルク通信(同期)シーケンス(画像をクリックして拡大)
インタラプト通信(非同期)シーケンス(画像をクリックして拡大)
デバイス情報取得シーケンス(画像をクリックして拡大)
ルートHUBパワー制御シーケンス(画像をクリックして拡大)
HUB制御RESET TTシーケンス(画像をクリックして拡大)
HUB制御CLR TT Bufferシーケンス(画像をクリックして拡大)
SUSPEND処理シーケンス(画像をクリックして拡大)
RESUME処理シーケンス(画像をクリックして拡大)
アタッチ/デタッチ許可(SUSPEND/RESUME要求を行わないケース)シーケンス(画像をクリックして拡大)
|
名前 |
説明 |
![]() |
USB Control Block の確保 | |
![]() |
バルク転送発行要求API | |
![]() |
USB HOSTスタックに対してアタッチ/デタッチ処理禁止のキャンセルを要求する。 | |
![]() |
指定されたパイプにつながれた全ての転送を中断 | |
![]() |
CLEAR_FEATUREを発行 | |
![]() |
HUBにCLR_TT_BUFFERを発行する。 | |
![]() |
通信用のパイプをクローズ | |
![]() |
コントロール転送を実行 | |
![]() |
クラスドライバ登録API | |
![]() |
クラスドライバ登録解除 | |
![]() |
ハブデバイスに接続されたデバイス情報を取得する | |
![]() |
ルートハブデバイスを取得する。 | |
![]() |
Pipe情報の初期化 | |
![]() |
USBコントロールブロック情報格納 | |
![]() |
USB Control Block の開放 | |
![]() |
GET_CONFIGURATION を発行 | |
![]() |
GET_DESCRIPTORを発行 | |
![]() |
デバイスの種別を取得する。 | |
![]() |
GET_INTERFACE を発行 | |
![]() |
Pipe 情報からデバイスアドレスを取得 | |
![]() |
Pipe 情報からPipeのデータ転送方向がINか確認 | |
![]() |
Pipe 情報からエンドポイント番号を取得 | |
![]() |
Pipe 情報からエンドポイントのタイプを取得 | |
![]() |
Pipe 情報からマックスパケットサイズを取得 | |
![]() |
Pipe 情報からPIDを取得 | |
![]() |
ルートハブの指定ポートへの電源供給状態(ON/OFF)を取得 | |
![]() |
デバイスのシリアル番号をもったストリングディスクリプタを取得する。 | |
![]() |
GET_STATUSを発行 | |
![]() |
ファームウェアバージョン情報を取得をする。 | |
![]() |
指定したデバイスのVIDとPIDを取得する。 | |
![]() |
インタラプト転送発行要求API | |
![]() |
通信用のパイプをオープン | |
![]() |
Pipeのオープン状態の確認 | |
![]() |
アプリケーションのコールバック関数を登録 | |
![]() |
USB HOSTスタックに対してアタッチ/デタッチ処理禁止を要求する。 | |
![]() |
USB HOSTスタックに対してRESUMEを要求する。 | |
![]() |
USB HOSTスタックに対してSUSPENDを要求する。 | |
![]() |
HUBにRESET_TTを発行する。 | |
![]() |
SET_ADDRESS を発行 | |
![]() |
SET_CONFIGURATION を発行 | |
![]() |
SET_DESCRIPTOR を発行 | |
![]() |
SET_FEATUREを発行 | |
![]() |
SET_INTERFACE を発行 | |
![]() |
ルートハブの指定ポートへの電源供給(VBUS)を ON/OFF する | |
![]() |
バルク転送を発行する | |
![]() |
コントロール転送を同期実行 | |
![]() |
USBドライバスタック終了処理 | |
![]() |
USBドライバスタック初期化 |