在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于DWC2的USB驅動開發-DOEP接收相關的其他寄存器詳解

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-07-19 10:50 ? 次閱讀

本文轉走公眾號歡迎關注

基于DWC2的USB驅動開發-DOEP接收相關的其他寄存器詳解 (qq.com)

前言

前面介紹了DOEP的DMA相關的寄存器,這一篇繼續來講剩下的寄存器。

DOEPTSIZi

寄存器偏移地址0xB10 + i*20

RxDPID對于控制OUT端點表示可以接收連續的SETUP包數,只讀

對于同步 OUT端點,用于表示最后接收的包的類型,只讀。

圖片

PktCnt軟件寫接收的包數,硬件處理完即指定的包數從RxFIFO搬運到用戶存儲之后,該值硬件更新遞減,處理完變為0.

只有非Scatter/Gather DMA的DMA模式才有,Scatter/Gather DMA模式在描述符中定義

圖片

傳輸數據的大小,軟件寫該寄存器表示有多少數據需要接收,硬件從RxFIFO搬運了指定數據到用戶指定的DMA區域時產生接收完成中斷,并且硬件更新該值,接收了多少數據就減少多少,減少到0說明接收完

只有非Scatter/Gather DMA的DMA模式才有,Scatter/Gather DMA模式在描述符中定義
圖片

DOEPINTi

寄存器偏移地址

0xB08 + i*20

各中斷狀態位,寫1清零
圖片

其中XferCompl表示接收完,是最重要中斷。其他中斷狀態,后面驅動講接收中斷處理時單獨詳講。

比如如下OUT中斷讀出值為0x201即XferCompl=1和BNAIntr=1,即接收完成沒有后續描述符需要處理了。
圖片

DOEPCTLi

寄存器偏移地址0xB00 + i*20

幾乎和DIEP對應的寄存器是對應的,參考上篇DIEP相關的介紹

圖片

如下是OUT 中斷時寄存器值

CTL寄存器值為0x48040,

接收中斷時ENPena硬件自動清零了,

EPType為ISO端點

USBActEP=1表示端點是激活狀態

包大小為0x40

圖片

另外雖然是Scatter/Gather DMA模式實際我們觀察DOEPTSIZi也是會遞減變化的,

包括偏移0xB18 + i*20處的值(之前說的對于DOEP保留的對應DIEP的DTXFSTSi的寄存器)也是會遞減的,只是手冊描述保留了,實際IP應該還是有使用更新的,這個要去看IP的代碼了,應該是不開放給用戶。

總結

對于接收即OUT端點,

Scatter/Gather DMA模式就只需要配置兩個寄存器

DOEPCTLi

DOEPDMAi為描述符鏈表的地址, 還需要填充描述符的內容

最后DOEPCTLi的EPEna置位,開始交給DMA去接收數據,此時軟件不能再訪問相關寄存器,必須等接收完成中斷EPEna硬件清零,軟件才能去訪問。

非Scatter/Gather DMA模式,則還要配置DOEPTSIZi 和DOEPDMABi ,配置緩沖區和傳輸數據大小,Scatter/Gather DMA模式這兩個寄存器不需要配置,對應信息在描述符中配置。

審核編輯:湯梓紅

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

    關注

    31

    文章

    5358

    瀏覽量

    120774
  • usb
    usb
    +關注

    關注

    60

    文章

    7963

    瀏覽量

    265227
  • 開發板
    +關注

    關注

    25

    文章

    5087

    瀏覽量

    97786
  • 單板計算機
    +關注

    關注

    0

    文章

    74

    瀏覽量

    15654
  • 編譯
    +關注

    關注

    0

    文章

    660

    瀏覽量

    32924
  • 驅動開發
    +關注

    關注

    0

    文章

    130

    瀏覽量

    12090
  • DWC2
    +關注

    關注

    0

    文章

    35

    瀏覽量

    140
