USBを勉強する(1.1~1.2)
いろいろあってUSBを学びたいと思います. とりあえず,下の本を参考に.
USB 3.0設計のすべて: 規格書解説から物理層のしくみ,基板・FPGA・ソフトウェア設計,コンプライアンス・テストまで (インターフェース・デザイン・シリーズ)
- 作者: 野崎原生,畑山仁,永尾裕樹
- 出版社/メーカー: CQ出版
- 発売日: 2011/10/11
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (1件) を見る
忘れっぽいので,少しずつまとめていこうと思います.
USB規格の特徴
- 汎用的
- 簡単
- 低コスト
- 接続後にすぐ実行(プラグ・アンド・プレイ機能:PnP)
- 電源を入れたまま接続可能(ホット・プラグ機能)
- デバイスに電源を共有できる
USB1.0
- 1.5MbpsのLow Speed(LS)モードと12MbpsのFull Speed(FS)モードをサポート
USB2.0
- 480MbpsのHigh Speed(HS)モードをサポート
USB3.0
USB3.0の策定にはデータサイズや補助記憶装置の容量が大きくなったのが主な理由のようだ.
USB2.0の仕様書はUniversal Serial Bus Specification, Revision 2.0だが, USB3.0の仕様書はUniversal Serial Bus 3.0 Specification, Revision 1.0 とのこと.
結局完全上位互換ならRevision3.0でも良かったのでは?
USB2.0と3.0で共通のアーキテクチャ
USB通信モデル
基本単位としてエンドポイント,パイプ,トランスファで成り立つ.
エンドポイント
エンドポイント番号,転送方向,転送タイプからなる
- エンドポイント番号: 開発者によって1~15の値が割り振られる
- エンドポイント番号0はデフォルトエンドポイント(後述)で予約済み
- 転送方向
- INエンドポイント: エンドポイントからファンクション・ドライバへの読み込み
- OUTエンドポイント: ファンクションドライバ・からエンドポイントへデータを書き込み
- 双方向エンドポイント: どちらも可能.通常はデフォルト・エンドポイントのみ
- 転送タイプ
- コントロール・エンドポイント: (基本的に)デフォルト・エンドポイント専用
- バルク・エンドポイント: 大量のデータをエラーなく伝送する
- インタラプト・エンドポイント: 一定時間内に少量の転送をエラーなく行う
- アイソクロナス・エンドポイント: 一定時間内に必ずアクセスされ大量のデータ転送が可能だが,エラーの可能性がある.リアルタイム伝送などを想定
基本的なUSBメモリはコントロール・エンドポイントとバルク・エンドポイントなのかな? いろんな機能を入れようとするとそれ単体ではなさそう.
インタラプトはキーボードとかで使いそう.
とりあえずここまで.