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ā)-0x0E 使用邏輯分析儀分析ULPI數(shù)據(jù)

嵌入式USB開(kāi)發(fā) ? 來(lái)源:嵌入式USB開(kāi)發(fā) ? 作者:嵌入式USB開(kāi)發(fā) ? 2023-06-07 16:56 ? 次閱讀

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

基于DWC2的USB驅(qū)動(dòng)開(kāi)發(fā)-0x0D PHY寄存器讀寫(xiě)代碼編寫(xiě)與測(cè)試 (qq.com)

1.1 前言

前面我們?cè)敿?xì)講解了ULPI接口,一般情況不需要關(guān)注ULPI總線接口上的信號(hào)。但有時(shí)候我們需要進(jìn)行底層問(wèn)題的分析,此時(shí)就需要抓取ULPI總線上的數(shù)據(jù)來(lái)進(jìn)行分析,此時(shí)就需要使用邏輯分析進(jìn)行信號(hào)抓取,這個(gè)時(shí)候一個(gè)好用的邏輯分析儀就非常重要了。

我們使用Acute的TL4234B邏輯分析儀抓取ULPI總線數(shù)據(jù),該邏輯分析儀支持ULPI解碼非常方便。

該邏輯分析儀的使用參考https://mp.weixin.qq.com/s/bCdgCNsGPbYjSzjv8VJyRA。

測(cè)試代碼見(jiàn)https://mp.weixin.qq.com/s/r64ayPKzJtLxpUvsmZYvWg

設(shè)置好相應(yīng)的信號(hào)之后可以按照如下添加ULPI協(xié)議分析通道

image.png

1.2 寄存器

讀寄存器的標(biāo)準(zhǔn)時(shí)序如下

image.png

我們實(shí)際抓到的讀0寄存器,波形如下

可以看到分析儀自動(dòng)解析出了過(guò)程

對(duì)應(yīng)測(cè)試代碼

res = hw_dwc2_read_phyreg(0x00,&regval,1000);

if(res != 0)

{

    return res;

}

usb_hal_info("[VIDL]:0x%x\\r\\n",regval);

image.png

我們?cè)敿?xì)分析下如下過(guò)程

image.png

(1) 此時(shí)DIR為低,總線所有權(quán)歸LINK所有,但是LINK沒(méi)有數(shù)據(jù)要發(fā)送,所以驅(qū)動(dòng)數(shù)據(jù)線全0。

(2) 此時(shí)軟件進(jìn)行讀立即寄存器0的操作,對(duì)應(yīng)的命令字節(jié)為0xC0,發(fā)送到總線上,但是NXT被PHY拉為低,說(shuō)明PHY沒(méi)有接收,LINK只能繼續(xù)重發(fā)

(3) 重發(fā)0xC0,此時(shí)NXT被PHY拉高,說(shuō)明被PHY接收了。

注意DIR和NXT應(yīng)該在CLK的上升沿處跳變,但是由于信號(hào)一致性問(wèn)題CLK不是很完美,所以邏輯分析抓出來(lái)的CLK信號(hào)有一些偏移,占空比也不是50%.

(4) DIR低到高之后的CLK上升沿開(kāi)始是turnaround

(5) 該CLK上升沿,LINK鎖存PHY發(fā)出的數(shù)據(jù)0x24

(6) DIR由高到低之后的CLK上升沿開(kāi)始是turnaround

(7) 回到空閑狀態(tài),DIR為0,LINK驅(qū)動(dòng)總線為0

1.3 寫(xiě)寄存器

寫(xiě)寄存器理想的時(shí)序如下

image.png

寫(xiě)0x16寄存器為0x55

對(duì)應(yīng)代碼為

hw_dwc2_write_phyreg(0x16,0x55,1000);

if(res != 0)

{

    return res;

}

我們實(shí)際抓到的波形如下

可以看到分析儀自動(dòng)解析出了過(guò)程

image.png

我們?cè)敿?xì)分析下如下過(guò)程

image.png

(1) 此時(shí)DIR為低,總線所有權(quán)歸LINK所有,但是LINK沒(méi)有數(shù)據(jù)要發(fā)送,所以驅(qū)動(dòng)數(shù)據(jù)線全0。

(2) 此時(shí)軟件進(jìn)行寫(xiě)立即寄存器0x16的操作,對(duì)應(yīng)的命令字節(jié)為0x96,發(fā)送到總線上,但是NXT被PHY拉為低,說(shuō)明PHY沒(méi)有接收,LINK只能繼續(xù)重發(fā)

(3) LINK重發(fā)0x96,此時(shí)NXT被PHY拉高,說(shuō)明被PHY接收了。

(4) LINK發(fā)送數(shù)據(jù)0x55,NXT為高說(shuō)明PHY接收了,于是下一個(gè)周期LINK 拉高STP結(jié)束。

同樣要注意DIR和NXT應(yīng)該在CLK的上升沿處跳變,但是由于信號(hào)一致性問(wèn)題CLK不是很完美,所以邏輯分析抓出來(lái)的CLK信號(hào)有一些偏移,占空比也不是50%.

1.4 數(shù)據(jù)收發(fā)

同樣可以抓到USB數(shù)據(jù)傳輸時(shí)的內(nèi)容進(jìn)行分析

如下,不再詳細(xì)分析

image.png

寄存器讀寫(xiě)和USB數(shù)據(jù)傳輸?shù)淖グ鼣?shù)據(jù)可以參考

鏈接:https://pan.baidu.com/s/1oOGlc8sbEywoEmRsgEGtvw?pwd=4j92

提取碼:4j92

1.5 總結(jié)

