復(fù)位
從狀態(tài)切換圖上看,一個(gè) USB 設(shè)備連接后,它將會(huì)被供電,然后被復(fù)位。當(dāng)軟件出錯(cuò)時(shí),我們也可以發(fā)出復(fù)位信號(hào)重新驅(qū)動(dòng)設(shè)備。
那么,USB Hub 端口或 USB 控制器端口如何發(fā)出復(fù)位信號(hào)?發(fā)出 SE0 信號(hào),并維持至少 10ms。
USB 設(shè)備看到 Reset 信號(hào)后,需要準(zhǔn)備接收“SetAddress()”請求;如果它不能回應(yīng)這個(gè)請求,就是“不能識(shí)別的設(shè)備”。
設(shè)備速率識(shí)別
低速/全速
Hub 端口的 D+、D- 都有 15K 的下拉電阻,平時(shí)為低電平。全速設(shè)備內(nèi)部的D+ 有 1.5K 的上拉電阻,低速設(shè)備內(nèi)部的 D- 有 1.5K
的上拉電阻,連接到 Hub 后會(huì)導(dǎo)致 Hub 的 D+ 或 D- 電平變化,Hub 根據(jù)變化的引腳分辨接進(jìn)來的是全速設(shè)備還是低速設(shè)備。
高速
高速設(shè)備必定兼容全速模式,所以高速設(shè)備內(nèi)部 D+ 也有 1.5K 的上拉電阻,只不過這個(gè)電阻是可以斷開的:工作于高速模式時(shí)要斷開它。
高速設(shè)備首先作為全速設(shè)備被識(shí)別出來,然后 Hub 如何確定它是否支持高速模式?
Hub 端口如何監(jiān)測一個(gè)新插入的 USB 設(shè)備能否工作于高速模式?流程如下:
對于低速設(shè)備,Hub 端口不會(huì)監(jiān)測它能否工作于高速模式。低速設(shè)備不能兼容高速模式。
Hub 端口發(fā)出 SE0 信號(hào),這就是復(fù)位信號(hào)
USB 設(shè)備監(jiān)測到 SE0 信號(hào)后,會(huì)發(fā)出“a high-speed detection
handshake”信號(hào)表示自己能支持高速模式,這可以細(xì)分為一下 3 種情景
如果 USB 設(shè)備原來處于“suspend”狀態(tài),它檢測到 SE0 信號(hào)后,就發(fā)出“a high-speed detection
handshake”信號(hào)
如果 USB 設(shè)備原來處于“non-suspend”狀態(tài),并且處于全速模式,它檢測到 SE0 信號(hào)后,就發(fā)出“a high-speed
detection handshake”信號(hào)。這個(gè)情景,就是一個(gè)設(shè)備剛插到 Hub 端口時(shí)的情況,它一開始工作于全速模式。
如果 USB 設(shè)備原來處于“non-suspend”狀態(tài),并且處于高速模式,它會(huì)切換回到全速模式(重新連接D+的上拉電阻),然后發(fā)出“a
high-speed detection handshake”信號(hào)
“a high-speed detection handshake”信號(hào),就是“高速設(shè)備監(jiān)測握手信號(hào)”,既然是握手信號(hào),自然是有來有回:
USB 設(shè)備維持 D+ 的上拉電阻,發(fā)出“Chirp K ”信號(hào),表示自己能支持高速模式
如果 Hub 沒監(jiān)測到“Chirp K ”信號(hào),它就知道這個(gè)設(shè)備不支持高速模式
如果 Hub 監(jiān)測到“Chirp K ”信號(hào)后,如果 Hub 能支持高速模式,就發(fā)出一系列的“Chirp K”、“Chirp J”信號(hào),這是用來通知
USB 設(shè)備:Hub 也能支持高速模式。發(fā)出一系列的“Chirp K”、“Chirp J”信號(hào)后,Hub 繼續(xù)維持 SE0 信號(hào)直到 10ms。
USB 設(shè)備發(fā)出“Chirp K ”信號(hào)后,就等待 Hub 回應(yīng)一系列的“Chirp K”、“Chirp J”信號(hào)
收到一系列的“Chirp K”、“Chirp J”信號(hào):USB 設(shè)備端口 D+ 的上拉電阻,使能高速模式
沒有收到一系列的“Chirp K”、“Chirp J”信號(hào):USB 設(shè)備轉(zhuǎn)入全速模式
-
usb
+關(guān)注
關(guān)注
60文章
7990瀏覽量
266278 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2809瀏覽量
77162 -
hub
+關(guān)注
關(guān)注
1文章
117瀏覽量
41917
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
實(shí)現(xiàn)USB電氣隔離的技術(shù)難點(diǎn)
請問USB自動(dòng)識(shí)別芯片RH7901是怎樣自動(dòng)識(shí)別充電設(shè)備的?
全速USB和高速USB的識(shí)別過程分析
STM32F103無法識(shí)別的USB設(shè)備的原因是什么?
WCHISPTool工具USB下載程序時(shí)識(shí)別不到設(shè)備是為什么?
USB設(shè)備無法識(shí)別怎么辦
Xilinx復(fù)位信號(hào)設(shè)計(jì)原則
![Xilinx<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號(hào)</b>設(shè)計(jì)原則](https://file.elecfans.com/web1/M00/AB/2A/o4YBAF20_PaADjr-AABx1MVFuc0303.png)
通過命令行控制樹莓配4B的USB口電源以實(shí)現(xiàn)USB設(shè)備的復(fù)位操作
![通過命令行控制樹莓配4B的<b class='flag-5'>USB</b>口電源以實(shí)現(xiàn)<b class='flag-5'>USB</b><b class='flag-5'>設(shè)備</b>的<b class='flag-5'>復(fù)位</b>操作](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MPSoC設(shè)計(jì)中USB Phy的復(fù)位信號(hào)
![MPSoC設(shè)計(jì)中<b class='flag-5'>USB</b> Phy的<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號(hào)</b>](https://file.elecfans.com/web2/M00/1F/62/poYBAGGYHxGAWWZHAAID1i6OFRY298.png)
USB電氣信號(hào)介紹
![<b class='flag-5'>USB</b><b class='flag-5'>電氣</b><b class='flag-5'>信號(hào)</b>介紹](https://file1.elecfans.com/web2/M00/82/8A/wKgaomRYTUeAOvANAAA9ydrSqMw047.png)
USB3.0接口的傳輸速率是多少?
![<b class='flag-5'>USB</b>3.0接口的傳輸<b class='flag-5'>速率</b>是多少?](https://file.elecfans.com/web2/M00/1F/FF/poYBAGGcSFeARBaYAAFx1rIyxiA955.jpg)
STM32 USB復(fù)位機(jī)制、掛起機(jī)制及其喚醒機(jī)制詳解
![STM32 <b class='flag-5'>USB</b><b class='flag-5'>復(fù)位</b>機(jī)制、掛起機(jī)制及其喚醒機(jī)制詳解](https://file1.elecfans.com/web2/M00/8C/EC/wKgaomS08D-AL2CGAAJIp37j2GE547.jpg)
USB驅(qū)動(dòng)問題:設(shè)備無法識(shí)別的全面指南!
![<b class='flag-5'>USB</b>驅(qū)動(dòng)問題:<b class='flag-5'>設(shè)備</b>無法<b class='flag-5'>識(shí)別</b>的全面指南!](https://file1.elecfans.com/web1/M00/F5/D4/wKgZoWdFT06AZweFAAL6vbGBa2E343.png)
評(píng)論