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

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

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

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

嵌入式USB開發(fā) ? 來(lái)源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-06-02 09:05 ? 次閱讀

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

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x08 GLPI接口詳解 (qq.com)

1.1 前言

進(jìn)行USB驅(qū)動(dòng)開發(fā),有必要了解整個(gè)數(shù)據(jù)流涉及的設(shè)備,而PHY是重要的一環(huán),它負(fù)責(zé)物理層的處理,是模擬數(shù)字的橋梁。而PHY的了解重點(diǎn)是其和LINK之間的接口,USB中PHY和LINK之間的標(biāo)準(zhǔn)接口是UTMI,而ULPI是其低引腳的實(shí)現(xiàn)。

介紹ULPI之前有必要先了解下GLPI,因?yàn)閁LPI是基于GLPI的一個(gè)具體的實(shí)現(xiàn)。

GLPI即Generic Low Pin Interface,通用低引腳接口,是應(yīng)用于LINK和PHY之間的接口??梢曰诖私涌诙x特定應(yīng)用的接口,也就是該接口規(guī)范是一個(gè)通用的接口設(shè)計(jì),可以基于此有具體的應(yīng)用實(shí)現(xiàn),比如基于該接口實(shí)現(xiàn)UTMI協(xié)議的低引腳接口即ULPI。

1.2信號(hào)

  1. GLPI定義了如下的信號(hào),這些信號(hào)是通用的,可以用于傳輸不同的數(shù)據(jù)類型。根據(jù)應(yīng)用的不同,數(shù)據(jù)流可以用于發(fā)送和接收數(shù)據(jù)包、訪問(wèn)寄存器集、生成中斷,甚至重新定義接口本身。
  2. 所有信號(hào)都是和clock同步的,如果沒(méi)有clock則所有信號(hào)也可以是異步的。也就是規(guī)范本身并沒(méi)有完全限定死一定要clock,一定要是同步的。
  3. 作為通用接口,規(guī)范并不規(guī)定數(shù)據(jù)流本身,數(shù)據(jù)流定義是特定應(yīng)用實(shí)現(xiàn)決定的,只要具體的實(shí)現(xiàn)明確定義,實(shí)現(xiàn)互操作性即可。
  4. 通常來(lái)說(shuō)控制信號(hào)dir、stp和nxt是在假設(shè)PHY是數(shù)據(jù)總線的主機(jī)的情況下指定的。當(dāng)然為了通用性,也并沒(méi)有完全限定死。如果需要,實(shí)現(xiàn)也可以將LINK定義為主機(jī)此時(shí)則控制信號(hào)的方向和前者要顛倒過(guò)來(lái)。
