USB3.2 摘录(四)

在这里插入图片描述

系列文章目录


USB3.2 摘录(一)
USB3.2 摘录(二)
USB3.2 摘录(三)
USB3.2 摘录(四)


文章目录

  • 系列文章目录
  • 8 协议层(Protocol Layer)
    • 8.8 三个参数地址信息(Addressing Triple)
    • 8.9 路由字符域
      • 8.9.1 路由字符端口域
    • 8.10 事务包使用
      • 8.10.1 流控制条件
      • 8.10.2 Burst Transactions(突发事务处理)
      • 8.10.3 短包
    • 8.11 TP 或 DP应答
      • 8.11.1 设备对TP请求数据的应答
      • 8.11.2 主机对收到设备的数据应答
      • 8.11.3 设备对从主机那收到数据应答
      • 8.11.4 设备对SETUP DP的应答
  • 9 设备框架(Device Framework)
  • 10 集线器、主机下游端口和设备上游端口规范(Hub, Host Downstream Port, and Device Upstream port Specification)
  • 11 互操作性和功率传输(Interoperability and Power Delivery)
  • A Gen1 符号编码(Gen 1 Symbol Encoding)
  • B 符号扰乱(Symbol Scrambling)
  • C 电源管理(Power Management)
  • D 示例数据包(Example Packets)
  • E 中继器(Example Packets)


8 协议层(Protocol Layer)

    协议层管理 Host 和 Device 间 end-to-end 数据流,是建立在链路层正确传输基础上的。本章详细描述:

  • 包类型;(LMP,DP,TP,ITP)
  • 包格式;
  • 包期待的响应;
  • 四种 transaction 类型

在这里插入图片描述

8.8 三个参数地址信息(Addressing Triple)

    数据包和大部分事务包提供使用一个由三个域构成的地址访问指定数据流的权限。它们是设备地址(Device Address)、端点号(Endpoint Number)和方向域(Direction)。

    一旦复位和上电,设备地址默认值为 0 ,应该在枚举过程期间被主机用 1127 之间的值来编程。设备地址 0 保留成默认地址,不能分配给任何其他使用。

    设备除去必须的默认端点号为 0 的默认控制端点外,可以支持最大值达到 15IN15OUT 端点(由方向域指示)。

8.9 路由字符域

    路由字符是在下游导向(向下游端口方向发送)的包中一个20位的域,集线器使用其进行路由选择,将包传递到指定的下游端口。它由一串下游端口号(每个集线器4位)组成,集线器使用它到达设备。集线器使用集线器深度值HubDepth乘以4作为在路由字符域中要定位的偏移值,集线器用它来决定下游端口号。集线器深度值在枚举过程期间,由每个集线器决定和分配。

    注意这个域(路由字符)只在主机发送的包中有效,当被设备发送时,这个域是保留的。

    上图中集线器@Tier1域值是直接连接到主机根端口之一的集线器的下游端口号注意:上图中结构是每4bit表示一个端口号。因此不同端口号是以4为模进行偏移。

8.9.1 路由字符端口域

    在路由字符中的这4位宽度区域代表要被寻址的集线器端口8.9.2路由字符端口域宽度
路由字符端口域宽度是固定为4位,端口号的最大值限制为15.8.9.3端口号

    包直接传向的集线器上指定的端口,由路由字符端口域值确定。当寻址集线器控制器时,然后在集线器层的路由字符中端口号域应该被设置为0.集线器下游端口一个个相继寻址。

8.10 事务包使用

    TP被用来报告数据事务传输的状态,能返回指示数据包、命令接收或拒绝,流控的成功接收和停止条件的值。

8.10.1 流控制条件

    这部分描述当一个端点返回一个流控制应答时,在主机和设备之间的相互作用。流控制是在主机和设备端点之问的端对端级的。只有块,控制和中断端点可以发送流控制应答。同步端点不能发送流控制应答。

    如果一个IN端点返回下面对 ACKTP的应答之一(返回数据),则应该被认为这是在次流控制条件中:(对主机请求数据事务包的应)

  • NRDYTP应答
  • 发送一个 DPH中EOB域值为1的DP
    如果一个OUT端点返回下面的对 DP的应答之一, 则应该被认为在流控制条件中:- NRDYTP 应答
  • 发送一个NumP域值为0的ACKTP

    只有当被主机设置时PacketsPending域才有效,它不影响端点进入流控制状态。详细参考8.11的主机与设备的TP应答

    当端点在流控制条件中,它应该发送一个ERDYTP使自己进入活动状态。而且,如果端点是IN端点,那么它应该一直等待,直到它在能发送ERDYTP之前,为它发送的最后一个 DP收到ACKTP。当端点不在一个流控制条件中,它不应该发送一个 ERDY TP,除非端点是支持流的块端点。注意主机能重新开始到任何端点的事务处理–甚至端点在返回一个流控制应答以后还没有返回ERDYTP。

