CN109643294B - Usb-c多连接器支持 - Google Patents

Usb-c多连接器支持 Download PDF

Info

Publication number
CN109643294B
CN109643294B CN201780050412.8A CN201780050412A CN109643294B CN 109643294 B CN109643294 B CN 109643294B CN 201780050412 A CN201780050412 A CN 201780050412A CN 109643294 B CN109643294 B CN 109643294B
Authority
CN
China
Prior art keywords
usb
mode controller
device mode
usb device
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780050412.8A
Other languages
English (en)
Other versions
CN109643294A (zh
Inventor
V·B·卡德吉
T-C·昆古
N·艾加瓦尔
C-H·郭
P·塞蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN109643294A publication Critical patent/CN109643294A/zh
Application granted granted Critical
Publication of CN109643294B publication Critical patent/CN109643294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

本文公开了为了USB设备模式数据连接的性能而用于实现USB设备模式控制器对USB‑C连接器的控制和监视的各种技术。在示例中,包括多个USB‑C连接器但是单个USB设备模式控制器的计算系统可通过以下操作来管理控制器到特定连接器的映射:标识映射以及连接器的特性、处理对改变设备模式控制器的映射的请求、以及执行对设备模式控制器的映射的改变。这种改变可包括特定USB‑C连接器与控制器的断开或重新指派。还公开了用于确定USB设备模式控制器的可用性以及响应USB设备模式控制器不可用的场景的进一步的示例。

Description

USB-C多连接器支持
优先权要求
本申请要求2016年9月28日提交的美国专利申请序列号15/278,128的优先权,该申请要求2016年9月16日提交的美国临时专利申请序列号62/395,884的优先权权益,两者通过引用整体结合于此。
技术领域
本文描述的实施例一般涉及计算系统中的通信总线管理和配置,并且,对于一些示例,涉及对包括通用串行总线C型(USB-C)连接端口的计算系统的通信总线控制器操作的管理和配置。
背景技术
将通用串行总线C型(USB-C)规范用于设备连接对于计算设备和外围设备变得越来越流行。USB-C规范提供标准化连接端口和可互换线缆端来供主机和设备使用,且此类端口和线缆能够提供功率和数据连接。USB-C规范提供优于现有USB规范的改进,经由USB-C可获得增加的功率和数据传输速率。
提供USB-C支持的一些现有设备仅包括单个USB-C连接器(诸如,包括单个USB-C插孔的计算设备和智能电话,该单个USB-C插孔作为用于功率和有线连通性的唯一外部连接器)。随着USB-C规范的使用日益普及,设备被设计为在设备形状因子内直接包括多个USB-C端口,以便经由多条USB-C缆线而更容易地促进多个外部设备和功率输入的连接。
附图说明
在附图中(这些附图不一定是按比例绘制的),相同的数字可描述不同视图中的类似的组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。在所附附图的图中通过示例而非限制性地例示出一些实施例,其中:
图1例示出根据示例的操作环境的概述,该操作环境包括用于与计算系统的USB-C连接的移动计算设备和功率适配器;
图2例示出根据示例的被配置用于实现USB-C主机和设备控制器管理的计算系统架构的框图;
图3例示出根据示例的描绘用于确定USB设备模式控制器的状态的技术的序列图;
图4例示出根据示例的描绘用于确定USB设备模式控制器的端口映射和连接器特性的技术的序列图;
图5例示出根据示例的适用于通过使用与USB功能模式控制器的动态端口映射来进行通信的示例计算系统的框图;
图6例示出根据示例的描绘用于断开USB设备模式控制器的技术的序列图;
图7例示出根据示例的描绘用于为USB设备模式控制器重新指派连接器映射的技术的序列图;
图8例示出根据示例的在第一计算系统的下行端口与第二计算系统的上行端口之间尝试的通信的框图,第一计算系统包括USB设备模式控制器而第二计算系统不具有USB设备模式控制器;
图9例示出根据示例的描绘用于请求用于不具有USB设备模式控制器的计算系统的角色交换的技术的序列图;
图10例示出根据示例的在第一计算系统的上行端口与第二计算系统的下行端口之间尝试的通信的框图,第一计算系统包括USB设备模式控制器而第二计算系统不具有USB设备模式控制器;
图11例示出根据示例的在不具有USB设备模式控制器的第一计算系统与不具有USB设备模式控制器的第二计算系统之间尝试的通信的框图;
图12例示出根据示例的涉及在计算系统中使用USB-C功率充电器、功率递送控制器和设备策略管理器来重新映射USB-C连接器的示例场景的框图;
图13例示出根据示例的由计算系统执行的用于针对USB-C连接器修改USB设备模式控制器的映射的方法的流程图。
图14例示出根据示例的由计算系统执行的用于处理USB设备模式控制器在计算系统中不可用的状况的方法的流程图;
图15例示出根据示例的由计算系统执行的用于管理与功率递送一起使用的USB-C连接器的每个连接器能力的方法的流程图;以及
图16图示出根据示例的、可在其上执行本文中所讨论的技术(例如,操作、过程、方法、以及方法论)中的任何一者或多者的示例计算机系统架构的框图。
具体实施方式
在以下描述中,公开了用于在主机和设备模式下操作的USB控制器的操作的方法、配置、设备组件和相关装置,来与USB-C连接器和接口一起使用。具体地,下文包括用于以下的技术和设备配置的示例:如果USB设备模式控制器存在,则执行对USB设备模式控制器的状态的评估以确定USB-C连接器到USB设备模式控制器的映射和特性;以及处理USB设备模式控制器不可用或不存在的状况。这些技术允许操作系统通过高级配置和功率接口(ACPI)规范接口与平台固件交互,并基于交互的结果针对USB设备模式控制器或USB-C连接器来在系统内执行适当动作。
USB采用主/从架构,其中“主机”充当针对总线的主设备,而连接的USB“设备”充当总线上的从设备(在主机的控制下动作)。然而,在许多设置中,电子系统(诸如,平板、智能电话、个人计算机等)可在任一模式下操作,以作为主控“主机”或从属“设备”。如本文所讨论的,术语“USB主机模式”是指特定系统作为主机或链路主设备操作,并且可控制连接的外围设备的场景;而术语“USB设备模式”是指特定系统作为设备或链路从设备操作,并且可充当主机的控制下的外围设备的场景。
虽然目前许多系统都部署单个USB-C连接器,但预期多个USB-C连接器将被越来越多地部署在诸如平板、膝上型计算机、二合一设备以及台式系统之类的系统中,且此类系统旨在双重角色启用(分开地或组合地作为主机和设备)。为了在两个双重角色启用系统之间建立工作USB数据连接,第一计算系统的USB主机控制器连接到第二计算系统的USB设备控制器。然而,为了节省成本,系统集成商可将特定计算系统设计为仅包括用于整个计算系统的一单个USB设备模式控制器(而不是每个USB-C连接器部署一个USB设备模式控制器)。这种类型的硬件配置——一个USB设备模式控制器与多个USB-C连接器——呈现出对用于确定相应USB-C连接器与单个USB设备模式控制器之间的映射的系统软件的技术限制,因为USB设备模式控制器一次只能管理一个连接器。
利用本文讨论的技术,系统软件可维护和访问关于USB设备模式控制器的状态的信息使得设备模式的映射被恰当地管理,并且在系统软件内传达相关信息。例如,如果USB设备模式控制器早已被映射到USB-C连接器中的一个(即,两个双重角色启用系统已作为主机/设备对进行连接),则在用户尝试并且无法将另一主机系统连接到设备模式控制器早已在使用中的系统上的另一连接器的情况下,系统软件可提供适当的消息。此信息通过允许用户采取动作并避免静默故障场景来增强最终用户体验。
利用本文讨论的技术,计算机系统还可确定USB设备模式控制器/USB-C连接器映射是否存在,并且如果第二USB-C连接器试图被用于USB设备模式数据连接,则可利用适当的逻辑和通知来作出响应。通知消息的示例可包括诸如以下内容:“端口1(机器左侧)上的连接器上早已存在USB数据连接。请拔下USB线缆,以允许建立新连接。”现有的操作系统和程序不包括这些或其他描述的管理和跟踪功能,这导致不完整的通知、错误状况和不可操作的硬件状态。
图1例示出根据示例的操作环境的概述,该操作环境包括用于与计算系统120的USB-C连接的移动计算设备110和功率适配器142。将理解,图1中未描绘的附加组件、设备或电路系统可被用于实现以下配置和技术(包括在图1的环境中不可见的内部电路系统和软件特征)。
计算系统120被描绘为包括多个USB-C端口121A和121B,每个端口包括用于接收凸形USB-C连接器(诸如,由相应USB-C线缆提供的凸形连接器131B、132B)的凹形USB-C连接器。在相应的USB-C线缆的相对端,缆线可被连接到主机、设备或功率源,诸如适于耦合到移动计算设备110(可作为主机或设备操作)的USB-C端口111的凸形连接器131A;适于耦合到功率适配器142的凸形连接器132A。功率适配器142进而可连接到功率源140,诸如电插座。
计算系统120可包括内部USB设备模式控制器和USB主机模式控制器,它们可被指派给端口121A、121B中的任一个。由于USB-C连接器的相同形状因子允许与主机、设备或功率源连接,因此存在相同端口将被用作主机或设备的许多场景。因此,如果系统上仅存在一个USB设备模式控制器,则需要将控制器从控制第一连接器切换到控制第二连接器,以便完全在设备模式下操作计算系统。
计算系统120可与对接体(dock)150耦合以提供端口复制或附加端口,诸如USB-C连接器151A、151B。对接体150能以对接站的形状因子来提供,除了USB-C连接器和其他类型的连接器(诸如,显示端口或ThunderBolt端口)之外,该对接站还提供充电能力。另外,计算系统120可包括管理相应USB-C端口的每个连接器能力的功率递送控制器(未示出),以及作为中央代理操作以跨多个USB-C连接器协调有限资源的设备策略管理器(未示出)。
图2例示出被配置用于利用本文描述的技术实现USB-C主机和设备控制器管理的计算系统架构的框图。该架构被描绘为包括具有平台信息的系统固件层220,诸如通过利用操作系统策略管理器(OPM)驱动器212,系统软件层210可在需要时与这些平台信息通信或查询这些平台信息。
如所示,该架构包括系统软件层210的操作,该系统软件层210与在系统固件层220中执行的操作整合,以控制相应的USB-C连接器230A、230B、230C。系统软件层210被描绘为包括OPM驱动器212、USB设备模式控制器驱动器214、USB主机模式控制器驱动器216、以及其他组件218(例如,其他驱动器)。系统固件层220被描绘为包括USB-C固件224和ACPI对象222(例如,_HID(硬件ID)、_DSM(设备特定方法)、_PLD(物理设备位置)、_UPC(USB端口能力)功能)。以下段落讨论了这些组件的角色。
USB主机模式控制器驱动器216作为操作系统级驱动器组件来操作。USB主机模式控制器驱动器216的责任是计算和管理主机控制器硬件,以实现USB主机控制器与USB设备之间的成功连接。因此,当存在成功的USB数据连接时,主机和设备控制器系统可通过操作系统特定机制进行交互。
USB设备模式控制器驱动器214也作为操作系统级驱动器组件来操作。USB设备模式控制器驱动器214的责任是发现、计算和管理USB功能模式控制器硬件操作,以使USB设备模式控制器能够作为USB设备成功连接到USB主机模式控制器。当存在成功的USB数据连接时,主机和设备控制器系统能够通过操作系统特定机制进行交互。
OPM驱动器212作为操作系统级驱动器组件来操作。OPM驱动器212的责任是查询和分析USB-C连接器(例如,连接器230A、230B、230C)以及与USB-C连接器中的每一个相对应的连接(主机与设备连接)的状态。OPM驱动器212还可向最终用户报告适当的消息或错误。在一些示例中,OPM驱动器212还负责执行设备模式与主机模式之间的动态角色交换。在其他示例中,OPM驱动器212的功能可由系统软件层210的其他组件(诸如,USB主机模式控制器驱动器216或USB设备模式控制器驱动器214)执行。
ACPI对象222被提供在系统固件层220中(例如,利用BIOS或UEFI固件来实现)并且用作软件与平台固件/硬件之间的通信信道。ACPI对象222实现诸如以下的功能:查询USB-C连接器(例如,连接器230A、230B、230C)的状态、报告特定信息、以及还将要执行的命令传递到USB-C固件224。
USB-C固件224包括控制终端USB-C连接器(例如,连接器230A、230B、230C)和对应连接设备并与之通信的固件。在客户端系统中,USB-C固件224可被实现为嵌入式控制器固件、PD控制器固件、或电池管理(基于I2C或SPB的)驱动器组件。
USB主机模式控制器和设备模式控制器还可以支持功率管理机制,以使控制器完全断电并且看上去被从平台拔下。在此场景中,可从操作系统移除对应驱动程序堆栈和相关联的ACPI对象(例如,ACPI对象的现有设计)。本文讨论的技术通过在OPM驱动器212的ACPI设备范围下而不是在USB主机模式控制器或设备模式控制器的范围下实现连接器相关的ACPI对象来支持具有这种功率管理机制的计算机系统。示例可包括_PLD、_UPC以及用于描述ACPI对象222的连接器属性的任何其他对象。在此示例中,连接器相关的信息被定义为关于平台的全局信息,并且可在查询此信息时被返回至USB主机和设备驱动器堆栈。
下面演示了用于在OPM驱动程序的ACPI设备范围下实现操作的示例伪代码:
图3例示出根据示例的描绘用于确定USB设备模式控制器的状态的技术的序列图。图3的序列图具体例示出用于确定和记录USB设备模式控制器是否存在的操作场景。此信息可由后续操作用于为相应USB-C连接器重新指派角色和控制器指派(假设USB设备模式控制器存在于计算系统中)。
在系统引导和系统级(Sx)状态恢复之际,平台固件302将把USB设备模式控制器状态动态地写入可由BIOS或UEFI固件ASL代码访问的系统存储器位置(操作311),诸如写入存储器缓冲器1 304。稍后,诸如在Do Entry驱动器例程期间,系统软件(例如,操作OPM驱动器310)可查询USB设备模式控制器状态(操作312)。利用从OPM驱动器310向ACPI方法306(例如,由BIOS或UEFI固件主存)的查询,ACPI方法操作用于读取包括USB设备模式控制器状态的存储器缓冲器1 304(操作313)。进而,USB设备模式控制器状态从ACPI方法306被提供至OPM驱动器310(操作314)。
图4例示出根据示例的描绘用于确定USB设备模式控制器的端口映射和连接器特性的技术的序列图。图4的序列图具体例示出用于在USB设备模式控制器存在于计算系统中的情况下,确定特定USB-C连接器到USB设备模式控制器的映射及其特性的系统软件的操作场景。
如所示,设备控制器状态的状态被写入系统存储器位置(操作411),诸如可利用图3的技术来执行。如果USB设备模式控制器存在,则平台固件302(EC/I2C/PCIe等)将与MUX逻辑交互以确定USB设备模式控制器的映射和连接器特性(USB2/USB3等)(操作412))。此操作可通过调用ACPI方法306——通过执行BIOS或UEFI固件代码(诸如,作为_DSM ACPI方法的部分来执行的ASL(ACPI源语言)代码)——来实现。映射和特性信息随后被保存到平台固件302可访问的系统存储器(例如,存储器缓冲器2 308)(操作413)。
例如,当系统软件(例如,操作OPM驱动器310的系统软件)调用ASL例程以请求映射和特性信息时,ASL访问系统存储器(存储器缓冲器2308)以获得信息,并且在一些示例中,动态地更新信息。例如,可通过用于查询USB设备模式控制器映射的_PLD方法(操作414)以及用于查询指派给USB设备模式控制器的连接器特性的_UPC方法(操作415)来执行读取操作。在从系统存储器读取结果之后(操作416)(或确定对系统存储器中的值的更新)之后,当ASL调用完成时,经更新结果将返回给操作系统(例如,经由OPM驱动器310)(操作417)。(例如,操作系统可使用连接器特性来确定某些功能或能力在特定USB-C连接器上是否可用)。
图5例示出适用于通过使用与USB功能模式控制器的动态端口映射来进行通信的示例计算系统的框图。如所示,USB主机侧系统510包括USB主机控制器514,USB主机控制器514提供第一端口511和第二端口512,且第一端口511被配置为下行端口(DFP)(例如,在主机模式下操作的端口)。同样如所示,USB设备侧系统520包括第一端口521和第二端口522,且第一端口521被配置为上行端口(UFP)(例如,在设备模式下操作的端口)。结果,可经由USB主机控制器514的控制在USB主机侧系统510与USB设备侧系统520之间交换通信。
在USB设备侧系统520上执行以将第一端口521映射到USB设备模式控制器(未示出)的动态端口映射通过使用操作系统策略管理器(OPM)524和多路复用器526(诸如通过实现来自图4中的操作序列)来实现。MUX映射指派和所指派USB-C端口的特性(诸如,端口是否支持USB 2.0或USB 3.0/超速)被报告给系统固件。系统固件随后可经由ACPI方法306(诸如,_PLD和_UPC方法)向USB功能模式控制器528动态地提供信息。
以下提供了用于实现操作的示例伪代码:
图6例示出描绘用于断开USB设备模式控制器的示例技术的序列图。具体而言,图6例示出响应于诸如可由系统软件发起的用于断开USB设备模式控制器的命令(操作611)来执行的处理操作。
例如,在将连接器映射和特性信息报告给系统软件(例如,操作OPM驱动器310的系统软件)之后,系统软件可基于系统策略或用户输入选择与平台固件(EC/I2C/PCIe等)交互以控制MUX逻辑来断开USB设备模式控制器或将其重新映射到不同的连接器。系统策略的示例包括在预定义空闲超时之后使用系统软件从连接器断开USB设备模式控制器。用户输入的示例是以下场景:用户试图将第二USB主机系统连接至另一连接器,并且随后请求将USB设备模式控制器重新映射到指定连接器。在示例中,重新映射连接器的机制涉及断开连接器的操作,跟随其后的是通过平台固件302使用MUX'ing(MUX进行中)逻辑重新指派连接器。
如所示,从OPM驱动器310向ACPI方法306提供_DSM方法调用,以请求从USB设备模式控制器断开特定连接器(操作612)。ACPI方法306进而将连接器断开命令传达给平台固件302(操作613)。平台固件302向ACPI方法306确认连接器断开命令(操作614),并且ACPI方法306向OPM驱动器310确认连接器断开命令(操作615)。此后,USB设备模式控制器从特定USB-C连接器断开(操作616)并被允许进入低功率模式。
图7例示出描绘用于为USB设备模式控制器重新指派连接器映射的示例技术的序列图。具体而言,图7例示出用于将控制器重新映射到特定USB-C连接器的处理,诸如可通过系统软件中从用户接收的请求或命令来发起。
如所示,平台固件302操作用于向ACPI方法306通知诸如利用USB主机控制器连接建立的新的下行端口(操作711)。进而,ACPI方法306向OPM驱动器310通知新的下行端口(操作712)。OPM驱动器310操作用于向系统软件提供已被配置为下行端口的连接器的通知(操作713)。
响应于此通知,系统软件可接收用户输入或者实现请求USB设备模式控制器到第二USB-C连接器的新的重新映射的系统策略(操作714)。作为响应,OPM驱动器310操作用于调用_DSM功能来请求将第一USB-C连接器从USB设备模式控制器断开(操作715)。
ACPI方法306向平台固件302提供命令以请求将第一USB-C连接器从USB设备模式控制器断开(操作716),并且作为响应,平台固件302将断开第一USB-C连接器并向ACPI方法306确认命令(操作717)。ACPI方法306进而向OPM驱动器310提供第一USB-C连接器的断开的确认(操作718)。响应于命令的成功,USB设备模式控制器不被映射到USB-C连接器。
OPM驱动器310随后继续请求将第二USB-C连接器映射到USB设备模式控制器(操作719),该第二USB-C连接器可以是由用户(或由系统软件)指定的连接器。可利用_DSM功能将该请求提供给ACPI方法306。进而,ACPI方法306向平台固件302提供用于连接器连接命令的请求(操作720),并且作为响应,平台固件302将把第二USB-C连接器连接到USB设备模式控制器并向ACPI方法306确认命令(操作721)。ACPI方法306进而提供对第二USB-C连接器的连接的确认(操作722)。
系统软件可执行进一步的操作以处理USB设备模式控制器不存在或不可用的状况。由于对双重角色连接器的初始角色指派是不确定的,因此可能会在引导时间将USB-C连接器指派为上行端口。为了描绘此场景,图8例示出根据示例配置的在第一计算系统810的下行端口与第二计算系统820的上行端口之间尝试的通信的框图,第一计算系统810包括USB设备模式控制器814而第二计算系统820不具有设备模式控制器。
在图8中,第一计算系统810包括多个USB-C端口,包括被配置为下行端口的端口1811,以及端口2 812。第二计算系统820还包括多个USB-C端口,包括被配置为上行端口的端口1 821,以及端口2 822。除了USB主机控制器816之外,第一计算系统810还包括USB设备模式控制器814(以支持在设备或主机模式下的操作);而第二计算系统820仅包括USB主机控制器824而不具有任何设备模式控制器。
如果USB-C连接器被配置为上行端口并且在第二计算系统820上不存在USB设备模式控制器,则不存在作为上行端口来建立与第一计算系统的USB通信的可能性(示出为失败的连接850)。在此情况下,系统软件可以在初始连接时间发起数据角色交换,以尝试利用相反角色来建立USB数据连接。
图9例示出描绘用于请求用于不具有USB设备模式控制器的计算系统的角色交换的示例技术的序列图。此序列包括来自平台固件302的缺少USB设备模式控制器的内部通知(操作911),该内部通知从存储到系统存储器位置(诸如,存储器缓冲器1 304)中的值获得。计算系统的操作可包括从OPM驱动器310向ACPI方法306的_DSM功能查询,该_DSM功能查询用于查询设备控制器状态(操作912)。_DSM方法从存储器位置(例如,存储器缓冲器1 304)读取设备控制器状态,并将设备控制器状态返回至OPM驱动器310(操作913)。
诸如在USB连接器被配置为上行端口的场景中,OPM驱动器310操作用于检测特定USB连接器的状态(操作914)。作为响应,由于缺少USB设备模式控制器,OPM驱动器310将发起数据交换命令。这可包括利用_DSM方法的向ACPI方法306的数据角色交换命令的请求(操作915),并且ACPI方法306将向平台固件302请求数据角色交换命令(操作916)。作为响应,平台固件302将向ACPI方法306确认用于交换特定USB-C连接器的角色的命令(操作917)。ACPI方法306进而向OPM驱动器310提供对特定USB-C连接器的角色交换的确认(操作918)。OPM驱动器310随后可通知USB主机控制器315特定USB-C连接器被定义为下行端口(操作919)。
图10例示出根据示例配置的在第一计算系统810的上行端口与第二计算系统820的下行端口之间尝试的通信的框图,第一计算系统810包括USB设备模式控制器814而第二计算系统820不具有设备模式控制器。图10中描绘的组件类似于图8,除了图10的配置示出在第一计算系统810和第二计算系统820上执行的端口交换的结果。具体地,第二计算系统820的系统软件已在初始连接时间发起数据角色交换,以尝试利用相反角色来建立USB数据连接。
如果第一计算系统810上存在设备模式控制器,则可与第二计算系统820成功建立USB数据连接。第一计算系统的系统软件可执行重新映射技术(例如,利用图7的操作)以确保端口1 811到USB设备模式控制器814的正确映射。作为角色交换和映射的结果,端口1821被配置为下行端口,并且端口1 811被配置为上行端口。
图11例示出根据示例配置的在不具有USB设备模式控制器的第一计算系统1110与不具有USB设备模式控制器的第二计算系统1120之间尝试的通信的框图。如所示,第一计算系统1110包括USB主机控制器1116,而第二计算系统1120包括USB主机控制器1124,从而允许任一系统用作主机而不是设备。如所示,第一计算系统1110和第二计算系统1120各自包括多个USB-C连接器,包括:第一计算系统1110包括上行端口配置下的第一端口1111以及第二端口1112,而第二计算系统1120包括下行端口配置下的第一端口1121以及第二端口1122。
如果任一系统上都不存在USB设备模式控制器(或者USB设备模式控制器不能被指派给特定USB-C连接器),则端口1111与1121之间不会建立USB数据连接(示出为失败的连接1150))。第一计算系统1110上的系统软件将知道不存在USB设备模式控制器并且被通知任何数据角色改变。此时,第一计算系统上的系统软件(例如,OPM驱动器)可向用户提供适当的消息。此消息的示例可能是“使用USB-C端口连接的系统无法进行USB数据连接”。可实现其他错误处理和策略来处理这种检测到的场景。
图12例示出涉及在计算系统1210中使用USB-C功率充电器1220、功率递送控制器1216和设备策略管理器1218来重新映射USB-C连接器的示例场景。再次,计算系统1210的配置包括多个USB-C连接器1211、1212,且跨连接器共享单个USB设备模式控制器1214。另外,功率递送控制器1216在计算系统1210中被用于管理USB-C连接器1211、1212的每个连接器功率能力。在进一步的示例中,通过使用对接站或类似的对接装置来提供USB-C功率充电器1220(以及USB-C连接器中的一个或多个)。
USB-C连接器可被用于充电,诸如在计算系统1210与USB-C功率充电器1220之间建立的充电连接1240。在现有场景中,计算系统1210上的所连接USB-C连接器1211的默认角色作为上行端口操作,因为USB-C功率充电器1220提供将在计算系统1210中被默认识别为下行端口的端口1221。结果,功率递送控制器1216控制器将USB设备模式控制器1214指派给此连接器(端口1221)。然而,当另一USB主机(诸如,主机设备1230)连接到另一USB-C连接器(诸如,端口1212)时,端口1212将无法与USB主机控制器1232所控制的端口1231成功建立USB通信(示出为连接失败1250)——因为计算机系统1210上存在的一个设备模式控制器(USB设备模式控制器1214)早已在使用中。为了避免这种失败场景,可利用以下技术来修改功率递送控制器1216的操作以协调对USB设备模式控制器1214的重新指派。
在第一示例中,在充电器不使用USB功率递送消息收发的情况下,功率递送控制器1216将不能确定充电器是否能够进行USB通信。结果,功率递送控制器1216和设备策略管理器1218不能单独采取任何动作而没有风险。而是,功率递送控制器1216和设备策略管理器1218可利用来自操作系统的信息来确定充电器是否能够进行USB通信。
在第二示例中,对于USB-C功率充电器1220使用USB功率递送消息收发的情况,功率递送控制器1216可确定功率充电器1220是否能够进行USB通信。如果功率充电器1220不支持USB通信,则功率递送控制器1216可利用设备策略管理器1218协调操作以防止或释放对正被供电的端口的控制器指派。例如,设备策略管理器1218可操作用于释放分配给充电器所连接的USB-C连接器的USB设备模式控制器。结果,使得USB设备模式控制器1214在另一USB主机(例如主机设备1230)将来被连接到(诸)剩余连接器时,可用于(诸)剩余连接器。
例如,确定可包括以下场景。首先,设备策略管理器1218跟踪哪个连接器具有USB设备模式控制器1214的所有权。在任何USB-C端口伙伴的连接之际,功率递送控制器1216从设备策略管理器1218获得批准以将USB设备模式控制器1214分配给此连接器。功率递送控制器1216向操作系统通知关于连接事件,以及USB设备模式控制器1214是否被分配给此连接器的信息。
在一段时间之后(诸如在X秒超时之后),操作系统检查USB设备模式控制器1214是否已经经由功率连接成功建立与端口伙伴的通信。如果操作系统确定没有发生枚举/通信,则它将通知功率递送控制器1216;作为响应,功率递送控制器1216将通知设备策略管理器1218以将USB设备模式控制器1214从对USB-C连接器的指派释放。设备策略管理器1218随后将USB设备模式控制器1214标记为在系统内空闲,从而允许另一USB-C连接器利用USB设备模式控制器1214。
图13例示出由计算系统执行的用于针对USB-C连接器修改USB设备模式控制器的映射的示例方法的流程图1300。在示例中,流程图1300的方法由计算系统执行,该计算系统包括USB设备模式控制器、多个USB-C连接器、系统存储器和处理电路系统,其中处理电路系统被配置(例如,通过执行指令)成执行相应的操作。然而,应该理解,可修改以下操作以执行附加或替代处理活动,以及附加硬件组件和配置。
如所示,流程图1300包括将USB设备模式控制器的操作状态记录到系统存储器的操作(操作1310)。此操作状态可被用于验证计算系统中USB设备模式控制器的存在(和可用性)。基于USB设备模式控制器的可用性,可执行操作以确定USB-C连接器到USB设备模式控制器的映射(操作1320),诸如将多个连接器中的哪个特定连接器被指派给USB设备模式控制器;以及确定连接器的特性(操作1330),诸如相应USB-C连接器的可用通信能力。可将此信息记录到系统存储器(操作1340)以供之后的检索和使用。
在后续的时间,例如响应于通过USB-C连接器的USB数据连接的尝试,可从系统存储器检索信息。信息的检索可包括从系统存储器查询USB设备模式控制器映射(操作1350)或从系统存储器查询USB-C连接器特性(操作1360),或以上两者。此外,可响应于来自操作系统的OPM驱动器的请求来检索该信息,诸如响应于检测到的系统状况或策略状态。
响应于映射和连接器特性,操作系统可发起对USB设备模式控制器到特定USB-C连接器的映射的改变(操作1370),可在从OPM驱动器接收的请求中指示该改变。(在另一示例中,设备策略管理器还可在没有操作系统参与的情况下指示对映射的改变,诸如当能够进行USB功率递送通信的充电器通知设备策略管理器它不支持USB通信时)。对映射的这种改变可指示特定USB-C连接器的断开或重新指派(确定1375),或者在一些示例中,指示断开和重新指派两者。在指示断开特定USB-C连接器之际,连接器从USB设备模式控制器的控制断开(操作1380)。在指示重新指派(例如,交换)连接器之际,将USB设备模式控制器从对第一USB-C连接器的控制切换到第二USB-C连接器(操作1390)。
图14例示出由计算系统执行的用于处理USB设备模式控制器在计算系统中不可用的状况的示例方法的流程图1400。在示例中,流程图1400的方法由系统执行,该系统包括多个USB-C连接器、系统存储器和处理电路系统,其中处理电路系统被配置(例如,通过执行指令)成执行相应的操作。然而,将理解,可修改以下操作以执行附加或替代处理活动,以及附加硬件组件和配置(包括计算系统配置,该计算系统配置包括USB设备模式控制器但其无法断开连接或者将控制切换到另一USB-C连接器)。
如所示,流程图1400始于用于确定计算机系统中的USB-C连接器的状态以及USB设备模式控制器(如果在计算机系统中存在)的可用性的操作(操作1410)。之后,经由特定USB-C连接器从远程计算系统提供尝试的USB数据连接,但是USB-C连接器被配置为上行端口(操作1420)。作为响应,评估USB设备模式控制器的可用性,以确定USB设备模式控制器不可用于与特定USB-C连接器一起使用(操作1430)。
响应于USB设备模式控制器不可用于在设备模式下操作端口,尝试反转角色并在主机模式下操作模式。这包括以下操作:执行数据角色交换并将特定USB-C连接器配置为下行端口(操作1440),以及尝试对远程计算系统的连接,且特定的USB-C连接器现在被配置为下行端口(操作1450)。
仅在USB设备模式控制器在远程计算系统上可用的情况下(确定1460),数据连接的操作将成功。如果USB设备模式控制器在远程系统上可用,则计算系统能够继续与远程计算系统建立USB数据连接(操作1470)。如果USB设备模式控制器在远程系统上不可用,则计算系统可以通过取消数据连接来响应这种情况并提供其他响应,诸如提供无法建立USB数据连接的通知(操作1480)。其他通知消息、错误处理和策略改变可因任一状况而发生。
图15例示出由计算系统执行的用于管理与功率递送一起使用的USB-C端口的每个连接器能力的示例方法的流程图1500。在示例中,流程图1500的方法由系统执行,该系统包括多个USB-C连接器、系统存储器和处理电路系统(包括功率递送控制器电路系统和设备策略管理器),其中处理电路系统被配置(例如,通过执行指令)成执行相应的操作。然而,应该理解,可修改以下操作以执行附加或替代处理活动,以及附加硬件组件和配置。
如所示,流程图1500始于使用功率连接,使用第一USB-C连接器从计算系统到功率充电器建立该功率连接(操作1510)。将利用计算系统作出尝试来试图使用第二USB-C连接器进行设备模式数据连接(操作1520)。然而,以下技术被用于计算系统中的唯一USB设备模式控制器早已被指派给第一USB-C连接器的情况。
确定功率充电器是否支持USB功率递送消息收发的使用(确定1525)。如果功率充电器支持此消息收发,则可向功率设备控制器进行请求以请求使用设备模式控制器(操作1530)。作为响应,功率设备控制器可确定共两个充电器是否正使用USB通信。如果确定功率充电器不使用USB通信(操作1540),则可将USB设备模式控制器从其到第一USB-C连接器的指派释放。(如果确定功率充电器使用USB通信,则可向用户输出错误消息或指示,以指示设备模式正在使用中)。
如果功率充电器不支持USB功率递送消息收发,则可利用设备策略管理器和操作系统来执行操作以确定第一USB-C连接器上的数据连接的状态。这包括由设备策略管理器跟踪USB设备模式控制器的指派(操作1550)。从设备策略管理器请求批准以将设备模式控制器重新指派给第二USB-C连接器(操作1560)。设备策略管理器随后向操作系统通知关于连接事件(操作1570),并且作为响应,从操作系统接收功率充电器未在使用USB通信的通知(操作1580)。(如果操作系统确定功率充电器使用USB通信,则可向用户输出错误消息或指示,以指示设备模式正在使用中)。关于用于此验证的操作系统操作的进一步细节在上面的图12中详述。
最后,响应于确定可重新指派设备模式控制器,可从第一USB-C连接器释放设备模式控制器(操作1590)并将其指派给第二USB-C连接器(操作1595)。可使用操作系统和设备策略管理器来实现其他指示、策略动作、警告或错误消息以及对上述操作的修改。另外,可利用经由对接站或其他多端口装置的功率连接来实现前述技术。
图16是图示出根据示例实施例的计算系统(例如,计算设备)1600的示例形式的机器的框图,在该机器内可执行指令集合或指令序列以使该机器执行本文中所讨论的方法中的任何一者。该机器可以是个人计算机(PC)、平板PC、混合平板/笔记本PC、个人数字助理(PDA)、移动电话或智能电话、可穿戴计算机、或能够执行指定要由该机器采取的动作的指令(顺序的或以其他方式的)的任何机器。此外,虽然仅示出单个机器,但是,术语“机器”也应当认为包括单独地或联合地执行一组(或多组)指令以执行本文所讨论的方法中的任何一种或更多种方法的机器的任何集合。类似地,术语“基于处理器的系统”应当认为包括由处理器(例如,计算机)控制或操作以单独地或联合地执行指令来执行本文讨论的方法中的任何一种或多种方法的一个或多个机器的任何集合。
示例计算机系统1600包括至少一个处理器1602(例如,中央处理单元(CPU)、图形处理单元(GPU)或这两者,处理器核,计算节点等)、主存储器1604及静态存储器1606,它们经由互连1608(例如,链路、总线等)彼此通信。计算机系统1600可进一步包括视频显示单元1610、字母数字输入设备1612(例如,键盘)、以及用户界面(UI)导航设备1614(例如,鼠标)。在一个实施例中,视频显示单元1610、输入设备1612和UI导航设备1614被结合到触屏显示器中。计算机系统1600可附加地包括存储设备1616(如,驱动单元)、信号生成设备1618(如,扬声器)、输出控制器1632、网络接口设备1620(其可包括一根或多根天线1628、收发机或其他无线通信硬件,或者可与一根或多根天线1630、收发机或其他无线通信硬件操作地进行通信)以及一个或多个传感器1630,该一个或多个传感器1630诸如,全球定位系统(GPS)传感器、罗盘、加速度计位置传感器或其他传感器。
存储设备1616包括机器可读介质1622,在该机器可读介质1622上存储有一个或多个数据结构和指令集合1624(例如,软件),这一个或多个数据结构和指令集合1624具体化本文所描述的方法或功能中的一者或多者,或者由本文中所描述的方法或功能中的一者或多者利用。在由计算机系统1600执行指令1624期间,该指令1624也可完全地或至少部分地驻留在主存储器1604、静态存储器1606内、和/或处理器1602内,主存储器1604、静态存储器1606和处理器1602也构成机器可读介质。
虽然机器可读介质1622在示例实施例中被例示为单个介质,但术语“机器可读介质”可包括存储一条或多条指令1624的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“机器可读介质”也应当认为包括任何有形介质,该有形介质能够存储、编码或携带由机器执行并且使机器执行本公开的任何一种或多种方法的指令,或者能够储存、编码或携带由此类指令利用或与此类指令相关联的数据结构。术语“机器可读介质”应当相应地认为包括但不限于:固态存储器以及光和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;诸如内部硬盘及可移动盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
可使用传输介质、经由网络接口设备1620、利用数个公知的传输协议(例如,HTTP)中的任何一种协议、进一步通过通信网络1626、经由天线1628来发射或接收指令1624。通信网络的示例包括:局域网(LAN)、广域网(WAN)、因特网、移动电话网络、普通老式电话(POTS)网络、以及无线数据网络(例如,Wi-Fi、2G/3G及4G LTE/LTE-A或WiMAX网络)。术语“传输介质”应当认为包括能够存储、编码或携带由机器执行的指令的任何无形的介质,并且包括用于促进此类软件的通信的数字或模拟通信信号或者其他无形的介质。
用于促进或执行本文中所描述的技术的实施例能以硬件、固件和软件中的一者或其组合来实现。实施例也可被实现为存储在机器可读存储设备上的指令,该指令可由至少一个处理器读取并执行,以执行本文中所描述的操作。机器可读存储设备可包括用于以可由机器(例如,计算机)读取的形式存储信息的任何非瞬态机制。例如,机器可读存储设备可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、以及其他存储设备和介质。
应当理解,在本说明书中所描述的功能单元或能力可被称为或标记为组件或模块,从而特别强调其实现的独立性。此类组件可由任何数量的软件或硬件形式具体化。例如,组件或模块可被实现为硬件电路,该硬件电路包括:定制的超大规模集成(VLSI)电路或门阵列,诸如逻辑芯片、晶体管之类的现成的半导体,或其他分立组件。组件或模块也可被实现在可编程硬件器件中,该可编程硬件器件诸如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等等。组件或模块也能以软件来实现,以供由各种类型的处理器执行。可执行代码的所标识的组件或模块可以例如包括计算机指令的一个或多个物理或逻辑块,其例如可被组织成例如对象、过程、或函数。然而,所标识的组件或模块的可执行对象不必在物理上在一起,而是可包括存储在不同位置中的不同指令,当这些指令在逻辑上结合在一起时,包括组件或模块,并且针对该组件或模块实现所声称的目的。
实际上,可执行代码的组件或模块可以是单条指令或许多条指令,并且甚至可以分布在若干不同的代码段上,分布在不同的程序之间以及跨若干存储器设备分布。类似地,操作数据在此可被标识并图示在组件或模块内,并且能以任何合适的形式被具体化并被组织在在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可分布在不同位置上(包括分布在不同的存储器件上),并且可以至少部分地仅作为电子信号而存在于系统或网络上。组件或模块可以是无源或有源的,包括用于执行所需功能的代理。
当前所描述的方法、系统和设备实施例的附加示例包括下列非限制性的配置。下列非限制性示例中的每一个示例可以独立存在,或可以与以下所提供的或遍及本公开的其他示例中的一个或更多示例按照任何排列或组合进行结合。
示例1是一种适用于管理USB设备模式控制器的计算系统,该计算系统包括:多个USB-C连接器;USB设备模式控制器;以及处理电路系统,用于:标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性;接收对USB设备模式控制器的映射的改变的请求;以及执行对USB设备模式控制器的映射的改变;其中USB设备模式控制器的映射指示USB设备模式控制器向多个USB-C连接器中的一个USB-C连接器的指派,并且其中映射的特性指示多个USB-C连接器中的一个USB-C连接器的可用通信能力。
在示例2中,示例1的主题任选地包括系统存储器,且处理电路系统进一步用于:将USB设备模式控制器的操作状态记录在系统存储器中;以及从系统存储器检索USB设备模式控制器的操作状态;其中响应于存储在系统存储器中的USB设备模式控制器的操作状态来执行用于标识USB设备模式控制器的映射并执行对USB设备模式控制器的映射的改变的操作。
在示例3中,示例2的主题任选地包括,处理电路系统进一步用于:将USB设备模式控制器的映射记录在系统存储器中;以及将映射的特性记录在系统存储器中;其中用于将USB设备模式控制器的操作状态记录到系统存储器的操作操作成用于将数据存储在系统存储器的第一存储器位置中;以及其中用于将USB设备模式控制器的映射以及映射的特性记录在系统存储器中的操作操作成用于将数据存储在系统存储器的第二存储器位置中。
在示例4中,示例2-3中任何一项或多项的主题任选地包括,其中用于记录USB设备模式控制器的操作状态的操作以及用于检索USB设备模式控制器的操作状态的操作由操作系统策略管理器(OPM)驱动器发起。
在示例5中,示例1-4中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射的改变包括用于将USB设备模式控制器的映射从多个USB-C连接器中的第一USB-C连接器重新指派给多个USB-C连接器中的第二USB-C连接器的操作。
在示例6中,示例5的主题任选地包括,其中USB设备模式控制器的映射是基于在计算系统的操作系统中接收的用户请求或者基于由计算系统的设备策略管理器执行的确定来重新指派的,并且其中USB设备模式控制器的映射被从第一USB-C连接器改变到第二USB-C连接器。
在示例7中,示例1-6中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射中的改变包括用于将多个USB-C连接器中的第一USB-C连接器从USB设备模式控制器断开的操作。
在示例8中,示例7的主题任选地包括,其中第一USB-C连接器是基于计算系统的操作系统中的策略而从USB设备模式控制器断开的,策略由操作系统策略管理器(OPM)驱动器制定。
在示例9中,示例1-8中任何一项或多项的主题任选地包括,其中用于标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的操作是由高级配置和功率接口(ACPI)方法来执行的。
在示例10中,示例9的主题任选地包括,其中利用以下来执行用于标识映射以及映射的特性的操作:ACPI方法的设备特定方法(_DSM)功能,用于请求系统固件来向系统存储器写入USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的指示;ACPI方法的物理设备位置(_PLD)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射;以及ACPI方法的USB端口能力(_UPC)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射。
在示例11中,示例9-10中任何一项或多项的主题任选地包括,其中ACPI方法中描述多个USB-C连接器的属性的对象是在操作系统策略管理器(OPM)的范围下实现的,以允许USB设备模式控制器断电并从计算系统断开。
示例12是包括多条指令的至少一种机器可读存储介质,这些指令适用于USB设备模式控制器的管理,其中响应于利用计算系统的处理电路系统来执行,这些指令使计算系统执行以下电子操作:标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性;接收对USB设备模式控制器的映射的改变的请求;以及执行对USB设备模式控制器的映射的改变;其中计算设备包括USB设备模式控制器,并且其中计算设备包括多个USB-C连接器;并且其中USB设备模式控制器的映射指示USB设备模式控制器向多个USB-C连接器中的一个USB-C连接器的指派,并且其中映射的特性指示多个USB-C连接器中的一个USB-C连接器的可用通信能力。
在示例13中,示例12的主题可任选地包括,其中电子操作进一步:将USB设备模式控制器的操作状态记录在计算系统的系统存储器中;以及从系统存储器检索USB设备模式控制器的操作状态;其中响应于存储在系统存储器中的USB设备模式控制器的操作状态来执行用于标识USB设备模式控制器的映射并执行USB设备模式控制器的映射中的改变的操作。
在示例14中,示例13的主题可任选地包括,其中电子操作进一步:将USB设备模式控制器的映射记录在系统存储器中;以及将映射的特性记录在系统存储器中;其中用于将USB设备模式控制器的操作状态记录到系统存储器的操作操作成用于将数据存储在系统存储器的第一存储器位置中;以及其中用于将USB设备模式控制器的映射以及映射的特性记录在系统存储器中的操作操作成用于将数据存储在系统存储器的第二存储器位置中。
在示例15中,示例13-14中任何一项或多项的主题任选地包括,其中用于记录USB设备模式控制器的操作状态的电子操作以及用于检索USB设备模式控制器的操作状态的电子操作由在计算系统中执行的操作系统策略管理器(OPM)驱动器发起。
在示例16中,示例12-15中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射的改变包括用于将USB设备模式控制器的映射从多个USB-C连接器中的第一USB-C连接器重新指派给多个USB-C连接器中的第二USB-C连接器的操作。
在示例17中,示例16的主题可任选地包括,其中电子操作进一步:基于在计算系统的操作系统中接收的用户请求或者基于由计算系统的设备策略管理器执行的确定来重新指派USB设备模式控制器的映射,以将USB设备模式控制器的映射从第一USB-C连接器改变到第二USB-C连接器。
在示例18中,示例12-17中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射的改变包括用于将多个USB-C连接器中的第一USB-C连接器从USB设备模式控制器断开的操作。
在示例19中,示例18的主题任选地包括,其中基于计算系统的操作系统中的策略来将第一USB-C连接器从USB设备模式控制器断开,策略由操作系统策略管理器(OPM)驱动器制定。
在示例20中,示例12-19中任何一项或多项的主题任选地包括,其中用于标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的电子操作是由高级配置和功率接口(ACPI)方法来执行的。
在示例21中,示例20的主题任选地包括,其中利用以下来执行用于标识映射以及映射的特性的电子操作:ACPI方法的设备特定方法(_DSM)功能,用于请求系统固件来向系统存储器写入USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的指示;ACPI方法的物理设备位置(_PLD)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射;以及ACPI方法的USB端口能力(_UPC)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射。
在示例22中,示例20-21中任何一项或多项的主题任选地包括,其中在操作系统策略管理器(OPM)的范围下实现ACPI方法中描述多个USB-C连接器的属性的的对象,以允许USB设备模式控制器断电并从计算系统断开。
示例23是一种适用于管理USB设备模式控制器的计算系统,该计算系统包括:多个USB-C连接器,包括第一USB-C连接器和第二USB-C连接器;以及处理电路系统,用于:响应于来自远程计算设备的经由第一USB-C连接器的尝试数据连接,确定用于控制第一USB-C连接器的USB设备模式控制器的可用性,其中尝试数据连接在第一USB-C连接器被配置成上行端口的情况下发生;响应于确定USB设备模式控制器在用于控制第一USB-C连接器的计算系统上不可用,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置成下行端口;以及继续经由第一USB-C连接器的与远程计算设备的尝试数据连接,且第一USB-C连接器被配置成下行端口。
在示例24中,示例23的主题任选地包括,处理电路系统进一步用于:在来自远程计算系统的尝试数据连接之前,确定第一USB-C连接器的状态。
在示例25中,示例23-24中任何一项或多项的主题任选地包括,其中在来自远程计算系统的尝试数据连接之前,将USB设备模式控制器指派给第二USB-C连接器。
在示例26中,示例23-25中的任何一个或多个的主题任选地包括,处理电路系统进一步用于:确定设备模式控制器在远程计算系统上是否可用以促进尝试数据连接。
在示例27中,示例26的主题任选地包括,处理电路系统进一步用于:响应于确定设备模式控制器在远程计算系统上不可用,生成无法与远程计算系统建立尝试数据连接的通知。
在示例28中,示例26-27中的任何一个或多个的主题任选地包括,处理电路系统进一步用于:响应于确定设备模式控制器在远程计算系统上可用,与远程计算系统建立尝试数据连接。
在示例29中,示例23-28中的任何一个或多个的主题任选地包括,处理电路系统进一步用于:响应于确定USB设备模式控制器在计算系统上可用于控制第一USB-C连接器,将USB设备模式控制器指派给第一USB-C连接器以将第一USB-C连接器配置为下行端口。
示例30是包括多条指令的至少一种机器可读存储介质,这些指令响应于利用包括USB设备模式控制器、第一USB-C连接器和第二USB-C连接器的计算系统的处理电路系统来执行,使计算系统利用以下电子操作来管理USB设备模式控制器:响应于来自远程计算设备的经由第一USB-C连接器的尝试数据连接,确定用于控制第一USB-C连接器的USB设备模式控制器的可用性,其中尝试数据连接在第一USB-C连接器被配置成上行端口的情况下发生;响应于确定USB设备模式控制器在用于控制第一USB-C连接器的计算系统上不可用,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置成下行端口;以及尝试经由第一USB-C连接器的与远程计算设备的尝试数据连接的执行,且第一USB-C连接器被配置成下行端口。
在示例31中,示例30的主题可任选地包括,其中电子操作进一步:在来自远程计算系统的尝试数据连接之前,确定第一USB-C连接器的状态。
在示例32中,示例30-31中任何一项或多项的主题任选地包括,其中在来自远程计算系统的尝试数据连接之前,将USB设备模式控制器指派给第二USB-C连接器。
在示例33中,示例30-32中任何一项或多项的主题任选地包括,其中电子操作进一步:确定设备模式控制器在远程计算系统上是否可用以促进尝试数据连接。
在示例34中,示例33的主题可任选地包括,其中电子操作进一步:响应于确定设备模式控制器在远程计算系统上不可用,生成无法与远程计算系统建立尝试数据连接的通知。
在示例35中,示例33-34中任何一项或多项的主题任选地包括,其中电子操作进一步:响应于确定设备模式控制器在远程计算系统上可用,与远程计算系统建立尝试数据连接。
在示例36中,示例30-35中任何一项或多项的主题任选地包括,其中电子操作进一步:响应于确定USB设备模式控制器在计算系统上可用于控制第一USB-C连接器,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置为下行端口。
示例37是一种用于管理USB设备模式控制器的方法,包括在计算系统的处理电路系统中执行的电子操作,计算系统包括多个USB-C连接器以及USB设备模式控制器,其中电子操作包括:标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性;接收对USB设备模式控制器的映射的改变的请求;以及执行对USB设备模式控制器的映射的改变;其中USB设备模式控制器的映射指示USB设备模式控制器向多个USB-C连接器中的一个USB-C连接器的指派,并且其中映射的特性指示多个USB-C连接器中的一个USB-C连接器的可用通信能力。
在示例38中,示例37的主题可任选地包括,其中电子操作进一步包括:将USB设备模式控制器的操作状态记录在计算系统的系统存储器中;以及从系统存储器检索USB设备模式控制器的操作状态;其中响应于存储在系统存储器中的USB设备模式控制器的操作状态来执行标识USB设备模式控制器的映射并执行对USB设备模式控制器的映射的改变。
在示例39中,示例38的主题可任选地包括,其中电子操作进一步包括:将USB设备模式控制器的映射记录在系统存储器中;以及将映射的特性记录在系统存储器中;其中将USB设备模式控制器的操作状态记录到系统存储器操作成用于将数据存储在系统存储器的第一存储器位置中;以及其中将USB设备模式控制器的映射以及映射的特性记录在系统存储器中操作成用于将数据存储在系统存储器的第二存储器位置中。
在示例40中,示例38-39中任何一项或多项的主题任选地包括,其中记录USB设备模式控制器的操作状态的操作以及检索USB设备模式控制器的操作状态的操作由操作系统策略管理器(OPM)驱动器发起。
在示例41中,示例37-40中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射中的改变包括将USB设备模式控制器的映射从多个USB-C连接器中的第一USB-C连接器重新指派给多个USB-C连接器中的第二USB-C连接器。
在示例42中,示例41的主题任选地包括,基于在计算系统的操作系统中接收的用户请求或者基于由计算系统的设备策略管理器执行的确定来重新指派USB设备模式控制器的映射,并且其中将USB设备模式控制器的映射从第一USB-C连接器改变到第二USB-C连接器。
在示例43中,示例37-42中任何一项或多项的主题任选地包括,其中USB设备模式控制器的映射中的改变包括用于将多个USB-C连接器中的第一USB-C连接器从USB设备模式控制器断开的操作。
在示例44中,示例43的主题任选地包括,其中基于计算系统的操作系统中的策略来将第一USB-C连接器从USB设备模式控制器断开,策略由操作系统策略管理器(OPM)驱动器制定。
在示例45中,示例37-44中任何一项或多项的主题任选地包括,其中用于标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的操作由高级配置和功率接口(ACPI)方法执行。
在示例46中,示例45的主题任选地包括,其中利用以下来执行用于标识映射以及映射的特性的操作:ACPI方法的设备特定方法(_DSM)功能,用于请求系统固件来向系统存储器写入USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的指示;ACPI方法的物理设备位置(_PLD)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射;以及ACPI方法的USB端口能力(_UPC)功能,用于执行对系统存储器的查询以检索USB设备模式控制器的映射。
在示例47中,示例45-46中任何一项或多项的主题任选地包括,其中在操作系统策略管理器(OPM)的范围下实现ACPI方法中描述多个USB-C连接器的属性的对象,以允许USB设备模式控制器断电并从计算系统断开。
示例48是一种包括用于执行示例37-47的方法中的任一项的装置的设备。
示例49是包括指令的至少一种机器可读介质,指令在由计算系统执行时使该计算系统执行如示例37-47的方法中的任一项。
示例50是一种设备,包括:用于标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的装置;用于接收对USB设备模式控制器的映射的改变的请求的装置;以及用于执行对USB设备模式控制器的映射的改变的装置;其中USB设备模式控制器的映射指示USB设备模式控制器向多个USB-C连接器中的一个USB-C连接器的指派,并且其中映射的特性指示多个USB-C连接器中的一个USB-C连接器的可用通信能力。
在示例51中,示例50的主题任选地包括,用于记录USB设备模式控制器的操作状态的装置;以及用于检索USB设备模式控制器的操作状态的装置;其中响应于记录USB设备模式控制器的操作状态来执行用于USB设备模式控制器的映射的操作以及用于改变USB设备模式控制器的映射的操作。
在示例52中,示例51的主题任选地包括,用于记录USB设备模式控制器的映射的装置;以及用于记录映射的特性的装置;其中用于记录USB设备模式控制器的操作状态的操作将数据存储在第一存储位置中;并且其中用于记录USB设备模式控制器的映射以及映射的特性的操作将数据存储在第二存储位置中。
在示例53中,示例51-52中任何一项或多项的主题任选地包括,用于发起用于记录USB设备模式控制器的操作状态的操作以及用于检索USB设备模式控制器的操作状态的操作的装置。
在示例54中,示例50-53中任何一项或多项的主题任选地包括,用于将USB设备模式控制器的映射从多个USB-C连接器中的第一USB-C连接器重新指派给多个USB-C连接器中的第二USB-C连接器的装置。
在示例55中,示例54的主题任选地包括,用于基于在计算系统的操作系统中接收的用户请求或者基于由计算系统的设备策略管理器执行的确定来重新指派USB设备模式控制器的映射的装置;以及用于将USB设备模式控制器的映射从第一USB-C连接器改变到第二USB-C连接器的装置。
在示例56中,示例50-55中任何一项或多项的主题任选地包括,用于将多个USB-C连接器中的第一USB-C连接器从USB设备模式控制器断开的装置。
在示例57中,示例50-56中任何一项或多项的主题任选地包括,用于基于操作系统中的策略来将第一USB-C连接器从USB设备模式控制器断开的装置,策略由操作系统策略管理器(OPM)驱动器制定。
在示例58中,示例50-57中任何一项或多项的主题任选地包括,用于使用高级配置和功率接口(ACPI)方法来标识USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的装置。
在示例59中,示例50-58中任何一项或多项的主题任选地包括,用于请求系统固件来向系统存储器写入对USB设备模式控制器的映射以及USB设备模式控制器的映射的特性的指示的装置;用于查询系统存储器以检索USB设备模式控制器的映射的装置;以及用于执行对系统存储器的查询以检索USB设备模式控制器的映射的装置。
在示例60中,示例50-59中任何一项或多项的主题任选地包括,用于使USB设备模式控制器能够断电并断开的装置。
示例61是一种用于管理USB设备模式控制器的方法,包括在计算系统的处理电路系统中执行的电子操作,计算系统包括USB设备模式控制器、第一USB-C连接器以及第二USB-C连接器,其中电子操作包括:响应于来自远程计算设备的经由第一USB-C连接器的尝试数据连接,确定用于控制第一USB-C连接器的USB设备模式控制器的可用性,其中尝试数据连接在第一USB-C连接器被配置成上行端口的情况下发生;响应于确定USB设备模式控制器在用于控制第一USB-C连接器的计算系统上不可用,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置成下行端口;以及尝试经由第一USB-C连接器的与远程计算设备的尝试数据连接的执行,且第一USB-C连接器被配置成下行端口。
在示例62中,示例61的主题可任选地包括,电子操作进一步包括:在来自远程计算系统的尝试数据连接之前,确定第一USB-C连接器的状态。
在示例63中,示例61-62中任何一项或多项的主题任选地包括方法示例61,其中在来自远程计算系统的尝试数据连接之前,将USB设备模式控制器指派给第二USB-C连接器。
在示例64中,示例61-63中任何一项或多项的主题任选地包括,电子操作进一步包括:确定设备模式控制器在远程计算系统上是否可用以促进尝试数据连接。
在示例65中,示例64的主题可任选地包括,电子操作进一步包括:响应于确定设备模式控制器在远程计算系统上不可用,生成无法与远程计算系统建立尝试数据连接的通知。
在示例66中,示例64-65中任何一项或多项的主题任选地包括,电子操作进一步包括:响应于确定设备模式控制器在远程计算系统上可用,与远程计算系统建立尝试数据连接。
在示例67中,示例61-66中任何一项或多项的主题任选地包括,电子操作进一步包括:响应于确定USB设备模式控制器在计算系统上可用于控制第一USB-C连接器,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置为下行端口。
示例68是一种包括用于执行示例61-67的方法中的任一项的装置的设备。
示例69是包括指令的至少一种机器可读介质,指令在由计算系统执行时使该计算系统执行如示例61-67的方法中的任一项。
示例70是一种设备,包括:用于响应于来自远程计算设备的经由第一USB-C连接器的尝试数据连接,确定用于控制第一USB-C连接器的USB设备模式控制器的可用性的装置,其中尝试数据连接在第一USB-C连接器被配置成上行端口的情况下发生;用于响应于确定USB设备模式控制器不可用于控制第一USB-C连接器,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置成下行端口的装置;以及用于尝试经由第一USB-C连接器的与远程计算设备的尝试数据连接的执行的装置,且第一USB-C连接器被配置成下行端口。
在示例71中,示例70的主题任选地包括,用于在来自远程计算系统的尝试数据连接之前,确定第一USB-C连接器的状态的装置。
在示例72中,示例70-71中任何一项或多项的主题任选地包括,用于在来自远程计算系统的尝试数据连接之前,将USB设备模式控制器指派给第二USB-C连接器的装置。
在示例73中,示例70-72中任何一项或多项的主题任选地包括,用于确定设备模式控制器在远程计算系统上是否可用于促进尝试数据连接的装置。
在示例74中,示例73的主题任选地包括,用于响应于确定设备模式控制器在远程计算系统上不可用,生成无法与远程计算系统建立尝试数据连接的通知的装置。
在示例75中,示例73-74中任何一项或多项的主题任选地包括,用于响应于确定设备模式控制器在远程计算系统上可用,与远程计算系统建立尝试数据连接的装置。
在示例76中,示例70-75中任何一项或多项的主题任选地包括,用于响应于确定USB设备模式控制器不可用于控制第一USB-C连接器,执行第一USB-C连接器的数据角色交换以将第一USB-C连接器配置成下行端口的装置。
示例77是一种适用于管理USB设备模式控制器的计算系统,该计算系统包括:多个USB-C连接器;USB设备模式控制器;以及处理电路系统,用于:使用多个USB-C连接器中的第一USB-C连接器与功率充电器建立功率连接,其中USB设备模式控制器被指派给第一USB-C连接器;使用多个USB-C连接器的第二USB-C连接器接收用于设备模式数据连接的请求;以及将USB设备模式控制器从第一USB-C连接器重新指派给第二USB-C连接器。
在示例78中,示例77的主题任选地包括,处理电路系统进一步用于:响应于对设备模式数据连接的请求,从第一USB-C连接器释放USB设备模式控制器的使用。
在示例79中,示例78的主题任选地包括功率递送控制器,且处理电路系统进一步用于:利用功率递送控制器确定功率充电器利用功率递送消息收发;以及利用功率递送控制器请求使用USB设备模式控制器;其中功率递送控制器操作用于响应于对设备模式数据连接的请求而触发USB设备模式控制器从第一USB-C连接器的释放。
在示例80中,示例79的主题任选地包括,处理电路系统进一步用于:利用功率递送控制器确定未与功率充电器发生设备模式通信。
在示例81中,示例79-80中的任何一个或多个的主题任选地包括,处理电路系统进一步用于:利用功率递送控制器确定正经由第一USB-C连接器与功率充电器发生设备模式通信;以及防止USB设备模式控制器释放第一USB-C连接器,并防止USB设备模式控制器对第二USB-C连接器的重新指派,直到该设备模式通信完成。
在示例82中,示例78-81中的任何一个或多个的主题任选地包括功率递送控制器,且处理电路系统进一步用于:利用功率递送控制器确定功率充电器未利用USB功率递送消息收发;其中功率递送控制器操作用于响应于来自计算系统的操作系统的功率充电器未使用USB数据通信的指示来触发USB设备模式控制器从第一USB-C连接器的释放。
在示例83中,示例82的主题任选地包括,处理电路系统进一步用于:使用设备策略管理器跟踪对USB设备模式控制器的连接器的指派;以及请求设备策略管理器批准将USB设备模式控制器分配给第二USB-C连接器。
在示例84中,示例83的主题任选地包括,处理电路系统进一步用于:响应于对设备模式数据连接的请求,向计算系统的操作系统通知关于连接事件;以及响应于关于连接事件的通知,从操作系统接收功率充电器未在使用USB数据通信的指示。
示例85是包括多条指令的至少一种机器可读存储介质,这些指令适用于USB设备模式控制器的管理,其中响应于利用计算系统的处理电路系统来执行,这些指令使计算设备执行以下电子操作:使用多个USB-C连接器中的第一USB-C连接器与功率充电器建立功率连接,其中USB设备模式控制器被指派给第一USB-C连接器;使用多个USB-C连接器的第二USB-C连接器接收用于设备模式数据连接的请求;以及将USB设备模式控制器从第一USB-C连接器重新指派给第二USB-C连接器。
在示例86中,示例85的主题可任选地包括,其中电子操作进一步:响应于对设备模式数据连接的请求,从第一USB-C连接器释放USB设备模式控制器的使用。
在示例87中,示例86的主题任选地包括,其中计算系统进一步包括功率递送控制器,并且其中电子操作进一步:利用功率递送控制器确定功率充电器利用功率递送消息收发;以及利用功率递送控制器请求使用USB设备模式控制器;其中功率递送控制器操作用于响应于对设备模式数据连接的请求而触发USB设备模式控制器从第一USB-C连接器的释放。
在示例88中,示例87的主题可任选地包括,其中电子操作进一步:利用功率递送控制器确定未与功率充电器发生设备模式通信。
在示例89中,示例87-88中任何一项或多项的主题任选地包括,其中电子操作进一步:利用功率递送控制器确定正经由第一USB-C连接器与功率充电器发生设备模式通信;以及防止USB设备模式控制器释放第一USB-C连接器,并防止USB设备模式控制器对第二USB-C连接器的重新指派,直到该设备模式通信完成。
在示例90中,示例85-89中任何一项或多项的主题任选地包括,其中计算系统进一步包括功率递送控制器,并且其中电子操作进一步:利用功率递送控制器确定功率充电器未利用USB功率递送消息收发;其中功率递送控制器操作用于响应于来自计算系统的操作系统的功率充电器未使用USB数据通信的指示来触发USB设备模式控制器从第一USB-C连接器的释放。
在示例91中,示例90的主题可任选地包括,其中电子操作进一步:使用设备策略管理器跟踪对USB设备模式控制器的连接器的指派;以及请求设备策略管理器批准将USB设备模式控制器分配给第二USB-C连接器。
在示例92中,示例91的主题可任选地包括,其中电子操作进一步:响应于对设备模式数据连接的请求,向计算系统的操作系统通知关于连接事件;以及响应于关于连接事件的通知,从操作系统接收功率充电器未在使用USB数据通信的指示。
示例93是一种用于管理USB设备模式控制器的方法,包括在计算系统的处理电路系统中执行的电子操作,计算系统包括多个USB-C连接器以及USB设备模式控制器,其中电子操作包括:使用多个USB-C连接器中的第一USB-C连接器与功率充电器建立功率连接,其中USB设备模式控制器被指派给第一USB-C连接器;使用多个USB-C连接器的第二USB-C连接器接收用于设备模式数据连接的请求;以及将USB设备模式控制器从第一USB-C连接器重新指派给第二USB-C连接器。
在示例94中,示例93的主题可任选地包括,其中电子操作进一步包括:响应于对设备模式数据连接的请求,从第一USB-C连接器释放USB设备模式控制器的使用。
在示例95中,示例94的主题可任选地包括,其中电子操作进一步包括:利用功率递送控制器确定功率充电器利用功率递送消息收发;以及利用功率递送控制器请求使用USB设备模式控制器;其中功率递送控制器操作用于响应于对设备模式数据连接的请求而触发USB设备模式控制器从第一USB-C连接器的释放。
在示例96中,示例95的主题可任选地包括,其中电子操作进一步包括:利用功率递送控制器确定未与功率充电器发生设备模式通信。
在示例97中,示例95-96中任何一项或多项的主题任选地包括,其中电子操作进一步包括:利用功率递送控制器确定正经由第一USB-C连接器与功率充电器发生设备模式通信;以及防止USB设备模式控制器释放第一USB-C连接器,并防止USB设备模式控制器对第二USB-C连接器的重新指派,直到该设备模式通信完成。
在示例98中,示例93-97中任何一项或多项的主题任选地包括,其中电子操作进一步包括:利用功率递送控制器确定功率充电器未利用USB功率递送消息收发;其中功率递送控制器操作用于响应于来自计算系统的操作系统的功率充电器未使用USB数据通信的指示来触发USB设备模式控制器从第一USB-C连接器的释放。
在示例99中,示例98的主题可任选地包括,其中电子操作进一步包括:使用设备策略管理器跟踪对USB设备模式控制器的连接器的指派;以及请求设备策略管理器批准将USB设备模式控制器分配给第二USB-C连接器。
在示例100中,示例99的主题可任选地包括,其中电子操作进一步包括:响应于对设备模式数据连接的请求,向计算系统的操作系统通知关于连接事件;以及响应于关于连接事件的通知,从操作系统接收功率充电器未在使用USB数据通信的指示。
示例101是一种包括用于执行示例93-100的方法中的任一项的装置的设备。
示例102是包括指令的至少一种机器可读介质,指令在由计算系统执行时使该计算系统执行如示例93-100的方法中的任一项。
示例103是一种设备,包括:用于以下的装置:使用多个USB-C连接器中的第一USB-C连接器与功率充电器建立功率连接,其中USB设备模式控制器被指派给第一USB-C连接器;使用多个USB-C连接器的第二USB-C连接器接收用于设备模式数据连接的请求;以及将USB设备模式控制器从第一USB-C连接器重新指派给第二USB-C连接器。
在示例104中,示例103的主题任选地包括,用于响应于对设备模式数据连接的请求,从第一USB-C连接器释放USB设备模式控制器的使用的装置。
在示例105中,示例104的主题任选地包括,用于确定功率充电器利用功率递送消息收发的装置;以及用于请求使用USB设备模式控制器的装置。
在示例106中,示例105的主题任选地包括,用于确定未与功率充电器发生设备模式通信的装置。
在示例107中,示例105-106中任何一项或多项的主题任选地包括,用于确定正经由第一USB-C连接器与功率充电器发生设备模式通信的装置;以及用于防止USB设备模式控制器释放第一USB-C连接器,并防止USB设备模式控制器对第二USB-C连接器的重新指派,直到该设备模式通信完成的装置。
在示例108中,示例103-107中任何一项或多项的主题任选地包括,用于确定功率充电器未利用USB功率递送消息收发的装置;以及用于响应于功率充电器未使用USB数据通信的指示来触发USB设备模式控制器从第一USB-C连接器的释放的装置。
在示例109中,示例108的主题任选地包括,用于跟踪对USB设备模式控制器的连接器的指派的装置;以及用于请求批准将USB设备模式控制器分配给第二USB-C连接器的装置。
在示例110中,示例109的主题任选地包括,用于响应于对设备模式数据连接的请求,向计算系统通知关于连接事件的装置;以及用于响应于关于连接事件的通知,接收功率充电器未在使用USB数据通信的指示的装置。
在以上具体实施方式中,可将各特征组合在一起以使本公开流畅。然而,权利要求可以不陈述本文中所公开的每一特征,因为实施例的特征可以是所述特征的子集。进一步地,实施例可包括比特定示例中所公开的那些特征更少的特征。因此,所附权利要求书由此被结合到具体实施方式中,一项权利要求作为单独的实施例而独立存在。

