AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
USBH Core

USB Host COREドライバ

本モジュールは、以下の機能を提供します。

  1. アプリケーションに対して、初期化/終了処理、各種CALLBACKの通知。
  2. USBクラスドライバに対して、登録/解除、転送要求のハンドリング。

本モジュールは以下をサポートしません。

  • RemoteWakeup
  • SUSPEND/RESUME処理中のデバイスの挿抜
  • マルチCONFIG
  • Compositeデバイス
  • アイソクロナス転送
  • Frame Span Traversal Nodes (FSTN)

 

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ドライバスタック初期化 
名前 
説明 
 
 
 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.