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

    文章

    5036

    浏览量

    117746
  • usb
    usb
    +关注

    关注

    59

    文章

    7437

    浏览量

    258234
  • 开发板
    +关注

    关注

    25

    文章

    4436

    浏览量

    94035
  • 单板计算机
    +关注

    关注

    0

    文章

    68

    浏览量

    15507
  • 编译
    +关注

    关注

    0

    文章

    615

    浏览量

    32397
  • 驱动开发
    +关注

    关注

    0

    文章

    129

    浏览量

    12010
  • DWC2
    +关注

    关注

    0

    文章

    35

    浏览量

    98
收藏 人收藏

    评论

    相关推荐

    基于DWC2USB驱动开发-数据不能发送问题分析案例

    本文转自公众号欢迎关注 基于DWC2USB驱动开发-数据不能发送问题分析案例 (qq.com)   一.前言        对于驱动
    的头像 发表于 08-08 09:43 1139次阅读
    基于<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 816次阅读
    基于<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模式下控制传输相关寄存器。控制传输是USB驱动的核心部分,控制传输调通了驱动就完成了一大半,而
    的头像 发表于 07-24 00:07 1306次阅读
    基于<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驱动开发-DOEP接收相关的DMA寄存器详解

    前面我们详细介绍了发送即DIEP相关的一些寄存器,这一篇我们来看看接收DOEP相关的一些寄存器
    的头像 发表于 07-19 09:00 700次阅读
    基于<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 952次阅读
    基于<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 888次阅读
    基于<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 673次阅读
    基于<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.6w次阅读
    基于<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 2317次阅读
    基于<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 1.2w次阅读
    基于<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>

    基于DWC2USB驱动开发-0x0D PHY寄存器读写代码编写与测试

    我们前面重点介绍了ULPI接口和PHY的寄存器,这一篇来进行PHY寄存器读写的代码编写与测试。从这一篇开始就正真进入了驱动编写的过程了。
    的头像 发表于 06-06 13:03 1245次阅读
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-0x0D PHY<b class='flag-5'>寄存器</b>读写代码编写与测试

    基于DWC2USB驱动开发-0x06 DWC2 USB2.0 IP 头文件与寄存器的读写操作

    上一篇我们介绍了控制器的寄存器,而驱动的编写底层无非就是配置各种寄存器,所以第一步先要准备寄存器的头文件,对寄存器的操作进行封装。 我们这
    的头像 发表于 05-16 14:04 2006次阅读
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-0x06 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP 头文件与<b class='flag-5'>寄存器</b>的读写操作

    基于DWC2USB驱动开发-0x05 DWC2 USB2.0 IP 寄存器介绍

    本文对控制器的寄存器有了一个整体上的概览,先了解个大概,了解寄存器的组织结构,大致了解一下常用的寄存器。后面编程时再一个个对照每一个寄存器的描述去编写代码。
    的头像 发表于 05-16 12:50 2048次阅读
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-0x05 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP <b class='flag-5'>寄存器</b>介绍

    基于DWC2USB驱动开发-0x02 DWC2 USB2.0 IP功能特征介绍

    DWC2即新思(Synopsys )的DesignWare® Cores USB 2.0 HiSpeed On-The-Go (OTG)控制器IP,被大量使用。从linux的内核源码驱动中就带
    的头像 发表于 05-09 10:09 6148次阅读
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-0x02 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0 IP功能特征介绍

    基于DWC2USB驱动开发-0x01开篇介绍与新思DWC2 USB2.0控制器简介

    本文转自公众号,欢迎关注 基于DWC2USB驱动开发-0x01开篇介绍与新思DWC2 USB2
    的头像 发表于 05-08 18:10 3173次阅读
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驱动</b><b class='flag-5'>开发</b>-0x01开篇介绍与新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB</b>2.0控制器简介