USB3.2 摘录(12)

news2024/11/15 4:40:53

在这里插入图片描述

系列文章目录


USB3.2 摘录(一)
USB3.2 摘录(二)
USB3.2 摘录(三)
USB3.2 摘录(四)
USB3.2 摘录(五)
USB3.2 摘录(六)
USB3.2 摘录(七)
USB3.2 摘录(八)
USB3.2 摘录(九)
USB3.2 摘录(10)
USB3.2 摘录(11)
USB3.2 摘录(12)


文章目录

  • 系列文章目录
  • 10 集线器、主机下游端口和设备上游端口规范
    • 10.16 请求(Requests)
      • 10.16.1 标准请求(Standard Requests)
      • 10.16.2 特定于类的请求(Class-specific Requests)
        • 10.16.2.1 清除 Hub 功能(Clear Hub Feature)
        • 10.16.2.2 清除端口功能(Clear Port Feature)
        • 10.16.2.3 获取 Hub 描述符(Get Hub Descriptor)
        • 10.16.2.4 获取 Hub 状态(Get Hub Status)
        • 10.16.2.5 获取端口错误计数(Get Port Error Count)
        • 10.16.2.6 获取端口状态(Get Port Status)
          • 10.16.2.6.1 端口状态位(Port Status Bits)
          • 10.16.2.6.2 端口状态更改位(Port Status Change Bits)
          • 10.16.2.6.3 扩展端口状态位(Extended Port Status Bits)
        • 10.16.2.7 设置集线器描述符(Set Hub Descriptor)
        • 10.16.2.8 设置 Hub 功能(Set Hub Feature)
        • 10.16.2.9 设置集线器深度(Set Hub Depth)
        • 10.16.2.10 设置端口功能(Set Port Feature)
    • 10.17 主机根(下行)端口


10 集线器、主机下游端口和设备上游端口规范

10.16 请求(Requests)

10.16.1 标准请求(Standard Requests)

    集线器对请求处理时间的限制比 Section 9.2.6 中规定的标准设备更严格,因为它们对于连接到 USB 的所有设备的 “可用时间” 至关重要。下面列出了最坏情况的请求计时要求(它们适用于标准请求和 Hub 类请求):

  • 无数据阶段的请求的完成时间: 50 ms
  • 有数据阶段的标准请求的完成时间:
    • 从设置数据包到第一个数据阶段的时间: 50 ms
    • 每个后续数据阶段之间的时间: 50 ms
    • 最后一个数据阶段和状态阶段之间的时间: 50 ms

    由于集线器在总线计数中起着如此关键的作用,因此建议所有请求的集线器平均响应时间小于 5 毫秒。

    表 10-6 概述了各种标准设备请求。

在这里插入图片描述

    集线器需要接受所有 “标准” 请求,而不会出错。集线器不应对格式良好的 SET_ISOC_DELAY 请求响应请求错误。集线器不需要保留或处理延迟值。未实现的可选请求应在请求的 Data stageStatus 阶段返回 STALL

10.16.2 特定于类的请求(Class-specific Requests)

    hub 类定义 hub 响应的请求,如表 10-7 中所述。表 10-8 定义了 Hub 类请求代码。下表中除 SetHubDescriptor() 之外的所有请求都是必需的。

在这里插入图片描述

在这里插入图片描述

    表 10-9 给出了 hub 类的有效功能选择器。有关功能的说明,请参阅 Section 10.16.2.1 和 Section 10.16.2.8 。

在这里插入图片描述

10.16.2.1 清除 Hub 功能(Clear Hub Feature)

    此请求将重置 hub status 中报告的值。

在这里插入图片描述

    发送清除请求将禁用该功能;请参阅表 10-9 了解作为接收者应用于 Hub 的功能选择器定义。如果功能选择器与状态更改相关联,则清除该状态更改将确认该更改。此请求格式用于清除 C_HUB_LOCAL_POWERC_HUB_OVER_CURRENT 功能。

    如果 wValue 不是表 10-9 中列出的功能选择器,或者 wIndexwLength 不是上面指定的,则为请求错误。

    如果未配置 Hub ,则 Hub 对此请求的响应是 undefined

10.16.2.2 清除端口功能(Clear Port Feature)

    此请求将重置端口状态中报告的值。

