USB 架構
Universal Serial Bus (USB) 是一個廣泛使用的高速 Serial 通訊介面,原因是它簡單、方便與彈性。
▲ USB Topology example,圖片來源: Microsoft Technet
USB Bus 是 tiered star 拓撲架構,在一個 USB Bus 上,可以容納一個 host 以及最多 127 個 devices (這是因為封包中的 address field 長度是 7 bits,而 address 0 不使用,因為它有特殊的用途)。Device 可以插到 hub 上,而 hub 也可以插到另一個 hub 上,諸如此類,不過最多只允許串接到 6 層。
資料傳輸速度 (Data Speeds)
USB 規格規範了三種資料傳輸速度:
- Low Speed: 1.5 Mb/s
- Full Speed: 12 Mb/s
- High Speed (USB 2.0): 480 Mb/s
USB 2.0 向後相容,因此涵蓋早期版本的資料傳輸速度。
以 host 為中心的通訊系統
USB 是以 host 為中心的通訊系統 (host-centric connectivity system), bus 上的所有通訊都是由 host 發起,device 不能自行發起,必須等待 host 的命令。USB bus 上的每個 device 都會被分配一個 address,當一個新的 USB device 插到 bus 上時,host 會先用 address 0 向 device 詢問如 manufacturer, device capabilities, product ID, vendor ID 等基本資訊,做完身家調查之後,才會分配一個唯一的 USB address 給 device,之後 device 便可以開始跟 host 進行通訊。
USB On-The-Go
USB OTG 是 USB 規格的一個延伸,OTG 允許 device 具備雙重身份,既可以當 device 又可以當 host,這讓兩個 devices 得以不用透過 host computer 而相互連結。
Cables and Connectors
USB 使用 4 線 shielded cable。Type A 和 Type B 是比較常見的連接器 (Connectors),如下圖:
USB Connectors 的 pin-out 如下:
▲ Standard, Mini 和 Micro USB Connectors
下表說明 USB Connector 的 pin assignments:
▲ 表格來源:Wikipedia: USB
速度辨識 (Speed Identification)
在一條 USB Bus 上,device 端會在 D+ 或 D- 訊號線上接一顆 1.5K 的提升電阻 (pull up resistor) 到 3.3V。
Full Speed 接在 D+:
▲ Full Speed Device with pull up resistor connected to D+
而 Low Speed 則接在 D-:
▲ Low Speed Device with pull up resistor connected to D-
當 device 接到 USB bus 上時,藉著觀察哪一條訊號線被 pulled high,host 便可以知道 device 的速度為何。
0 意見:
張貼留言