| 嵌入式USB開發(fā) |
| ------------------------------------------------------------------------------------------ |本文轉(zhuǎn)自公眾號,歡迎關(guān)注
基于DWC2的USB驅(qū)動開發(fā)-0x04 DWC2 USB2.0 IP 架構(gòu)介紹 (qq.com)
話說上傳圖片限制的數(shù)量也太小了,后面還有幾張圖片傳不上去沒辦法只能空著了。
前言
這一篇先對IP的架構(gòu)進(jìn)行一些介紹,內(nèi)容比較多所以重點(diǎn)關(guān)注和軟件相關(guān)的內(nèi)容。后續(xù)編程具體涉及時,可能再返回過來詳讀某一個部分。
系統(tǒng)級架構(gòu)
IP可以配置為Slave-Only模式,Internal DMA模式,External模式。如果配置為DMA模式則也支持Slave模式可以軟件禁用DMA,而配置為Slave-Only模式則不支持DMA模式。只能在初始化時要么選擇DMA要么選擇Slave模式,不能動態(tài)修改。
Slave-Only模式
該模式可以減少IP的面積,此時需要CPU去執(zhí)行memory到DWC-otg之間的數(shù)據(jù)搬運(yùn),占用CPU的帶寬效率比較低。
此時CPU是AHB的主設(shè)備,CPU負(fù)責(zé)搬運(yùn)數(shù)據(jù)。
Internal DMA模式
使用DWC-otg內(nèi)部的DMA,由其進(jìn)行memory到DWC-otg之間的數(shù)據(jù)搬運(yùn),不占用CPU的帶寬,CPU只需要負(fù)責(zé)完成中斷和錯誤等處理。
此時內(nèi)部DMA是AHB的主設(shè)備,負(fù)責(zé)搬運(yùn)數(shù)據(jù)。
該模式又分為
Buffer DMA和Scatter/Gather DMA模式兩種。
前者一次只能處理一個緩沖區(qū),而后者一次處理一個鏈表的緩沖區(qū)效率更高。
注意使能了內(nèi)部DMA模式還是可以使用Slave模式的,所以上圖由AHB Slave和AHB Master兩個接口。而Slave-Only的配置只有AHB Slave接口。
External DMA Controller 模式
類似于內(nèi)部DMA模式,只是使用的外部的DMA,此時DWC_otg和AHB之間只有AHB Slave接口。
如下圖使用的是DW_ahb_dmac的DMA,和DWC_otg之間有一個Gasket中間接口轉(zhuǎn)換。
DW_ahb_dmac也可以換為其他的DMA。
同樣使能外部DMA模式還是可以使用Slave模式的。
PMU模塊
實(shí)現(xiàn)以下功能
- 休眠Hibernation:suspend期間完全關(guān)閉DWC_otg
支持以下配置:OTG 模式, OTG 和 Non-OTG的主機(jī)設(shè)備模式。
UTMI+, ULPI, HSIC, IC_USB 和FS 專用接口
內(nèi)部Buffer DMA
內(nèi)部Descriptor Based DMA
External DMA
External DMA
- ADP
層次結(jié)構(gòu)
框圖如下
功能框圖
主機(jī)架構(gòu)
主機(jī)的非周期OUT傳輸使用一個發(fā)送FIFO
所有的周期OUT傳輸使用另一個發(fā)送FIFO
這些FIFO用于緩存USB的數(shù)據(jù)包的payload。
主機(jī)通過請求隊列(一個用于周期性隊列,一個用于非周期性隊列)傳輸U(kuò)SB事務(wù)。
請求隊列中的每個條目都保存in或OUT通道號以及在USB上執(zhí)行事務(wù)的其他信息。
將請求寫入隊列的順序決定了USB上的事務(wù)順序。
主機(jī)首先處理周期性請求隊列,然后在每個(微)幀的開頭處理非周期性請求排隊。
主機(jī)的所有周期和非周期接收到只使用同一個FIFO,用于緩存接收的USB數(shù)據(jù)包的payload,接收到的每個數(shù)據(jù)包的狀態(tài)也進(jìn)入FIFO,狀態(tài)條目保存IN信道號以及其他信息,例如接收的字節(jié)計數(shù)和有效性狀態(tài),以在AHB上執(zhí)行事務(wù)。
設(shè)備架構(gòu)
發(fā)送支持共享緩沖區(qū)和獨(dú)立緩沖區(qū)兩種方式
由IP配置參數(shù)OTG_EN_DED_TX_FIFO配置
Shared Transmit FIFO
配置OTG_EN_DED_TX_FIFO=0為該模式
該方式減少了IP的門數(shù),適用于同一時間只有一個非周期IN端點(diǎn)工作的場景,因?yàn)榉侵芷诙它c(diǎn)只有一個緩沖區(qū)。需要軟件去管理當(dāng)前緩沖區(qū)給哪個端點(diǎn)使用。并且一旦出現(xiàn)錯誤軟件需要進(jìn)行處理重新使能端點(diǎn),這一點(diǎn)需要注意。
注意的是這里是非周期端點(diǎn)公用一個發(fā)送緩沖區(qū),對于非周期端點(diǎn)需要管理當(dāng)前給哪一個端點(diǎn)使用。對于周期端點(diǎn)還是每一個周期端點(diǎn)獨(dú)享一個發(fā)送緩沖區(qū)的。
FIFO由DMA或者由CPU寫入數(shù)據(jù)。在收到IN令牌后硬件自動從FIFO中搬運(yùn)數(shù)據(jù)到USB總線中去。
設(shè)備模式周期FIFO(FIFO-1),和主機(jī)模式周期FIFO (PTxF 1)共用。根據(jù)實(shí)際周期IN個數(shù)后面使用FIFOs 2 到 n。
Dedicated Transmit FIFO
配置OTG_EN_DED_TX_FIFO = 1
不需要處理FIFO的錯誤。
FIFOs 2 到 n給所有IN端點(diǎn)使用,不管是周期還是非周期端點(diǎn)每個都獨(dú)立使用一個,和Shared模式只有周期端點(diǎn)才獨(dú)立擁有FIFO不一樣。
當(dāng)選擇DMA模式時,控制器還支持發(fā)送和接收方向上的閾值設(shè)置,此時FIFO可以設(shè)置為小于一個USB包的大小。
閾值設(shè)置:
支持同步和非同步發(fā)送閾值分別使能;
支持AHB 和MAC傳輸設(shè)置兩種閾值值。
控制器自動管理溢出,發(fā)送下溢時,即控制器想要從FIFO中取數(shù)據(jù)發(fā)送時發(fā)現(xiàn)沒有數(shù)據(jù)可取產(chǎn)生下溢出underrun,此時會反轉(zhuǎn)CRC值使得其變?yōu)殄e誤數(shù)據(jù)包。
而在接收上溢時overflow,接接收到USB數(shù)據(jù)往FIFO里寫時發(fā)現(xiàn)FIFO滿了,此時自動產(chǎn)生NAK,并且指針繞回。所以最好設(shè)置FIFO是兩倍閾值大小,進(jìn)行ping-pang。
Single Receive FIFO
以上介紹的是發(fā)送FIFO,對于接收FIFO只有一個。即所有OUT端點(diǎn)都是使用一個FIFO。
接收FIFO保存接收數(shù)據(jù)包的狀態(tài),例如字節(jié)計數(shù)、數(shù)據(jù)PID和接收數(shù)據(jù)的有效性。
DMA或CPU在接收數(shù)據(jù)時從接收FIFO中讀取數(shù)據(jù)。
DWC_otg_core
使能 Dynamic FIFO Sizing時可以動態(tài)修改FIFO的大小。
AHB總線接口單元BIU
即AHB總線接口單元
主機(jī)模式
設(shè)備模式
分為AHB主和AHB從接口。
AHB從總線接口單元 (BIUS)
AHB從接口單元將AHB cycles轉(zhuǎn)換為CSR寫入/讀取、數(shù)據(jù)FIFO讀取/寫入和DFIFO push/pop信號。DFIFO讀/寫訪問僅用于測試目的。
完全兼容AMBA 2.0-Compliant AHB Slave
支持INCR4, INCR8, INCR16, INCR 和 SINGLE
支持忙和提前終止
CSR和DFIFO讀取/寫入必須始終為32位;8位和16位寫訪問將未知值寫入DFIFO。
僅生成OK響應(yīng)
不生成SPLIT、RETRY或ERROR響應(yīng)
站在CPU軟件角度,作為AHB主,可以看到如下地址空間
CSR寄存器部分
DFIFO部分,Slave模式CPU直接訪問,DMA模式由DMA復(fù)制和系統(tǒng)memory之間搬運(yùn)數(shù)據(jù)。
還有最后一部分用于調(diào)試的直接訪問DFIFO地址空間
注意在SPRAM中還會存儲一些寄存器信息
Scatter/Gather DMA模式每個端點(diǎn)需要占用4x35位的空間(SRAM中WORD單位是35位的,因?yàn)橐嫫渌畔?,
DMA 和 Slave模式,每個端點(diǎn)占用1x35位空間。
以上每個4k空間對應(yīng)一個端點(diǎn)的FIFO數(shù)據(jù)。
讀這些4k空間實(shí)際就是讀RXFIFO
寫設(shè)備的非周期IN端點(diǎn)和主機(jī)的非周期OUT通道對應(yīng)TxFIFO
主機(jī)模式寫任意周期OUT通道也是寫公用的TxFIFO
在設(shè)備模式訪問周期IN端點(diǎn)或者Dedicated FIFO模式的所有IN端點(diǎn)映射到對應(yīng)的周期 (Dedicated FIFO的周期或非周期 ) Tx FIFO。設(shè)備端點(diǎn)控制寄存器的位30:27將端點(diǎn)映射到特定周期FIFO。
Shared FIFO模式IN INTERRUPT可以映射到Non-periodic Tx FIFO或者單獨(dú)的Periodic Tx FIFO。
SRAM映射
AHB主總線接口單元 (BIUM)
即控制器deDMA作為AHB主,負(fù)責(zé)控制器內(nèi)部RAM和系統(tǒng)memory之間搬運(yùn)數(shù)據(jù)。
完全兼容AMBA 2.0-compliant AHB Master
支持burst類型:SINGLE, INCR, INC4, INC8,和 INC8
選擇INC4, INC8, 或 INC16 時可能使用SINGLE 和 INCR
剩余長度不足burst長度,SPLIT后的數(shù)據(jù)傳輸,RETRY后的數(shù)據(jù)傳輸時使用INCR
處理AHB拆分、RETRY、ERROR條件和提前終止
應(yīng)用程序需要時可插入BUSY cycle
處理AHB 1KB邊界
AHB傳輸數(shù)據(jù)地址總線都是32位對齊,控制器可以傳輸2字節(jié)和1字節(jié)。
控制和狀態(tài)寄存器CSR
軟件的角度需要注意
寄存器PCGCCTL和GINTSTS的b[31:29]不位于AHB時鐘域,所以 Power Down模式這些寄存器還是有效的。
主機(jī)和從機(jī)共享寄存器地址節(jié)省空間,但是如果入籍模式訪問設(shè)備寄存器或者反之則會產(chǎn)生GINTSTS.ModeMis中斷。
應(yīng)用接口單元AIU
包括AHB主,AHB哦那個 包FIFO控制,CSR
包括DMA調(diào)度DSCH等功能
包FIFO控制器PFC
實(shí)現(xiàn)USB數(shù)據(jù)包的管理,以及包到內(nèi)部SRAM的傳輸?shù)取?/p>
需要注意下在SPRAM的最后,有一個EPINFO_CTL用于管理端點(diǎn)的信息。
MAC
該模塊處理USB傳輸,設(shè)別,主機(jī),OTG的協(xié)議才是真正的核心部分。
PHY接口單元PIU
支持不同的PHY接口
喚醒和功耗控制WPC
用于Suspend喚醒管理等
鏈表處理器
實(shí)現(xiàn)Descriptor-Based Scatter/Gather DMA的處理
電源管理單元架構(gòu)
DWC_otg_pmu模塊支持休眠,
包括
- PMU Slave,支持CPU通過AHB控制PMU的邏輯,即作為AHB的從接口。即訪問寄存器GPWRDN。
- PMU Logic模塊,實(shí)現(xiàn)不同PHY類型的喚醒邏輯。
UTMI+ 和HSIC 接口
IC_USB 和 FS專用接口
ULPI接口
控制器休眠時驅(qū)動PHY接口信號,
為DWC_otg_pmu_ifmux模塊解碼lineestate
- PMU IfMux 模塊 該模塊實(shí)現(xiàn)多路line_state復(fù)用,檢測line_state改變,多路復(fù)用不同接口的狀態(tài),檢測狀態(tài)的改變,OTG Revision 2.0 和 OTG Revision 1.3 SRP的檢測。
- PMU Sync 模塊 用于同步DWC_otg_pmu_ahb_slv和PMU接口邏輯的時鐘域信號。
- ADP模塊 支持ADP:Attach Detection Protocol探測和活動感知,需要IP配置OTG_ADP_SUPPORT=1
對于軟件來說其細(xì)節(jié)可以稍微看一下即可。
需要注意有幾個寄存器是位于pmu域的:
GPWRDN
系統(tǒng)時鐘和復(fù)位
DWC_otg有以下輸入時鐘
Hclk:AHB域的時鐘。
Pmu_hclk:PMU域的時鐘,休眠和/或ADP 時使用。
utmi_clk:選擇UTMI PHY時使用。
ulpi_clk:選擇ULPI PHY時使用。ULPI使用DDR模式時 負(fù)邊沿也使用。
utmifs_clk48: OTG_FSPHY_INTERFACE != 0時才有。
ref_clk:OTG_SERV_INT_ENH使能時才有。
DWC_otg_clkrst模塊還會產(chǎn)生以下輸出時鐘
phy_clk: 受門控,從ULPI, UTMI+, USB 1.1 FS 時鐘, USB 1.1FS 時鐘/8 中選擇。
wpc_clk:不受門控,OTG_EN_PWROPT不為0時才有。從ULPI, UTMI+, USB 1.1 FS 時鐘中選擇。
hclk_gated: OTG_EN_PWROPT不為0才有,hclk門控后的輸出,以優(yōu)化功耗。
utmifs_clk6:ULPI, UTMI+, 或 USB 1.1 FS 時鐘/8,USB 1.1 FS Serial Transceiver 接口使能才有。
系統(tǒng)時鐘速度配置如下
系統(tǒng)時鐘對最小包間間隙和設(shè)備支持的級聯(lián)集線器數(shù)量的影響
當(dāng)DWC_otg控制器充當(dāng)設(shè)備時,根據(jù)UTMI規(guī)范,對于接收后緊接著的接收,有最壞情況下的響應(yīng)時間。這種最壞情況下的響應(yīng)時間取決于AHB時鐘頻率。AHB時鐘快處理的快,這個時間就小。
控制器寄存器在AHB域中,并且在更新這些寄存器值之前,控制器不接受另一個令牌。
當(dāng)AHB時鐘與PHY時鐘相同時,此最壞情況值為七個PHY時鐘。當(dāng)AHB時鐘較快時,該值較小。
以下場景可能產(chǎn)生接收后緊接著接收的情況:
- 來自主機(jī)的任何響應(yīng)令牌(ACK/NAK/NYET/STALL),后跟一個令牌。
- 作為一種特殊情況,ISOC OUT數(shù)據(jù)包,后面緊跟著下一個令牌。
系統(tǒng)級影響
在系統(tǒng)級別,上述這種限制可能會降低設(shè)備控制器的性能,因?yàn)楫?dāng)令牌太靠近前面的ISOC OUT令牌的末尾時,控制器會丟棄或向主機(jī)發(fā)送NAK。
對于批量、中斷和控制事務(wù),系統(tǒng)會隨著主機(jī)重試令牌而恢復(fù),事務(wù)最終會完成。
而對于等時ISO事務(wù),因?yàn)闆]有重發(fā)機(jī)制,主機(jī)進(jìn)行到為間隔bInterval安排的下一個事務(wù)。
在以下情況下會出現(xiàn)顯著的性能下降:
該設(shè)備連接到一個主機(jī),該主機(jī)能夠在88-96位時間內(nèi)一致地發(fā)送令牌,也就是說,從前面的ISOC OUT令牌結(jié)束算起,有六到七個PHY時鐘
該設(shè)備通過多層集線器連接到主機(jī),使得ISOC OUT令牌和后續(xù)令牌之間的數(shù)據(jù)包間間隙縮小到小于七個PHY時鐘
但是,在這兩種情況下,系統(tǒng)都不會停止響應(yīng)或進(jìn)入不可恢復(fù)狀態(tài),只會影響性能。
此時控制器的行為
以下是ISOC OUT Token緊接著下一個Token時的控制器信號
(缺圖)
- 在PHY時鐘域 (PCLK) 處理ISOC OUT token。
- 更新AHB時鐘(HCLK)域中的相關(guān)寄存器。
- 在處理UTMI接口上接收的下一個令牌之前,等待從AHB時鐘域到PHY時鐘域的完成握手。
- ti_trans_done信號是在PHY時鐘域中生成的用于更新AHB時鐘域寄存器的觸發(fā)信號??刂破鞯却齺碜訟HB時鐘域的握手,以便此寄存器更新接受下一個令牌
- sh2pt_reg_vld信號是來自AHB時鐘域的握手信號,其指示寄存器更新在AHB時鐘域中完成。
- txrx_state信號在將接收到的數(shù)據(jù)推送到RxFIFO時處于RCVD_DATA狀態(tài),在計算CRC時處于CHKCRC16狀態(tài),以及在推送包的接收狀態(tài)時處于DATA_to_STS狀態(tài)。
- 在解碼接收到的令牌時,tkn_state信號處于tkn_DECODE狀態(tài)
M5-M3:RX開始延遲,DP/DM線上SYNC域的第一位與RXACTIVE有效之間的時間。
M2-M1:RX結(jié)束延遲,EOP的最后一位和RXACTIVE無效之間的時間
M3-M1:在DP/DM線路上測量的RX到RX數(shù)據(jù)包間延遲
M4-M2:
對于16位UTMI模式:從rx_active無效到CRC計算的一個PHY時鐘周期
對于8位UTMI模式:從rx_active無效到CRC計算的三個PHY時鐘周期
從RXACTIVE無效到txrx_state之間的時間為CHK_CRC16
M5-M4:接收數(shù)據(jù)包狀態(tài)推送的三個PHY時鐘周期,DATA_TO_STS狀態(tài)下txrx_state信號所用的時間.
M6-M5:寄存器更新觸發(fā)脈沖同步延遲+寄存器更新tog脈沖握手同步延遲。ti_trans_done信號切換到sh2pt_reg_vld脈沖之間的時間。
M6-M5:在PIE接收和解碼令牌的七個PHY時鐘周期。RXACTIVE有效和tkn_state之間的時間為tkn_END。
計算所需的最低AHB時鐘頻率
為了計算克服ISOC OUT包間間隙限制所需的最小AHB時鐘頻率,需要確定控制器完成以下兩個過程所需的時間:
接收到ISOC OUT令牌后,更新AHB時鐘域中的控制器寄存器
解碼下一個接收到的令牌
為了克服這一限制,使得控制器不會丟棄在ISOC OUT令牌之后太近接收到的任何令牌
更新AHB時鐘域中的控制器寄存器所需的時間應(yīng)該小于或等于解碼下一個接收到的令牌所需的時刻。此條件構(gòu)成計算所需最小AHB時鐘頻率的基礎(chǔ)。
給定UTMI PHY 位寬和最小包見間隙,下表列出了AHB 為了滿足不丟棄任何包必須達(dá)到的最小頻率。
(缺圖)
對于32 HS bit 時間間隙,UTMI8位寬時,最少要96-MHz HCLK。
系統(tǒng)時鐘對設(shè)備支持的級聯(lián)集線器數(shù)量的影響
(缺圖)
對于在多層集線器上使用等時OUT端點(diǎn)的設(shè)備,建議使用8位UTMI模式和96MHz或更高的AHB時鐘頻率。
系統(tǒng)時鐘和復(fù)位產(chǎn)生
有兩個外部復(fù)位輸入,復(fù)位是軟件初始化時需要做的。
hreset_n: hclk 和pmu_hclk域復(fù)位
prst_n: phy_clk 域復(fù)位
DWC_otg控制器的所有輸入復(fù)位都可以異步復(fù)位,但解除復(fù)位必須與配置中選擇的時鐘同步。
每當(dāng)軟件在重置后更改PHY選擇位(USB 1.1 FS收發(fā)器、UTMI+或ULPI)時,它必須復(fù)位軟件重置,因?yàn)镻HY部分位會更改PHY接口單元的時鐘。
USB 1.1 FS收發(fā)器接口
發(fā)送數(shù)據(jù)
(缺圖)
接收數(shù)據(jù)
(缺圖)
支持Micro-AB 插座的嵌入式主機(jī)
IP參數(shù)配置OTG_MODE=0,1, 或者 5支持該功能.
在不支持SRP的配置中,需要外部邏輯來基于ID值控制PHY DRVVBUS,因?yàn)榭刂破鲀?nèi)部不含OTG狀態(tài)機(jī),并且PHY DRVBUS沒有連接到DWC_OTG控制器。
在這種配置為了支持Micro-AB插座,當(dāng)ID對應(yīng)于主機(jī)時, DRVVBUS必須asserted,當(dāng)ID對應(yīng)于設(shè)備時,必須de-asserted。
為了在控制器充當(dāng)嵌入式主機(jī)時啟用Micro-AB 插座支持,utmiotg_idig輸入信號也僅存在于支持SRP的主機(jī)模式(OTG_mode=5)中。如果嵌入式主機(jī)僅支持標(biāo)準(zhǔn)A連接器,則將DWC_otg控制器的utmiotg_idig輸入信號線硬連接到零。
總結(jié)
以上從整體框架上去了解了IP,先不必要全部理解,內(nèi)容很多大概知道框架即可,后面編程有需要再回過頭來參考。
審核編輯 黃宇
-
usb
+關(guān)注
關(guān)注
60文章
7990瀏覽量
266282 -
USB2.0
+關(guān)注
關(guān)注
2文章
187瀏覽量
46237 -
IP
+關(guān)注
關(guān)注
5文章
1723瀏覽量
150025 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
101024 -
USB驅(qū)動
+關(guān)注
關(guān)注
1文章
137瀏覽量
20286 -
DWC2
+關(guān)注
關(guān)注
0文章
35瀏覽量
158
發(fā)布評論請先 登錄
相關(guān)推薦
基于DWC2的USB驅(qū)動開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡介
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>01開篇<b class='flag-5'>介紹</b>與新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b>控制器簡介](https://file1.elecfans.com//web2/M00/82/92/wKgaomRYypOAKwq2AAAmRtEv6o4083.png)
基于DWC2的USB驅(qū)動開發(fā)-0x02 DWC2 USB2.0 IP功能特征介紹
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>02 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> <b class='flag-5'>IP</b>功能特征<b class='flag-5'>介紹</b>](https://file1.elecfans.com//web2/M00/82/95/wKgaomRZq22ATFNiAAAtAuJdxpU526.png)
基于DWC2的USB驅(qū)動開發(fā)-0x07 DWC2 USB2.0 IP 配置參數(shù)
基于DWC2的USB驅(qū)動開發(fā)-IAD描述符詳解
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-IAD描述符詳解](https://file1.elecfans.com/web2/M00/8B/7A/wKgZomSaPbaAEbh7AAAgl2G2IkY286.png)
基于DWC2的USB驅(qū)動開發(fā)-USB復(fù)位詳解
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>復(fù)位詳解](https://file1.elecfans.com/web2/M00/8C/30/wKgZomSng_2AGXsAAABUiaQmGaQ671.png)
基于DWC2的USB驅(qū)動開發(fā)-USB連接詳解
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>連接詳解](https://file1.elecfans.com/web2/M00/8C/2F/wKgaomSnbLCAUQo4AAArjuuBYsU207.png)
基于DWC2的USB驅(qū)動開發(fā)-高速設(shè)備枚舉為全速設(shè)備問題案例分析
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-高速設(shè)備枚舉為全速設(shè)備問題案例分析](https://file1.elecfans.com/web2/M00/8C/67/wKgZomSry42ABNOiAAAdwkjt7eM162.png)
基于DWC2的USB驅(qū)動開發(fā)-設(shè)備類驅(qū)動框架
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-設(shè)備類<b class='flag-5'>驅(qū)動</b>框架](https://file1.elecfans.com/web2/M00/8C/DA/wKgaomSzonKANVRhAAASC9jm1HU655.jpg)
基于DWC2的USB驅(qū)動開發(fā)-發(fā)送相關(guān)的寄存器DMA寄存器詳解
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-發(fā)送相關(guān)的寄存器DMA寄存器詳解](https://file1.elecfans.com/web2/M00/8C/DB/wKgaomSzrSiAGPKLAAE26HSudps200.jpg)
基于DWC2的USB驅(qū)動開發(fā)-數(shù)據(jù)不能發(fā)送問題分析案例
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-數(shù)據(jù)不能發(fā)送問題分析案例](https://file1.elecfans.com/web2/M00/8F/B1/wKgaomTRne-Ad71BAAAaATok9k0470.png)
新思 DWC2 的參考手冊從哪里可以下載
RK3399平臺上USB控制器和PHY的連接方式和配置說明
如何對基于hal庫的DWC2 USB IP進(jìn)行調(diào)試呢
無法讓USB主機(jī)正常工作是我做錯了什么嗎?
基于DWC2的USB驅(qū)動開發(fā)-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd
![基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>開發(fā)</b>-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd](https://file1.elecfans.com/web2/M00/8D/A9/wKgaomS-TH6AY5_QAAQY40xBkJA935.jpg)
評論