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

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

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

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x0B ULPI接口寄存器介紹

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-06-05 15:36 ? 次閱讀

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

基于DWC2的USB驅(qū)動(dòng)開發(fā)-0x0B ULPI接口寄存器介紹 (qq.com)

一. ULPI(寄存器介紹)

1.1 前言

前面同步模式中我們介紹了寄存器的讀寫, 對于軟件的角度來說無非就是通過LINK的ULPI接口讀寫PHY的寄存器來設(shè)置和獲取狀態(tài),同時(shí)通過ULPI接口來進(jìn)行USB數(shù)據(jù)的收發(fā)。

只是這個(gè)過程主要由硬件LINK完成,軟件只需要進(jìn)行一些中斷的處理簡單的設(shè)置即可。當(dāng)然在某些必要的時(shí)候我們也需要通過軟件直接讀寫PHY的寄存器以進(jìn)行操作和獲取狀態(tài),這主要是在某些底層問題調(diào)試或者性能分析時(shí)需要用到。DWC2提供了直接訪問PHY寄存器的寄存器接口,這個(gè)后面再講。

1.2 寄存器讀寫回顧

在同步模式介紹中詳細(xì)介紹了寄存器的讀寫操作,這里重新回顧下對應(yīng)的時(shí)序圖。

立即寄存器寫

圖片

立即寄存器讀

圖片

立即寄存器讀寫在TX CMD時(shí)被USB接收中斷

圖片

立即寄存器讀寫在turn around時(shí)被USB接收中斷

image.png

USB接收和寄存器讀的Data時(shí)鐘在同一個(gè)時(shí)鐘,USB接收延遲

image.png

寄存器讀后緊接著USB接收

圖片

寄存器寫stp拉高時(shí)緊接著USB接收

圖片

寄存器讀緊接著USB接收

圖片

擴(kuò)展寄存器寫

圖片

擴(kuò)展寄存器讀

圖片

擴(kuò)展寄存器讀在擴(kuò)展地址對應(yīng)的時(shí)鐘被USB接收中斷

image.png

1.3 寄存器表

如表所示,ULPI提供了一個(gè)立即寄存器集,該寄存器集具有6位地址,該地址構(gòu)成傳輸命令字節(jié)Transmit Command Byte的一部分。擴(kuò)展寄存器還提供需要額外時(shí)鐘周期才能完成的8位地址。立即數(shù)寄存器集被映射到擴(kuò)展地址的低位。也就是說,讀取或?qū)懭霐U(kuò)展地址“00XXXXXX”實(shí)際上將對立即寄存器集進(jìn)行操作。PHY必須支持立即和擴(kuò)展寄存器操作。

擴(kuò)展寄存器訪問需要多一個(gè)CLK來發(fā)送寄存器地址,因?yàn)榈刂反笮?位,不能直接編碼在命令字節(jié)中了,所以要單獨(dú)發(fā)送。實(shí)際上立即寄存器也可以使用擴(kuò)展寄存器的方式操作,即寄存器地址的高2位為0,所以采用擴(kuò)展寄存器方式是統(tǒng)一編碼所有寄存器的,操作高2位為0的擴(kuò)展寄存器和立即寄存器操作是一樣的。那為什么不統(tǒng)一為擴(kuò)展寄存器操作一種方式呢,

因?yàn)閁SB關(guān)注數(shù)據(jù)傳輸帶寬,所以要減少其他控制操作:寄存器讀寫占用的ULPI接口帶寬,

所以把關(guān)鍵的寄存器直接編碼在命令字中,減少一個(gè)CLK的時(shí)間,減少寄存器讀寫占用的帶寬,提高數(shù)據(jù)傳輸?shù)膸挕?/p>

image.png

下表的寄存器訪問圖例適用

支持位操作,在只需要置位或者清除某些位時(shí)比"讀-修改-寫"更高效,

因?yàn)閁LPI接口即要進(jìn)行USB數(shù)據(jù)傳輸又要進(jìn)行寄存器讀寫控制,數(shù)據(jù)傳輸才是重點(diǎn),要保證高數(shù)據(jù)傳輸帶寬所以要盡量減少寄存器讀寫占用的帶寬,所以增加set clr兩種寄存器操作模式,而不是只有rd和wr,不同的操作通過寄存器地址區(qū)分。