Claims (25)

1.一种适用于USB设备模式控制器的管理的计算系统,所述计算系统包括:
多个USB-C连接器;
USB设备模式控制器;以及
处理电路系统,用于:
标识所述USB设备模式控制器的映射以及所述USB设备模式控制器的所述映射的特性;
接收对所述USB设备模式控制器的所述映射的改变的请求;
执行对所述USB设备模式控制器的所述映射的所述改变,其中所述USB设备模式控制器的所述映射指示所述USB设备模式控制器向所述多个USB-C连接器中的一个USB-C连接器的指派,并且其中所述映射的所述特性指示所述多个USB-C连接器中的所述一个USB-C连接器的可用通信能力;以及
将所述USB设备模式控制器的操作状态记录在系统存储器中。
2.如权利要求1所述的计算系统,其特征在于,进一步包括系统存储器,且所述处理电路系统进一步用于:
从所述系统存储器检索所述USB设备模式控制器的所述操作状态;
其中用于标识所述USB设备模式控制器的所述映射以及执行对所述USB设备模式控制器的所述映射的所述改变的操作是响应于存储在所述系统存储器中的所述USB设备模式控制器的所述操作状态来执行的。
3.如权利要求2所述的计算系统,其特征在于,所述处理电路系统进一步用于:
将所述USB设备模式控制器的所述映射记录在所述系统存储器中;以及
将所述映射的所述特性记录在所述系统存储器中;
其中用于将所述USB设备模式控制器的所述操作状态记录到所述系统存储器的操作操作成用于将数据存储在所述系统存储器的第一存储器位置中;以及
其中用于将所述USB设备模式控制器的所述映射以及所述映射的所述特性记录在所述系统存储器中的操作操作成用于将数据存储在所述系统存储器的第二存储器位置中。
4.如权利要求2所述的计算系统,其特征在于,用于记录所述USB设备模式控制器的所述操作状态的操作以及用于检索所述USB设备模式控制器的所述操作状态的操作由操作系统策略管理器(OPM)驱动器发起。
5.如权利要求1所述的计算系统,其特征在于,所述USB设备模式控制器的所述映射的所述改变包括用于将所述USB设备模式控制器的所述映射从所述多个USB-C连接器中的第一USB-C连接器重新指派给所述多个USB-C连接器中的第二USB-C连接器的操作。
6.如权利要求5所述的计算系统,其特征在于,所述USB设备模式控制器的所述映射是基于在所述计算系统的操作系统中接收的用户请求或者基于由所述计算系统的设备策略管理器执行的确定来重新指派的,并且其中所述USB设备模式控制器的所述映射从所述第一USB-C连接器被改变到所述第二USB-C连接器。
7.如权利要求1所述的计算系统,其特征在于,所述USB设备模式控制器的所述映射的所述改变包括用于将所述多个USB-C连接器中的第一USB-C连接器从所述USB设备模式控制器断开的操作。
8.如权利要求7所述的计算系统,其特征在于,所述第一USB-C连接器基于所述计算系统的操作系统中的策略而从所述USB设备模式控制器断开,所述策略由操作系统策略管理器(OPM)驱动器制定。
9.如权利要求1所述的计算系统,其特征在于,用于标识所述USB设备模式控制器的所述映射以及所述USB设备模式控制器的所述映射的所述特性的操作由高级配置和功率接口(ACPI)方法执行。
10.如权利要求9所述的计算系统,其特征在于,用于标识所述映射以及所述映射的所述特性的所述操作是利用以下来执行的:
所述ACPI方法的设备特定方法(_DSM)功能,用于请求系统固件来向系统存储器写入对所述USB设备模式控制器的所述映射以及所述USB设备模式控制器的所述映射的所述特性的指示;
所述ACPI方法的物理设备位置(_PLD)功能,用于执行对所述系统存储器的查询以检索所述USB设备模式控制器的所述映射;以及
所述ACPI方法的USB端口能力(_UPC)功能,用于执行对所述系统存储器的查询以检索所述USB设备模式控制器的所述映射。
11.如权利要求9所述的计算系统,其特征在于,所述ACPI方法中描述所述多个USB-C连接器的属性的对象是在操作系统策略管理器(OPM)的范围下实现的,用于允许所述USB设备模式控制器断电并从所述计算系统断开。
12.一种用于USB设备模式控制器的管理的方法,包括在计算系统的处理电路系统中执行的电子操作,所述计算系统包括多个USB-C连接器以及所述USB设备模式控制器,其中所述电子操作包括:
标识USB设备模式控制器的映射以及所述USB设备模式控制器的所述映射的特性;
接收对所述USB设备模式控制器的所述映射的改变的请求;
执行对所述USB设备模式控制器的所述映射的所述改变,其中所述USB设备模式控制器的所述映射指示所述USB设备模式控制器向所述多个USB-C连接器中的一个USB-C连接器的指派,并且其中所述映射的所述特性指示所述多个USB-C连接器中的所述一个USB-C连接器的可用通信能力;以及
将所述USB设备模式控制器的操作状态记录在所述计算系统的系统存储器中。
13.如权利要求12所述的方法,其特征在于,所述电子操作进一步包括:
从所述系统存储器检索所述USB设备模式控制器的所述操作状态;
其中标识所述USB设备模式控制器的所述映射以及执行对所述USB设备模式控制器的所述映射的所述改变是响应于存储在所述系统存储器中的所述USB设备模式控制器的所述操作状态来执行的。
14.如权利要求13所述的方法,其特征在于,所述电子操作进一步包括:
将所述USB设备模式控制器的所述映射记录在所述系统存储器中;以及
将所述映射的所述特性记录在所述系统存储器中;
其中将所述USB设备模式控制器的所述操作状态记录到所述系统存储器操作成用于将数据存储在所述系统存储器的第一存储器位置中;以及
其中将所述USB设备模式控制器的所述映射以及所述映射的所述特性记录在所述系统存储器中操作成用于将数据存储在所述系统存储器的第二存储器位置中。
15.如权利要求13所述的方法,其特征在于,记录所述USB设备模式控制器的所述操作状态的操作以及检索所述USB设备模式控制器的所述操作状态的操作由操作系统策略管理器(OPM)驱动器发起。
16.如权利要求12所述的方法,其特征在于,所述USB设备模式控制器的所述映射的所述改变包括将所述USB设备模式控制器的所述映射从所述多个USB-C连接器中的第一USB-C连接器重新指派给所述多个USB-C连接器中的第二USB-C连接器。
17.如权利要求16所述的方法,其特征在于,所述USB设备模式控制器的所述映射是基于在所述计算系统的操作系统中接收的用户请求或者基于由所述计算系统的设备策略管理器执行的确定来重新指派的,并且其中所述USB设备模式控制器的所述映射从所述第一USB-C连接器被改变到所述第二USB-C连接器。
18.如权利要求12所述的方法,其特征在于,所述USB设备模式控制器的所述映射的所述改变包括用于将所述多个USB-C连接器中的第一USB-C连接器从所述USB设备模式控制器断开的操作。
19.如权利要求18所述的方法,其特征在于,所述第一USB-C连接器基于所述计算系统的操作系统中的策略而从所述USB设备模式控制器断开,所述策略由操作系统策略管理器(OPM)驱动器制定。
20.如权利要求12所述的方法,其特征在于,用于标识所述USB设备模式控制器的所述映射以及所述USB设备模式控制器的所述映射的所述特性的操作由高级配置和功率接口(ACPI)方法执行。
21.如权利要求20所述的方法,其特征在于,用于标识所述映射以及所述映射的所述特性的所述操作是利用以下来执行的:
ACPI方法的设备特定方法(_DSM)功能,用于请求系统固件来向系统存储器写入对所述USB设备模式控制器的所述映射以及所述USB设备模式控制器的所述映射的所述特性的指示;
所述ACPI方法的物理设备位置(_PLD)功能,用于执行对所述系统存储器的查询以检索所述USB设备模式控制器的所述映射;以及
所述ACPI方法的USB端口能力(_UPC)功能,用于执行对所述系统存储器的查询以检索所述USB设备模式控制器的所述映射。
22.如权利要求20所述的方法,其特征在于,在操作系统策略管理器(OPM)的范围下实现所述ACPI方法中描述所述多个USB-C连接器的属性的对象,用于允许所述USB设备模式控制器断电并从所述计算系统断开。
23.一种用于USB设备模式控制器的管理的设备,包括用于执行如权利要求12-22所述的方法中的任一项的装置。
24.至少一种包括指令的机器可读介质,所述指令在由计算系统执行时使得所述计算系统执行如权利要求12-22所述的方法中的任一项。
25.一种用于USB设备模式控制器的管理的设备,包括:
用于标识USB设备模式控制器的映射以及所述USB设备模式控制器的所述映射的特性的装置;
用于接收对所述USB设备模式控制器的所述映射的改变的请求的装置;
用于执行对所述USB设备模式控制器的所述映射的所述改变的装置,
其中所述USB设备模式控制器的所述映射指示所述USB设备模式控制器向所述多个USB-C连接器中的一个USB-C连接器的指派,并且其中所述映射的所述特性指示所述多个USB-C连接器中的所述一个USB-C连接器的可用通信能力;
用于将所述USB设备模式控制器的操作状态记录在系统存储器中的装置。
CN201780050412.8A 2016-09-16 2017-08-07 Usb-c多连接器支持 Active CN109643294B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662395884P 2016-09-16 2016-09-16
US62/395,884 2016-09-16
US15/278,128 US10078608B2 (en) 2016-09-16 2016-09-28 USB-C multiple connector support for host and device mode configurations
US15/278,128 2016-09-28
PCT/US2017/045746 WO2018052573A1 (en) 2016-09-16 2017-08-07 Usb-c multiple connector support

