USB 設(shè)備狀態(tài)切換
前面介紹了USB 設(shè)備的狀態(tài)如下:
Attached
Powered
Default
Address
Configured
Suspended
設(shè)備插入后,先進(jìn)入【attached】 狀態(tài),然后hub 端口配置進(jìn)入【powered】 狀態(tài);主機(jī)發(fā)起復(fù)位信號,設(shè)備進(jìn)入【Default】狀態(tài),然后分配設(shè)置地址,設(shè)備配置。
USB 設(shè)備識別
USB 內(nèi)部連接
1):高速數(shù)據(jù)傳輸。產(chǎn)生高速K/J 信號。D+/D- 上電流為17.78ma。
(2):用于低速獲取全速傳輸。產(chǎn)生SE0
(3):差分?jǐn)?shù)據(jù)接收。用于接收高速數(shù)據(jù)。
(4):傳輸數(shù)據(jù)包檢測。當(dāng)接受差分信號低于數(shù)據(jù)閾值VHSSQ,數(shù)據(jù)無效
(5):低速差分?jǐn)?shù)據(jù)接收。用于接收低速數(shù)據(jù)
(6):高速端口檢測。當(dāng)連接器電壓大于625mv 必須指示設(shè)備斷開。當(dāng)電壓小于525mv 設(shè)備連接
(7):單端接收。用于LS/FS
(8):下拉電阻(15k)。上游端口使用。一般 Host端
(9):上拉電阻(1.5k)。下游端口使用。Device
USB 硬件連接
低速設(shè)備
全速/高速設(shè)備
整個usb 系統(tǒng)對于上游端口(一般是hub 或者h(yuǎn)ost),D+ D- 連接著RPD(15k)
對于下游端口,一般是usb device。根據(jù)速度模式不同匹配不同的終端電阻。LS 設(shè)備 D- 連接著RPU(1.5k)。FS/HS D+ 連接著RPU(1.5k)
可以看到LS 與 FS 信號電平完全相反。
從硬件分布可以看到。一個usb設(shè)備 可以同時支持LS/FS,HS/FS,但是不能同時支持LS 和 HS
對于HS 與 FS 的區(qū)分,依賴于高速握手信號(handshake)和 終端電阻RS(45)的掛載及切換。
設(shè)備斷開與連接
設(shè)備斷開:
設(shè)備連接:
對于高速設(shè)備,它先作為全速設(shè)備被識別出來,然后再被識別為高速設(shè)備。工作于高速模式時,D+的上拉電阻是斷開的,所以對于工作于高速模式的USB設(shè)備,無法通過D+的引腳電平變化監(jiān)測到它已經(jīng)斷開。
工作于高速模式的設(shè)備,D+、D-兩邊有RS 45歐姆的下拉電阻,用來消除反射信號:
當(dāng)斷開高速設(shè)備后,Hub發(fā)出信號,得到的反射信號無法衰減,Hub監(jiān)測到這些信號后就知道高速設(shè)備已經(jīng)斷開。
速度枚舉
設(shè)備插入,進(jìn)入powered 狀態(tài)
首先進(jìn)入FS 檢測。USB device 進(jìn)入IDLE 狀態(tài)
主機(jī)驅(qū)動產(chǎn)生SE0
Device responds Chirp K 信號。
Host 回應(yīng)Chirp K 和 Chirp J 對至少保持3對
移除D+ 上RPU 并掛載高速設(shè)備終端電阻RS (45Ω),產(chǎn)生高速 J/K 信號
進(jìn)入HS IDLE 狀態(tài)。
SOF
整個過程D+ D- 上電平變化。
全速 IDLE:D+ 為高電平,D- 低電平
全速ChirpJ:17.78ma * (15k || 45Ω) ≈ 800mv
高速J:17.78ma * (45Ω || 45 Ω) ≈ 400mv
高速 IDLE:D+, D- 接近低電平
高速握手信號Handshake
高速握手信號是用來進(jìn)行速度協(xié)商,區(qū)分FS/HS。當(dāng)檢測到以下行為時將進(jìn)入高速握手:
如果一個設(shè)備從suspend 狀態(tài)恢復(fù)時,則在設(shè)備檢測到SE0 支持不少于2.5us 立即進(jìn)入高速握手。---- 掛起
如果設(shè)備正在從全速設(shè)備進(jìn)行復(fù)位,則設(shè)備在檢測到SE0 不少于2.5us 不超過3ms 內(nèi),立即進(jìn)入高速握手 ---- 上電
如果設(shè)備從高速狀態(tài)進(jìn)行復(fù)位,那么設(shè)備在恢復(fù)到全速狀態(tài)之前等待不少于3ms。設(shè)備對總線狀態(tài)進(jìn)行采樣,并檢查se0,不少于100us,立即進(jìn)入高速握手。---- 復(fù)位
總結(jié)
整個USB 高速設(shè)備枚舉流程大致如下:
設(shè)備上電,Attached 檢測,在100ms 內(nèi)Vbus > 4.01 V
Hub poweron, 100ms 內(nèi)D+/D- 電平穩(wěn)定
主機(jī)發(fā)出復(fù)位信號SE0, 持續(xù)10ms(10ms 完成速度枚舉)
SE0 期間進(jìn)行高速握手信號
維持D+ 設(shè)備發(fā)出Chirp K
hub 回應(yīng)Chirp K 和 Chirpj 對
移除上拉電阻,并掛載高速45Ω等效對地電阻,產(chǎn)生高速J/K 信號
設(shè)備準(zhǔn)備接收Set_Address 請求
開始描述符獲?。ㄔO(shè)備描述符/配置描述符/...)
主機(jī)可訪問設(shè)備
審核編輯:劉清
-
上拉電阻
+關(guān)注
關(guān)注
5文章
360瀏覽量
30639 -
連接器
+關(guān)注
關(guān)注
98文章
14568瀏覽量
136756 -
USB設(shè)備
+關(guān)注
關(guān)注
0文章
57瀏覽量
16351 -
RPU
+關(guān)注
關(guān)注
0文章
7瀏覽量
6825
原文標(biāo)題:USB 設(shè)備枚舉過程
文章出處:【微信號:漫談嵌入式,微信公眾號:漫談嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論