XHCI 1.2b 规范摘要(12)

在这里插入图片描述

系列文章目录


XHCI 1.2b 规范摘要(一)
XHCI 1.2b 规范摘要(二)
XHCI 1.2b 规范摘要(三)
XHCI 1.2b 规范摘要(四)
XHCI 1.2b 规范摘要(五)
XHCI 1.2b 规范摘要(六)
XHCI 1.2b 规范摘要(七)
XHCI 1.2b 规范摘要(八)
XHCI 1.2b 规范摘要(九)
XHCI 1.2b 规范摘要(十)
XHCI 1.2b 规范摘要(11)
XHCI 1.2b 规范摘要(12)


文章目录

  • 系列文章目录
  • 6 数据结构(Data Structures)
    • 6.3 TRB 环(TRB Ring)
    • 6.4 传输请求块 (TRB)
      • 6.4.1 传输 TRB(Transfer TRBs)
        • 6.4.1.1 普通 TRB(Normal TRB)
        • 6.4.1.2 控制 TRB(Control TRBs)
          • 6.4.1.2.1 Setup Stage TRB
          • 6.4.1.2.2 Data Stage TRB
          • 6.4.1.2.3 Status Stage TRB
        • 6.4.1.3 Isoch TRB
        • 6.4.1.4 无操作 TRB(No Op TRB)
      • 6.4.2 事件 TRB(Event TRBs)
        • 6.4.2.1 传输事件 TRB(Transfer Event TRB)
        • 6.4.2.2 命令完成事件 TRB(Command Completion Event TRB)
        • 6.4.2.3 端口状态改变事件 TRB
        • 6.4.2.4 带宽请求事件 TRB
        • 6.4.2.5 门铃事件 TRB
        • 6.4.2.6 主机控制器事件 TRB
        • 6.4.2.7 设备通知事件 TRB
        • 6.4.2.8 MFINDEX 包裹事件 TRB
      • 6.4.3 命令 TRB
      • 6.4.4 其他 TRB
      • 6.4.5 TRB 完成代码(TRB Completion Codes)
      • 6.4.6 TRB 类型
    • 6.5 事件环分段表(Event Ring Segment Table)
    • 6.6 暂存器缓冲区数组(Scratchpad Buffer Array)


6 数据结构(Data Structures)

6.3 TRB 环(TRB Ring)

   TRB Ring 是一组 TRB (Transfer Request Block) 结构,xHCI 会将其用作循环队列,与主机进行通信。有关 Ring 操作的详细说明,请参阅第 4.9 节。

6.4 传输请求块 (TRB)

    Transfer Request Block (TRB)

   传输请求块 (TRB)是构建所有 xHC USB 传输的基本构建块。所有传输请求块都应在 16 字节边界上对齐。

   每个 TRB 都具有第 4.11.1 节中描述的基本格式。TRB 用于 xHC 执行的所有事务,包括发送到主机控制器的命令、主机控制器生成的事件以及与 USB 端点相关的事务。

   注意:供应商定义的 TRB 应支持 TRB 类型和周期位字段。

6.4.1 传输 TRB(Transfer TRBs)

   传输 TRB 应位于传输环上。传输环上的工作项称为传输描述符 (TDTransfer Descriptor),由一个或多个传输 T​​RB 数据结构组成。本节介绍与传输相关的 TRB。

   注意:如果指定了零长度传输,则 xHC 将忽略数据缓冲区指针字段,无论 IDT 标志的状态如何。

   注意:传输 TRB 引用的数据缓冲区不得跨越 64KB 边界。如果物理数据缓冲区跨越 64KB 边界,则软件应链接多个 TRB 来描述缓冲区。

6.4.1.1 普通 TRB(Normal TRB)

   普通 TRB 有多种用途;专门用于批量和中断传输环的 normal (普通)和 Scatter/Gather (分散/聚集)操作,为 Isoch 传输环上的细粒度和粗粒度 Scatter/Gather (分散/聚集)操作定义附加数据缓冲区,以及为控制传输环定义数据阶段信息。有关普通 TRB 的使用信息,请参阅第 4.11.2.1 节。有关 xHCI 分散/聚集支持的概述,请参阅第 3.2.8 节。

在这里插入图片描述