Publications (2)

Publication Number Publication Date
CN109643294A CN109643294A (zh) 2019-04-16
CN109643294B true CN109643294B (zh) 2024-02-20

Family

ID=61619644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780050412.8A Active CN109643294B (zh) 2016-09-16 2017-08-07 Usb-c多连接器支持

Country Status (4)

Country Link
US (2) US10078608B2 (zh)
CN (1) CN109643294B (zh)
DE (1) DE112017004663T5 (zh)
WO (1) WO2018052573A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9169499B2 (en) 2009-09-29 2015-10-27 Butamax Advanced Biofuels Llc Flux to acetolactate-derived products in lactic acid bacteria
WO2017152424A1 (zh) * 2016-03-11 2017-09-14 华为技术有限公司 具有通用串行总线USB Type-C接口的设备之间建立连接的方法和终端设备
US10078608B2 (en) 2016-09-16 2018-09-18 Intel Corporation USB-C multiple connector support for host and device mode configurations
US11703910B2 (en) * 2017-09-08 2023-07-18 Realtek Semiconductor Corporation Docking station, electrical device, and method for configuring basic input output system
US11451067B2 (en) * 2017-12-19 2022-09-20 Intel Corporation Method, apparatus and system to enhance a device policy manager to manage devices based on battery condition
JP6540980B1 (ja) * 2018-05-29 2019-07-10 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム
WO2019231810A1 (en) * 2018-06-01 2019-12-05 Google Llc Smartphone charging station connectivity
US10467981B1 (en) * 2018-06-13 2019-11-05 Dell Products, Lp Method and apparatus for providing interface between dedicated discrete graphics processing unit and head mounted display using type-C universal standard bus
JP7348721B2 (ja) * 2018-11-29 2023-09-21 ルネサスエレクトロニクス株式会社 コントローラ、制御方法、制御プログラム
GB2580668A (en) * 2019-01-22 2020-07-29 Starleaf Ltd A system for connecting a computer with a video conference endsystem
US20220276687A1 (en) * 2019-10-15 2022-09-01 Hewlett-Packard Development Company, L.P. Port role assignments
US10955889B1 (en) * 2020-01-03 2021-03-23 Powergene Technology Co., Ltd., Taiwan Branch Universal serial bus power-supplying apparatus with power-switching functions
US11256647B2 (en) * 2020-01-24 2022-02-22 Dell Products, L.P. Docking system utilizing multimode USB-C power transmission and conversion
US11847080B2 (en) 2020-04-30 2023-12-19 Hewlett-Packard Development Company, L.P. All-In-One computers with power delivery controllers
TWI749658B (zh) * 2020-07-22 2021-12-11 旺玖科技股份有限公司 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598169B1 (en) * 1999-07-26 2003-07-22 Microsoft Corporation System and method for accessing information made available by a kernel mode driver
CN102163147A (zh) * 2010-02-12 2011-08-24 微软公司 计算设备的外围设备的控制的分配
CN104541280A (zh) * 2012-09-28 2015-04-22 英特尔公司 用于利用非易失性存储器装置的备选引导路径支持
WO2016097689A1 (en) * 2014-12-16 2016-06-23 Displaylink (Uk) Limited A device capable of being operated in different modes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480790B2 (en) * 2005-07-29 2009-01-20 Hewlett-Packard Development Company, L.P. Sleep state resume
US7984228B2 (en) 2006-02-28 2011-07-19 Microsoft Corporation Device connection routing for controller
CN105378692B (zh) 2013-07-03 2018-08-31 惠普发展公司,有限责任合伙企业 通用串行总线数据路由
US9842076B2 (en) 2014-05-19 2017-12-12 Microchip Technology Incorporated Switchless USB C-connector hub
US9652351B2 (en) 2014-12-23 2017-05-16 Intel Corporation System to detect charger and remote host for type-C connector
US10122576B2 (en) * 2015-03-17 2018-11-06 Microsoft Technology Licensing, Llc Intelligent role selection for dual-role devices
US10877921B2 (en) * 2016-06-01 2020-12-29 Intel Corporation Methods and apparatus to extend USB-C software support to non-USB-C devices
US10078608B2 (en) 2016-09-16 2018-09-18 Intel Corporation USB-C multiple connector support for host and device mode configurations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598169B1 (en) * 1999-07-26 2003-07-22 Microsoft Corporation System and method for accessing information made available by a kernel mode driver
CN102163147A (zh) * 2010-02-12 2011-08-24 微软公司 计算设备的外围设备的控制的分配
CN104541280A (zh) * 2012-09-28 2015-04-22 英特尔公司 用于利用非易失性存储器装置的备选引导路径支持
WO2016097689A1 (en) * 2014-12-16 2016-06-23 Displaylink (Uk) Limited A device capable of being operated in different modes

