哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-USB復(fù)位詳解

嵌入式USB開(kāi)發(fā) ? 來(lái)源:嵌入式Lee ? 作者:嵌入式Lee ? 2023-07-07 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注

基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-USB復(fù)位詳解 (qq.com)

一.前言

上一篇我們?cè)敿?xì)介紹了USB枚舉的第一步,連接檢測(cè)。那么第二步是干什么呢? 相信做過(guò)嵌入式開(kāi)發(fā)尤其做過(guò)驅(qū)動(dòng)開(kāi)發(fā)的都會(huì)想到-復(fù)位,基本上所有的外設(shè)模塊在開(kāi)始都需要進(jìn)行復(fù)位操作,以達(dá)到一個(gè)默認(rèn)的狀態(tài),USB也不例外。一方面初始化時(shí)復(fù)位以達(dá)到默認(rèn)狀態(tài),一方面在異常時(shí)復(fù)位以恢復(fù)。話說(shuō)復(fù)位可以解決99%的問(wèn)題就是這么來(lái)的,如果還不能解決那就斷電復(fù)位,相信這是很多人解決問(wèn)題的第一板斧,且不說(shuō)是不是最優(yōu)選擇,至少這樣一般都有效,當(dāng)然可靠性考慮是否能直接復(fù)位一般都需要評(píng)估不能這么直接簡(jiǎn)單粗暴。

這一篇我們就來(lái)詳細(xì)講講USB的復(fù)位,老規(guī)矩理論結(jié)合實(shí)踐,先看規(guī)格書(shū)的說(shuō)明再寫(xiě)驅(qū)動(dòng)實(shí)測(cè)。

二.USB的復(fù)位

2.1復(fù)位信號(hào)

首先,復(fù)位信號(hào)到底是什么樣的呢?調(diào)試外設(shè)時(shí)序的時(shí)候一般都會(huì)關(guān)注,復(fù)位一般用一組特殊的狀態(tài)時(shí)序來(lái)表示,USB也一樣。

我們看到USB2.0規(guī)格書(shū)中對(duì)復(fù)位信號(hào)的描述如下

b18e5432-1c5f-11ee-9c1d-dac502259ad0.png

對(duì)于發(fā)送端要求D+和D-小于VOL(max)持續(xù)10mS以上,VOL(max)的值為0.3V,如下

b1bacbd4-1c5f-11ee-9c1d-dac502259ad0.png

而對(duì)于接收端要求D+和D-小于VIL(max)持續(xù)10mS以上,VIL(max)值為0.8V

b1cca16a-1c5f-11ee-9c1d-dac502259ad0.png

可以看到VIL(max)比VOL(max)是要大的,這是對(duì)發(fā)送要求嚴(yán)格一些,因?yàn)橐紤]信號(hào)傳輸?shù)脑肼暩蓴_等因素,預(yù)留一些裕度。

上述10ms的參數(shù)實(shí)際有個(gè)名字叫(TDRST),規(guī)格書(shū)中要求如下

b1e05246-1c5f-11ee-9c1d-dac502259ad0.png

而一般要求接收端在D+和D-小于VIL(max)持續(xù)2.5uS以上就應(yīng)該檢測(cè)到復(fù)位,這個(gè)時(shí)間記住,我們可能會(huì)遇到臨界情況在這個(gè)值附近可能出現(xiàn)不穩(wěn)定的情況,調(diào)試時(shí)留個(gè)心眼,一旦出現(xiàn)這種很可能就是疑難雜癥,但是現(xiàn)在留個(gè)心眼以后就可能想起來(lái)確認(rèn)這里。

對(duì)于根集線器這里還有個(gè)要求就是非連續(xù)的復(fù)位要有3mS以上的間隔(TRHRSI),復(fù)位持續(xù)周期50mS(TDRSTR)以上(因?yàn)閁SB拓?fù)渥畲笥?個(gè)集線器)

