本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注
基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x08 ULPI接口協(xié)議概覽 (qq.com)
一. ULPI(協(xié)議概覽)
1.1 前言
前面我們介紹了GLPI接口,ULPI即基于GLPI接口的UTMI協(xié)議的實(shí)現(xiàn)。ULPI用于USB中LINK和PHY的通訊,主要應(yīng)用于外置PHY的場景。了解ULPI接口對(duì)整個(gè)USB驅(qū)動(dòng)開發(fā)也有一些幫助,掌握USB也需要掌握USB整個(gè)鏈路的數(shù)據(jù)流,PHY到LINK這一層的數(shù)據(jù)流至關(guān)重要,雖然對(duì)于編程來說這一層對(duì)軟件可見度幾乎為0,但是了解其有利于解決分析問題,尤其是一些疑難雜癥.
1.2 概述
ULPI是LPI接口規(guī)范應(yīng)用于UTMI+協(xié)議的一個(gè)具體實(shí)現(xiàn), 相對(duì)于UTMI,使用ULPI減少了引腳數(shù)量,適合于外接USB收發(fā)器(PHY)的場景,支持OTG,主機(jī),設(shè)備的應(yīng)用。
一般外接USB收發(fā)器比如原型驗(yàn)證階段時(shí)采用ULPI接口,因?yàn)?a target="_blank">ASIC或者SOC的引腳數(shù)是比較受限的;而如果USB收發(fā)器集成封裝在ASIC,SOC內(nèi),則使用UTMI接口,因?yàn)樵谛酒瑑?nèi)部,不占用芯片的引腳。
UTMI才是LINK-PHY之間的標(biāo)準(zhǔn)接口,ULPI只是為了外置PHY等場景有低引腳需求才增加的實(shí)現(xiàn)。所以即使使用ULPI接口, LINK內(nèi)部實(shí)際也是有一個(gè)UTMI-ULPI的橋轉(zhuǎn)換為UTMI接口的,而PHY封裝在芯片內(nèi)部直接使用UTMI就不需要UMTI-ULPI的橋了,避免了橋接性能等方面的損失,這也是為什么PHY集成在芯片內(nèi)部都是直接使用UTMI接口的一個(gè)原因。
ULPI規(guī)范詳細(xì)說明了對(duì)UTMI+Level 3的支持,但PHY實(shí)現(xiàn)者可以選擇支持UTMI+中定義的任何級(jí)別。
ULPI定義了LINK到PHY之間的信號(hào)8個(gè)或者12個(gè),即4個(gè)DATA或者8個(gè)DATA+nxt,stp,dir,clock。ULPI對(duì)UTMI+的引腳縮減,是通過對(duì)相對(duì)靜態(tài)的信號(hào)通過寄存器配置,數(shù)據(jù)線改為雙向,提供了一種訪問ULPI收發(fā)器上寄存器數(shù)據(jù)的方法來實(shí)現(xiàn)的。
如下圖所示:ULPI規(guī)格建議使用ULPI Link Wrapper和ULPI PHY Wrapper在原來的UTMI+ IP上封裝,這樣可以保持原來的UTMI+部分不變, 但是根據(jù)實(shí)現(xiàn)而定,也可以不要這個(gè)橋直接就使用ULPI接口。
WDC2控制器同時(shí)支持UTMI和ULPI的,可以配置為同時(shí)支持,軟件動(dòng)態(tài)選擇,其PHY Interface Unit (PIU)框圖如下:
1.3 結(jié)構(gòu)
首先要從整體上了解下ULPI接口所處的層次以及其作用,這樣有利于后面的理解。
ULPI是LINK和PHY之間的接口,結(jié)構(gòu)圖下
所以有必要先了解下LINK和PHY分別是做什么的:
PHY:
即物理層設(shè)備Physical Layer ,也就是收發(fā)器Transceiver,比如USB334x就是用的比較多的MicroChip的PHY芯片。在PHY芯片的手冊中一般用收發(fā)器Transceiver的稱呼。而在描述UBS協(xié)議的規(guī)格書等中一般稱為PHY(Physical Layer),兩者說的是同一個(gè)東西,只是不同場景側(cè)重點(diǎn)不一樣,前者側(cè)重一個(gè)具體的東西所以叫做收發(fā)器,后者側(cè)重一個(gè)抽象的概念所以叫做PHY。
PHY即數(shù)字部分和模擬部分的橋梁, PHY的一邊通過ULPI接口和LINK通訊,這邊都是數(shù)字部分。PHY另一邊就是直接的總線信號(hào)比如USB的D+,D-這邊是模擬部分。
PHY的技術(shù)含量是比較高的,涉及到模擬的或者是模數(shù)的技術(shù)都有一定門檻,所以你可以看到國產(chǎn)很多企業(yè)能做控制器LINK,MAC這部分(雖然很可能大概也是買的IP),但是基本沒有能做PHY的,前者是數(shù)字部分,設(shè)計(jì)驗(yàn)證相對(duì)來說更簡單,后者則更復(fù)雜設(shè)計(jì)驗(yàn)證更加困難(所以后者都是購買集成)。
PHY部分主要實(shí)現(xiàn),總線信號(hào)的收發(fā),bit-stuff等,和LINK通過ULPI/UTMI接口通訊,則是以包為單位了,當(dāng)然包括PHY的狀態(tài)返回控制等。
LINK:
LINK即SOC這邊的控制器部分,實(shí)現(xiàn)數(shù)據(jù)鏈路層的處理,由于是純數(shù)字部分,這部分也比較好仿真驗(yàn)證。有些文獻(xiàn)也叫Serial Interface Engine (SIE)
ULPI PHY必須要實(shí)現(xiàn)以下UTMI+的特征
- Linestate:必須在2-3個(gè)時(shí)鐘內(nèi)精確反映D+/D-的狀態(tài)。由LINK使用Linestate去計(jì)時(shí)總線事件。
- 濾波以防止由于D+和D-之間的偏斜而在Linestate上出現(xiàn)虛假的SE0/SE1狀態(tài)。低速濾波14個(gè)時(shí)鐘,全速和高速濾波2個(gè)時(shí)鐘。
- PHY在發(fā)送時(shí)內(nèi)部需要阻塞接收路徑,接收路徑在Squelch(HS)和SE0-to-J(FS/LS)時(shí)退出阻塞。
- TxReady必須用于包括Chirp的所有數(shù)據(jù)發(fā)送。
- 由于USB上的噪聲,有可能RxActice有效到無效而沒有接收到任何有效數(shù)據(jù),即RxValid不會(huì)有效。LINK必須能處理這種RxActive有效而RxValid無效的場景。
1.4 信號(hào)
ULPI的PHY接口信號(hào)基于PLPI定義,還增加了USB接口,其他雜項(xiàng)接口。
PHY接口是固定的,其他接口可能可變,以下只是一個(gè)通常的指導(dǎo)設(shè)計(jì)。
且規(guī)定了PHY必須是主機(jī)。這里需要注意和UTMI相比這里總線權(quán)顛倒了,UTMI是LINK掌握,這里是PHY掌握了,這是因?yàn)镈ATA是雙向數(shù)據(jù)了,為了保證接收數(shù)據(jù)時(shí)不被LINK打斷。
信號(hào) | 方向(PHY的角度) | 描述 |
---|---|---|
PHY Interface | ||
clock | I/O | 接口時(shí)鐘.PHY必須支持輸出60MHz時(shí)鐘,即必須支持時(shí)鐘輸出模式.可選支持輸入60MHz時(shí)鐘,即輸入時(shí)鐘模式是可選的.如果PHY支持這兩種時(shí)鐘模式,則必須由PHY自行配置,不能依賴ULPI的控制和數(shù)據(jù)信號(hào)去設(shè)置. |
data | I/O | 數(shù)據(jù)總線,在ULPI總線空閑時(shí)即PHY和LINK都沒有數(shù)據(jù)要發(fā)送時(shí),PHY拉低dir監(jiān)聽總線,此時(shí)由LINK發(fā)送數(shù)據(jù),而LINK又沒有數(shù)據(jù)要發(fā)送,所以就發(fā)送特殊值0,表示無效數(shù)據(jù)。必須支持8位數(shù)據(jù)寬,單邊沿,上升沿傳輸數(shù)據(jù)可選支持4位數(shù)據(jù)寬,雙邊沿,上下邊沿都傳輸數(shù)據(jù) |
dir | OUT | 由PHY驅(qū)動(dòng)控制數(shù)據(jù)總線的方向.PHY如果不能接收LINK發(fā)送過來的數(shù)據(jù)時(shí)拉高dir.比如PHY的PLL沒有穩(wěn)定時(shí)這適用于PHY的兩種時(shí)鐘模式. |
stp | IN | LINK拉高stp表示USB包傳輸或者寄存器寫的結(jié)束,也可結(jié)束任何接收。Stp必須是在最后一個(gè)有效數(shù)據(jù)之后的CLK拉高。 |
nxt | OUT | PHY拉低nxt以掐斷除了寄存器讀和RX_CMD外的所有傳輸。與USB接收期間的RxValid和USB傳輸期間的TxReady相同。如果dir先前為低,則PHY還可同時(shí)設(shè)置nxt和dir以指示USB接收激活(RxActive)。PHY不容許在LINK發(fā)送TX_CMD時(shí)的第一個(gè)時(shí)鐘拉低nxt |
USB****接口 | ||
D+ | I/O | USB的****D+引腳必須有 |
D- | I/O | USB的****D-****引腳必須有 |
ID | IN | USB的ID引腳 只有支持OTG的PHY才需要 |
VBUS | I/O | USB的VBUS引腳。支持OTG的PHY才需要。用于驅(qū)動(dòng)VBUS和VBUS比較器。 |
其他雜項(xiàng) | ||
XI | IN | 晶體輸入或者時(shí)鐘輸入引腳,由廠家實(shí)現(xiàn)決定支持的晶體頻率 |
XO | OUT | 晶體輸出引腳如果是只支持時(shí)鐘輸入的則沒有該引腳 |
C+ | I/O | 電荷泵電容器正極端子 |
C- | I/O | 電荷泵電容器負(fù)極端子 |
SPKR_L | IN | 可選的Carkit left/mono speaker輸入 |
SPKR_MIC | I/O | 可選的Carkit right speaker輸入或者麥克風(fēng)輸出 |
RBIAS | I/O | 偏置電流電阻器 |
如下是一個(gè)典型的信號(hào)連接示例
使用的是PHY的時(shí)鐘輸出模式,即CLOCK由PHY提供
1.5框圖
UTMI+ Level 3 PHY core
ULPI PHY可以包含符合任何UTMI+級(jí)別的核心,ULPI中不支持16位數(shù)據(jù)總線的信號(hào)。上述顯示了3級(jí)UTMI+核心的典型框圖,PHY供應(yīng)商必須指定預(yù)期的UTMI+級(jí)別,并提供符合該級(jí)別所需的功能。
ULPI PHY Wrapper
ULPI PHY橋?qū)TMI+接口簡化為ULPI中描述的低引腳接口。UTMI+Level 3 PHY核心上顯示的所有信號(hào)都減少為ULPI接口信號(hào)
clock**, data , dir , stp , 和 nxt . **寄存器映射存儲(chǔ)UTMI+接口的相對(duì)靜態(tài)信號(hào)。
Crystal Oscillator and PLL
當(dāng)晶體連接到PHY時(shí),內(nèi)部時(shí)鐘和外部60MHz接口時(shí)鐘由內(nèi)部PLL產(chǎn)生即PHY的時(shí)鐘輸出模式。
當(dāng)沒有連接晶體時(shí),PHY可以可選地從LINK提供的輸入60MHz時(shí)鐘生成內(nèi)部時(shí)鐘,即時(shí)鐘輸入模式。
General Biasing
內(nèi)部模擬電路需要精確的偏置電流。這通常是使用外部精確的參考電阻器產(chǎn)生的。
DrvVbusExternal and ExternalVbusIndicator
PHY可以可選地經(jīng)由可選引腳DrvVbusExternal來控制外部VBUS電源。
例如,外部電源可以是使用電源開關(guān)控制的電荷泵或5V電源。
外部電源由DrvVbus和OTG控制寄存器中的可選DrvVbusExternal位控制。
DrvVbusExternal輸出引腳的極性取決于實(shí)現(xiàn)方式。
如果提供對(duì)外部VBUS源的控制,則PHY可以可選地在可選引腳ExternalVbusIndicator上提供VBUS電源反饋信號(hào)。
如果提供該引腳,則該引腳的使用由OTG控制和接口控制寄存器中的可選控制位定義。
Power-On-Reset
必須在PHY中提供上電復(fù)位電路。當(dāng)電源首次施加到PHY時(shí),通電復(fù)位將重置所有電路,并使ULPI接口處于可用狀態(tài)。
Carkit Option
PHY可以可選地支持車載套件模式Carkit Mode。在該模式下,LINK和USB接口之間的麥克風(fēng)和喇叭信號(hào)由PHY路由。在Carkit單聲道模式下,SPKR_L輸入單聲道揚(yáng)聲器信號(hào),SPKR_MIC輸出麥克風(fēng)信號(hào)MIC。在Carkit立體聲模式中,SPKR_L輸入左揚(yáng)聲器信號(hào),SPKR_MIC輸入右揚(yáng)聲器信號(hào)SPKR_R。
1.6 模式
ULPI接口可以在下表中列出的五種獨(dú)立模式中的一種模式下運(yùn)行。默認(rèn)情況下,接口處于同步模式。其他模式由功能控制和接口控制寄存器中的位啟用。在同步模式下,數(shù)據(jù)總線傳輸命令和數(shù)據(jù)。在其他模式中,數(shù)據(jù)引腳會(huì)使用不同的功能重新定義。同步模式和低功率模式是強(qiáng)制性的。
模式名 | 模式描述 |
---|---|
Synchronous Mode同步模式 | 這是一般的操作模式.ULPI接口發(fā)送數(shù)據(jù)和命令和 clock同步. |
Low Power Mode低功耗模式 | PHY掉電時(shí)鐘停止.PHY保持拉高 dir,data總線重定義為 LineState和中斷信號(hào)。 |
6-pin FS/LS Serial Mode(optional) | data總線重定義為6-pin串行模式,包括6個(gè)引腳發(fā)送和接收USB的串行數(shù)據(jù)和1個(gè)引腳用于中斷信號(hào)事件.時(shí)鐘可使能或者不使能.該模式只有在支持8位data模式時(shí)才可能有。 |
3-pin FS/LS Serial Mode(optional) | data總線重定義為3-pin串行模式,包括3個(gè)引腳發(fā)送和接收USB的串行數(shù)據(jù)和1個(gè)引腳用于中斷信號(hào)事件.時(shí)鐘可使能或者不使能. |
Carkit Mode(optional) | Data總線重定義為Carkit模式,包括2個(gè)引腳用于串行UART數(shù)據(jù)傳輸和1個(gè)引腳用于中斷信號(hào)事件,時(shí)鐘可選停止 |
1.7上電和復(fù)位
ULPI PHY提供內(nèi)部通電復(fù)位電路,該電路在通電時(shí)復(fù)位所有邏輯,包括UTMI+核心、ULPI接口和寄存器。
通電后,當(dāng)時(shí)鐘開始翻轉(zhuǎn)時(shí),LINK必須通過寫入功能控制寄存器Function Control 中的Reset 位來重置PHY。當(dāng)該位被置位時(shí),PHY將拉高dir并復(fù)位數(shù)字核心。
復(fù)位完成后PHY拉低dir,自動(dòng)清除Function Control****寄存器的Reset位。
在拉低dir之后,PHY必須立即重新拉高dir,并向LINK發(fā)送RX CMD更新狀態(tài)。
復(fù)位期間,數(shù)據(jù)總線由PHY驅(qū)動(dòng),但數(shù)據(jù)未定義,LINK需要丟棄該數(shù)據(jù)。
在復(fù)位完成且dir被重新拉低之前,LINK不得嘗試訪問PHY。ULPI接口和寄存器不受復(fù)位的影響,除非寄存器定義中另有說明。
如下是一個(gè)典型的上電復(fù)位過程
T0表示電源穩(wěn)定
T2表示POR上電復(fù)位完成
對(duì)于時(shí)鐘輸出模式,當(dāng)PHY正在復(fù)位時(shí),DIR引腳將被驅(qū)動(dòng)為高電平,直到60 MHz輸出時(shí)鐘穩(wěn)定為止。
在時(shí)鐘輸入模式的情況下,DIR將保持高電平,直到內(nèi)部PLL鎖定并穩(wěn)定。
一旦PHY和LINK都完成復(fù)位,PHY就會(huì)向LINK發(fā)送RXCMD
PHY有可選的引腳復(fù)位RESETB,拉低RESETB將導(dǎo)致60 MHz輸出時(shí)鐘停止,DIR被驅(qū)動(dòng)為高電平。PHY內(nèi)部將以與POR相同的方式進(jìn)行復(fù)位,PLL將重新鎖定,ULPI寄存器將返回到其默認(rèn)狀態(tài)。
1.8中斷事件通知
在任何模式下,PHY都能夠檢測中斷事件,并通知LINK中斷事件已經(jīng)發(fā)生。
。中斷事件通知由USB Interrupt Enable Rising 、USB InterruptEnable Falling 和Carkit Interrupt Enable 這幾個(gè)寄存器配置。
如果啟用了中斷,則無論P(yáng)HY處于哪種模式,PHY都必須為所需的電路供電,唯一的例外是僅在同步模式下有效的HostDisconnect中斷,以及由IdPullup控制的IdGnd中斷。
為了確保時(shí)鐘停止時(shí)能夠檢測到中斷,LINK應(yīng)同時(shí)啟用上升沿和下降沿觸發(fā)。
如果處于同步模式,則中斷事件會(huì)導(dǎo)致PHY向LINK發(fā)送RX CMD命令字節(jié)。
如果不處于同步模式,則中斷事件導(dǎo)致PHY控制int引腳來通知中斷,當(dāng)Link檢測到int有效時(shí),它會(huì)喚醒時(shí)鐘(如果是停止的),然后讀取USB中斷鎖存USB Interrupt
Latch和Carkit中斷鎖存寄存器 Carkit Interrupt Latch,以確定中斷源。
1.9 時(shí)序
1.9.1 時(shí)鐘
下表總結(jié)了時(shí)鐘時(shí)序。8位接口的時(shí)序來自UTMI。可選的4位接口添加了新的時(shí)序。ULPI還引入了幾個(gè)必須由PHY供應(yīng)商填寫的新參數(shù)。如果PHY支持可選輸入時(shí)鐘,則LINK時(shí)鐘必須滿足表中的要求和任何供應(yīng)商特定的要求。
-
4位接口時(shí)鐘頻率和占空比容差減少一半到5%,因?yàn)殡p邊沿傳輸,上下邊沿都需要傳輸數(shù)據(jù)。
-
Clock startup time after de-assertion of SuspendM: Peripheral 該事件計(jì)算了以滿足chirp 時(shí)序,來源于UTMI規(guī)格書
-
Clock startup time after de-assertion of SuspendM: HOST,廠商填寫,建議啟動(dòng)時(shí)間小于1ms以滿足恢復(fù)時(shí)間resume要求。如果PHY用作主機(jī),并且接口時(shí)鐘不能設(shè)計(jì)為在1ms內(nèi)可用,則必須在內(nèi)部自動(dòng)發(fā)送恢復(fù)resume 信號(hào)。
-
如果PHY支持可選的輸入時(shí)鐘功能,則PHY供應(yīng)商必須說明準(zhǔn)備時(shí)間PHY preparation time after first transition of input clock。PHY必須同步其PLL,并準(zhǔn)備在指定時(shí)間前接受來自LINK的傳輸命令。LINK時(shí)鐘啟動(dòng)時(shí)間加上PHY準(zhǔn)備時(shí)間,必須滿足外圍設(shè)備5.6ms的啟動(dòng)時(shí)間(UTMI規(guī)格書中的說明),建議主機(jī)的總啟動(dòng)時(shí)間為1ms。
輸出時(shí)鐘模式
PHY必須能夠提供輸出時(shí)鐘,并滿足上表中列出的要求。
8位外設(shè)的輸出時(shí)鐘時(shí)序遵循UTMI規(guī)范,穩(wěn)態(tài)頻率(FSTEADY)提供USB高速數(shù)據(jù)所需的±500ppm精度。啟動(dòng)時(shí)間(TSTART_DEV)允許外圍設(shè)備喚醒其時(shí)鐘,并在7ms的最大允許時(shí)間內(nèi)完成Chirp-K的傳輸(TSTART_DEV+TSTEADY)。
對(duì)于具有8位數(shù)據(jù)總線的主機(jī),ULPI定義了一個(gè)新的輸出時(shí)鐘啟動(dòng)時(shí)間(TSTART_host)。
當(dāng)USB主機(jī)檢測到遠(yuǎn)程喚醒信號(hào)時(shí),它必須喚醒時(shí)鐘,并在1ms的最大允許時(shí)間內(nèi)開始發(fā)送resume-K,PHY供應(yīng)商必須指定此值。
對(duì)于可選的4位數(shù)據(jù)接口,上升沿和下降沿都用于時(shí)鐘數(shù)據(jù)。為了提供可用的下降沿,ULPI將頻率(FSTART_4BIT)和占空比(DSTART_4BIT)容差降低了5%。
在所有情況下,當(dāng)PHY掛起suspended 或時(shí)鐘不“可用”時(shí),必須停止輸出時(shí)鐘。
如下是一個(gè)PHY時(shí)鐘輸出模式的示意,時(shí)鐘輸出模式是PHY必須要支持的,
REFCLK輸入晶體或者時(shí)鐘源通過內(nèi)部PLL產(chǎn)生時(shí)鐘CLKOUT。
輸入時(shí)鐘模式(可選)
PHY可以可選地支持來自LINK的60MHz輸入時(shí)鐘,從而不需要晶體。PHY必須從60MHz輸入時(shí)鐘驅(qū)動(dòng)其內(nèi)部PLL。
PHY供應(yīng)商負(fù)責(zé)指定所需的輸入時(shí)鐘時(shí)序。PHY供應(yīng)商必須說明所需的頻率、占空比、抖動(dòng)、上升和下降時(shí)間偏差,如上表所示。還必須指定內(nèi)部PHY時(shí)鐘準(zhǔn)備時(shí)間TPREP。如有必要,需求應(yīng)包括輸入電容以及吸電流和源電流能力
LINK可以選擇在低功率模式期間禁用或關(guān)閉其PLL,并且在其PLL穩(wěn)定之前不應(yīng)激活其時(shí)鐘輸出。不穩(wěn)定的LINK時(shí)鐘可能導(dǎo)致PHY PLL需要更長的時(shí)間來穩(wěn)定。
該模式是可選的,如下是一個(gè)示意
比如對(duì)于USB334x則CLKOUT接VDDIO表示使用該模式,不同芯片可能會(huì)不一樣,要看手冊決定。
輸入時(shí)鐘的抖動(dòng)
如下的時(shí)序測試平面中
USB規(guī)格強(qiáng)制要求,在連接器A(TP2)處測得的高速傳輸眼圖的抖動(dòng)不大于7.5%
在PHY引腳(TP1)處測得的抖動(dòng)建議不大于5%.
ULPI規(guī)范沒有指定LINK輸出時(shí)鐘引腳(TP0)處的時(shí)鐘抖動(dòng)要求,
然而LINK和PHY設(shè)計(jì)者應(yīng)當(dāng)最小化他們的時(shí)鐘抖動(dòng),使得LINK加PHY抖動(dòng)的總和滿足推薦的5%抖動(dòng)預(yù)算。
1.9.2 控制和數(shù)據(jù)
控制和數(shù)據(jù)時(shí)序要求如下,這些時(shí)序僅適用于同步模式。所有時(shí)序都是相對(duì)于在PHY時(shí)鐘引腳處看到的時(shí)鐘來測量的。控制信號(hào)和8位數(shù)據(jù)總是在時(shí)鐘的上升沿上計(jì)時(shí),而可選的雙沿4位數(shù)據(jù)信號(hào)在上升沿和下降沿上計(jì)時(shí)。
主要關(guān)注建立時(shí)間和保持時(shí)間。
4位數(shù)據(jù)時(shí)鐘(可選)
PHY可以可選地支持4位數(shù)據(jù)總線而不是8位數(shù)據(jù)總線。原始的8位數(shù)據(jù)或命令被分成兩個(gè)4位的“半字節(jié)”。最低有效半字節(jié),數(shù)據(jù)(3:0),首先在時(shí)鐘的上升沿傳輸。最高有效的半字節(jié),數(shù)據(jù)(7:4),在時(shí)鐘的下降沿被第二次傳輸。不允許傳輸奇數(shù)個(gè)4位半字節(jié),這確保了完整字節(jié)的數(shù)據(jù)到達(dá)與8位設(shè)計(jì)的上升沿相同。
LINK和PHY必須滿足關(guān)于上升沿和下降沿規(guī)定的更嚴(yán)格的定時(shí)。允許輸出和輸入時(shí)鐘模式。
控制信號(hào)dir、stp和nxt僅在60MHz接口時(shí)鐘的上升沿上同步,因?yàn)閿?shù)據(jù)傳輸總是字節(jié)對(duì)齊的。
時(shí)序如圖所示
1.10總結(jié)
本篇概述了ULPI相關(guān)的內(nèi)容,內(nèi)容比較多后面還有工作模式和寄存器相關(guān)內(nèi)容會(huì)分開講。
1.11參考
《UTMI+ Low Pin Interface (ULPI) Specification Revision 1.1 October 20, 2004》
《MicroChip AN 19.17 ULPI Design Guide》
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8866瀏覽量
152903 -
usb
+關(guān)注
關(guān)注
60文章
8055瀏覽量
269277 -
PHY
+關(guān)注
關(guān)注
2文章
310瀏覽量
52350 -
驅(qū)動(dòng)開發(fā)
+關(guān)注
關(guān)注
0文章
133瀏覽量
12213 -
DWC2
+關(guān)注
關(guān)注
0文章
35瀏覽量
206
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡介

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x02 DWC2 USB2.0 IP功能特征介紹

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x0D PHY寄存器讀寫代碼編寫與測試

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x0E 使用邏輯分析儀分析ULPI數(shù)據(jù)

基于DWC2的USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解

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

基于DWC2的USB驅(qū)動(dòng)開發(fā)-USB連接詳解

基于DWC2的USB驅(qū)動(dòng)開發(fā)-設(shè)備類驅(qū)動(dòng)框架

基于DWC2的USB驅(qū)動(dòng)開發(fā)-發(fā)送相關(guān)的寄存器DMA寄存器詳解

基于DWC2的USB驅(qū)動(dòng)開發(fā)-數(shù)據(jù)不能發(fā)送問題分析案例

新思 DWC2 的參考手冊從哪里可以下載
基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x0A ULPI接口同步模式介紹

基于DWC2的USB驅(qū)動(dòng)開發(fā)-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd

評(píng)論