精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于DWC2的USB驅動開發-0x0E 使用邏輯分析儀分析ULPI數據

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

本文轉自公眾號,歡迎關注

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

1.1 前言

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

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

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

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

設置好相應的信號之后可以按照如下添加ULPI協議分析通道

image.png

1.2 寄存器

讀寄存器的標準時序如下

image.png

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

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

對應測試代碼

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

if(res != 0)

{

    return res;

}

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

image.png

我們詳細分析下如下過程

image.png

(1) 此時DIR為低,總線所有權歸LINK所有,但是LINK沒有數據要發送,所以驅動數據線全0。

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

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

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

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

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

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

(7) 回到空閑狀態,DIR為0,LINK驅動總線為0

1.3 寫寄存器

寫寄存器理想的時序如下

image.png

寫0x16寄存器為0x55

對應代碼為

hw_dwc2_write_phyreg(0x16,0x55,1000);

if(res != 0)

{

    return res;

}

我們實際抓到的波形如下

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

image.png

我們詳細分析下如下過程

image.png

(1) 此時DIR為低,總線所有權歸LINK所有,但是LINK沒有數據要發送,所以驅動數據線全0。

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

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

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

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

1.4 數據收發

同樣可以抓到USB數據傳輸時的內容進行分析

如下,不再詳細分析

image.png

寄存器讀寫和USB數據傳輸的抓包數據可以參考

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

提取碼:4j92

1.5 總結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8526

    瀏覽量

    150861
  • usb
    usb
    +關注

    關注

    60

    文章

    7903

    瀏覽量

    264046
  • 邏輯分析儀
    +關注

    關注

    3

    文章

    214

    瀏覽量

    23144
  • 驅動開發
    +關注

    關注

    0

    文章

    130

    瀏覽量

    12065
  • DWC2
    +關注

    關注

    0

    文章

    35

    瀏覽量

    120
收藏 人收藏

    評論

    相關推薦

    基于DWC2USB驅動開發-0x01開篇介紹與新思DWC2 USB2.0控制器簡介

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-0x01開篇介紹與新思DWC2
    的頭像 發表于 05-08 18:10 ?4513次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>0x</b>01開篇介紹與新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0控制器簡介

    基于DWC2USB驅動開發-0x02 DWC2 USB2.0 IP功能特征介紹

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

    基于DWC2USB驅動開發-設備類驅動框架

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-設備類驅動框架 (qq.com) 一.前言 從軟件頂層,從
    的頭像 發表于 07-16 15:56 ?1286次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-設備類<b class='flag-5'>驅動</b>框架

    基于DWC2USB驅動開發-發送相關的寄存器DMA寄存器詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-發送相關的寄存器DMA寄存器詳解 (qq.com) 前言 如下寄存器DIEPxxx,對應IN端點,和發送
    的頭像 發表于 07-16 16:42 ?1587次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-發送相關的寄存器DMA寄存器詳解

    基于DWC2USB驅動開發-數據不能發送問題分析案例

    本文轉自公眾號歡迎關注 基于DWC2USB驅動開發-數據不能發送問題分析案例 (qq.com)
    的頭像 發表于 08-08 09:43 ?2149次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>數據</b>不能發送問題<b class='flag-5'>分析</b>案例

    如何選擇邏輯分析儀

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

    基于WIN32的USB邏輯分析儀

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

    巧用邏輯分析儀 助力單片機開發

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

    邏輯分析儀是什么

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

    USB邏輯分析儀

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

    為什么要使用邏輯分析儀

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

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

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

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

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

    基于DWC2USB驅動開發-0x0A ULPI接口同步模式介紹

    同步模式是ULPI必須支持的且主要的模式,內容比較多,對于軟件開發人員來說重點關注下總線時序,即數據是如何交互的,這樣必要的的時候可以使用邏輯分析儀
    的頭像 發表于 06-04 15:35 ?3862次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>0x0</b>A <b class='flag-5'>ULPI</b>接口同步模式介紹

    usb邏輯分析儀怎么用

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