信號(hào) 方向(以PHY的角度看) 描述
PHY****接口 以下都是以PHY作為主機(jī)描述
clock I/O 接口時(shí)鐘.雙向都可以,即可以LINK產(chǎn)生該時(shí)鐘也可以PHY產(chǎn)生該時(shí)鐘,即對(duì)應(yīng)于PHY時(shí)鐘的兩種模式,后面文章會(huì)講到.如果有clock所有信號(hào)都是和clock同步的.當(dāng)然本規(guī)范也沒(méi)有限定死,即實(shí)現(xiàn)也可以沒(méi)有clock則所有信號(hào)都是異步的。所有信號(hào)和clock的上升沿同步。
data I/O 雙向數(shù)據(jù)總線,空閑時(shí)LINK驅(qū)動(dòng)為低,LINK和PHY驅(qū)動(dòng)為非0的數(shù)據(jù)則表示有數(shù)據(jù)傳輸。(為什么? 如果一方驅(qū)動(dòng)為0則另一方怎么驅(qū)動(dòng)? 因?yàn)檎l(shuí)低誰(shuí)強(qiáng)) .從后面總線權(quán)限可以看出不會(huì)出現(xiàn)主從都驅(qū)動(dòng)總線的情況,?因?yàn)榭偩€所有權(quán)由主機(jī)調(diào)度,且由dir決定。并且驅(qū)動(dòng)為0只是一個(gè)特殊值,用于區(qū)別其他正常數(shù)據(jù)的情況,理論上驅(qū)動(dòng)為全1也?可以。這里為什么LINK一定要發(fā)一個(gè)數(shù)據(jù)是因?yàn)镻HY不發(fā)數(shù)據(jù)就拉低dir監(jiān)聽數(shù)據(jù),所以CLK上升沿總是會(huì)采集到數(shù)據(jù)用一個(gè)特殊值來(lái)表示空閑無(wú)效數(shù)據(jù)?。 總線的擁有權(quán)是由主機(jī)決定的,比如PHY作為主機(jī)則由PHY驅(qū)動(dòng)dir來(lái)決定.在clock的上升沿同步數(shù)據(jù)即單邊沿模式.當(dāng)然實(shí)現(xiàn)也可以設(shè)計(jì)為雙邊沿傳輸數(shù)據(jù)模式。
dir OUT 主機(jī)驅(qū)動(dòng)dir決定data總線的所有權(quán).如果PHY有數(shù)據(jù)需要傳輸給LINK,則PHY驅(qū)動(dòng)dir為高擁有總線.如果PHY沒(méi)有數(shù)據(jù)要傳輸給LINK則拉低dir,表示LINK擁有data總線,此時(shí)PHY監(jiān)聽總線有非0 的數(shù)據(jù)則表示LINK發(fā)過(guò)來(lái)了數(shù)據(jù)給PHY.如果PHY不能接收LINK的數(shù)據(jù)也可以拉高dir.比如PHY的PLL沒(méi)有穩(wěn)定時(shí)就會(huì)拉高dir,此時(shí)LINK不能往PHY發(fā)非0數(shù)據(jù).
stp IN 停止.LINK拉高該信號(hào)1個(gè)時(shí)鐘來(lái)停止當(dāng)前的數(shù)據(jù)流(LINK到PHY的或者PHY到LINK的).如果此時(shí)是LINK發(fā)送數(shù)據(jù)到PHY,LINK拉高stp則表示前一個(gè)時(shí)鐘的數(shù)據(jù)是最后一個(gè)數(shù)據(jù).原文是stp indicates thelast byte of data was on the bus in the previous cycle 我覺(jué)的從后面波形圖理解來(lái)說(shuō)應(yīng)該不是前一個(gè)時(shí)鐘而應(yīng)該就是本STP拉高對(duì)應(yīng)的CLK上升沿的數(shù)據(jù)是最后一個(gè)數(shù)據(jù)。 如果此時(shí)是PHY發(fā)送數(shù)據(jù)到LINK,LINK拉高stp則PHY會(huì)強(qiáng)制停止本次數(shù)據(jù)發(fā)送,并且PHY會(huì)拉低dir,表示交出數(shù)據(jù)總線控制權(quán)給LINK。
nxt OUT PHY拉高nxt表示是否還有數(shù)據(jù)或者是否接收到數(shù)據(jù).1.如果LINK發(fā)送數(shù)據(jù)給PHY,PHY拉高nxt表示當(dāng)前字節(jié)被PHY接收了.LINK可以在下一個(gè)時(shí)鐘繼續(xù)發(fā)送數(shù)據(jù)給PHY.。2.如果是PHY發(fā)送數(shù)據(jù)給LINK則PHY拉高nxt表示后面還有數(shù)據(jù)LINK可以繼續(xù)讀。

1.3 協(xié)議

1.3.1 總線所有權(quán)

非特殊實(shí)現(xiàn)都是PHY作為主機(jī),PHY驅(qū)動(dòng)dir來(lái)決定總線的所有權(quán)。

PHY需要發(fā)送數(shù)據(jù)時(shí)拉高dir,其他時(shí)候都是拉低dir監(jiān)聽總線。

如果LINK需要獲取總線權(quán)可以等PHY發(fā)送完不再需要發(fā)送數(shù)據(jù)時(shí)PHY主動(dòng)拉低dir,LINK也可以主動(dòng)拉高stp一個(gè)時(shí)鐘來(lái)結(jié)束PHY的發(fā)送,讓PHY主動(dòng)讓出總線所有權(quán),讓LINK來(lái)發(fā)送數(shù)據(jù),這種情況LINK主動(dòng)請(qǐng)求的則必須進(jìn)行一次數(shù)據(jù)發(fā)送,PHY才會(huì)重新拉高dir重新?lián)碛锌偩€。

dir為0時(shí)LINK擁有總線所有權(quán),LINK可以往data總線發(fā)數(shù)據(jù),

dir為1時(shí)PHY擁有總線所有權(quán),PHY可以往data總線發(fā)數(shù)據(jù),

所有信號(hào)都是和CLK同步的,且在CLK的上升沿修改數(shù)據(jù),所以CLK的上升沿時(shí)dir翻轉(zhuǎn),

dir翻轉(zhuǎn)時(shí)的那一個(gè)CLK叫做turnaround,LINK和PHY都不能往data總線發(fā)送數(shù)據(jù),LINK和PHY也要丟棄該時(shí)候的總線數(shù)據(jù)。