8.10.2 Burst Transactions(突发事务处理)

    只要设备能够接收数据,超速USB协议就允许主机连续发送数据给一个设备或者只要设备能够发送数据,主机就连续能从设备接受数据。设备端点能不需ACK而一次发送或者接受数据包数量(burst size)被记录在设备的endpoint companion descriptor 中。在端点最大突发大小中记录的值为不止一个包(最大突发尺寸大于1),则被认为能支持“突发事务处理。(如果突发大小为1,则意义为发送一个数据包而不需要 ACK应答,这相当于没有突发,还是发送每个数据包后要发送ACKTP)下面的规则适用于突发:

  • 在收到ACK之前能在突发中发送的最大包数被限制于端点的最大突发大小加上端点或主机收到最后一个ACKTP包的NumP域的值,减去在被最后一个ACKTP包应答之后端点或主机已经发送的包数。
    (收到一个 ACK之前一次突发中能被发送的最大包数<=端点的最大突发大小+收到的最后一个ACKTP包的NumP域值-在被最后一个 ACKTP包应答的包之后已经发送的包数)
  • 在突发中的每个包都要有一个最大数据包尺寸的数据负载。仅仅在一次突发的最后一个包的大小能比描述符中记录的最大数据包尺寸小(类似于USB2.0)。如果最后一个包较小,则对于短包的相同规则也适用一个在一次突发结尾的短包(参考8…10.3短包)。- 只要ACKTP包的NumP域值不为0,突发传输事务就能持续,每个包都有最大包尺寸大小的数据负载。

    只要主机或者设备想要持续接受数据,NumP域值能在任何时候通过主机或者设备发送ACKTP包来增加。仅仅要求是umP域值不能比设备支持的最大突发尺寸大。- 如果设备或者主机发送一个NumP域值减少的ACKTP包,那么减少的值不能比1大.例如,如果前一个ACKTP包NumP域值为5,那么对下一个收到的包的 ACK TP的NumP域值不应该比4小,只有下面的情况除外:-----如果设备能够接受数据但是不能再接收更多的数据了,则它应该发送一个NumP域值设为 0的 ACKTP 包。
----主机应该发送一个NumP域值设为0的ACKTP包作为设备发送一个带有EOB域值被置位的DP包或者是短包的的应答。
但是,如果主机收到一个短包,主机还需要在同一个端点上开始另外一次传输,那么主机可以发送一条 NumP域值为非零值的ACKTP包来替代发送一个为0的ACKTP包。

8.10.3 短包

    超速保持USB2.0支持的短包功能。当设备或主机收到数据长度区域比端点最大包尺寸小的 DP,则它应该认为传输完成了。

    在IN传输中,设备应该在发送一个短包DP后,停止发送DPS。主机应该用一个NumP域为0的ACKTP对短包应答。当此端点开始另外一次传输,主机应该对设备端点安排事务。

    在OUT事务中,主机可以在发送一个短包后停止发送DPs,主机在此端点开始另外次传输时应该给设备端点安排事务。注意这为端点的一次新突发的开始。

8.11 TP 或 DP应答

    发送和接收设备应该返回DPS或TPs,正如Table8-25到Table8-27详细描述的。注意依赖域传输类型和TP流的方向,并非所有TP被允许。

8.11.1 设备对TP请求数据的应答

    Table 8-25 显示了设备对块、控制和中断端点的TP请求数据的可能应答方式。如果有个不正确的设备地址或者端点号和方向,一个TP被当作无效。

8.11.2 主机对收到设备的数据应答

    Table 8-26 显示了主机对块,控制和中断端点收到设备的数据的应答。主机能返回仅仅一个ACKTP。如果有一个不正确设备地址或端点号和方向一个DPH被当作无效的。在 Table 8-26 中,DPP错误可能由于下面一个或几个导致:

CRC不正确

  • DPP终止
  • DPP丢失
  • DPH中的数据长度不与实际数据长度相符

8.11.3 设备对从主机那收到数据应答

    设备对块,控制和中断端点从主机收到的数据的TP应答在Table8-27先表示。如果有一个不正确的设备地址,端点号或方向,则一个DPH被当作无效的。DPP错误可能由下面一个或多个导致:
CRC不正确

  • DPP终止
  • DPP丢失
  • DPH中的数据长度不与实际数据长度相符
    注意:ACKTP的接收是向主机指示前一个顺序号的DP被设备成功接收,也指示设备还能够接收主机将要发送DPs的有效的数据包的缓存数(NumP域指示)。设备应该为每个DP发送一个ACKTP.

8.11.4 设备对SETUP DP的应答

    SETUP DP是一种特别的DP,它通过Setup域被设置为1来认证,可被寻址到任意端点SETUP是一种主机到设备的特别的数据事务处理,它允许主机初始化设备一条要执行的命令。收到SETUPDP的话,设备应该以Table8-28.中的应答:
注意如果出现任何下面之一,SETUPDP应该被当作无效的;

  • 不正确的设备地址
  • 端点号和方向与端点当前配置部分不符
  • 端点号没有适用于一个控制端点
  • 非零顺序号(SETUPDP中所有顺序号都要为0)
  • 数据长度没有被设置为8

在Table 8-28中,DPP错误可能由于下面一个或多个导致:

  • CRC 错误
  • DPP终止
  • DPP丢失
  • SETUPDPH中的数据长度域实际数据长度不符

9 设备框架(Device Framework)

10 集线器、主机下游端口和设备上游端口规范(Hub, Host Downstream Port, and Device Upstream port Specification)

11 互操作性和功率传输(Interoperability and Power Delivery)

A Gen1 符号编码(Gen 1 Symbol Encoding)

B 符号扰乱(Symbol Scrambling)

C 电源管理(Power Management)

D 示例数据包(Example Packets)

E 中继器(Example Packets)

   
 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苍穹外卖项目DAY07

苍穹外卖项目Day07 1、缓存菜品 1.1、问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 1.2、实现思路 通过Redis来缓存菜品的数据&#xff0c;减少数据库查询操作 缓存逻辑分析&#xff…

未来视界,触手可及:揭秘数字透明屏的奇幻之旅

在这个日新月异的科技时代&#xff0c;每一项创新都如同星辰般璀璨&#xff0c;引领着我们向更加智能、更加梦幻的未来迈进。今天&#xff0c;就让我们一起揭开一项颠覆传统视觉体验的前沿科技——数字透明屏的神秘面纱&#xff0c;探索它如何将未来视界&#xff0c;化为触手可…

IDEA:如何在idea中设置自动导包

这里使用的是idea2020版本,但是不同版本操作不会有较大的差别. 在Editer中展开General之后,选中Auto Import,最后勾选中Add unambiguous imports on the fly.

微信视频号评论如何快速采集?三种高效实用的方法

本文将深入探讨如何高效地采集微信视频号评论&#xff0c;通过揭秘三种实用方法&#xff0c;助您迅速掌握这一营销利器。从自动化工具到智能策略&#xff0c;每一步都旨在提升您的市场分析效率&#xff0c;让您在竞争激烈的社交媒体领域中脱颖而出。 一、引言&#xff1a;为何…

探索顶级PDF水印API:PDFBlocks(2024年更新)

引言 在一个敏感信息常常面临风险的时代&#xff0c;能够轻松高效地保护文档的能力至关重要。PDF水印已成为企业和个人寻求保护其知识产权、确保文件保密性的基本工具。 PDFBlocks 文字水印 API是什么&#xff1f; PDFBlocks API 提供了一个强大的解决方案&#xff0c;用于在…

day06——前后端交互

一、计算属性 计算属性就是基于现有的数据推算出来的新属性&#xff0c;只要依赖的数据变化&#xff0c;新属性就会自动更新&#xff0c;而且计算属性多次调用的情况下只会计算一次&#xff0c;效率非常高 简化写法 const app new Vue({ el: #app, data: {}, methods: {//跟da…

记录一次生产jvm问题的排查

记录一次生产问题的排查 第一天晚上 现象 1、前援反馈页面有接口陆续出现请求超时 2、登录后台服务器top命令查看发现java进程发生高cpu占用情况 3、查看对应业务日志&#xff0c;报数据库连接等待超时-数据库连接池连接无空闲 对应处理 1、临时调大数据库连接池最大连接数限…

Chat App 项目之解析(三)

Chat App 项目介绍与解析&#xff08;一&#xff09;-CSDN博客文章浏览阅读76次。Chat App 是一个实时聊天应用程序&#xff0c;旨在为用户提供一个简单、直观的聊天平台。该应用程序不仅支持普通用户的注册和登录&#xff0c;还提供了管理员登录功能&#xff0c;以便管理员可以…