在这里插入图片描述

    端口号应为该集线器的有效端口号,大于零。port 字段位于 wIndex 字段的位 7…0 中。

    发送清除请求将禁用该功能或启动与该功能关联的进程;有关功能选择器定义,请参阅表 10-9。如果功能选择器与状态更改相关联,则清除该状态更改将确认该更改。此请求格式用于清除以下功能:

  • PORT_POWER
  • C_PORT_CONNECTION
  • C_PORT_RESET
  • C_PORT_OVER_CURRENT
  • C_PORT_LINK_STATE
  • C_PORT_CONFIG_ERROR
  • C_BH_PORT_RESET
  • FORCE_LINKPM_ACCEPT

    清除 PORT_POWER 功能会导致端口处于 DSPORT.Powered-off-reset 状态,并且可能会根据集线器的电源切换方法的限制,导致端口的电源断开。当处于 DSPORT.Powered-offDSPORT.Powered-off-detectDSPORT.Powered-off-reset 状态时,当此端口为接收方时,唯一有效的请求是获取端口状态 (请参阅 第 10.16.2.6 节) 和设置端口功能 (PORT_POWER) (请参阅 第 10.16.2.10 节)。

    清除 FORCE_LINKPM_ACCEPT 功能会导致端口置低 Set Link Function LMPs 中的 Force_LinkPM_Accept 位。如果端口上未断言 Force_LinkPM_Accept 位,则集线器应将此请求视为功能性无操作。

    如果 wValue 不是表 10-9 中列出的功能选择器,如果 wIndex 指定的端口不存在,或者 wLength 不是上面指定的,则为一个错误请求。请求尝试清除已清除的特性(feature)不是一个错误(集线器应将其视为功能性无操作)。

    如果未配置 Hub ,则 Hub 对此请求的响应是 undefined

10.16.2.3 获取 Hub 描述符(Get Hub Descriptor)

    此请求返回 Hub 描述符。

在这里插入图片描述

    Hub 类描述符的 GetDescriptor() 请求遵循与标准 GetDescriptor() 请求相同的使用模型(请参阅第 9 章)。标准 Hub 描述符使用第 10.15.2.1 节中定义的值 bDescriptorType 表示。所有 Hub 都需要实现一个 Hub 描述符,描述符索引为零。

    如果 wLength 大于描述符的实际长度,则仅返回实际长度。如果 wLength 小于描述符的实际长度,则仅返回描述符的第一个 wLength 字节;即使 wLength 为零,也不会将其视为错误。

    如果 wValuewIndex 与上面指定的不同,则为请求错误。

10.16.2.4 获取 Hub 状态(Get Hub Status)

    此请求返回当前 Hub 状态以及自上次确认以来已更改的状态。

在这里插入图片描述

    Data 的第一个字(2 字节)包含 wHubStatus 字段(参见表 10-10)。Data 的第二个字包含 wHubChange 字段(参见表 10-11)。

    如果 wValuewIndexwLength 与上面指定的值不同,则为错误请求。

在这里插入图片描述

    这些状态位没有定义的功能选择器值,它们既不能被 USB 系统软件设置也不能清除。

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

    集线器可能允许使用 SetHubFeature() 请求设置这些更改位,以便支持诊断。如果集线器不支持设置这些位,则应将 SetHubFeature() 请求视为请求错误或功能性无操作。设置后,这些位可以由 ClearHubFeature() 请求清除。设置已设置的功能或清除已清除的功能的请求无效,Hub 应将其视为功能无操作。

10.16.2.5 获取端口错误计数(Get Port Error Count)

    此请求返回集线器在 wIndex 指示的端口上检测到的链接错误数。每当设备经历 Reset (请参阅 Section 7.3) 或在上电时,此值将重置为零。

在这里插入图片描述

    端口号应为该集线器的有效端口号,大于零。

    如果 wValuewLength 不是上面指定的,或者 wIndex 指定的端口不存在,则会出现请求错误。

10.16.2.6 获取端口状态(Get Port Status)

    此请求返回当前端口状态和端口状态更改位的当前值。