所以在實(shí)現(xiàn)時(shí)dir可以直接用于控制PHY和LINK的輸出緩沖器,只是PHY和LINK兩邊的使能電平是反的。

image.png

  1. dir為低,LINK擁有總線所有權(quán),LINK可以往總線發(fā)數(shù)據(jù)
  2. dir翻轉(zhuǎn)時(shí)對(duì)應(yīng)的那一個(gè)CLK,LINK和PHY都不能發(fā)數(shù)據(jù),總線上的數(shù)據(jù)無(wú)效,即turnaround
  3. dir為高,PHY擁有總線所有權(quán),PHY可以往總線發(fā)數(shù)據(jù)
  4. dir和clock同步,dir總是在clk的上升沿翻轉(zhuǎn)

1.3.2 傳輸數(shù)據(jù)

image.png

  1. dir為0, LINK擁有總線所有權(quán),而LINK又沒(méi)有數(shù)據(jù)要發(fā)給PHY,此時(shí)就是空閑階段,LINK驅(qū)動(dòng)data總線為0,此時(shí)PHY監(jiān)聽到全0就認(rèn)為是無(wú)效數(shù)據(jù).
  2. dir為0, LINK擁有總線所有權(quán),LINK有數(shù)據(jù)要發(fā)送給PHY,則LINK驅(qū)動(dòng)總線為非0值D0。

但是此時(shí)PHY拉低了nxt,表示不能接收,所以LINK只能下一個(gè)CLK重發(fā)D0

  1. PHY收到LINK發(fā)送過(guò)來(lái)的數(shù)據(jù)D0,拉高nxt,表示PHY收到了,這樣LINK可以繼續(xù)發(fā)D1。
  2. LINK主動(dòng)拉高stp表示結(jié)束傳輸
  3. stp保持高一個(gè)CLK后拉低,此時(shí)PHY也會(huì)拉低nxt,如果PHY需要發(fā)送數(shù)據(jù),需要擁有總線權(quán)則會(huì)拉高dir,否則會(huì)繼續(xù)拉低dir等待LINK的下一次傳輸。上圖中dir拉高了,說(shuō)明PHY需要發(fā)數(shù)據(jù)了,dir拉高的一個(gè)CLK內(nèi)是turn around總線無(wú)效。
  4. Turn around之后PHY發(fā)送數(shù)據(jù)。
  5. PHY發(fā)送數(shù)據(jù),同時(shí)拉高nxt表示后續(xù)還有數(shù)據(jù)要發(fā)。
  6. PHY后面沒(méi)有數(shù)據(jù)要發(fā)了拉低nxt,并且拉低dir交出總線所有權(quán)。

所以PHY拉低nxt可以用于掐斷數(shù)據(jù)傳輸(LINK或者PHY發(fā)送的數(shù)據(jù)), 在傳輸期間,nxt可以在拉高stp的相同周期中拉高。

從以上可以看出由LINK發(fā)送最后一個(gè)字節(jié),轉(zhuǎn)到PHY發(fā)送第一個(gè)字節(jié)需要2個(gè)周期,即stp要一個(gè)周期,turn around需要一個(gè)周期。

1.3.3 停止傳輸數(shù)據(jù)

PHY可以拉高dir用于結(jié)束LINK的發(fā)送

LINK可以拉高stp一個(gè)時(shí)鐘來(lái)結(jié)束PHY的發(fā)送,此時(shí)PHY需要無(wú)條件拉低dir,準(zhǔn)備接收LINK的數(shù)據(jù)。PHY必須等接收完LINK的數(shù)據(jù)才能重新拉高dir。也就是LINK拉高stp以結(jié)束上一次PHY的傳輸,告訴PHY強(qiáng)制拉低dir來(lái)使得LINK擁有總線權(quán),這也是LINK主動(dòng)需要切換到總線所有權(quán)的一種方式,這時(shí)則LINK必須進(jìn)行一次發(fā)送,只有這樣PHY才會(huì)重新拉高dir 使得PHY擁有總線權(quán)。這里有個(gè)未定義行為,假設(shè)LINK進(jìn)行了stp拉高但是又不發(fā)送數(shù)據(jù)或者一直發(fā)送數(shù)據(jù)不stp,那么PHY是不是只能一直等待,不能重新拉高dir擁有總線權(quán)了?。

