<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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模式這兩個寄存器不需要配置,對應信息在描述符中配置。

審核編輯:湯梓紅

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

    關注

    30

    文章

    5167

    瀏覽量

    118230
  • usb
    usb
    +關注

    關注

    59

    文章

    7521

    瀏覽量

    260076
  • 開發板
    +關注

    關注

    25

    文章

    4579

    瀏覽量

    94982
  • 單板計算機
    +關注

    關注

    0

    文章

    71

    瀏覽量

    15519
  • 編譯
    +關注

    關注

    0

    文章

    626

    瀏覽量

    32467
  • 驅動開發
    +關注

    關注

    0

    文章

    129

    瀏覽量

    12021
  • DWC2
    +關注

    關注

    0

    文章

    35

    瀏覽量

    106
收藏 人收藏

    評論

    相關推薦

    寄存器開發,HAL開發和LL開發的區別和參考代碼

    ,而不依賴高級的抽象層。以下是寄存器開發的一般步驟和示例:1.包含頭文件在程序中包含與目標微控制器系列相關寄存器定義頭文件。#include"stm32f4xx.h"
    的頭像 發表于 11-17 08:00 ?542次閱讀
    <b class='flag-5'>寄存器</b><b class='flag-5'>開發</b>,HAL<b class='flag-5'>開發</b>和LL<b class='flag-5'>開發</b>的區別和參考代碼

    基于DWC_ether_qos的以太網驅動開發-MDIO驅動編寫與測試

    本文轉自公眾號歡迎關注 基于DWC_ether_qos的以太網驅動開發-MDIO驅動編寫與測試 一.前言 以太網驅動的編寫與調試往往從MDI
    的頭像 發表于 08-30 09:37 ?2673次閱讀
    基于<b class='flag-5'>DWC</b>_ether_qos的以太網<b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-MDIO<b class='flag-5'>驅動</b>編寫與測試

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

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

    基于DWC2USB驅動開發-抽絲剝繭再論切換到狀態階段標志DOEPINTn.StsPhseRcvd

    本文轉自公眾號系列文章,歡迎關注 基于DWC2USB驅動開發-USB詳解 (qq.com)
    的頭像 發表于 07-24 18:04 ?970次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-抽絲剝繭再論切換到狀態階段標志DOEPINTn.StsPhseRcvd

    基于DWC2USB驅動開發-控制傳輸中斷相關寄存器

    本篇講解Scatter/Gather DMA模式下控制傳輸相關寄存器??刂苽鬏斒?b class='flag-5'>USB驅動的核心部分,控制傳輸調通了驅動就完成了一大半,而
    的頭像 發表于 07-24 00:07 ?1500次閱讀
    基于<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>

    基于DWC2USB驅動開發-USB詳解

    不管什么通訊協議,比如UART,SPI,USB等等,不管是并口還是串口,不管是同步還是異步,我們從抽象的角度去看,其本質都是一樣的。都是先定義物理信號,物理信號可能是差分,單端,電流驅動電壓驅動等等
    的頭像 發表于 07-23 17:11 ?1717次閱讀
    基于<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'>USB</b>包<b class='flag-5'>詳解</b>

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

    前面我們詳細介紹了發送即DIEP相關的一些寄存器,這一篇我們來看看接收DOEP相關的一些寄存器
    的頭像 發表于 07-19 09:00 ?837次閱讀
    基于<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'>DOEP</b><b class='flag-5'>接收</b><b class='flag-5'>相關</b>的DMA<b class='flag-5'>寄存器</b><b class='flag-5'>詳解</b>

    基于DWC2USB驅動開發-IN端點發送相關寄存器詳解

    上一篇我們介紹了IN端點,發送,DMA相關的兩個寄存器,這一篇繼續講另外的幾個寄存器。
    的頭像 發表于 07-17 07:41 ?1140次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-IN端點發送<b class='flag-5'>相關</b>的<b class='flag-5'>寄存器</b><b class='flag-5'>詳解</b>

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

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-發送相關寄存器DMA
    的頭像 發表于 07-16 16:42 ?1056次閱讀
    基于<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>DMA<b class='flag-5'>寄存器</b><b class='flag-5'>詳解</b>

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

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-設備類驅動框架 (qq.com) 一.前言 從軟件頂層,從數據流的角度來看
    的頭像 發表于 07-16 15:56 ?792次閱讀
    基于<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驅動開發-高速設備枚舉為全速設備問題案例分析

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-高速設備枚舉為全速設備問題案例分析 (qq.com) 一.前言 ? 本文分享一個高速設備被枚舉為全速的問題。 ? ? 高速設備速
    的頭像 發表于 07-10 17:12 ?951次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-高速設備枚舉為全速設備問題案例分析

    基于DWC2USB驅動開發-高速設備速度握手詳解

    前面我們分析了USB連接和復位的過程, 也知道低速和全速/高速的USB設備分別是上拉DM和DP,主機通過不同的上拉區分接的是低速還是全速/高速設備的。但是怎么區分全速和高速呢? 這就需要額外的一些握手過程,本篇就來詳細介紹該過程。
    的頭像 發表于 07-08 08:40 ?1739次閱讀
    基于<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驅動開發-USB復位詳解

    本文轉自公眾號歡迎關注 基于DWC2USB驅動開發-USB復位詳解 (qq.com) 一.前言
    的頭像 發表于 07-07 11:18 ?1.8w次閱讀
    基于<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'>USB</b>復位<b class='flag-5'>詳解</b>

    基于DWC2USB驅動開發-USB連接詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-USB連接詳解 (qq.com) 一.前
    的頭像 發表于 07-07 08:46 ?2617次閱讀
    基于<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'>USB</b>連接<b class='flag-5'>詳解</b>

    基于DWC2USB驅動開發-IAD描述符詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-IAD描述符詳解 (qq.com) 一.? 前言 IAD描述符用于一個設備功能關聯多
    的頭像 發表于 06-27 08:45 ?4w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-IAD描述符<b class='flag-5'>詳解</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>