在这里插入图片描述

    PORT_STATUSEXT_PORT_STATUS 数据的第一个字包含 wPortStatus 字段(参见表 10-13)。PORT_STATUSEXT_PORT_STATUS 数据的第二个字包含 wPortChange 字段(参见表 10-14)。EXT_PORT_STATUS 请求应返回包含 dwExtPortStatus 字段的附加数据 dword(请参阅表 10-15)。

    wPortStatuswPortChange 字段中的位位置在适用时以一对一的方式对应。

    wValue 字段以低序字节指定 Port Status Type(请参阅表 10-12),高序字节被保留。

在这里插入图片描述

    如果端口状态类型等于 EXT_PORT_STATUS 且集线器未定义 SuperSpeedPlus USB 功能描述符,或者端口状态类型等于保留值,或者 wValuewLength 不是表 10-7 中指定的值,或者 wIndex 指定的端口不存在,则为请求错误。

10.16.2.6.1 端口状态位(Port Status Bits)

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

PORT_CONNECTION

    当端口处于 DSPORT.Enabled 状态时,此位设置为 1。在 DSPORT.ResettingDSPORT.Error 状态中,它保持先前状态的值。

    SetPortFeaturePORT_CONNECTION) 和 ClearPortFeaturePORT_CONNECTION) 请求不得被 USB 系统软件使用,并且应被集线器标记为无操作请求。

PORT_ENABLE

    当下游端口处于 DSPORT.Enabled 状态时,此位设置为 1,否则设置为 0。

    请注意,增强型 SuperSpeed 集线器不支持 USB 2.0 ClearPortFeaturePORT_ENABLE) 请求,USB 系统软件也不能使用它来禁用端口。

PORT_OVER_CURRENT

    当端口上存在过流情况时,此位设置为 1,否则设置为 0。

    如果此端口上的电压受另一个端口上的过流条件影响,则此位设置为 1 并保持设置为 1,直到影响端口上的过流条件被消除。当影响端口上的过流条件被移除时,该位设置为零。

    如第 10.12 节所述,自供电集线器需要过流保护(在总线供电集线器上是可选的)。

    SetPortFeaturePORT_OVER_CURRENT) 和 ClearPortFeaturePORT_OVER_CURRENT) 请求不应由 USB 系统软件使用,并且可能被集线器视为无操作请求。

PORT_RESET

    当端口处于 DSPORT.Resetting 状态时,此位设置为 1。此位在所有其他下游端口状态中都设置为零。

    如果满足第 10.3.1.6 节中的条件,则 SetPortFeaturePORT_RESETBH_PORT_RESET) 请求将启动 DSPORT.Resetting 状态。

    ClearPortFeaturePORT_RESET) 请求不应由 USB 系统软件使用,并且可能被集线器视为无操作请求。

PORT_LINK_STATE

    此字段反映链接的当前状态。

    SetPortFeaturePORT_LINK_STATE) 请求可随时由 USB 系统软件发出,但仅具有第 10.16.2.10 节中指定的效果。

    ClearPortFeaturePORT_LINK_STATE) 请求不应由 USB 系统软件使用,并且可能被集线器视为无操作请求。

PORT_POWER

    此位反映端口的当前逻辑电源状态。无论是否存在实际的端口电源交换设备,此位在所有端口上实现。

    当此位为零时,端口处于 DSPORT.Powered-off 状态、DSPORT.Powered-off-detect 状态或 DSPORT.Powered-off-reset 状态。同样,任何导致此端口进入这三种状态中的任何一种的因素都将导致此位设置为零。

    SetPortFeaturePORT_POWER) 会将此位设置为 1,除非 C_HUB_LOCAL_POWERLocal Power Source(在 wHubStatus 中)都设置为 1,在这种情况下,请求被视为功能性无操作。

PORT_SPEED

    仅当 PORT_ENABLE 位设置为 1 且 Port Status Type 设置为 PORT_STATUS 时,此字段中的此值才有效。此字段中的值为零表示已附加增强型 SuperSpeed 设备。此字段中的所有其他值都是保留的。

    系统软件可以通过使用 Get Port Status 请求来确定设备运行的实际速度,请求时将其 Port Status Type 设置为 EXT_PORT_STATUS(请参阅 Section 10.16.2.6.3)。

    此字段只能由 USB 系统软件读取。

