吴忠躺衫网络科技有限公司

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

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

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

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

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

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

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

1.1 前言

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

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

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

測試代碼見https://mp.weixin.qq.com/s/r64ayPKzJtLxpUvsmZYvWg

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

image.png

1.2 寄存器

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

image.png

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

可以看到分析儀自動解析出了過程

對應(yīng)測試代碼

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

if(res != 0)

{

    return res;

}

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

image.png

我們詳細(xì)分析下如下過程

image.png

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

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

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

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

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

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

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

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

1.3 寫寄存器

寫寄存器理想的時序如下

image.png

寫0x16寄存器為0x55

對應(yīng)代碼為

hw_dwc2_write_phyreg(0x16,0x55,1000);

if(res != 0)

{

    return res;

}

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

可以看到分析儀自動解析出了過程

image.png

我們詳細(xì)分析下如下過程

image.png

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

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

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

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

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

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

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

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

image.png

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

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

提取碼:4j92

1.5 總結(jié)

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

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

    關(guān)注

    33

    文章

    8694

    瀏覽量

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

    關(guān)注

    60

    文章

    7981

    瀏覽量

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

    關(guān)注

    3

    文章

    214

    瀏覽量

    23273
  • 驅(qū)動開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    130

    瀏覽量

    12112
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    151
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-設(shè)備類驅(qū)動框架 (qq.com) 一.前言 從軟件頂層,從
    的頭像 發(fā)表于 07-16 15:56 ?1376次閱讀
    基于<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>框架

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

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-發(fā)送相關(guān)的寄存器DMA寄存器詳解 (qq.com) 前言 如下寄存器DIEPxxx,對應(yīng)IN端點(diǎn),和發(fā)送
    的頭像 發(fā)表于 07-16 16:42 ?1740次閱讀
    基于<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寄存器詳解

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

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC2USB驅(qū)動開發(fā)-數(shù)據(jù)不能發(fā)送問題分析案例 (qq.com)
    的頭像 發(fā)表于 08-08 09:43 ?2496次閱讀
    基于<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'>數(shù)據(jù)</b>不能發(fā)送問題<b class='flag-5'>分析</b>案例

    如何選擇邏輯分析儀

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

    基于WIN32的USB邏輯分析儀

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

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

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

    邏輯分析儀是什么

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

    USB邏輯分析儀

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

    為什么要使用邏輯分析儀

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

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

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

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

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

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

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

    usb邏輯分析儀怎么用

    usb邏輯分析儀怎么用 USB邏輯分析儀是一種用于分析
    的頭像 發(fā)表于 09-19 16:03 ?2707次閱讀
    汇丰娱乐城| 至尊百家乐官网20130301| 百家乐现金网排名| 大发888信誉| 挖掘百家乐官网赢钱秘籍| 澳门百家乐官网经| 太阳城会员| 百家乐官网八卦投注法| 百家乐六合彩3535| 博亿国际| 云鼎百家乐官网的玩法技巧和规则 | 威尼斯人娱乐场wnsrdcylcbywz| 百家乐官网投注规则| 开心8百家乐现金网| 金花娱乐城注册| 百家乐官网稳赢战术技巧| 威尼斯人娱乐城在线赌博| 噢门百家乐官网注码技巧| 闲和庄百家乐娱乐平台| 百家乐官网的必胜方法| 新澳博百家乐娱乐城| 泾源县| 百家乐波音平台有假吗| 湘阴县| 百家乐象棋赌博| 真钱百家乐官网送钱| 澳门百家乐赌博技巧| 真龙娱乐| 挖掘百家乐赢钱秘籍| 定日县| 百家乐搏牌| 百家乐官网路纸计算| 狮威百家乐娱乐场| 百家乐官网百家乐官网论坛| 明溪百家乐的玩法技巧和规则 | 做生意门口禁忌| 大发888手机真钱游戏| 百家乐官网网上真钱赌场娱乐网规则| 大发888送体验金| 百家乐庄闲点数| 句容市|