b1fc778c-1c5f-11ee-9c1d-dac502259ad0.png

2.2復(fù)位過(guò)程

參考USB2.0的規(guī)格書(shū)《7.1.7.5 Reset Signaling》

在低速/全速模式下運(yùn)行的設(shè)備,如果其面向上游的端口上出現(xiàn)SE0超過(guò)2.5μs(TDETRST),則可以將該信號(hào)視為復(fù)位信號(hào)。復(fù)位須在復(fù)位信號(hào)結(jié)束之前生效。注意這里是復(fù)位信號(hào)結(jié)束之前就生效。(實(shí)際這里還可能導(dǎo)致隱蔽的BUG,我這里有一個(gè)精彩的案例分析,高速設(shè)備總是枚舉為全速設(shè)備的問(wèn)題,神奇的是在復(fù)位中段服務(wù)函數(shù)中加個(gè)打印就好了,后面會(huì)分享)

b20fb68a-1c5f-11ee-9c1d-dac502259ad0.png

1.主機(jī)(HUB)檢測(cè)到設(shè)備連接,通過(guò)DP還是DM拉高區(qū)分是低速還是全速/高速。

2.主機(jī)(HUB驅(qū)動(dòng)信號(hào)SE0以產(chǎn)生復(fù)位信號(hào)。

3.設(shè)備檢測(cè)到SE0持續(xù)2.5uS(TFILTSE0)以上檢測(cè)到復(fù)位,產(chǎn)生復(fù)位中斷。

對(duì)于低速設(shè)備完成復(fù)位,對(duì)于全速和高速設(shè)備后面繼續(xù)進(jìn)行高速設(shè)備的檢測(cè)。

速度的檢測(cè)后面會(huì)單獨(dú)再講。

如果是從non-suspended全速狀態(tài)復(fù)位則必須在SE0

開(kāi)始后的2.5uS(TFILTSE0)~3.0 ms(TWTRSTFS)時(shí)間內(nèi)進(jìn)行后續(xù)的高速速度檢測(cè)握手。

如果是從suspend狀態(tài)復(fù)位,則必須在SE0開(kāi)始后的2.5uS(TFILTSE0)以上時(shí)間后進(jìn)行高速速度檢測(cè)握手,為什么這里沒(méi)有最長(zhǎng)時(shí)間3.0 ms(TWTRSTFS)的限制了呢,因?yàn)閽炱饡r(shí)時(shí)鐘是停止的重啟時(shí)鐘需要時(shí)間,所以這里不限制上限時(shí)間。

如果是從non-suspended高速狀態(tài)復(fù)位,則設(shè)備在恢復(fù)到全速之前必須等待不少于3.0ms且不多于3.125ms(TWTREV)。通過(guò)移除高速端接電阻并重新連接D+上拉電阻器,可實(shí)現(xiàn)全速恢復(fù)。該設(shè)備對(duì)總線狀態(tài)進(jìn)行采樣,并在開(kāi)始恢復(fù)至全速后檢查SE0(復(fù)位而非掛起)、不小于100μs且不大于875μs(TWTRSTHS)。如果檢測(cè)到SE0(復(fù)位),則設(shè)備開(kāi)始高速檢測(cè)握手。

注意

設(shè)備必須能夠在復(fù)位恢復(fù)時(shí)間10 ms(TRSTRCY)后接受SetAddress()請(qǐng)求,這個(gè)時(shí)間也是一個(gè)調(diào)試經(jīng)驗(yàn),如果不能枚舉可以檢查設(shè)備的響應(yīng)時(shí)間是否過(guò)長(zhǎng)。

由于面向下游的端口在復(fù)位期間不會(huì)處于傳輸狀態(tài),因此高速Chirp信號(hào)不會(huì)引發(fā)斷開(kāi)連接檢測(cè)。

如下圖是DWC2驅(qū)動(dòng)的復(fù)位波形,黃色為DP,高速模式。