10.16.2.6.2 端口状态更改位(Port Status Change Bits)

    端口状态更改位用于指示端口状态位的更改,这些更改不是请求的直接结果。可以通过 ClearPortFeature() 请求或集线器重置来清除端口状态更改位。集线器可能允许使用 SetPortFeature() 请求设置状态更改位以进行诊断。如果集线器不支持设置状态更改位,则它可能会将请求视为请求错误或功能性无操作。表 10-14 介绍了 wPortChange 字段中的各个位。

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

C_PORT_CONNECTION

    当 PORT_CONNECTION 位更改时,此位设置为 1。

    此位应通过 ClearPortFeatureC_PORT_CONNECTION) 请求或在逻辑端口电源关闭时设置为零。

C_PORT_OVER_CURRENT

    当 PORT_OVER_CURRENT 位从 0 变为 1 或从 1 变为 0 时,此位设置为 1。如果由于另一个端口上的过流情况而将端口置于 DSPORT.Powered-off-reset 状态,则也会设置此位。

    此位应由 ClearPortFeatureC_PORT_OVER_CURRENT) 请求设置为零。

C_PORT_RESET

    当端口从 DSPORT.Resetting 状态转换为 DSPORT.Enabled 状态以进行任何类型的重置时,此位设置为 1。

    此位应通过 ClearPortFeatureC_PORT_RESET) 请求设置为零,或者在逻辑端口电源关闭时设置。

C_PORT_BH_RESET

    当端口从 DSPORT.Resetting 状态转换为 DSPORT.Enabled 状态时,此位设置为 1,仅用于热重置。

    该位应由 ClearPortFeatureC_PORT_BH_RESET) 请求清除,或者在逻辑端口电源关闭时清除。

C_PORT_LINK_STATE

    当端口的链路由于 SetPortFeaturePort_Link_State) 请求而完成从 U3 状态到 U0 状态的转换时,或者完成到 Loopback 状态或 ComplianceeSS.Inactive 的转换(如果存在 Rx 终止)时,此位设置为 1。由于在面向下游的端口上接收到远程唤醒信号,因此从 U3U0 的转换,因此此位未设置为 1。

    该位将通过 ClearPortFeatureC_PORT_LINK_STATE) 请求或在逻辑端口电源关闭时清除。

C_PORT_CONFIG_ERROR

    如果无法成功配置连接到端口的链路,例如,如果两个仅支持下行的端口相互连接,或者无法完成链路配置,则此位设置为 1。此外,发生这种情况时,端口应转换为 DSPORT.Error 状态。

    此位将通过 ClearPortFeatureC_PORT_CONFIG_ERROR) 请求或在逻辑端口电源关闭时清除。

10.16.2.6.3 扩展端口状态位(Extended Port Status Bits)

    仅当 Get Port Status 请求的 Port Status Type (端口状态类型) 设置为 EXT_PORT_STATUS 时,才会返回扩展端口状态位。

    请注意,对于增强型 SuperSpeed 设备,“端口速度” 是链路速度乘以通道数。

在这里插入图片描述
TX_SUBLINK_SPEED_ID and RX_SUBLINK_SPEED_ID

    仅当 PORT_ENABLE 位设置为 1 时,此字段中的值才有效。通道速度(即单个通道的比特率)是通过评估 SuperSpeedPlus USB 功能描述符中子链路速度属性的参数来确定的,其子链路速度属性 ID 值与子链路速度 ID 值匹配,例如,如果子链路速度属性 LSELSM 字段分别等于 3 和 10,则链路以 10 Gb/s 的速度运行。Sublink Speed Attribute 未引用的所有值都将被保留。

    此字段只能由 USB 系统软件读取。

TX_LANE_COUNT and RX_LANE_COUNT

    此字段中的此值仅在 PORT_ENABLE 位设置为 1 时有效。端口的速度是通过将 Sublink Speed(由 SUBLINK_SPEED_ID 定义)乘以 Lane Count 来确定的。

    此字段只能由 USB 系统软件读取。

10.16.2.7 设置集线器描述符(Set Hub Descriptor)

    此请求将覆盖 Hub 描述符。