Also Published As

Publication number Publication date
CN109643294A (zh) 2019-04-16
US10521386B2 (en) 2019-12-31
US20180081843A1 (en) 2018-03-22
US20190065423A1 (en) 2019-02-28
US10078608B2 (en) 2018-09-18
DE112017004663T5 (de) 2019-06-19
WO2018052573A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN109643294B (zh) Usb-c多连接器支持
US10715381B2 (en) Intelligent role selection for dual-role devices
CN108616382B (zh) 升级网卡固件的方法、装置、网卡和设备
US10409751B2 (en) System and method for adding active out-of-band management capability as a user-selectable module
TWI557572B (zh) 用於在主機與行動裝置間之任務的雙向動態卸載之方法、系統及電腦可讀儲存裝置(一)
KR102634505B1 (ko) 컴퓨팅 장치의 분리가능한 부분을 위한 이중 역할 가능 커넥터
US8850082B2 (en) Virtual USB compound device enumeration
CN101622600A (zh) 多个具有引导能力的设备之间的引导协商
CN103473202B (zh) Usb otg装置、电子设备及实现otg功能的方法
US10869176B1 (en) Near field communication (NFC) enhanced computing systems
US20070255869A1 (en) Device evaluation using automatic connection path reconfiguration
WO2016107443A1 (zh) 一种快照处理方法及相关设备
US10176133B2 (en) Smart device with no AP
US7613879B2 (en) Method, system and media for improved operation of a device in a foreign domain
US10210110B2 (en) Associating data buses and management bus connections for peripheral devices
CN104657240A (zh) 多内核操作系统的失效控制方法及装置
US10282212B2 (en) System and method for reducing boot time of a workload configuration on a target server
CN113722147A (zh) 一种保持业务连接方法及相关设备
US11900100B2 (en) System and method for enabling a rollback mechanism for shared devices in an information handling system
CN114780470B (zh) 云手机管理系统、方法、装置、电子设备和可读存储介质
US10545678B2 (en) Shared data storage system with high availability and hot plugging
US11385885B2 (en) System and method of downloading a firmware to a server
US20210265860A1 (en) Wireless docking device and method therefor
US20230064833A1 (en) Ensuring key event delivery to a host from a client during a high event rate
JP2021057874A (ja) クラスター型ネットワークを構築するための方法および通信システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant