一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-07-19 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

前言

前面介紹了DOEP的DMA相關(guān)的寄存器,這一篇繼續(xù)來講剩下的寄存器。

DOEPTSIZi

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

RxDPID對(duì)于控制OUT端點(diǎn)表示可以接收連續(xù)的SETUP包數(shù),只讀

對(duì)于同步 OUT端點(diǎn),用于表示最后接收的包的類型,只讀。

圖片

PktCnt軟件寫接收的包數(shù),硬件處理完即指定的包數(shù)從RxFIFO搬運(yùn)到用戶存儲(chǔ)之后,該值硬件更新遞減,處理完變?yōu)?.

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

圖片

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

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

DOEPINTi

寄存器偏移地址

0xB08 + i*20

各中斷狀態(tài)位,寫1清零
圖片

其中XferCompl表示接收完,是最重要中斷。其他中斷狀態(tài),后面驅(qū)動(dòng)講接收中斷處理時(shí)單獨(dú)詳講。

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

DOEPCTLi

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

幾乎和DIEP對(duì)應(yīng)的寄存器是對(duì)應(yīng)的,參考上篇DIEP相關(guān)的介紹

圖片

如下是OUT 中斷時(shí)寄存器值

CTL寄存器值為0x48040,

接收中斷時(shí)ENPena硬件自動(dòng)清零了,

EPType為ISO端點(diǎn)

USBActEP=1表示端點(diǎn)是激活狀態(tài)

包大小為0x40

圖片

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

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

總結(jié)

對(duì)于接收即OUT端點(diǎn),

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

DOEPCTLi

DOEPDMAi為描述符鏈表的地址, 還需要填充描述符的內(nèi)容

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

非Scatter/Gather DMA模式,則還要配置DOEPTSIZi 和DOEPDMABi ,配置緩沖區(qū)和傳輸數(shù)據(jù)大小,Scatter/Gather DMA模式這兩個(gè)寄存器不需要配置,對(duì)應(yīng)信息在描述符中配置。