【三维重建汇总】NeRF和GS重建中,如何排除干扰物?(提升质量)

汇总最近NeRF与GS提升质量的论文 文章目录 前言一、NeRF On-the-go&#xff1a;利用不确定性落地真实世界&#xff08;CVPR24&#xff09;摘要1.DINOv2特征的不确定性预测2.NeRF中干扰物去除的不确定性3.优化4. Dilated Patch 扩大采样5.实验结果 二、Pixel-GS:像素感知的梯度密…

unity程序简易框架

1. 框架基本结构 2. 单例模式基类模块 2.1 BaseManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine;public class BaseManager<T> where T:new() {private static T instance;public static T GetInstance(){if (instance == …

高防服务器配置要素

高防服务器配置通常包括硬件资源、网络资源、防护能力、弹性防护、清洗能力和业务支持等方面。下面将详细介绍高防服务器的配置要素&#xff0c;rak部落小编为您整理发布。 高防服务器是设计用来抵御各种网络攻击&#xff0c;特别是分布式拒绝服务(DDoS)攻击的服务器配置。这些…

伊朗通过 ChatGPT 试图影响美国大选, OpenAI 封禁多个账户|TodayAI

OpenAI 近日宣布&#xff0c;他们已经封禁了一系列与伊朗影响行动有关的 ChatGPT 账户&#xff0c;这些账户涉嫌利用该 AI 工具生成并传播与美国总统选举、以色列 – 哈马斯战争以及奥运会等相关的内容。 OpenAI 表示&#xff0c;这些账户与一个名为 “Storm-2035” 的秘密伊朗…

技术速递|Python in Visual Studio Code 2024年8月发布

排版&#xff1a;Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2024 年 8 月发布&#xff01; 此版本包括以下公告&#xff1a; 使用 python-environment-tools 改进了 Python 发现源代码中显示的内联变量值对 Python 的 VS Code Native RE…

CentOS7下制作openssl1.1.1i RPM包并升级

OpenSSL最新漏洞 OpenSSL官方发布了拒绝服务漏洞风险通告&#xff0c;漏洞编号为CVE-2020-1971 漏洞详情 OpenSSL是一个开放源代码的软件库包&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&#xff0c;同时确认另一端连接者的身份。这个包广泛被应…

LangChain深度解析:模型调用的艺术与实践

Model I/O 概述 LangChain的模型是框架中的核心&#xff0c;基于语言模型构建&#xff0c;用于开发LangChain应用。通过API调用大模型来解决问题是LangChain应用开发的关键过程。 可以把对模型的使用过程拆解成三块: 输入提示(Format)、调用模型(Predict)、输出解析(Parse) 1.…

【Kubernetes中如何对etcd进行备份和还原】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

开放式耳机哪种好用?开放式种草测评!

现在很多人都很喜欢用开放式耳机了&#xff0c;因为这种耳机非常的舒服&#xff0c;而且不会压迫我们的耳道&#xff0c;从而给到我们更健康的体验&#xff0c;但是现在开放式耳机的品牌越来越多&#xff0c;我们也越来越难选择&#xff0c;所以我们应该怎么样才能选到一款适合…

(七)Activiti-modeler中文支持

1、修改app.js&#xff0c;51行 注意第3步&#xff0c;之前已经访问过&#xff0c;缓存到cookie了&#xff0c;这里要么注释该方法&#xff0c;要么去浏览器手动删除对应cookie才能使用下面的zh-CN.json 2、i18n\en.json中添加zh-CN.json &#xff08;以下代码片断为网上获得…

【傅里叶分析】复数基础知识

【傅里叶分析】复数基础知识 复数复数的几何意义与点的对应与向量的对应 复数与极坐标辐角与辐角主值三角函数 参考文献 本文参考了网上的其他文章&#xff0c;已在文末参考文献中列出&#xff1b;如有侵权&#xff0c;请联系我删除。 复变函数是傅里叶分析的基础&#xff0c;而…

1、1.5、2.5、4、6、10平铜线可以带多大用电器?安全用电须知

现在家用铜线规格多是1、1.5、2.5、4、6平&#xff0c;那么这几种规格的导线能带多少瓦的用电器呢&#xff1f;今天小编就陪大家一起来分析一下。&#xff08;1平指的是国标导线的横截面积为1平方毫米&#xff09; 铜导线 红色用做火线&#xff0c;蓝色用做零线&#xff0c;黄…