image.png

  1. dir為高 PHY在發(fā)送數(shù)據(jù)D2,nxt為高說(shuō)明后面還有數(shù)據(jù)待發(fā)送
  2. dir為高 PHY在發(fā)送數(shù)據(jù)D3,nxt為低說(shuō)明后面的數(shù)據(jù)無(wú)效
  3. 這個(gè)CLK由于前面一次nxt為低,所以數(shù)據(jù)無(wú)效,LINK不接收, nxt拉高說(shuō)明下一個(gè)CLK PHY又有數(shù)據(jù)要發(fā)
  4. 這個(gè)CLK PHY發(fā)送D4, LINK接收,nxt為高表示PHY還有數(shù)據(jù)要發(fā),但是在此時(shí)LINK想要發(fā)送數(shù)據(jù),于是拉高stp一個(gè)CLK.
  5. Stp拉高一個(gè)CLK后要拉低,此時(shí)PHY無(wú)條件拉低dir交出總線所有權(quán),同時(shí)拉低nxt.
  6. 一個(gè)turn around時(shí)鐘后,LINK發(fā)送數(shù)據(jù)D0,此時(shí)PHY拉低nxt為0表示PHY沒(méi)有準(zhǔn)備好接收數(shù)據(jù)
  7. 由于上一次PHY沒(méi)有準(zhǔn)備好接收數(shù)據(jù),LINK只能重新發(fā)D0,此時(shí)PHY拉高nxt表示接收了數(shù)據(jù)D0
  8. LINK繼續(xù)發(fā)送D1,PHY拉高nxt表示接收了數(shù)據(jù)D1
  9. LINK發(fā)送stp主動(dòng)結(jié)束發(fā)送,此時(shí)PHY也要拉低nxt。

之后PHY再看需要是不是要發(fā)送數(shù)據(jù)來(lái)決定是拉高還是拉低dir。

1.4 總結(jié)

GLPI的接口是比較簡(jiǎn)單的,需要注意主從機(jī),PHY是主機(jī)LINK是從機(jī),

Stp是從機(jī)驅(qū)動(dòng),nxt和dir是主機(jī)驅(qū)動(dòng)。

需要注意總線的擁有權(quán)由主機(jī)決定,主機(jī)需要發(fā)送是拉高dir擁有總線權(quán),其他時(shí)候拉低dir交出總線權(quán)監(jiān)聽總線。而LINK可以在dir為高,PHY在發(fā)送數(shù)據(jù)時(shí)主動(dòng)拉高stp一個(gè)CLK來(lái)請(qǐng)求PHY交出總線權(quán),PHY必須無(wú)條件交出,并且必須等LINK發(fā)送完數(shù)據(jù)之后才能重新?lián)碛锌偩€。

所以關(guān)鍵點(diǎn)是了解誰(shuí)驅(qū)動(dòng)什么信號(hào),總線擁有權(quán)的切換,了解這兩點(diǎn)就基本了解了該接口的邏輯了。

1.5 參考