審核編輯:湯梓紅

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

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

    關(guān)注

    60

    文章

    8182

    瀏覽量

    272835
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5679

    瀏覽量

    104643
  • 單板計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    15978
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    679

    瀏覽量

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

    關(guān)注

    0

    文章

    134

    瀏覽量

    12310
  • DWC2
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    253
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    新思 DWC2 的參考手冊(cè)從哪里可以下載

    最近在學(xué)習(xí)STM32F4 USB驅(qū)動(dòng),有看到 dwc2驅(qū)動(dòng)的代碼,但是沒有手冊(cè)用來參考,ST手冊(cè)上寄存器不全,從網(wǎng)上看到有下面兩個(gè)手冊(cè),但
    發(fā)表于 01-22 11:32

    迅為RK3568開發(fā)板SPI驅(qū)動(dòng)指南-mcp2515驅(qū)動(dòng)編寫:讀寄存器函數(shù)

    迅為RK3568開發(fā)板SPI驅(qū)動(dòng)指南-mcp2515驅(qū)動(dòng)編寫:讀寄存器函數(shù)
    的頭像 發(fā)表于 01-20 14:43 ?1048次閱讀
    迅為RK3568<b class='flag-5'>開發(fā)</b>板SPI<b class='flag-5'>驅(qū)動(dòng)</b>指南-mcp2515<b class='flag-5'>驅(qū)動(dòng)</b>編寫:讀<b class='flag-5'>寄存器</b>函數(shù)

    寫單個(gè)線圈與單個(gè)保持寄存器相關(guān)

    ,0xFF00表示 ON狀態(tài),0x0000表示OFF狀態(tài)。其他值均是非法的,并且對(duì)寄存器不起作用,將會(huì)返回異常響應(yīng)。
    的頭像 發(fā)表于 11-01 13:46 ?716次閱讀

    Modbus協(xié)議的讀取保持寄存器

    功能碼用于讀取從設(shè)備保持寄存器的內(nèi)容,不支持廣播模式。消息頓中指定了需要讀取的保持寄存器的起始地址和數(shù)目。而保持寄存器中各地址的具體內(nèi)容和意義則由設(shè)備開發(fā)者自行規(guī)定。
    的頭像 發(fā)表于 10-30 10:54 ?3896次閱讀

    詳解寄存器模型鏡像值

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

    接口的控制與狀態(tài)寄存器什么作用

    接口的控制與狀態(tài)寄存器(Control and Status Registers,簡稱CSR)是計(jì)算機(jī)系統(tǒng)中用于控制和監(jiān)控硬件設(shè)備操作的寄存器。它們是硬件設(shè)備與其驅(qū)動(dòng)程序之間的橋梁,允許軟件控制硬件
    的頭像 發(fā)表于 10-17 10:42 ?1521次閱讀

    什么是寄存器移位尋址

    寄存器移位尋址是一種特定的尋址方式,主要出現(xiàn)在某些處理架構(gòu)中,如ARM指令集。這種尋址方式在處理數(shù)據(jù)移動(dòng)和操作時(shí)提供了極大的靈活性和效率。下面將從定義、工作原理、特點(diǎn)、應(yīng)用場景以及與其他尋址方式的對(duì)比等方面對(duì)
    的頭像 發(fā)表于 10-05 17:38 ?1066次閱讀

    寄存器間接尋址和寄存器尋址的區(qū)別

    寄存器間接尋址和寄存器尋址是計(jì)算機(jī)體系結(jié)構(gòu)中兩種重要的尋址方式,它們?cè)谥噶顖?zhí)行過程中起著關(guān)鍵作用。下面將從定義、原理、特點(diǎn)、應(yīng)用場景以及區(qū)別等方面對(duì)這兩種尋址方式進(jìn)行詳細(xì)闡述。
    的頭像 發(fā)表于 10-05 17:13 ?3670次閱讀

    PCM1864 PGA相關(guān)寄存器1,2,3,4寫不進(jìn)去,為什么?

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

    ARM寄存器的分類及功能

    ARM寄存器是ARM處理內(nèi)部的重要組成部分,它們?cè)谔幚?b class='flag-5'>器的運(yùn)算、控制以及數(shù)據(jù)存儲(chǔ)等方面發(fā)揮著至關(guān)重要的作用。下面,我們將從ARM寄存器的定義、結(jié)構(gòu)、分類以及功能等多個(gè)方面進(jìn)行詳細(xì)闡述
    的頭像 發(fā)表于 09-05 14:18 ?2929次閱讀

    通用寄存器是什么意思

    在計(jì)算機(jī)體系結(jié)構(gòu)中,通用寄存器是中央處理(CPU)內(nèi)部最為核心和基礎(chǔ)的組成部分之一。它們被設(shè)計(jì)為能夠存儲(chǔ)和傳輸各種類型的數(shù)據(jù)和指令,是CPU進(jìn)行數(shù)據(jù)處理和運(yùn)算的關(guān)鍵工具。通用寄存器不僅在程序的執(zhí)行過程中起著至關(guān)重要的作用,還直
    的頭像 發(fā)表于 09-05 14:13 ?2324次閱讀

    寄存器的類型和作用

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一種高速存儲(chǔ)單元,它位于CPU內(nèi)部,與CPU的運(yùn)算單元和邏輯控制單元緊密相連。寄存器的主要作用是暫時(shí)存儲(chǔ)指令、操作數(shù)和地址等臨時(shí)數(shù)據(jù),以便CPU快速訪問和處理。由于寄存器直接集成在CP
    的頭像 發(fā)表于 09-05 14:11 ?4766次閱讀

    寄存器故障分析

    寄存器故障分析是計(jì)算機(jī)硬件維護(hù)與系統(tǒng)穩(wěn)定性保障中的重要環(huán)節(jié)。寄存器作為計(jì)算機(jī)中的關(guān)鍵組成部分,負(fù)責(zé)存儲(chǔ)和傳輸數(shù)據(jù),其穩(wěn)定性和可靠性直接影響到整個(gè)計(jì)算機(jī)系統(tǒng)的性能。以下是對(duì)寄存器故障的全面分析,包括故障類型、故障現(xiàn)象、故障原因及診
    的頭像 發(fā)表于 08-29 11:26 ?2169次閱讀

    寄存器是什么意思?寄存器是如何構(gòu)成的?

    在計(jì)算機(jī)科學(xué)中,寄存器(Register)是一個(gè)高速存儲(chǔ)單元,它位于中央處理(CPU)內(nèi)部,用于存儲(chǔ)計(jì)算機(jī)程序執(zhí)行過程中所需要的數(shù)據(jù)、指令地址或狀態(tài)信息。寄存器是計(jì)算機(jī)體系結(jié)構(gòu)中至關(guān)重要的組成部分,對(duì)計(jì)算機(jī)的運(yùn)算速度和性能有著
    的頭像 發(fā)表于 08-02 18:23 ?7518次閱讀
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何構(gòu)成的?

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

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