圖片

1.4立即寄存器

1.4.1 VID和PID

地址:00h-03h只讀。

圖片

1.4.2 功能控制Function Control

控制PHY的UTMI功能設(shè)置,是最頻繁使用的寄存器。

地址:04h-06h(讀取)、04h(寫入)、05h(設(shè)置)、06h(清除)。

圖片

1.4.3 接口控制Interface Control

啟用替代接口和物理層功能。此寄存器中的所有位都是PHY的可選功能

地址:07h-09h(讀?。?7h(寫入)、08h(設(shè)置)、09h(清除)。

圖片

圖片

15:適用于切換到串行或Carkit模式的LINK實(shí)現(xiàn),并且不需要來自PHY的時(shí)鐘源。

1.4.4 OTG控制 OTG Control

控制PHY的UTMI+OTG功能。

地址:0Ah-0Ch(讀取)、0Ah(寫入)、0Bh(設(shè)置)、0Ch(清除)。

圖片

16:如果采用Carkit模式寄存器,上拉電阻器檢測電路應(yīng)符合[CEA-936A]

1.4.5 USB中斷上升沿使能

地址:0Dh-0Fh(讀取),0Dh(寫入),0Eh(設(shè)置),0Fh。

如果設(shè)置,則當(dāng)相應(yīng)的PHY信號從低變高時(shí),該寄存器中的位導(dǎo)致生成中斷事件通知。默認(rèn)情況下,所有轉(zhuǎn)換都處于啟用狀態(tài)。RxActive和RxError必須始終立即通信,因此不包括在此寄存器中。當(dāng)上升沿和下降沿使能都被禁用時(shí),中斷電路可以在任何模式下斷電。

為了確保時(shí)鐘斷電時(shí)能夠檢測到中斷,LINK應(yīng)同時(shí)啟用上升沿和下降沿。

圖片

1.4.6 USB中斷下降沿使能

地址:10h-12h(讀?。?、10h(寫入)、11h(設(shè)置)、12h(清除)

如果設(shè)置,則當(dāng)相應(yīng)的PHY信號從高變?yōu)榈蜁r(shí),該寄存器中的位導(dǎo)致生成中斷事件通知。默認(rèn)情況下,所有轉(zhuǎn)換都處于啟用狀態(tài)。RxActive和RxError必須始終立即通信,因此不包括在此寄存器中。當(dāng)上升沿和下降沿使能都被禁用時(shí),中斷電路可以在任何模式下斷電。為了確保時(shí)鐘斷電時(shí)能夠檢測到中斷,LINK應(yīng)同時(shí)啟用上升沿和下降沿。

圖片

1.4.7 USB中斷狀態(tài)

地址:13h(只讀)。

指示中斷源信號的當(dāng)前值。當(dāng)上升沿和下降沿使能都被禁用時(shí),中斷電路可以在任何模式下斷電。為了確保時(shí)鐘斷電時(shí)能夠檢測到中斷,LINK應(yīng)同時(shí)啟用上升沿和下降沿。

image.png

1.4.8 USB中斷鎖存

地址:14小時(shí)(只讀,自動(dòng)清除)。

當(dāng)在對應(yīng)的內(nèi)部信號上發(fā)生未屏蔽的改變時(shí),這些比特由PHY設(shè)置。當(dāng)LINK讀取此寄存器時(shí),或當(dāng)進(jìn)入低功率模式時(shí),PHY將自動(dòng)清除所有位。無論ClockSuspendM的值如何,當(dāng)進(jìn)入串行模式或Carkit套件模式時(shí),PHY也會(huì)清除此寄存器。當(dāng)上升沿和下降沿使能都被禁用時(shí),中斷電路可以在任何模式下斷電。為了確保時(shí)鐘斷電時(shí)能夠檢測到中斷,LINK應(yīng)同時(shí)啟用上升沿和下降沿。

圖片

PHY必須遵循下表中的規(guī)則來設(shè)置任何鎖存寄存器位。需要注意的是,如果寄存器讀取數(shù)據(jù)在設(shè)置USB中斷鎖存位的同一周期內(nèi)返回到LINK,則中斷條件會(huì)立即在寄存器讀取數(shù)據(jù)中給出,而鎖存位不會(huì)設(shè)置。

圖片

注意,LINK在同步模式下讀取USB中斷鎖存寄存器是可選的,因?yàn)镽X CMD字節(jié)已經(jīng)直接指示中斷源。