6.4.1.2 控制 TRB(Control TRBs)

   控制传输需要两个或三个 TD 来定义它们: Setup Stage (设置阶段)TD 后跟 Status Stage (状态阶段)TD ,如果传输需要数据阶段,则可选的 Data Stage (数据阶段)TD 将位于设置阶段和状态阶段 TD 之间。本节定义组成各个 TDTRB。有关 xHCI 控制传输的更多信息,请参阅第 4.11.2.2 节。

   注意:IOC 标志应仅在控制传输的状态阶段 TRB 中设置。

6.4.1.2.1 Setup Stage TRB

    Setup Stage TRB 由系统软件创建,用于在控制端点上启动 USB Setup 数据包。有关设置阶段 TRB 和控制端点操作的更多信息,请参阅第 3.2.9 节。另请参阅 USB2 规范中的第 8.5.3 节,了解有关 “控制传输” 的描述。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4.1.2.2 Data Stage TRB

   数据阶段 TRB 用于生成 USB 控制传输的数据阶段事务。有关控制传输和控制端点操作的更多信息,请参阅第 3.2.9 节。另请参阅 USB2 规范中的第 8.5.3 节,了解“控制传输”的描述。

在这里插入图片描述
在这里插入图片描述

6.4.1.2.3 Status Stage TRB

   状态阶段 TRB 用于生成 USB 控制传输的状态阶段事务。有关控制传输和控制端点操作的更多信息,请参阅第 3.2.9 节。

在这里插入图片描述

   此 TRB 生成的传输事件应反映来自 USB 设备的状态响应。

6.4.1.3 Isoch TRB

   Isoch TRB 定义同步数据传输。有关 Isoch TRB 和同步端点操作的更多信息,请参阅第 3.2.11 节。

在这里插入图片描述

6.4.1.4 无操作 TRB(No Op TRB)

   No Op TRB 提供了一种简单的方法来验证 xHCI 提供的基本传输环机制的操作。可以将其插入到 Transfer Ring 上以生成 Transfer Event

在这里插入图片描述

6.4.2 事件 TRB(Event TRBs)

   事件 TRB 应位于事件环上。事件环上的工作项称为事件描述符 (EDEvent Descriptor)。ED 应仅由一个事件 TRB 数据结构组成。本节介绍与事件相关的 TRB。

6.4.2.1 传输事件 TRB(Transfer Event TRB)

    Transfer Event (传输事件)提供与 Transfer TRB (传输 TRB )相关的完成状态。有关 Transfer Event 的使用和操作的更多信息,请参阅第 4.11.3.1 节。

   注意:主事件环 (0) 或次要事件环可能会接收 Transfer Event TRB。通常,xHC 应使用原始 Transfer TRB Interrupter Target (中断器目标)字段来确定应接收此事件的 Event Ring (事件环)。有关使用槽上下文中断器目标字段的异常情况,请参阅第 4.17.4 节。

在这里插入图片描述

在这里插入图片描述

6.4.2.2 命令完成事件 TRB(Command Completion Event TRB)

    当命令在命令环上完成时,xHC 应生成命令完成事件 TRB。有关命令完成事件使用的更多信息,请参阅第 4.11.4 节。

   注意:主事件环 (0) 应接收所有命令完成事件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4.2.3 端口状态改变事件 TRB

    Port Status Change Event TRB

    每当 PSCEG (Port Status Change Event Generation,端口状态更改事件生成) 变量从 “0” 转换为 “1” 时,xHC 应生成 Port Status Change Event TRB (端口状态更改事件 TRB),例如,状态更改位转换为非零值(CSC、PEC、OCC 等)。有关端口状态更改事件的使用和生成的更多信息,请参阅第 4.19.2 节。有关端口状态更改位的更多信息,请参阅第 5.4.8 节。

   注意:主事件环 (0) 应接收所有端口状态更改事件。

在这里插入图片描述
在这里插入图片描述

6.4.2.4 带宽请求事件 TRB

    Bandwidth Request Event TRB

   当收到 Negotiate Bandwidth Command (协商带宽命令)时,xHC 应生成 Bandwidth Event TRB (带宽事件 TRB)。有关带宽请求事件的更多信息,请参阅第 4.6.13 节。

   注意:主事件环 (0Primary Event Ring) 或次要事件环(Secondary Event Ring)可能会收到 Bandwidth Request Event TRB (带宽请求事件 TRB)。xHC 应使用 Bandwidth Request Event TRB Slot ID 字段索引的 Slot ContextInterrupter Target 字段来确定应接收事件的事件环。

