Document Reference No.: FT_000180
Simplified Description of USB Device Enumeration Technical Note TN_113
Version 1.0
Clearance No.: FTDI #118
介紹
USB枚舉過程包含如下動作:
- 檢測USB設備
- 識別USB設備
- 加載USB設備驅動
USB枚舉通過硬件技術檢測設備是否存在,然後通過軟件識別連接的設備是什麼。
檢測設備是否已經接入
USB接口由四根電纜組成:
- 電源
- 地
- 數據正(USBDP)
- 數據負(USBDM)
USB Host端在自己的USBDP和USBDM信號線上分別接15Kohm電阻下拉到GND。當USB設備(從設備)插入到USB主機端口,那麼在USBDP和USBDM信號線上有電平變化。USB主機可以根據這個變化檢測是否有從機接入。同時,根據電平變化也可以檢測測機的通訊速率。
確定設備速率
低速USB設備(1.5Mbps)在USBDM信號線上接1.5K電阻上拉到VCC,如果該設備接入到主機端口,那麼主機端口的USBDM的信號線電平從0上升到91% VCC
。
全速USB設備(12Mbps)在USBDP信號線上接1.5K電阻上拉到VCC,如果該設備接入到主機端口,那麼主機端口的USBDP的信號線電平從0上升到91% VCC
。
對於主機而言,高速USB設備(480Mbps)在初始時表現未全速設備。USB主機首先需要做的就是以高速方式與從機進行收發包通信。如果通信應答正常,那麼就假定USB設備是一個高速設備。如果通信應答失敗了,那麼USB主機假定USB從機是一個全速設備。
注: This means a high speed device has a 1k5 pull up resistor on USB DP that can be switched in / out of
circuit.
A J state is defined as a differential signal on USBDP and USB DM >= +300mV.
A K state is defined as a differential signal on USBDP and USB DM >= -300mV.