1.4.9 調(diào)試寄存器

地址:15h(只讀)

指示對調(diào)試有用的各種信號的當(dāng)前值。

圖片

1.4.10 自定義使用寄存器Scratch寄存器

地址:16h-18h(讀?。?、16h(寫入)、17h(設(shè)置)、18h(清除)。

用戶可自定義寫入任何值,可作為測試使用

圖片

1.4.11 Carkit控制寄存器

地址:19h-1Bh(讀?。?、19h(寫入)、1Ah(設(shè)置)、1Bh(清除)。

此寄存器是可選的控制PHY內(nèi)Carkit電路的操作。如果未設(shè)置接口控制寄存器中的CarkitMode位,則忽略TxdEn和RxdEn位。如果CarkitMode位被設(shè)置,而RxdEn位未被設(shè)置,則數(shù)據(jù)(1)引腳保持在邏輯高。

圖片

1.4.12 Carkit中斷延遲

地址:1Ch(讀?。?Ch(寫入)。

此寄存器是可選的當(dāng)Carkit中斷電話時(shí),它會(huì)在很長一段時(shí)間內(nèi)將D+拉低。如果D+在TPH_DP_INT時(shí)間內(nèi)低于VPH_DP_LO電壓閾值,則電話必須檢測到中斷。

只要設(shè)置了Carkit中斷啟用寄存器中的CarIntDet位,PHY中的Carkit中斷定時(shí)器就會(huì)啟用。如果啟用,當(dāng)D+電壓低于VPH_DP_LO時(shí),Carkit中斷定時(shí)器會(huì)遞增。如果D+電壓高于VPH_DP_LO,則車載套件中斷定時(shí)器復(fù)位。當(dāng)D+高于VPH_DP_LO的時(shí)間短至TCR_INJ_WDTH時(shí),Carkit中斷定時(shí)器必須復(fù)位。

當(dāng)Carkit中斷定時(shí)器達(dá)到存儲在CarIntDly中的值時(shí),設(shè)置Carkit中斷鎖存寄存器中的CarIntDet位,并生成中斷。

image.png

1.4.13 Carkit中斷使能

地址:1Dh-1Fh(讀?。?、1Dh(寫入)、1Eh(設(shè)置)、1Fh(清除)。

此寄存器是可選的如果設(shè)置,則當(dāng)相應(yīng)的PHY信號發(fā)生變化時(shí),該寄存器中的位會(huì)導(dǎo)致生成中斷事件通知。默認(rèn)情況下,此寄存器中的所有位都被清除。

image.png

1.4.14 Carkit狀態(tài)寄存器

地址:20h(只讀)。

此寄存器是可選的當(dāng)carkit中斷事件通知發(fā)生時(shí),LINK可以讀取此寄存器,以確定是哪個(gè)事件觸發(fā)了中斷。

圖片

1.4.15 Carkit中斷鎖存

地址:21h(只讀,自動(dòng)清除)

此寄存器是可選的上一頁當(dāng)LINK讀取此寄存器時(shí),或當(dāng)進(jìn)入低功率模式時(shí),PHY將自動(dòng)清除所有位。

圖片

PHY必須遵循下表中的規(guī)則來設(shè)置任何鎖存寄存器位。需要注意的是,如果寄存器讀取數(shù)據(jù)在與設(shè)置Carkit中斷鎖存位相同的周期內(nèi)返回到LINK,則中斷條件會(huì)立即在寄存器讀取數(shù)據(jù)中給出,而鎖存位不會(huì)設(shè)置。

圖片

1.4.16 Carkit脈沖控制

地址:22h-24h(讀?。?2h(寫入)、23h(設(shè)置)、24h(清除)。

此寄存器是可選的它在PHY內(nèi)的音頻功能期間控制Carkit數(shù)據(jù)的操作。如果未設(shè)置接口控制寄存器中的車載設(shè)備模式位,則忽略TxPlsEn和RxPlsEn。

圖片

TxPlsEn:當(dāng)設(shè)置TxPlsSen位,并設(shè)置Carkit控制寄存器中的SpkLeftEn位時(shí),PHY應(yīng)在79UTMI+低引腳接口規(guī)范(修訂版1.1,2004年10月20日)數(shù)據(jù)(0)線上的每個(gè)上升沿或下降沿后,在D線上輸出一個(gè)正脈沖,然后輸出一個(gè)負(fù)脈沖。當(dāng)生成這樣的脈沖對時(shí),PHY應(yīng)執(zhí)行Carkit規(guī)范中定義的步驟。以下步驟列表提供了有關(guān)Carkit規(guī)格意圖的信息。

1.三態(tài)驅(qū)動(dòng)D線的揚(yáng)聲器緩沖器

2.將D線驅(qū)動(dòng)至3.3V+/-10%的電壓

3.等待傳輸正寬度寄存器中指定的時(shí)間

4.將D路驅(qū)動(dòng)至地

5.等待傳輸負(fù)寬度寄存器中規(guī)定的時(shí)間

6.停止將D路驅(qū)動(dòng)器至地

7.啟用驅(qū)動(dòng)D線揚(yáng)聲器緩沖器

RxPlsEn:當(dāng)RxPlsSen位被設(shè)置,并且Carkit控制寄存器中的MicEn位被設(shè)置時(shí),每當(dāng)在D+線上檢測到下降沿超過VPH_DP_LO的車載套件中斷閾值時(shí),PHY應(yīng)切換數(shù)據(jù)(1)輸出。設(shè)置RxPlsEn位時(shí),應(yīng)啟用接收極性恢復(fù)計(jì)時(shí)器。

1.4.17 發(fā)送正脈沖寬度

地址:25h(讀),25h(寫)

此寄存器是可選的它指定設(shè)置TxPlsEn位時(shí)在D線上輸出的正脈沖的寬度。%1小時(shí)必須支持的最小TxPosWdth為8。必須支持的最大TxPosWdth為64。

圖片

1.4.18 發(fā)送負(fù)脈沖寬度

地址:26h(讀),26h(寫)

此寄存器是可選的它指定設(shè)置TxPlsEn位時(shí)在D線上輸出的負(fù)脈沖的寬度。%1小時(shí)必須支持的最小TxNegWdth為8。必須支持的最大TxNegWdth為64。

圖片

1.4.19 接收極性恢復(fù)

地址:27h (Read), 27h (Write)

該寄存器是可選的

當(dāng)在Carkit中啟用了音頻中的數(shù)據(jù)功能時(shí),然后,Carkit通過將非歸零(NRZ)的UART信號轉(zhuǎn)換為一系列脈沖,將UART數(shù)據(jù)發(fā)送到手機(jī),將這些脈沖信號通過D+發(fā)送到手機(jī)。

然后,在每次接收到一個(gè)脈沖時(shí),手機(jī)中的PHY通過切換到數(shù)據(jù)(1)線,將這些脈沖轉(zhuǎn)換為NRZ UART信號。如果PHY錯(cuò)誤地錯(cuò)過了一個(gè)脈沖,或者檢測到一個(gè)額外的脈沖,那么數(shù)據(jù)(1)線上的極性將是不正確的。為了從此條件中恢復(fù),當(dāng)數(shù)據(jù)(1)行的極性為邏輯極性低時(shí),PHY自動(dòng)將數(shù)據(jù)(1)行的極性重置為邏輯高。

只有在設(shè)置了Carkit脈沖控制寄存器中的RxPlsEn位時(shí),接收極性恢復(fù)才會(huì)被激活。時(shí)間以0.25 ms為單位測量。必須支持的最小RxPolRcvry為1。必須支持的最大RxPolRcvry為255。

圖片

1.4.20 保留

28H~2EH部分保留以后使用。

1.4.21 訪問擴(kuò)展寄存器集

2FH(讀/寫)

命令字中的低6位填該值,在下一個(gè)CLJ中發(fā)送8位的擴(kuò)展寄存器地址。

1.4.22 廠商指定

30H~3FH

廠商自定義使用

1.5擴(kuò)展寄存器

擴(kuò)展寄存器集的地址00h到3Fh直接映射到立即寄存器集。對擴(kuò)展地址00h到3Fh的讀、寫、設(shè)置或清除操作實(shí)際是在立即寄存器組上操作。地址40h到7Fh被保留以供將來使用。地址80h至FFh被分配給供應(yīng)商特定用途。

1.6所有上行和下行信號模型的寄存器設(shè)置

前面也說過ULPI是通過將UTMI的一部分相對靜態(tài)的的信號映射到寄存器,通過寄存器去操作這些信號來減少引腳的數(shù)量的。

下表顯示了LINK必須應(yīng)用哪些寄存器設(shè)置才能實(shí)現(xiàn)所需的信號模式。PHY必須根據(jù)需要自動(dòng)生成正確的信號、準(zhǔn)備SYNC和附加EOP。該表還顯示了由于寄存器設(shè)置而啟用的電阻器。

以下信號概念上存在于PHY內(nèi)部。所有電阻器信號均為高電平有效,值1b啟用電阻器,值0b禁用電阻器。

1.rpu_dp_en啟用D+上的1.5k?上拉電阻器

2.rpu_dm_en啟用D-上的1.5k?上拉電阻器

3.rpd_dp_en啟用D+下的15k?下拉電阻器

4.rpd-dm_en啟用D-上的15kΩ下拉電阻器

5.hsterm_en啟用D+和D-上的45?終端電阻器。

圖片

1.7總結(jié)

以上詳細(xì)介紹了PHY相關(guān)的寄存器內(nèi)容,標(biāo)準(zhǔn)部分是所有PHY都需要按照該規(guī)范實(shí)現(xiàn)的,還有廠商自定義部分可以自定義。正是因?yàn)橐?guī)范對寄存器功能進(jìn)行了規(guī)范所以LINK部分的IP才能做到兼容通過。

PHY寄存器的內(nèi)軟件開發(fā)人員容一般情況接觸不到,但是真正遇到底層疑難問題時(shí)可能只有通過PHY的一些寄存器才能進(jìn)行進(jìn)一步分析,所以也是需要了解的。
審核編輯:湯梓紅

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

    關(guān)注

    31

    文章

    5273

    瀏覽量

    119658
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8366

    瀏覽量

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

    關(guān)注

    60

    文章

    7851

    瀏覽量

    263339
  • 驅(qū)動(dòng)開發(fā)

    關(guān)注

    0

    文章

    130

    瀏覽量

    12054
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    117
收藏 人收藏

    評論

    相關(guān)推薦

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x06 DWC2 USB2.0 IP 頭文件與寄存器的讀寫操作

    上一篇我們介紹了控制寄存器,而驅(qū)動(dòng)的編寫底層無非就是配置各種寄存器,所以第一步先要準(zhǔn)備寄存器
    的頭像 發(fā)表于 05-16 14:04 ?2332次閱讀
    基于<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>06 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP 頭文件與<b class='flag-5'>寄存器</b>的讀寫操作

    基于DWC2USB驅(qū)動(dòng)開發(fā)-DOEP接收相關(guān)的其他寄存器詳解

    前面介紹了DOEP的DMA相關(guān)的寄存器,這一篇繼續(xù)來講剩下的寄存器。
    的頭像 發(fā)表于 07-19 10:50 ?1373次閱讀
    基于<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>-DOEP接收相關(guān)的其他<b class='flag-5'>寄存器</b>詳解

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

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

    基于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 ?8775次閱讀
    基于<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功能特征<b class='flag-5'>介紹</b>

    基于DWC2USB驅(qū)動(dòng)開發(fā)-0x05 DWC2 USB2.0 IP 寄存器介紹

    本文對控制寄存器有了一個(gè)整體上的概覽,先了解個(gè)大概,了解寄存器的組織結(jié)構(gòu),大致了解一下常用的寄存器。后面編程時(shí)再一個(gè)個(gè)對照每一個(gè)寄存器
    的頭像 發(fā)表于 05-16 12:50 ?3021次閱讀
    基于<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>05 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP <b class='flag-5'>寄存器</b><b class='flag-5'>介紹</b>

    基于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 ?7905次閱讀
    基于<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>08 <b class='flag-5'>ULPI</b><b class='flag-5'>接口</b>協(xié)議概覽

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

    我們前面重點(diǎn)介紹ULPI接口和PHY的寄存器,這一篇來進(jìn)行PHY寄存器讀寫的代碼編寫與測試。從這一篇開始就正真進(jìn)入了
    的頭像 發(fā)表于 06-06 13:03 ?2027次閱讀
    基于<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>D PHY<b class='flag-5'>寄存器</b>讀寫代碼編寫與測試

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

    工欲善其事必先利其,所以在USB開發(fā)中工具很重要,示波器,邏輯分析儀,USB協(xié)議分析儀等都不可少。在底層問題分析時(shí)缺少有力工具時(shí)很難進(jìn)一步分析,本文分享了
    的頭像 發(fā)表于 06-07 16:56 ?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>-<b class='flag-5'>0x0</b>E 使用邏輯分析儀分析<b class='flag-5'>ULPI</b>數(shù)據(jù)

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

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-USB復(fù)位詳解 (qq.com) 一.前言 ? ? ? ? ?上一篇我們詳細(xì)
    的頭像 發(fā)表于 07-07 11:18 ?5w次閱讀
    基于<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ù)位詳解

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

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-設(shè)備類驅(qū)動(dòng)框架 (qq.com) 一.前言 從軟件頂層,從數(shù)據(jù)流的角度來看
    的頭像 發(fā)表于 07-16 15:56 ?1217次閱讀
    基于<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)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開發(fā)-發(fā)送相關(guān)的寄存器DMA寄存器詳解 (qq
    的頭像 發(fā)表于 07-16 16:42 ?1514次閱讀
    基于<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)的<b class='flag-5'>寄存器</b>DMA<b class='flag-5'>寄存器</b>詳解

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

    前面我們詳細(xì)介紹了發(fā)送即DIEP相關(guān)的一些寄存器,這一篇我們來看看接收即DOEP相關(guān)的一些寄存器。形式上DOEP和DIEP寄存器是類似的。不過我們看
    的頭像 發(fā)表于 07-19 09:00 ?1120次閱讀
    基于<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>-DOEP接收相關(guān)的DMA<b class='flag-5'>寄存器</b>詳解

    基于DWC2USB驅(qū)動(dòng)開發(fā)-控制傳輸中斷相關(guān)寄存器

    本篇講解Scatter/Gather DMA模式下控制傳輸相關(guān)的寄存器??刂苽鬏斒?b class='flag-5'>USB驅(qū)動(dòng)的核心部分,控制傳輸調(diào)通了驅(qū)動(dòng)就完成了一大半,而驅(qū)動(dòng)
    的頭像 發(fā)表于 07-24 00:07 ?2248次閱讀
    基于<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>-控制傳輸中斷相關(guān)<b class='flag-5'>寄存器</b>

    MPU6050寄存器介紹

    MPU6050寄存器介紹電源管理寄存器1(0X6B)陀螺儀配置寄存器0X1B)加速度傳感
    發(fā)表于 12-06 11:51 ?20次下載
    MPU6050<b class='flag-5'>寄存器</b><b class='flag-5'>介紹</b>

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

    同步模式是ULPI必須支持的且主要的模式,內(nèi)容比較多,對于軟件開發(fā)人員來說重點(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 ?3662次閱讀
    基于<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 <b class='flag-5'>ULPI</b><b class='flag-5'>接口</b>同步模式<b class='flag-5'>介紹</b>