在这里插入图片描述
在这里插入图片描述

6.4.2.5 门铃事件 TRB

    Doorbell Event TRB

    当模拟门铃写入 VF(Virtual Function) 时,xHC 应生成 Doorbell Event TRB (门铃事件 TRB)。如果将相应的 VF 设备插槽分配寄存器的插槽模拟位设置为 “1”,则模拟门铃。请参阅第 7.7.3 节。

   注意:主事件环 (0) 应接收所有门铃事件。

在这里插入图片描述

6.4.2.6 主机控制器事件 TRB

    Host Controller Event TRB

    主机控制器事件 TRB 是通用 TRB,用于报告 xHC 状态变化和错误情况。

   注意:主事件环 (0) 或次事件环可能会接收主机控制器事件 TRB,例如,事件环已满错误。

在这里插入图片描述

6.4.2.7 设备通知事件 TRB

    Device Notification Event TRB

   Device Notification Event TRB (设备通知事件 TRB )用于报告从 USB 设备收到的 USB 设备通知 (DEV_NOTIFICATION) 事务数据包中的信息。有关设备通知的更多信息,请参阅第 4.13 节。

   注意:主事件环 (0) 或次事件环可能会接收设备通知事件 TRB。如果在 DNCTRL 寄存器 (5.4.4) 中启用,xHC 应使用由 Device Notification Event TRB Slot ID 字段索引的 Slot ContextInterrupter Target 字段来确定应接收事件的事件环。

在这里插入图片描述
在这里插入图片描述

6.4.2.8 MFINDEX 包裹事件 TRB

    MFINDEX Wrap Event TRB

在这里插入图片描述

6.4.3 命令 TRB

6.4.4 其他 TRB

6.4.5 TRB 完成代码(TRB Completion Codes)

6.4.6 TRB 类型

6.5 事件环分段表(Event Ring Segment Table)

在这里插入图片描述

6.6 暂存器缓冲区数组(Scratchpad Buffer Array)


   
 




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5334.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

多分类logistic回归分析案例教程

因变量为无序多分类变量,比如研究成人早餐选择的相关因素,早餐种类包括谷物类、燕麦类、复合类,此时因变量有三种结局,而且三种早餐是平等的没有顺序或等级属性,此类回归问题,可以使用多分类Logistic回归进…

读取数量不定的输入数据

#include <iostream> using namespace std; int main() {int sum 0, value 0;//读取数据直到遇到文件尾while (cin >> value) {sum value;}cout << sum;return 0; }

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…

unity3d————四元数概念

一、定义与表示 四元数是由一个实数部分和三个虚数部分组成&#xff0c;通常表示为q w xi yj zk&#xff0c;其中w是实数&#xff0c;x、y、z是实数系数&#xff0c;i、j、k是虚数单位&#xff0c;满足以下关系&#xff1a; i j k -1ij k&#xff0c;ji -kjk i&…

利用frp进行SSH端口转发(内网穿透同理)

题记 公司内网有一台设备&#xff0c;可以根据微步情报来对恶意服务器进行封禁。很不幸我的vps因为开着cs被标记为恶意了&#xff0c;导致我在公司网络连不上我的vps&#xff0c;每次连还要挂代理。于是我打算将我vps的22端口转发到我们公司的vps的10022端口上。本篇文章来自11…

深度学习:bert框架

bert框架的介绍 BERT是一个基于Transformer的双向编码器表示模型&#xff0c;它通过预训练学习到了丰富的语言表示&#xff0c;并可以用于各种自然语言处理任务。 模型结构&#xff1a; BERT基于Transformer的编码器部分&#xff0c;采用了多层自注意力机制和前馈神经网络。这…

java ssm 防疫用地理位置分析系统 地理坐标系统 定位 源码 jsp

一、项目简介 本项目是一套基于SSM的防疫用地理位置分析系统&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&…

IDEA启动提示Downloading pre-built shared indexes

Download pre-built shared indexes Reduce the indexing time and CPU load with pre-built JDK shared indexes 翻译&#xff1a; 下载预构建的共享索引 使用预构建的JDK共享索引减少索引时间和CPU负载. 使用预构建的JDK共享索引可以显著减少索引构建时间和CPU负载&#xf…