在这里插入图片描述

    Hub 类描述符的 SetDescriptor 请求遵循与标准 SetDescriptor 请求相同的使用模型(请参阅第 9 章)。标准 Hub 描述符使用第 10.15.2.1 节中定义的值 bDescriptorType 表示。所有 Hub 都需要实现一个描述符索引为零的 Hub 描述符。

    此请求是可选的。此请求将数据写入特定于类的描述符。主机提供在控制事务的数据传输阶段要传输到集线器的数据。此请求一次写入整个 Hub 描述符。

    Hubs 应缓冲从此请求接收的所有字节,以确保已从主机成功传输整个描述符。成功完成总线传输后,集线器将更新指定描述符的内容。

    如果 wIndex 不为零或 wLength 与主机发送的数据量不匹配,则为请求错误。不支持此请求的 Hub 在请求的 Data 阶段使用 STALL 进行响应。

    如果未配置 Hub ,则 Hub 对此请求的响应是 undefined

10.16.2.8 设置 Hub 功能(Set Hub Feature)

    此请求设置 Hub 状态中报告的值。

在这里插入图片描述

    设置定义的特征将启用该功能。使用此请求可能无法确认状态更改。

    如果 wValue 不是定义的功能选择器,或者 wIndexwLength 未按上面指定,则为请求错误。

10.16.2.9 设置集线器深度(Set Hub Depth)

    此请求设置 Hub 用于确定 Hub 的路由字符串索引的索引的值。

在这里插入图片描述

    wValue 包含 Hub Depth 的值。左移 2Hub DepthRoute String 的偏移量,用于标识集线器的 Route String Port Fieldlsb

    如果 wValue 大于 4,或者 wIndexwLength 未按上面指定,则为请求错误。

10.16.2.10 设置端口功能(Set Port Feature)

    此请求设置端口状态中报告的值。

在这里插入图片描述

    端口号应为该集线器的有效端口号,大于零。端口号位于 wIndex 字段的最低有效字节 (位 7…0) 中。wIndex 的最高有效字节为零,除非功能选择器为 PORT_U1_TIMEOUTPORT_U2_TIMEOUTPORT_LINK_STATEPORT_REMOTE_WAKE_MASK

    设置功能会启用该功能或启动与该功能关联的进程;请参阅表 10-9,了解作为接收方应用于端口的功能选择器定义。使用此请求可能无法确认状态更改。可通过此请求设置的功能包括:

  • PORT_RESET
  • BH_PORT_RESET
  • PORT_POWER
  • PORT_U1_TIMEOUT
  • PORT_U2_TIMEOUT
  • PORT_LINK_STATE
  • PORT_REMOTE_WAKE_MASK
  • FORCE_LINKPM_ACCEPT

PORT_U1_TIMEOUT

    功能选择器是 PORT_U1_TIMEOUT 时,wIndex 字段的最高有效字节 (位 15…8) 指定 U1 非活动计时器的超时值。有关如何使用 U1 非活动计时器值的详细说明,请参阅 Section 10.4.2.1 。

    以下是允许的值:

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

PORT_U2_TIMEOUT

    功能选择器是 PORT_U2_TIMEOUT 时,wIndex 字段的最高有效字节 (位 15…8) 指定 U2 非活动计时器的超时值。在收到带有 PORT_U2_TIMEOUT 功能选择器的 Set Port Feature 请求后,端口的链路应向其具有指定超时值的 LMP 发送 LMP。有关如何使用 U2 非活动计时器值的详细说明,请参阅 Section 10.4.2.1 。

    以下是允许的值:

在这里插入图片描述

    注意:软件有责任为连接到集线器的下游端口正确设置 U2 超时。如果超时设置不正确,可能会导致链路状态不一致。建议软件将上游 U2 超时设置为至少是集线器上下游端口的 U2 超时值的两倍