《UTMI+ Low Pin Interface (ULPI) Specification Revision 1.1 October 20, 2004》
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8451

    瀏覽量

    150733
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7879

    瀏覽量

    263738
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2773

    瀏覽量

    76543
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2859

    瀏覽量

    87914
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    118
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡(jiǎn)介

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-0x01開篇介紹與新思DWC2
    的頭像 發(fā)表于 05-08 18:10 ?4460次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>01開篇介紹與新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0控制器簡(jiǎn)介

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

    DWC2即新思(Synopsys )的DesignWare? Cores USB 2.0 HiSpeed On-The-Go (OTG)控制器IP,被大量使用。從linux的內(nèi)核源碼驅(qū)動(dòng)中就帶
    的頭像 發(fā)表于 05-09 10:09 ?8946次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x</b>02 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP功能特征介紹

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x07 DWC2 USB2.0 IP 配置參數(shù)

    混淆,IP的配置參數(shù)固定之后就不能改了,就決定了IP所具有的能力。對(duì)于軟件開發(fā)者來(lái)說(shuō)也要了解其具體的配置,因?yàn)橹挥兄喇?dāng)前IP的配置,知道支持哪些功能,哪些是軟件可以配置的哪些是硬件固定了無(wú)法配置的,等等這些,后面寫驅(qū)動(dòng)才心中有數(shù)。 配置相關(guān)
    的頭像 發(fā)表于 05-17 09:49 ?2140次閱讀

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x08 ULPI接口協(xié)議概覽

    本篇概述了ULPI相關(guān)的內(nèi)容,內(nèi)容比較多后面還有工作模式和寄存器相關(guān)內(nèi)容會(huì)分開講。
    的頭像 發(fā)表于 06-02 13:08 ?8083次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x08</b> ULPI<b class='flag-5'>接口</b>協(xié)議概覽

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

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解 (qq.com) 一.? 前言 IAD描述符用于一個(gè)設(shè)備功能關(guān)聯(lián)多
    的頭像 發(fā)表于 06-27 08:45 ?5.1w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-IAD描述符<b class='flag-5'>詳解</b>

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

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-USB復(fù)位詳解 (qq.com) 一.前言
    的頭像 發(fā)表于 07-07 11:18 ?5.4w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>復(fù)位<b class='flag-5'>詳解</b>

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

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-USB連接詳解 (qq.com) 一.前
    的頭像 發(fā)表于 07-07 08:46 ?3508次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>連接<b class='flag-5'>詳解</b>

    基于DWC2USB驅(qū)動(dòng)開發(fā)-高速設(shè)備枚舉為全速設(shè)備問(wèn)題案例分析

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-高速設(shè)備枚舉為全速設(shè)備問(wèn)題案例分析 (qq.com) 一.前言 ? 本文分享一個(gè)高速設(shè)備被枚舉為全速的問(wèn)題。 ? ? 高速設(shè)備速
    的頭像 發(fā)表于 07-10 17:12 ?1283次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-高速設(shè)備枚舉為全速設(shè)備問(wèn)題案例分析

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

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-設(shè)備類驅(qū)動(dòng)框架 (qq.com) 一.前言 從軟件頂層,從數(shù)據(jù)流的角度來(lái)看
    的頭像 發(fā)表于 07-16 15:56 ?1253次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-設(shè)備類<b class='flag-5'>驅(qū)動(dòng)</b>框架

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

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-發(fā)送相關(guān)的寄存器DMA寄存器詳解 (qq.com) 前言 如下寄存器DIEPxxx,
    的頭像 發(fā)表于 07-16 16:42 ?1552次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-發(fā)送相關(guān)的寄存器DMA寄存器<b class='flag-5'>詳解</b>

    基于DWC2USB驅(qū)動(dòng)開發(fā)-USB詳解

    不管什么通訊協(xié)議,比如UART,SPI,USB等等,不管是并口還是串口,不管是同步還是異步,我們從抽象的角度去看,其本質(zhì)都是一樣的。都是先定義物理信號(hào),物理信號(hào)可能是差分,單端,電流驅(qū)動(dòng)電壓驅(qū)動(dòng)等等
    的頭像 發(fā)表于 07-23 17:11 ?2399次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>USB</b>包<b class='flag-5'>詳解</b>

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

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-數(shù)據(jù)不能發(fā)送問(wèn)題分析案例 (qq.com) ? 一.前言 ? ? ? ?對(duì)于驅(qū)動(dòng)
    的頭像 發(fā)表于 08-08 09:43 ?2062次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-數(shù)據(jù)不能發(fā)送問(wèn)題分析案例

    如何對(duì)基于hal庫(kù)的DWC2 USB IP進(jìn)行調(diào)試呢

    背景之前適配 DWC2 USB IP 的時(shí)候,主要是基于 st 的 hal 庫(kù)來(lái)走的,當(dāng)時(shí)我就對(duì)他們的 hal 庫(kù)代碼不滿,只是無(wú)奈,迫于時(shí)間就沒(méi)重構(gòu),果不其然,usb bug 一堆,隨意舉例,這還
    發(fā)表于 06-14 15:23

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x0A ULPI接口同步模式介紹

    同步模式是ULPI必須支持的且主要的模式,內(nèi)容比較多,對(duì)于軟件開發(fā)人員來(lái)說(shuō)重點(diǎn)關(guān)注下總線時(shí)序,即數(shù)據(jù)是如何交互的,這樣必要的的時(shí)候可以使用邏輯分析儀進(jìn)行抓包分析。另外重點(diǎn)關(guān)注下各個(gè)狀態(tài)是如何反應(yīng)在ULPI的寄存器中的
    的頭像 發(fā)表于 06-04 15:35 ?3754次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-<b class='flag-5'>0x0</b>A ULPI<b class='flag-5'>接口</b>同步模式介紹

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

    本文轉(zhuǎn)自公眾號(hào)系列文章,歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-USB詳解 (qq.com)
    的頭像 發(fā)表于 07-24 18:04 ?1409次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-抽絲剝繭再論切換到狀態(tài)階段標(biāo)志DOEPINTn.StsPhseRcvd