【1个月速成Java】基于Android平台开发个人记账app学习日记——第7天,申请阿里云SMS短信服务SDK

系列专栏链接如下&#xff0c;方便跟进&#xff1a; https://blog.csdn.net/weixin_62588253/category_12821860.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12821860&sharereferPC&sharesourceweixin_62588253&sharefromfrom_link 同时篇幅…

MySQL8完全卸载方法-Win10系统

今天分享一篇win10系统下&#xff0c;如何完整的卸载MySQL8 第一步&#xff1a;关闭服务 services.msc 随后右键&#xff0c;点击“停止”&#xff0c;这时候通过cmd命令窗口进入MySQL&#xff0c;检测是否关闭成功 mysql -u root -p 如果提示&#xff1a;ERROR 2003(HY000) ca…

使用kalibr_calibration标定相机(realsense)和imu(h7min)

vslam-evaluation/VINS/Installation documentation/4.IMU和相机联合标定kalibr_calibration.md at master DroidAITech/vslam-evaluation GitHub 目录 1.kalibr安装 1.1安装依赖项 1.2创建工作空间 1.3下载kalibr并编译 1.4设置环境变量 2.准备标定板 3.配置驱动和打…

香港航空 阿里滑块 acw_sc__v3 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…

两场核工业盛会召开!VirtualFlow亮相助力核电CFD技术革新

金秋十月&#xff0c;北京迎来了两场核电领域的年度盛会——“中国核学会核反应堆热工流体力学分会第四届学术年会”与“中核核能软件与数字化反应堆工程技术研究中心学术年会暨数字核能2024技术论坛”。来自全国80余家科研院所、高校和企业的800余名专家学者齐聚一堂&#xff…

Linux(CentOS)安装 MySQL

CentOS版本&#xff1a;CentOS 7 MySQL版本&#xff1a;MySQL Community Server 8.4.3 LTS 1、下载 MySQL 打开MySQL官网&#xff1a;https://www.mysql.com/ 直接下载网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 其他版本 2、上传 MySQL 文件到 CentOS&#x…

【Golang】sql.Null* 类型使用(处理空值和零值)

sql.NullString 和 sql.NullInt64 类型&#xff08;以及其他类似的 sql.Null* 类型&#xff09;在处理数据库操作时非常有用&#xff0c;尤其是在 Go 语言的 database/sql 包中。它们的主要用途包括&#xff1a; 表示 NULL 值&#xff1a; 在数据库中&#xff0c;NULL 表示“没…

wincc中全局脚本C(c语言脚本)的研究和解密

文章目录 前言一、分析 前言 很多时候我们在wincc中写全局脚本时会为自己的脚本添加密码&#xff0c;但很久很久以后再想修改密码忘记了怎么办呢。 一、分析 经过分析编码有了下面成功 ![请添加图片描述](https://i-blog.csdnimg.cn/direct/33baf91a49da410e82f16b4fbd746c48…

es自动补全(仅供自己参考)

elasticssearch提供了CompletionSuggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。为了提高补全查询效率&#xff0c;对于文档中字段的类型有一些约束&#xff1a; 查询类型必须是&#xff1a;completion 字段内容是多个补全词条形成的数组 P…

了解云计算工作负载保护的重要性及必要性

云计算de小白 云计算技术的快速发展使数据和应用程序安全成为一种关键需求&#xff0c;而不仅仅是一种偏好。随着越来越多的客户公司将业务迁移到云端&#xff0c;保护他们的云工作负载&#xff08;指所有部署的应用程序和服务&#xff09;变得越来越重要。云工作负载保护&…

ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染

一、组件基础 1.什么是ArkTS ArkTS是HarmoyOS优选的助力应用开发的语言&#xff0c;ArkTS围绕应用开发在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步的扩展&#xff0c;继承了TS所有的特性&#xff0c;是TS的超集。 扩展的能力如下&#xff1a; 基本语法 …

从 ES Kafka Mongodb Restful ... 取到 json 之后

json 是个好东西&#xff0c;它可以使用公共的文本形式承载了丰富的结构化数据的信息。现代很多技术都在喜欢使用 json 作为数据传输格式&#xff0c;比如 Elastic Search,Restful,Kafka 等&#xff0c;Mongodb 这类对性能较在意的技术则使用了二进制化的 json。 结构化的数据…