工欲善其事必先利其器,所以在USB開(kāi)發(fā)中工具很重要,示波器,邏輯分析儀,USB協(xié)議分析儀等都不可少。在底層問(wèn)題分析時(shí)缺少有力工具時(shí)很難進(jìn)一步分析,本文分享了ULPI抓包分析,實(shí)際抓包波形因?yàn)樾盘?hào)質(zhì)量問(wèn)題可能沒(méi)有那么理想,所以信號(hào)的冗余度也是很重要的,很多時(shí)候問(wèn)題可能就是時(shí)序問(wèn)題。
審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8448

    瀏覽量

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

    關(guān)注

    60

    文章

    7877

    瀏覽量

    263722
  • 邏輯分析儀
    +關(guān)注

    關(guān)注

    3

    文章

    214

    瀏覽量

    23124
  • 驅(qū)動(dòng)開(kāi)發(fā)

    關(guān)注

    0

    文章

    130

    瀏覽量

    12059
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    118
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開(kāi)發(fā)-0x01開(kāi)篇介紹與新思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'>開(kāi)發(fā)</b>-<b class='flag-5'>0x</b>01開(kāi)篇介紹與新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0控制器簡(jiǎn)介

    基于DWC2USB驅(qū)動(dòng)開(kāi)發(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 ?8933次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(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)開(kāi)發(fā)-設(shè)備類(lèi)驅(qū)動(dòng)框架

    本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開(kāi)發(fā)-設(shè)備類(lèi)驅(qū)動(dòng)框架 (qq.com) 一.前言 從軟件頂層,從
    的頭像 發(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'>開(kāi)發(fā)</b>-設(shè)備類(lèi)<b class='flag-5'>驅(qū)動(dòng)</b>框架

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

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

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

    本文轉(zhuǎn)自公眾號(hào)歡迎關(guān)注 基于DWC2USB驅(qū)動(dòng)開(kāi)發(fā)-數(shù)據(jù)不能發(fā)送問(wèn)題分析案例 (qq.com)
    的頭像 發(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'>開(kāi)發(fā)</b>-<b class='flag-5'>數(shù)據(jù)</b>不能發(fā)送問(wèn)題<b class='flag-5'>分析</b>案例

    如何選擇邏輯分析儀

    夠大大提高工作效率,節(jié)約用戶(hù)寶貴的時(shí)間邏輯分析儀是利用時(shí)鐘驅(qū)動(dòng)從測(cè)試設(shè)備上采集和顯示數(shù)字信號(hào)的儀器,最主要作用在于數(shù)字電路的分析由于邏輯
    發(fā)表于 04-26 14:25

    基于WIN32的USB邏輯分析儀

    是在這里看到,設(shè)備量0x004。USB設(shè)備indentified提前(以及輸出的一部分,在這里看到)是一個(gè)存儲(chǔ)鑰匙插入到同一臺(tái)機(jī)器上。如果驅(qū)動(dòng)程序安裝不正確,邏輯
    發(fā)表于 07-18 15:40

    巧用邏輯分析儀 助力單片機(jī)開(kāi)發(fā)

    ,也是非常成功的設(shè)計(jì)。 USBEE AX是一款集示波器,邏輯分析儀,方波發(fā)生器,頻率計(jì),數(shù)據(jù)記錄計(jì)等十幾種功能的USB虛擬儀器,主要適合單片機(jī)等常見(jiàn)低壓數(shù)字系統(tǒng)的
    發(fā)表于 03-22 13:35

    邏輯分析儀是什么

    前后時(shí)間發(fā)生偏差時(shí),通信誤碼率就會(huì)很高,導(dǎo)致電子系統(tǒng)工作異常。在工作機(jī)制方面,虛擬邏輯分析儀主要完成數(shù)據(jù)的高速采集,再利用USB接口將數(shù)據(jù)
    發(fā)表于 08-23 16:31

    USB邏輯分析儀

    、脈沖寬度、外部或丟失的數(shù)據(jù)等。除了擁有多路通道以外,邏輯分析儀還具有支持?jǐn)?shù)字設(shè)計(jì)檢驗(yàn)與故障查找等重要功能。LAB6052和LAB7504 USB
    發(fā)表于 07-05 09:21

    為什么要使用邏輯分析儀

    低于門(mén)檻電壓時(shí)為邏輯0。圖1.3為示波器與邏輯分析儀的測(cè)量結(jié)果比較。圖1.3 示波器與邏輯分析儀
    發(fā)表于 10-13 09:23

    什么情況需要使用邏輯分析儀

    做嵌入式驅(qū)動(dòng)開(kāi)發(fā),會(huì)使用邏輯分析儀是必不可少的技能。什么情況需要使用邏輯分析儀當(dāng)你編寫(xiě)
    發(fā)表于 08-06 08:41

    kingst虛擬邏輯分析儀使用詳解

    邏輯分析儀是利用時(shí)鐘從測(cè)試設(shè)備上采集和顯示數(shù)字信號(hào)的儀器,最主要作用在于時(shí)序判定和分析。邏輯分析儀不像示波器那樣有許多電壓等級(jí),而是只顯示兩
    發(fā)表于 11-17 15:54 ?52次下載

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

    同步模式是ULPI必須支持的且主要的模式,內(nèi)容比較多,對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō)重點(diǎn)關(guān)注下總線時(shí)序,即數(shù)據(jù)是如何交互的,這樣必要的的時(shí)候可以使用邏輯分析儀
    的頭像 發(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'>開(kāi)發(fā)</b>-<b class='flag-5'>0x0</b>A <b class='flag-5'>ULPI</b>接口同步模式介紹

    usb邏輯分析儀怎么用

    usb邏輯分析儀怎么用 USB邏輯分析儀是一種用于分析
    的頭像 發(fā)表于 09-19 16:03 ?2357次閱讀