PORT_LINK_STATE

    当功能选择器是 PORT_LINK_STATE 时,wIndex 字段的最高有效字节(位 15…8)指定主机软件要将连接到端口的链路置于的 U 状态。仅当设置了 PORT_ENABLE 位且 PORT_LINK_STATE 未设置为 eSS.DisabledRx.DetecteSS.Inactive 时,此请求才有效,除非另有说明:

  • 如果值为 0,则 Hub 应将链接从任何 U 状态转换为 U0
  • 如果值为 1,则主机软件希望将链接转换为 U1 状态。 Hub 应尝试将链接从 U0 转换为 U1。如果在收到值为 1 的请求时,链接处于 U0 以外的任何状态,则行为未定义。
  • 如果值为 2,则主机软件希望将链接转换为 U2 状态。 Hub 应尝试将链接从 U0 转换为 U2。如果在收到值为 2 的请求时,链接处于 U0 以外的任何状态,则行为未定义。
  • 如果值为 3,则主机软件希望选择性地挂起连接到此端口的设备。 Hub 应使用允许的链接状态转换将链接从任何其他 U 状态转换为 U3。如果端口尚未处于 U0 状态,则它应将端口转换为 U0 状态,然后启动到 U3 的转换。当此状态处于活动状态时,集线器不会将下游定向流量传播到此端口,但集线器将响应来自端口的恢复信令。
  • 如果值为 4eSS.Disabled),则 Hub 应将链接转换为 eSS.Disabled。当值为 4 时,该请求始终有效。收到此请求后,下游端口应转换为 DSPORT.Disabled 状态。
  • 如果值为 5Rx.Detect),则 Hub 应将链接转换为 Rx.Detect。仅当下游端口处于 DSPORT.Disabled 状态时,此请求才有效。如果在收到具有此值的请求时链接处于任何其他状态,则行为未定义。收到此请求后,下游端口应转换为 DSPORT.Disconnected 状态。
  • 如果值为 10 (启用合规模式),则 Hub 应为下一个连接启用进入合规模式。仅当下游端口处于 DSPORT.Disconnected 状态时,此请求才有效。如果在收到具有此值的请求时链接处于任何其他状态,则行为未定义。一旦链路进入合规模式或 Polling.LFPS 成功,将禁用进入合规模式。
  • 如果集线器在 wIndex 字段的上字节中看到任何其他值,则应以请求错误进行响应。

PORT_REMOTE_WAKE_MASK

    当功能选择器是 PORT_REMOTE_WAKE_MASK 时,wIndex 字段的最高有效字节 (位 15…8) 指定导致集线器在其上游端口上发出远程唤醒事件信号的条件。端口远程唤醒掩码的编码如下:

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

    注意,上电后或 hub 复位后,远程唤醒掩码设置为零(即启用掩码)。

    集线器应满足以下要求:

  • 如果端口处于 Powered-off 状态,集线器应将 SetPortFeaturePORT_RESET) 请求视为功能性无操作。
  • 如果端口未处于 Enabled 状态,则 Hub 应将 SetPortFeaturePORT_LINK_STATEU3 请求视为功能性无操作。
  • 如果端口未处于 Powered-off 状态,集线器应将 SetPortFeaturePORT_POWER) 请求视为功能性无操作。
  • 如果端口未处于 Enabled 状态,则集线器应将 SetPortFeatureFORCE_LINKPM_ACCEPT) 请求视为功能性无操作。

BH_PORT_RESET

    当功能选择器是 BH_PORT_RESET 时,集线器应在此命令标识的端口上启动热重置(请参阅第 7.4.2 节)。此重置后的端口状态应与 SetPortFeaturePORT_RESET) 后的状态相同。完成 BH_PORT_RESET 后,集线器应将此端口的 PortStatus 中的 C_BH_PORT_RESET 字段设置为 1 。

    如果 wValue 不是表 10-9 中列出的功能选择器,如果 wIndex 指定的端口不存在,或者 wLength 不是上面指定的,则为请求错误。

    如果未配置 Hub ,则 Hub 对此请求的响应是 undefined

10.17 主机根(下行)端口

    Host Root (Downstream) Ports

    USB 主机的根端口与 USB 集线器的下游端口具有类似的功能要求。本节总结了哪些要求也适用于主机的根端口,并确定了任何其他或不同的要求。

    主机根端口应遵循第 10.2 节中面向下游的 Hub 端口的要求,但第 10.2.3 节除外。

    主机根端口应遵循第 10.3 节中面向下游的 Hub 端口的要求,但有以下例外情况和补充内容:

  • 基于 Hub 上游端口状态的转换和/或转换条件均不适用于根端口。
  • 主机应在主机接口中具有控制机制,允许软件实现与 Hub 下游端口行为等效的行为,以响应第 10.3 节中记录的 SetPortFeatureClearPortFeature 请求。
  • 主机应实现与第 10.3 节中的下游端口状态描述一致的端口状态位。
  • 主机需要提供一种机制,将每个 USB 2.0 端口与共享同一物理连接器的任何增强型 SuperSpeed 端口相关联。请注意,这类似于 Section 10.3.3 中对 USB Hub 的要求。

    主机根端口应遵循第 10.4 节中面向下游的中心端口的要求,但与本节中已说明的一般例外情况相同。

    主机应通过主机接口实现等效于本章中所有端口状态位定义的端口状态位。

    主机应具有实现对其根端口的等效控制的机制,如本章中记录的 SetPortFeatureClearPortFeatureGetPortStatus 请求所提供。

   
 


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

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