b22b27f8-1c5f-11ee-9c1d-dac502259ad0.png

通過(guò)仿真器GDB load程序重新運(yùn)行,而不是直接上電運(yùn)行,如果是后者則沒(méi)有(1)這個(gè)狀態(tài)此時(shí)默認(rèn)是沒(méi)有拉高的。

DWC2控制器的軟件復(fù)位不會(huì)影響SftDiscon位的狀態(tài),所以load程序后SftDiscon保持之前的拉高狀態(tài),DWC2控制器復(fù)位也不會(huì)影響

直到相關(guān)UTMI時(shí)鐘復(fù)位,如下代碼執(zhí)行對(duì)應(yīng)到(2)前面的DP拉低,此時(shí)UTMI等復(fù)位應(yīng)該是導(dǎo)致了PHY的相關(guān)狀態(tài)復(fù)位。

b24e5bd8-1c5f-11ee-9c1d-dac502259ad0.png

然后是軟件設(shè)置SftDiscon位為0,拉高DP,如下代碼處,對(duì)應(yīng)(2)處的拉高

b283e24e-1c5f-11ee-9c1d-dac502259ad0.png

然后DP拉高100mS之后(3),主機(jī)發(fā)送復(fù)位(4),這里看到復(fù)位時(shí)間非常短,這是因?yàn)樵O(shè)備2.5uS以上,實(shí)際是8uS就檢測(cè)到了復(fù)位(如下圖所示,圖中標(biāo)尺部分,后面的藍(lán)色的高DM的高是設(shè)備發(fā)出的Chirp K高速握手信號(hào)),進(jìn)行了后續(xù)的高速握手,所以覆蓋了主機(jī)發(fā)送的復(fù)位信號(hào),所以看不到復(fù)位10mS的持續(xù)時(shí)間。

b2ad1344-1c5f-11ee-9c1d-dac502259ad0.png

三.總結(jié)