收藏 人收藏

    評論

    相關推薦

    寫單個線圈與單個保持寄存器相關

    ,0xFF00表示 ON狀態,0x0000表示OFF狀態。其他值均是非法的,并且對寄存器不起作用,將會返回異常響應。
    的頭像 發表于 11-01 13:46 ?248次閱讀

    詳解寄存器模型鏡像值

    DUT的配置寄存器的值是實際值,reg_model有鏡像值、期望值的概念。
    的頭像 發表于 10-23 09:43 ?338次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>寄存器</b>模型鏡像值

    接口的控制與狀態寄存器什么作用

    接口的控制與狀態寄存器(Control and Status Registers,簡稱CSR)是計算機系統中用于控制和監控硬件設備操作的寄存器。它們是硬件設備與其驅動程序之間的橋梁,允許軟件控制硬件
    的頭像 發表于 10-17 10:42 ?528次閱讀

    什么是寄存器移位尋址

    寄存器移位尋址是一種特定的尋址方式,主要出現在某些處理架構中,如ARM指令集。這種尋址方式在處理數據移動和操作時提供了極大的靈活性和效率。下面將從定義、工作原理、特點、應用場景以及與其他尋址方式的對比等方面對
    的頭像 發表于 10-05 17:38 ?429次閱讀

    寄存器間接尋址和寄存器尋址的區別

    寄存器間接尋址和寄存器尋址是計算機體系結構中兩種重要的尋址方式,它們在指令執行過程中起著關鍵作用。下面將從定義、原理、特點、應用場景以及區別等方面對這兩種尋址方式進行詳細闡述。
    的頭像 發表于 10-05 17:13 ?1863次閱讀

    PCM1864 PGA相關寄存器1,2,3,4寫不進去,為什么?

    pcm1864 只有寄存器地址是1,2,3,4的寫不進去,其他寄存器可以寫,寄存器地址是1,2
    發表于 09-29 07:49

    寄存器是什么意思?寄存器是如何構成的?

    在計算機科學中,寄存器(Register)是一個高速存儲單元,它位于中央處理(CPU)內部,用于存儲計算機程序執行過程中所需要的數據、指令地址或狀態信息。寄存器是計算機體系結構中至關重要的組成部分,對計算機的運算速度和性能有著
    的頭像 發表于 08-02 18:23 ?4565次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構成的?

    在STM32L4R5ZIT6中移植cherryUSB,顯示不支持DMA模式為什么?

    initialized 1! [I/wiz] RT-Thread WIZnet package (V2.1.0) initialize success. [I/USB] ========== dwc2
    發表于 07-25 08:32

    寄存器尋址和直接尋址的區別

    寄存器尋址和直接尋址是計算機指令系統中的兩種基本尋址方式。它們在指令的執行過程中起著至關重要的作用,決定了指令操作數的來源和目標。下面我們將介紹這兩種尋址方式的特點、區別以及在實際應用中的優缺點
    的頭像 發表于 07-12 10:42 ?2109次閱讀

    寄存器尋址的實現方式

    在計算機體系結構中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內部的寄存器寄存器尋址可以提高程序的執行效率,因為它避免了對內存的訪問。 寄存器尋址的基本概念
    的頭像 發表于 07-12 10:36 ?748次閱讀

    寄存器分為基本寄存器和什么兩種

    寄存器是計算機中用于存儲數據的高速存儲單元,它們是CPU內部的重要組成部分。寄存器可以分為基本寄存器和擴展寄存器兩種類型。 一、基本寄存器
    的頭像 發表于 07-12 10:31 ?1523次閱讀

    與定時相關寄存器有哪些類型

    ,微控制通常提供了一系列的定時寄存器,用于配置和控制定時的行為。 以下是一些常見的與定時相關
    的頭像 發表于 07-12 10:25 ?1024次閱讀

    干貨滿滿:ARM的內核寄存器講解

    內核寄存器與外設寄存器: 內核寄存器與外設寄存器是完全不同的概念。內核寄存器是指 CPU 內部的寄存器
    發表于 04-17 11:47 ?4002次閱讀
    干貨滿滿:ARM的內核<b class='flag-5'>寄存器</b>講解

    CPU的6個主要寄存器

    CPU寄存器是中央處理內的組成部分,是有限存貯容量的高速存貯部件。寄存器是CPU內部的元件,包括通用寄存器、專用寄存器和控制
    的頭像 發表于 02-03 15:15 ?4584次閱讀

    移位寄存器的工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一種用于在數字電路中實現數據移位操作的基本電路元件。它由多個觸發以及相關控制電路組成,具有存儲、接受和移動數據的功能。移位寄存器可以分為兩種類型:串行移位
    的頭像 發表于 01-18 10:52 ?9229次閱讀
    主站蜘蛛池模板: 亚洲理论视频| 亚洲第一视频| 么公的好大好硬好深好爽在线视频| 三级黄色在线| 欧美污视频网站| 久久人视频| 大尺度免费高清在线观看视频| 成人欧美精品久久久久影院 | 亚洲免费资源| 黄视频免费网站| 亚洲人成网站在线观看妞妞网| 婷婷久| 欧美特黄一级视频| 国产亚洲视频在线播放大全| bt在线天堂| 米奇777四色精品人人爽| 2019天天干夜夜操| 男女视频在线| 天堂bt资源www在线| 美女在线看永久免费网址| 国产精品一区电影| 天天操夜夜操美女| 99精品视频在线播放2| 日本在线不卡视频| 四虎最新影院| 狠狠狠色丁香婷婷综合激情| 午夜欧美福利视频| 亚洲欧美日韩另类精品一区二区三区| 五月婷婷深深爱| 欧美福利精品| 在线www 天堂网在线| 久久毛片视频| 亚洲一区二区三区四区在线 | 国产精品夜夜春夜夜| 亚洲一区二区三区精品视频| 婷婷丁香四月| 国产一级一片免费播放视频| 特级毛片s级全部免费| 8888奇米四色在线| 四虎三级| www.xxx.国产|