相关文章

揭秘2024下半年大学生必考证时间表!

2024下半年,大学生考证时间表已公布,为各位学子规划学术和职业发展提供了明确的时间节点。 以下是值得重点关注的几类考试及其相关时间安排: 一、外语类考试安排,英语四六级考试,报名时间预计在9月,而笔试…

C语言 | Leetcode C语言题解之第381题O(1)时间插入、删除和获取随机元素-允许重复

题目: 题解: #define DYNAMIC_ARRAY_SIZE 128typedef struct {int *data;int size, capacity; } dynamic_array_t; dynamic_array_t *dynamic_array_init() {dynamic_array_t *da malloc(sizeof(dynamic_array_t));da->size 0, da->capacity D…

支付宝开放平台-开发者社区——AI 日报 「8 月 29 日」

1 3分钟千人被裁,IBM中国大败退 量子位|阅读原文 该公司首席执行官 Arvind Krishna早前就表示,公司将在未来五年内,用人工智能取代8000个岗位工作。早在上一轮AI浪潮之初,IBM就已经实现了智能问答系统,成…

基因生物行业大数据中心之间高效数据备份怎么去实现

随着高通量测序技术的迅猛发展,基因数据的积累正以惊人的速度增长。预计到2025年,全球的测序能力将达到Zb的规模。面对海量的数据,传统的数据备份方法已经显得不够用,难以满足跨地区备份和灾难恢复的需求。因此,基因生…

SpringCloudGateway网关技术

一、认识网关 二、网关服务初始化 1、新建网关module、引入依赖 <dependencies><!--common&#xff0c;自己的通用工具类--><dependency><groupId>com.heima</groupId><artifactId>hm-common</artifactId><version>1.0.0<…

亲测好用,ChatGPT 3.5/4.0新手使用手册,最全论文指令手册~ 【2024年9月 更新】

本以为遥遥领先的GPT早就普及了&#xff0c;但小伙伴寻找使用的热度一直高居不下&#xff0c;其实现在很简单了&#xff01; 国产大模型快200家了&#xff0c;还有很多成熟的国内AI产品&#xff0c;跟官网一样使用&#xff0c;还更加好用~ ① 3.5 大多数场景是够用的&#xff…

不良信息公示

系统应用于对各类不良信息进行公示 1、背景 针对目前各类打工人的工作生活&#xff0c;所遇仲裁无门&#xff0c;投诉无果的现象&#xff0c;以及各类公司有恃无恐的态度作为背景&#xff0c;特此对开源项目进行修改&#xff0c;诞生了此套系统 2、系统信息收集 为保障小人…

大模型时代,算法工程师的黄金时代

在大模型时代&#xff0c;算法工程师的角色已经超越了传统的编程和算法优化&#xff0c;他们成为了推动技术革新和业务发展的关键力量。作为一名算法工程师&#xff0c;我深刻地感受到这个时代对我们的新要求和期待。回想起我刚刚踏入这个领域时&#xff0c;深度学习还只是少数…

【多视图聚类】Reconsidering Representation Alignment for Multi-view Clustering

Reconsidering Representation Alignment for Multi-view Clustering CVPR 2021 0.论文摘要和信息 摘要 对齐视图表示的分布是当今用于深度多视图聚类的最先进模型的核心组件。然而&#xff0c;我们发现了nävely对齐表示分布的几个缺点。我们证明了这些缺点既导致表示空间…

07-问题-如何在Python中检查字符串是否为有效的标识符?