復(fù)位的信號(hào)很簡(jiǎn)單,但是承接的是連接檢測(cè)到后續(xù)的高速速度握手,時(shí)序非常重要,尤其是有個(gè)參數(shù)2.5uS,檢測(cè)到復(fù)位信號(hào)持續(xù)2.5uS即檢測(cè)到復(fù)位,而不需要等復(fù)位信號(hào)移除即不需要等10mS,所以會(huì)出現(xiàn)主機(jī)在驅(qū)動(dòng)復(fù)位,設(shè)備已經(jīng)檢測(cè)到復(fù)位開(kāi)始后續(xù)的高速握手,從波形上看就看不到復(fù)位信號(hào)持續(xù)10mS了,而這也可能導(dǎo)致一些性能不達(dá)標(biāo)的主機(jī),高速握手失敗,這個(gè)后面單獨(dú)講案例分析。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8471

    瀏覽量

    285643
  • 復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    179

    瀏覽量

    25085
  • USB驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    5444
  • 復(fù)位信號(hào)
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    6828
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    399
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索Cypress EZ - USB FX2LP:高性能USB微控制器的深度剖析

    探索Cypress EZ - USB FX2LP:高性能USB微控制器的深度剖析 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,USB接口的應(yīng)用無(wú)處不在,而一款優(yōu)秀的USB
    的頭像 發(fā)表于 03-28 14:50 ?578次閱讀

    MAX1823系列:一款具備故障抑制和自動(dòng)復(fù)位功能的雙路USB開(kāi)關(guān)

    MAX1823系列:一款具備故障抑制和自動(dòng)復(fù)位功能的雙路USB開(kāi)關(guān) 在現(xiàn)代電子設(shè)備中,USB接口的使用非常普遍,對(duì)于USB開(kāi)關(guān)的性能和穩(wěn)定性也提出了更高的要求。今天我們要深入了解的是M
    的頭像 發(fā)表于 02-11 14:45 ?246次閱讀

    MAX1940:具備自動(dòng)復(fù)位和故障消隱功能的三重USB開(kāi)關(guān)

    MAX1940:具備自動(dòng)復(fù)位和故障消隱功能的三重USB開(kāi)關(guān) 在電子設(shè)備的設(shè)計(jì)中,USB接口的應(yīng)用極為廣泛,而USB開(kāi)關(guān)的性能對(duì)于保障設(shè)備的穩(wěn)定運(yùn)行至關(guān)重要。今天,我們就來(lái)詳細(xì)探討一下M
    的頭像 發(fā)表于 02-11 14:35 ?261次閱讀

    高速USB信號(hào)切換的利器:TS3USB221詳解

    高速USB信號(hào)切換的利器:TS3USB221詳解 在電子設(shè)備設(shè)計(jì)領(lǐng)域,高速信號(hào)的切換與傳輸一直是工程師們關(guān)注的重點(diǎn)。特別是在USB接口廣泛應(yīng)用的今天,如何高效、穩(wěn)定地切換
    的頭像 發(fā)表于 01-14 16:05 ?410次閱讀

    高速USB 2.0信號(hào)開(kāi)關(guān)TS3USB31的設(shè)計(jì)與應(yīng)用詳解

    高速USB 2.0信號(hào)開(kāi)關(guān)TS3USB31的設(shè)計(jì)與應(yīng)用詳解 在當(dāng)今的電子產(chǎn)品設(shè)計(jì)中,高速信號(hào)傳輸?shù)姆€(wěn)定性和可靠性至關(guān)重要。特別是在USB接口的應(yīng)用中,一款優(yōu)秀的信號(hào)開(kāi)關(guān)能夠大大提升系統(tǒng)
    的頭像 發(fā)表于 01-14 15:55 ?364次閱讀

    USB驅(qū)動(dòng)安裝全攻略#人工智能 #嵌入式開(kāi)發(fā) #電子愛(ài)好者

    usb
    廣州靈眸科技有限公司
    發(fā)布于 :2026年01月13日 09:46:49

    瑞芯微(EASY EAI)RV1126B USB使用

    1.USB硬件資源介紹1.1兩種USB模式EASYEAINano-TB開(kāi)發(fā)板支持2USB工作模式:默認(rèn)模式:
    的頭像 發(fā)表于 01-01 09:30 ?4431次閱讀
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>USB</b>使用

    高速USB 2.0信號(hào)隔離切換利器:TS3USB31詳解

    高速USB 2.0信號(hào)隔離切換利器:TS3USB31詳解 在電子電路的設(shè)計(jì)中,信號(hào)的高效切換與隔離是至關(guān)重要的環(huán)節(jié)。尤其是在處理高速USB 2.0信號(hào)時(shí),需要一款性能卓越的開(kāi)關(guān)來(lái)確保信
    的頭像 發(fā)表于 12-26 14:30 ?397次閱讀

    深度解析PTN3222:1端口eUSB2USB2驅(qū)動(dòng)器的卓越性能

    深度解析PTN3222:1端口eUSB2USB2驅(qū)動(dòng)器的卓越性能 在當(dāng)今的電子世界中,接口技術(shù)的不斷發(fā)展對(duì)數(shù)據(jù)傳輸?shù)姆€(wěn)定性和高效性提出了更高要求。NXP的PTN3222作為一款1端口eUSB
    的頭像 發(fā)表于 12-24 17:20 ?895次閱讀

    EZ-USB? FX2G3 DVK快速上手:開(kāi)啟硬件開(kāi)發(fā)新體驗(yàn)

    EZ-USB? FX2G3 DVK快速上手:開(kāi)啟硬件開(kāi)發(fā)新體驗(yàn) 作為電子工程師,我們?cè)谌粘9ぷ髦薪?jīng)常會(huì)接觸到各種開(kāi)發(fā)套件,今天就來(lái)和大家分享一下EZ-
    的頭像 發(fā)表于 12-18 11:40 ?660次閱讀

    TUSB1104:USB 3.2 x2 線性轉(zhuǎn)接驅(qū)動(dòng)器的卓越之選

    TUSB1104:USB 3.2 x2 線性轉(zhuǎn)接驅(qū)動(dòng)器的卓越之選 在當(dāng)今高速數(shù)據(jù)傳輸?shù)臅r(shí)代,USB 技術(shù)不斷發(fā)展,對(duì)數(shù)據(jù)傳輸速率和穩(wěn)定性的要求也越來(lái)越高。TUSB1104 作為一款專(zhuān)為
    的頭像 發(fā)表于 12-16 15:30 ?446次閱讀

    構(gòu)建可靠USB應(yīng)用:硬件設(shè)計(jì)要點(diǎn)與LuatOS開(kāi)發(fā)技巧!

    實(shí)現(xiàn)穩(wěn)定可靠的USB通信,既依賴(lài)于嚴(yán)謹(jǐn)?shù)挠布娐吩O(shè)計(jì),也離不開(kāi)高效的軟件開(kāi)發(fā)支持。本文將從電源管理、信號(hào)完整性等硬件角度出發(fā),結(jié)合LuatOS平臺(tái)的API使用技巧,為開(kāi)發(fā)者提供一站式USB
    的頭像 發(fā)表于 12-15 10:46 ?302次閱讀
    構(gòu)建可靠<b class='flag-5'>USB</b>應(yīng)用:硬件設(shè)計(jì)要點(diǎn)與LuatOS<b class='flag-5'>開(kāi)發(fā)</b>技巧!

    USB上網(wǎng)實(shí)戰(zhàn)教程:RNDIS驅(qū)動(dòng)一鍵配置!

    ?想要通過(guò)USB線快速連接網(wǎng)絡(luò)?本文詳解RNDIS驅(qū)動(dòng)的安裝與配置步驟。從Linux系統(tǒng)檢測(cè)到設(shè)備虛擬網(wǎng)卡,僅需幾個(gè)命令即可實(shí)現(xiàn)TCP/IP over USB,讓上網(wǎng)變得高效便捷,新手
    的頭像 發(fā)表于 08-04 15:46 ?1797次閱讀
    <b class='flag-5'>USB</b>上網(wǎng)實(shí)戰(zhàn)教程:RNDIS<b class='flag-5'>驅(qū)動(dòng)</b>一鍵配置!

    高速信號(hào)抗浪涌“神器”,適用于USB 2.0、USB 3.X(Gen1/Gen2)、HDMI

    usb
    jf_15747056
    發(fā)布于 :2025年07月23日 19:08:12

    基于RK3576開(kāi)發(fā)板的USB驅(qū)動(dòng)安裝

    在使用芯片的ADB接口(進(jìn)行ADB調(diào)試或者固件燒錄)前需要安裝指定USB驅(qū)動(dòng),請(qǐng)按以下指引執(zhí)行驅(qū)動(dòng)安裝。
    的頭像 發(fā)表于 04-21 17:15 ?1312次閱讀
    基于RK3576<b class='flag-5'>開(kāi)發(fā)</b>板的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b>安裝
    延安市| 金阳县| 岐山县| 白河县| 镇雄县| 玉山县| 新疆| 宜兰市| 正安县| 阿拉善右旗| 平度市| 汾西县| 乡城县| 无锡市| 茂名市| 娱乐| 抚州市| 临沧市| 开鲁县| 南漳县| 中宁县| 阿鲁科尔沁旗| 塘沽区| 嵊州市| 耒阳市| 越西县| 井陉县| 万荣县| 阿城市| 修武县| 盐边县| 曲靖市| 玛沁县| 延庆县| 定州市| 丽水市| 固镇县| 湖州市| 开鲁县| 乌拉特后旗| 枝江市|