|
|
TopPage > USBの基礎知識 |
Contents |
種類
|
Max Speed
|
Version
|
Application
|
Low-Speed
|
1.5Mbps
|
USB1.0,USB1.1,USB2.0
|
キーボード、マウス
|
Full-Speed
|
12Mbps
|
USB1.0,USB1.1,USB2.0
|
Audio、マイク
|
high-Speed
|
480Mbps
|
USB2.0
|
Video、ストレージ
|
abbreviation | description |
Bluk Trasfer | 4つのUSB通信の中の1つ.非周期的は通信.大きなバースト通信が可能 |
Bus Enumeration | USBデバイスの検出と確認 |
Capabilites | HOSTが管理するUSBデバイスの属性 |
Control Endpoint |
control pipeで使用する同じendpoint numberのdevice endpointのペア. 双方向通信で各々のendpointは、2つのendpoint addressを使う |
Control pype | Message Pipeと同じ |
Device Endpoint |
HOSTとDevice間で行うコミュニケーションでの情報の入力/出力を示す USB deviceのユニークなアドレッシング可能な部分 |
Downstream |
HOSTまたはHOSTから離れたところからのデータの流れの方向 Downstream portは、ハブ送るDownstream Dataを 生成するHOSTから電気的に最も離れたハブのport |
DWORD | Double word |
Endpoint | Device Endpointを参照のこと |
Endpoint Address | USB deviceのendpoint numberとendpoint directionの組み合わせ |
Endpoint Direction |
USB上でデータを送る方向.INかOUTかのどちらか IN:HOSTへ送る OUT:HOSTから送られる |
Endpoint Number | 0HからFHまでの4bitの値.USB deviceのEndpointに関連付ける |
Endpoint detector |
USBデータラインをモニタしsignal characteristicに 関連した電圧を検出するUSB device内部の回路 |
EOF | End of (micro)Frame |
EOP | End of Packet |
Handshake Packet | ACK/NAK等、acknowledgeやrejectのパケット |
HCD | Host Controller Driver |
Host Controller |
そのHOSTのUSBインタフェイス制御を司る。 実現方法は、ハードウェア、ファームウェア、ソフトウェア等そのsystemによる |
Interrupt Request(IRQ) | HOSTからDeviceへの割り込み要求のHardware signal |
I/O Request Packet(IRP) |
software clientによるHOSTとDeviceのendpoint間での 適切な方向におけるDataを移動する要求 |
Isochronous Sink Endpoint | HOSTが送信する同一時間のData streamを受けることが可能なendpoint |
Isochronous Source Endpoint | HOSTに送信する同一時間のData streamを作成することが可能なendpoint |
LOA | BusのLossが対応するEndpoint以外でSOPによって活発にcharacterizeすること |
Message Pipe | request/data/statusパラダイムを使用した通信データの双方向pipe |
Microframe | high-speed busを確立する 125 msの時間 |
NRZI | Non Return to Zero Invert |
OHCI | Open Host Controller Interface. by Compaq |
Packet Buffer | packetを送受信するUSB deviceのLogic Buffer |
Packet ID(PID) | packetのタイプを示すUSB packet内のフィールド |
Pipe | DeviceのendpointとHOSTのsoftware間でのassociationを意味する概念 |
Rate Adaptation(RA) | 入力されるData streamでのRateの最適化プロセス |
Start of Frame(SOF) | 各々の(micro)frameでの最初の処理. |
Sample Rate Conversion(SRC) | アナログデータストリームを試すためのRAプロセス専用の換算を実行 |
System Programming Interface(SPI) | system softwareで提供去れたサービスのInterface定義 |
Termination | 反射やエコーからの信号を予防するためのケーブルの終端に取付られた受動コンポーネント |
Token Packet | Bus上で機能する識別処理のpaketの一種 |
UHCI | Universal Host Controller Interface. by Intel |
USB | Universal Serial Bus |
USBD | USB Driver |
b/s | bits / 秒 |
B/s | bytes / 秒 |
|
|
|
OUT (downstream) |
|
||
|
IN (upstream) |
|
転送方法 | 内容 |
Control Transfers |
Control Dataは、Deviceが最初に接続されたときにUSB System Softwareにより実行される。 その他のDriver Softwareは、特定の方法でControl Transfersの使用を選択することができる。 |
Bluk Data Trasfers |
Bluk Dataは、一般にプリンタやスキャナのような大容量のシーケンシャルなデータ転送に使用する。 Dataの変換は、Hardware上でError検出をしリトライ上限内であれば保証する。 またBandwidthは、他の接続されたBusに左右される。 |
Interrupt Data Transfers |
Deviceへ、もしくはDeviceからの制限時間内のTransferは、Interrupt Transferを使用する。 Deviceから転送する場合や、Deviceの規格よりも早いrateでUSBを通して渡すようなときに使用する。 Interrupt通信は、一般にイベント発生の通知に使用する。例えば、ポインティングデバイスの座標位置の 変更など |
Isochronous Data Trasfers |
Isochronous Dataは、リアルタイムな配信などに使用する。タイミング関係の情報は、送受の安定したレート ととして含んだようになっている。Isochronous Dataは、受信したレート情報を渡さなければならない。 使用例としては、音声情報の転送に利用する。 |
>lv /proc/bus/usb/devices lvは、別にcatでもmoreでもlessでもかまわない |
....省略.... HUB付きのキーボードがつながっている T: Bus=05 Lev=02 Prnt=03 Port=01 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=xxxx ProdID=xxxx Rev= xxxx S: Product=Keyboard Hub C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 5 Ivl=10ms ここは、なにもつながってない状態 T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.x.xxxx ehci_hcd S: Product=UHCI Host Controller S: SerialNumber=0000:00:1d.3 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms ....省略.... マウスがつながっている T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=056e ProdID=0046 Rev= 1.10 S: Manufacturer=ELECOM S: Product=ELECOM PRUMIE series C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms |
start with
|
description
|
note
|
T
|
USBの形態,[Topology] |
Bus=ON状態であるBusの番号 Lev=deviceの接続の階層レベル(HOSTもしくはroot-habが00) Prnt=parent device,(HOSTもしくはroot-habが00) Port=そのParent deviceにつながっているPortに割り当てられた番号 開始番号は、00から。Prnt/PortはBusごとに割り当て Cnt=deviceのnumberの1つ.現在のlevelを示す.最初のdeviceは、01から始まる Dev=deviceのnumberの1つ.levelに関係なくbus一覧から見たnumber.各busごと Spd=USB busの通信速度(1.5,12,480) MxCh=接続できるdeviceの最大数 |
D
|
Device記述内容からの情報 |
Ver=USBのversion Cls=deviceのclass Sub=deviceのsub-class Prot=sub-classの中のプロトコル MxPS=Endpoint 0からの最大パケットサイズ #Cfgs=Configuration数 |
P
|
device descriptorのProduct情報 |
Vendor=Vendorを示すコード ProdID=製品コード Rev=Revision番号 |
S
|
deviceから返されるvendorや製品の 文字での情報(複数可) |
- |
C
|
configuration descriptorの情報 |
*=current configurationであることを示す #Ifs=deviceの持っているインタフェイス数 Cfg#=configurationが記されていることを示す Atr=16進で示される属性情報 0x80:bus-powered 0x40:self-powered 0x20:remote wake-up capable の加算した組み合わせ MxPwr=そのdeviceが引き出せるmax power |
I
|
interface descriptorの情報 |
If#=deviceの中におけるどのインタフェイスかを示す Alt=代替インタフェイスを示す #EPs=このendpointの代替設定の中にendpointがいくつあるかを示す Cls=16進と文字列のインタフェイスの設定が対応するClass Sub=インタフェイスの代替設定が属するSub Class Prot=インタフェイスの代替設定で対応する(classとsub class内の)プロトコル Driver=インタフェイスを要求したUSB Driver |
E
|
end point descriptorの情報 |
Ad=endpointのaddress.InもしくはOutであるかを示す Atr=転送タイプの属性 MxPS=このendpointの送信/受信の最大packetサイズ Ivl=bulkとcontrol transferの非対応.isochronous transferの場合は1 |
TopPage > USBの基礎知識 |