问题-如何在Python中检查字符串是否为有效的标识符&#xff1f; 规则 在Python中&#xff0c;标识符用来表示变量、函数、类、模块或其他对象的名字&#xff0c;并且需要遵循以下规则&#xff1a;可以由字母&#xff08;包括大小写&#xff09;、数字和下划线组成。不能以数字…

开放式蓝牙耳机有什么用?四款值得买的高性价比开放式耳机推荐

开放式耳机具有多方面的作用&#xff1a; 佩戴舒适&#xff1a;开放式耳机不入耳&#xff0c;不堵塞耳道&#xff0c;可避免对耳膜造成压迫&#xff0c;长时间佩戴也不会有明显的不适感&#xff0c;像耳挂式或夹耳式设计&#xff0c;还能减少耳部负担&#xff0c;适合需要长时…

什么是IP地址?它有什么用?

IP地址&#xff0c;即互联网协议地址&#xff08;Internet Protocol Address&#xff09;&#xff0c;是互联网上每台设备的数字标识&#xff0c;它如同现实生活中的身份证&#xff0c;确保着网络世界中的每个“居民”都能被准确识别和定位。 IP地址由一串数字组成&#xff0c…

点云数据介绍

本篇内容 通过PCD文件介绍点云数据如何通过PCL库读取和保存PCD点云数据文件 1 点云数据 最简单的点云数据就是一堆三维坐标点&#xff08;x,y,z&#xff09;&#xff0c;除了坐标还可以记录每个点的颜色信息&#xff08;r,g,b&#xff09;&#xff0c;或者强度信息&#xff…

【Asio网络编程】socket的监听和连接

文章目录 一、VS2019配置boost库二、 网络编程基本流程三、 终端节点的创建3.1 客户端终端节点3.2 服务端终端节点 四、 创建SOCKET4.1 客户端创建socket4.2 服务端创建socket4.3 绑定acceptor 五、 连接5.1 客户端连接5.2 客户端通过域名连接(了解即可&#xff0c;用的少)5.2 …

使用 curl_cffi 解决 Web 抓取中的 TLS/JA3 指纹识别方法

在网站抓取过程中遇到反爬虫措施而苦苦挣扎&#xff1f;curl_cffi 是一个高级 Python 库&#xff0c;它包装了 cURL 工具&#xff0c;可以帮助您有效地绕过这些障碍。通过模拟浏览器行为并利用 cURL 的功能&#xff0c;curl_cffi 增强了您的抓取器避免检测并顺利执行的能力。在…

索迪迈科技油罐车监控系统中车载摄像头的布局策略

随着科技的不断发展&#xff0c;车载监控系统在油罐车上的安装已经成为了一种趋势。这不仅大大降低了车辆的安全隐患与运营成本&#xff0c;更对石油运输企业优化资源配置、提高市场竞争力起到了积极的促进作用。那么&#xff0c;在油罐车监控系统中&#xff0c;如何合理布局车…

Baumer工业相机堡盟工业相机如何通过NEOAPISDK实现根据每次触发信号移动感兴趣区域ROI(Python)

Baumer工业相机堡盟工业相机如何通过NEOAPISDK实现根据每次触发信号移动感兴趣区域ROI&#xff08;Python&#xff09; Baumer工业相机Baumer工业相机定序器功能的技术背景Baumer工业相机通过NEOAPI SDK使用定序器功能预期的相机动作测试的图像效果 Baumer工业相机通过NEOAPI S…

LoRA - 大型语言模型的低秩适应方法

人工智能咨询培训老师叶梓 转载标明出处 大规模预训练模型&#xff0c;如GPT-3&#xff0c;拥有高达1750亿参数&#xff0c;全参数微调不仅计算成本高昂&#xff0c;而且部署和维护多个微调实例变得非常困难。而且全参数微调需要大量的GPU内存&#xff0c;限制了同时训练的模型…

go 切片slice学习总结

切片的结构 切片的底层结构&#xff1a; type SliceHeader struct {Data uintptr // 指向底层数组的指针 Len int //长度Cap int //空间容量 } 切片的初始化 1 通过数组或者已有的slice创建新的slice 1.1 使用数组创建切片 通过数组的一部分来初始化切片。 …

fixed、absolute 和 relative 布局

https://andi.cn/page/621716.html