stm32f4 USB詳細なプロジェクト開発

、USBはじめに

1.1、通信処理のUSB概要

ステップのUSB通信概要:

  1. ホストへのデバイス
  2. ホストは、デバイスタイプ(高速/フルスピード/ロー)を検出始まります
  3. デバイスをリセット
  4. ホストは、デバイスの列挙から始まる(情報に基づいて、各種情報を適切なドライバをロードするために応じて得られた列挙を、マウス装置が知られているように、その後、マウスドライバは、次のプロセスデータのためにロードされます)
  5. データデバイスが自然にホストに戻されます際に列挙ホストが完了した後、有効なエンドポイントデータがあるかどうかを照会します

全体的に列挙プロセスの概要

  1. ホストデバイス記述子(セクション)を取得します
  2. スレーブのデバイスアドレスを設定するには、ホスト(等価である私たちの学校のID番号ゼロ、)
  3. ホストが再びスレーブデバイスディスクリプタを取得する(すべて)
  4. ホストがコンフィギュレーションディスクリプタを取得します(スレーブ構成を学び、インターフェース、エンドポイント)の場合
  5. 文字列記述子の文字列の記述がある場合には取得
  6. 構成要求を設定し、この設定に対応するステップがない場合、設定を有効にするのは、使用できません。
  7. 異なるクラスのために、独自のクラス記述子を取得する(例えばHIDレポート記述子など)

注意:

上記列挙1-4、6つのステップが必要です

 

フルスピード法を区別する1.2、低速デバイス

 

D +上記抵抗:低速デバイス:フル/高速デバイスD-に接続された抵抗

 

 

1.3、USBデバイス挿入検知機構

1.3.1は、デバイスは、ケースのUSBホストに接続されていません

Dの+ およびD- データラインに作用するプルダウン抵抗ように共にローレベルである ;ホスト意見がSE0の状態、同様に、データ線SE0の時間の期間のための状態の間でそれらは宿主た場合オフ状態であると考えられて 

 

 

1.3.2、ときにプラグUSBデバイス

 

ホストが検出された場合の1 データラインデアサートといくつかの時間のために開催されたが、そこには考慮され、デバイスがさらに出てきます

主机必需在驱动SE0状态以复位设备之前, 立刻采样总线状态来判断设备的速度 

 

 

 二、 USB端点   的四种传输类型

usb 四种传输类型是针对端点而言的,并不是usb整个传输过程为一种传输类型

 

1、控制传输(Control Transfers):    

  (一般用于枚举过程端点0,主机给从机发命令或回应状态时,这个过程是随机突发的的,也就是主机随时发命令,从机只能是待命)

 

2、大容量数据传输(Bulk Transfers):       

        大容量传输一般用于非零端点,并且针对大数据传输(如U盘),数据可以占用任意带宽,并容忍延迟 ,并且这个过程也是随机突发的,因为控制权在主机,用户随时要读取设备(u盘)数据,所以这个过程是非周期的

 

3、同步传输(Isochronous Transfers):              

        周期性的,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息 比如(摄像头图像传

 

4、中断传输(Interrupt Transfers):

  周期性,低频率,比如hid鼠标键盘主机是周期性查询端点有没有数据的,只要鼠标有动作,就可以往端点缓存送数据,等到主机查询的时候,数据就会被主机读走)所以在设备初始化的时候要初始化主机查询时间间隔

 三、USB枚举过程

 

おすすめ

転載: www.cnblogs.com/shenLong1356/p/11287833.html