自动配置计算设备的通用串行总线(USB)C型端口的制作方法

文档序号:17439316发布日期:2019-04-17 04:32阅读:222来源:国知局
自动配置计算设备的通用串行总线(USB)C型端口的制作方法

本发明通常涉及通用串行总线(usb)c型,更具体地说,涉及自动配置计算设备的usbc型端口。



背景技术:

随着信息的价值和用途不断增加,个人和企业寻求其他方式来处理和存储信息。用户可以使用的一个选项是信息处理系统。信息处理系统通常为商业、个人或其他目的处理、编译、存储和/或传送信息或数据,从而允许用户利用信息的价值。由于不同用户或应用程序之间的技术和信息处理需要和要求各不相同,因此信息处理系统也可能因所处理的信息,信息处理方式,处理、存储或传达的信息量,以及处理、存储或传送信息的传达处理速度和效率而异。信息处理系统的变化允许信息处理系统是通用的或为特定用户或特定用途配置,例如金融交易处理、航空公司预订、企业数据存储或全球通信。另外,信息处理系统可以包括各种硬件和软件组件,其可以被配置为处理、存储和传送信息,并且可以包括一个或多个计算机系统、数据存储系统和网络系统。

usbc型(usbtype-c或“usb-c”)规范包括对客户协议的支持,从而使得能够使用usb-c传输各种各样的信号。在usb-c出现之前,数据和视频被分离并在不同的物理连接器上传输。例如,在usb-c之前,数据可以通过usba类型,usbb类型或以太网等接口传输,而视频则使用显示端口(dp)、迷你显示端口(mdp)、视频图形阵列(vga)、或高清多媒体接口(hdmi)等接口传输。当数据和视频以这种方式分离时,消费者基于物理连接器知道用于连接设备的端口,例如以太网电缆只能连接到以太网连接器(例如,端口),hdmi电缆只能连接到hdmi连接器等。相比之下,c型可以传输多种类型的信号,包括数据、视频和其他信号(例如,usb、dp、外围组件互连高速(pcie)、雷电接口等),或例如任何可以适配8个物理接线插脚的协议。

如果计算设备上的各种端口(例如,usba类型、以太网、hdmi等)被一排外观相同的usb-c连接器取代,消费者可能在要确定将电缆插入哪个端口感到困惑。过去,希望将显示设备(例如,计算机监控器)连接到计算设备的消费者可以使用vga电缆、hdmi电缆、或dp电缆,以将电缆分别插入vga端口、hdmi端口或dp端口。在这些示例中,每种类型的端口在物理上是唯一的,因此消费者只能将视频电缆插入相应的视频端口,例如,hdmi电缆只能插入hdmi端口。但是,对于usb-c端口,可以使用相同的物理端口来承载各种信号。例如,计算设备可以具有三个usb-c端口,第一usb-c端口配置为处理usb存储数据,第二usb-c端口配置为处理以太网数据,第三usb-c端口配置为处理视频数据(例如,基于hdmi的信号)。希望使用端接有usb-c插头的电缆将显示设备连接到计算设备的消费者可以将电缆附接到三个usb-c端口中的任何一个。如果消费者将usb-c电缆插入第一端口或第二端口,则显示设备未连接到配置为处理视频数据的端口,因此视频数据不显示在显示设备上。消费者可能变得沮丧,因为usb-c电缆插入计算设备上的usb-c端口,但是不满足将显示设备连接到计算设备的期望,例如,因为并非所有端口都被配置为处理视频数据。



技术实现要素:

本发明内容提供了概念的简化形式,其在下面的具体实施方式中进一步描述。本发明内容不旨在标识关键或基本特征,因此不应用于确定或限制所要求保护的主题的范围。

诸如嵌入式控制器的定制逻辑设备可以通过将usbc型端口连接到适当的输入/输出(i/o)信号,来自动配置通用串行总线(usb)c型端口。例如,逻辑设备可以接收外部设备连接到计算设备的usbc型端口的通知。逻辑设备可以通过与usbc型端口相关联的配置信道从端口控制器接收数据。至少部分地基于数据,逻辑设备可以确定外部设备能够发送、接收或者发送和接收一种或多种类型的信号。逻辑设备可以指示交叉点开关(cross-pointswitch)将usb-c端口连接到计算设备中的一个或多个信号路径,以使外部设备能够发送、接收或者发送和接收一种或多种类型的信号。

附图说明

通过结合附图参考以下详细描述,可以获得对本发明的更完整的理解。在附图中,附图标记的最左边的一位或者多位数字标识首次出现附图标记的图。不同图中的相同附图标记表示相似或相同的项目。

图1是根据一些实施方式的具有usb-c端口的计算设备的架构的框图。

图2是根据一些实施方式的包括连接到usb-c端口的多个设备的架构的框图。

图3是根据一些实施方式的包括代表性usb-c连接器的引脚分配的架构的框图。

图4是根据一些实施方式的包括向交叉点开关发送指令的过程的流程图。

图5是根据一些实施方式的包括指示交叉点开关的过程的流程图。

图6示出了可用于实现本文描述的系统和技术的计算设备的示例性配置。

具体实施方式

出于本发明的目的,信息处理系统可以包括可用于为商业、科学、控制或其他目的、可操作用于估算、计算、确定、分类、处理、发送、接收、检索、发起、切换、存储、显示、通信、表明、检测、记录、复制、处理或利用任何形式的信息、情报或数据的任何工具或工具集合。例如,信息处理系统可以是个人计算机(例如,台式计算机或膝上型计算机)、平板计算机、移动设备(例如,个人数字助理(pda)或智能电话)、服务器(例如,刀片式服务器或机架式服务器)、网络存储设备或任何其他合适的设备,并且可以在大小、形状、性能、功能和价格上变化。信息处理系统可以包括随机存取存储器(ram),一个或多个处理资源,例如中央处理单元(cpu)或硬件或软件控制逻辑,rom和/或其他类型的非易失性存储器。信息处理系统的附加组件可以包括一个或多个磁盘驱动器,用于与外部设备通信的一个或多个网络端口以及各种输入和输出(i/o)设备,例如键盘、鼠标、触摸屏和/或视频显示器。信息处理系统还可以包括可操作以在各种硬件组件之间传输通信的一个或多个总线。

本文描述的系统和技术可以在作为信息处理系统的一部分的计算设备上自动配置usbc型(usb-c)端口,从而向用户(例如,消费者)提供“即插即用”功能。并非在消费者身上施加负担以确定哪个端口被配置为执行特定功能(例如,数据、网络、视频等),当外部设备联结到usb-c端口时,计算机自动配置端口。例如,当消费者将联结到外部设备的电缆插入usb-c端口时,计算设备与外部设备通信,确定外部设备能够发送和/或接收的一个或者多个功能的类型,并将正确的输入/输出(i/o)路由到usb-c端口。

使用一种或多种技术(例如,嵌入式控制器、现场可编程门阵列(fpga)、具有定制固件的微控制器、或其他可编程逻辑设备)实现的定制逻辑设备(例如,集成电路(ic)等)可以监控与计算设备中的各个usb-c端口相关联的内部通信总线(icb)。当外部设备(例如,通过电缆)附接到特定的一个usb-c端口时,定制逻辑设备可以监控icb,以确定外部设备配置为发送、接收或两者的一个或多个信号的类型(例如,电力、数据、视频、音频等)。基于通过icb提供的信息,定制逻辑设备可以向交叉点开关发送指令,以适当地连接特定usb-c端口,从而使外部设备能够发送和/或接收外部设备能够发送和/或接收的一种或者多种信号的类型。例如,如果定制逻辑设备(例如,通过icb上的信息)确定外部设备是被配置为接收数字视频信号的显示设备,则定制逻辑设备可以指示交叉点开关将特定的usb-c端口连接到以下几者的视频输出:(i)专用图形处理单元(gpu)或(ii)包括图形功能的中央处理单元(cpu)。作为另一示例,如果定制逻辑设备确定外部设备是存储设备,则定制逻辑设备可以向交叉点开关发送指令,以将特定usb-c端口连接到设备总线,设备总线提供兼容输入/输出(i/o)信号到存储设备,并将存储设备添加为其文件系统可由计算设备访问的设备。

因此,当用户经由usb-c电缆将外部设备连接到usb-c端口时,定制逻辑设备可以监控icb以确定外部设备被配置为发送和/或接收的一种或者多种信号的特定类型。基于该确定,定制逻辑设备可以向交叉点开关发送指令以在内部(例如,在计算设备内)连接usb-c端口,以便使外部设备能够发送和/或接收特定类型的一种或者多种信号。以这种方式,用户可以体验“即插即用”,因为用户可以将外部设备插入(例如,连接)到计算设备上的任何一个可用usb-c端口,并且定制逻辑设备根据外部设备的功能自动配置usb-c端口。用户不必确定哪个端口被配置为执行哪个功能,从而为用户提供令人满意的、无挫折的体验。

图1是根据一些实施方式的包括usb-c端口的计算设备100的架构的框图。计算设备100包括cpu102。在一些实现方式中,专用gpu104可以联结到cpu102。如果计算设备100中不存在专用gpu104,则gpu104可以包括在cpu102内。cpu102可以联结到平台集线器控制器(pch)106和嵌入式显示端口(edp)108。

定制逻辑设备110可以联结到交叉点开关112。交叉点开关112可以联结到多个usb-c连接器114,例如usb-c连接器114(1)、114(2)和114(3)。一个或多个usb-c连接器114可以支持thunderbolt接口(例如,thunderbolt3)。例如,如图1所示,usb-c连接器114(4)可以支持thunderbolt116。可以使用两个dp通道(例如,dp126(5)和dp126(6)以及一个或多个外围组件互连高速(pcie)总线128),将thunderbolt116联结到交叉点开关112。usb-c连接器114(5)和114(6)可以分别使用usb118和usb120。在一些情况下,交叉点开关112可以在(i)usb(例如,电力和数据传输)信号和(ii)用于一个或多个端口(例如,usb端口118和120)的显示端口(dp)(例如,数字视频信号)之间进行选择。图1中示出了六个usb-c连接器(例如,端口),应该理解,使用本文描述的系统和技术可以实现少于六个或多于六个连接器。

edp108可以经由edp122连接从cpu102接收视频数据。外围组件互连高速(pcie)124(1)连接可以将cpu102连接到thunderbolt116。pcie124(2)连接可以将cpu102连接到交叉点开关112。多个dp连接(例如dp126(1)、dp126(2)、dp126(3)、和dp126(4))可以将cpu102或gpu104连接到交叉点开关112。多个usb3连接(例如usb3128(1)、usb3128(2)、usb3128(3)和usb3128(4))可以将pch106连接到交叉点开关112。

当用户将外部设备连接到usb-c连接器114中的一者(例如usb-c连接器114(1))时,与usb-c连接器114(1)相关联的端口控制器可以通过配置信道(cc)与外部设备中的外部端口控制器通信,以确定外部设备配置为发送、接收或同时发送和接收的一种或者多种信号的类型。与usb-c连接器114(1)相关联的端口控制器可以提供关于以下的信息:外部设备被配置为经由与usb-c连接器114(1)相关联的配置信道(cc)发送和/或接收的一种或多种信号的类型。定制逻辑设备110与端口控制器连续地通信,端口控制器与每个usb-c连接器相关联(如在图2的描述中更详细地描述的),以确定关于外部设备配置为发送和/或接收的一种或者多种信号的类型的信息。响应于确定信息,定制逻辑设备110可以向交叉点开关112发送指令以切换与usb-c连接器114(1)相关联的信号路径,以使外部设备能够发送和/或接收预期的一种或者多种信号类型。以这种方式,计算设备100能够根据外部设备的期望自动配置各个usb-c连接器114。例如,如果外部设备是被配置为接收视频信号的显示设备,则定制逻辑设备110可以向交叉点开关112发送指令以将usb-c连接器114(1)连接到从cpu102输出的dp126中的一者。如果外部设备是配置为发送和/或接收数据以及接收电力的usb存储设备,则定制逻辑设备110可以向交叉点开关112发送指令,以将usb-c连接器114(1)连接到来自pch106的usb3128输出中的一者。

定制逻辑设备110响应于检测到外部设备已连接到usb-c连接器114中的一个,指示交叉点开关112路由usb-c输入/输出(i/o)线(例如,承载信号、电力或两者),从而提供即插即用的体验。此外,可以在连接外部设备之后分配usb、dp或pcie。如在图2中更详细地描述的那样,usb-c连接器114中的一者中的端口控制器可以向定制逻辑设备110发送i/o请求,然后定制逻辑设备110指示交叉点开关112将正确的i/o路由到usb-c连接器114中的适当的一个。

除了上述信号路径之外,交叉点开关112还可以联结到其他信号路径130。例如,其他信号路径130可以包括可以通过usb-c承载的音频信号、视频信号、数据信号和其他类型的信号。

因此,定制逻辑设备110可以经由icb监控与每个usb-c连接器相关联的端口控制器,确定外部设备被配置为发送和/或接收的一种或多种信号的类型,以及发送指示到交叉点开关112,以切换与usb-c连接器114(1)相关联的信号路径,以使外部设备能够发送和/或接收预期类型的一种或多种信号。以这种方式,为用户提供“即插即用”体验。替代要求用户确定哪个usb-c端口配置为在插入电缆之前发送/接收的一种或者多种信号的类型,用户只需将电缆插入任何可用的usb-c端口,并且计算设备自动配置usb-c端口发送/接收外部设备能够发送和/或接收的信号类型。

图2是根据一些实施方式的包括连接到usb-c端口的多个设备的架构200的框图。一个或多个外部设备202(1)至202(n)(n>0)可以经由相应的usb-c电缆连接到usb-c连接器114(1)至114(n)。例如,设备202(1)可以经由电缆204(1)连接到usb-c连接器114(1),并且设备202(n)可以经由电缆204(n)连接到usb-c连接器114(n)。如这里所使用的,术语“连接器”指的是usb-c电缆可以插入其中,(“插入”)的计算设备(或外部设备)中的物理usb-c插座。如图2所示,端口控制器包括在计算设备中或外部设备中。

计算设备100中的每个usb-c连接器114可以包括端口控制器。例如,usb-c连接器114(1)可以包括端口控制器206(1),usb-c连接器114(n)可以包括端口控制器206(n)。端口控制器206可以支持各种usb设备速度,包括usb3.1超速+、usb3.0超速、usb2.0低速、全速和高速,usb1.1低速和全速,以及更早(usb1.1和usb2.0)速度。

当usb-c电缆204中的一个用于将外部设备202中的一个连接到usb-c连接器114中的一个时,usb-c连接器114中的端口控制器可以与包括在外部设备202中的端口控制器通信,以确定外部设备202被配置为发送、接收或两者的一种或者多种信号的类型。端口控制器206(1)至206(n)和208(1)至208(n)连接到配置信道(例如,图3中的a5和/或b5),并且不在数据流路径中。当usb-c电缆204(1)用于将外部设备202(1)连接到usb-c连接器114(1)时,usb-c连接器114(1)中的端口控制器206(1)可以与外部设备202(1)中的端口控制器208(1)通信,以确定外部设备202(1)被配置为发送、接收或两者的一种或者多种信号的类型。类似地,当usb-c电缆204(n)用于将外部设备202(n)连接到usb-c连接器114(n)时,usb-c连接器114(n)中的端口控制器206(n)可以与外部设备202(n)中的端口控制器208(n)通信,以确定外部设备202(n)被配置为发送、接收或两者的一种或者多种信号的类型。

在确定外部设备202被配置为发送、接收或两者的一种或者多种信号的类型,端口控制器206中的一者(例如,其中,一个电缆204连接到其中,)可以通过与usb-c连接器114中的一者相关联的特定内部通信总线(icb)212发送特定数据210。例如,端口控制器206(1)可以与端口控制器208(1)通信,确定设备202(1)被配置为发送和/或接收的一种或者多种信号的类型,并通过内部通信总线(icb)212(1)提供数据210(1)。数据210(1)可以指示设备202(1)被配置为发送和/或接收的一种或者多种信号的类型。类似地,端口控制器206(n)可以与端口控制器208(n)通信,确定设备202(n)被配置为发送和/或接收的一种或者多种信号的类型,并通过icb212(n)提供数据210(n)。数据210(n)可以指示设备202(n)被配置为发送和/或接收的一种或者多种信号的类型。

当诸如设备202(n)的外部设备经由电缆204(n)连接到usb-c连接器114(n)时,定制逻辑设备110可以经由icb212(n)、从端口控制器206(n)接收通知:外部设备202(n)已经连接到usb-c控制器114(n)。定制逻辑设备110可以经由icb212(n)接收数据210(n),指示外部设备202(n)被配置为发送和/或接收的一种或者多种信号的类型。定制逻辑设备110可以分析数据210(n)并将控制信号214发送到交叉点开关112,以配置usb-c连接器114(n),以使外部设备202(n)能够发送和/或者接收外部设备202(n)被配置为发送和/或接收的一种或者多种信号的类型。控制信号214可以向交叉点开关112发送指令,以将usb-c连接器114(n)连接到计算设备100的组件,其能够接收(和/或发送)外部设备202(n)被配置为发送(和/或接收)的一者或者多种信号的类型。例如,当外部设备202(n)是被配置为接收视频信号的显示设备时,定制逻辑设备110可以向交叉点开关112发送指令,以将usb-c连接器114(n)连接到视频输出(例如,来自图1的cpu102的dp126输出中的一者)。作为另一示例,当外部设备202(n)是被配置为发送和/或接收数据以及接收电力的usb存储设备时,定制逻辑设备110可以向交叉点开关112发送指令,以将usb-c连接器114(n)连接到usb输出(例如,由图1的pch106提供),其提供电力并使数据能够从外部设备202(n)读取和/或写入外部设备202(n)。

usb-c连接器114中的每一个可以支持交替模式(alternatemode)和附件模式(accessorymode)。主机设备(例如,计算设备100)、外部设备(例如,设备202中的一者)或电缆(例如,电缆204中的一者)可以发送厂商定义的消息(vdm)以交换信息,并发现与外部设备相关的usb标识符(id)。当主机设备与外部设备通信并进入交替模式时(例如,经由vdm),usb-c连接器可以配置为支持任何类型的输入/输出信号,包括pcie或显示端口。

因此,计算设备中的定制逻辑设备可以监控与usb-c连接器相关联的内部通信总线(icb)。当外部设备连接到usb-c连接器时,usb-c连接器中的端口控制器可以与外部设备中的端口控制器通信,以确定外部设备能够发送和/或接收的一种或者多种信号的类型。usb-c连接器中的端口控制器可以经由与usb-c连接器相关联的配置信道,提供指示外部设备能够发送和/或接收的一种或者多种信号的类型的数据。基于该数据,定制逻辑设备110可以将控制信号发送到交叉点开关,以将usb-c连接器连接到计算设备的适当组件,以使外部设备能够发送和/或接收预期信号。以这种方式,将外部设备连接(例如,插入)到usb-c连接器的用户使得计算设备根据外部设备的功能自动配置usb-c连接器。相反,在没有定制逻辑设备110的情况下,每个usb-c连接器可以被预先配置为执行特定功能,从而要求用户确定哪个usb连接器被配置为执行外部设备能够执行的功能。

图3是根据一些实施方式的包括代表性usb-c连接器(例如,插座)的引脚分配(pinassignment)的架构300的框图。例如,代表性usb-c连接器114(n)包括24个引脚,a侧具有12个引脚,b侧具有12个引脚。a侧引脚包括al302、a2304、a3306、a4308、a5310、a6312、a7314、a8316、a9318、a10320、all322和a12324。b侧引脚包括b1326、b2328、b3330、b4332、b5334、b6336、b7338、b8340、b9342、b10344、b11346和b12348。

符合usbtype-a(“usb-a”)和usbtype-b(“usb-b”)的usb电缆是方向电缆,电缆的每一端都有物理上不同的插头。usb-a连接器具有矩形形状。usb-b连接器具有方形形状,而较小的mini-b和micro-b变型具有梯形形状。

在usb系统中,形成基于树的结构,其中,根处(root)的单个usb主机(通常是主机设备,诸如个人计算机或膝上型计算机),以及连到根处的一个或多个设备(例如,存储卡等)。在传统的usb系统中,usb-a连接器更靠近地连接到根部,并且可以称为面向下游端口(downstreamfacingport,dfp)。usb-b连接器进一步远离地连接到根部,并且可以称为面向上游端口(upstreamfacingport,ufp)。这种基于树的体系结构可以防止出现环路和其他问题,因为用户无法忽视物理上不同的连接器来设置错误的usb树。

usb-c取代usb-a和usb-b,从而实现对称且可逆的usb-c电缆,同时保持相同的树结构,例如一个usb主机和一个或多个usb设备。替代使用物理上不同的连接器和插头来识别数据和电源的方向,usb设备以电子方式通过配置信道(configurationchannel,cc)来指示设备的角色(role,例如,设备的特性、设备的功能、设备配置成发送和/或接收的信号的类型等)。cc用于发现、配置和管理usbtype-c电缆上的连接。例如,当外部设备连接到计算设备(例如,主机设备)的usb连接器时,usb连接器可以在cc上提供指示已经发现外部设备的发现数据。外部设备经由cc与主机设备协商提供的电力输送的类型(例如,电压和电流),提供或期望的数据流量的类型(例如,usb1.0、usb2.0、dp流量的通道数)等等)等。外部设备和主机设备可以通过重新协商电力传送、重新协商数据流量的类型等,经由cc来管理连接。

引脚a1302、a12324、b1326和b12348提供电缆接地。引脚a2304、a3306、b10344和b11346可以提供第一高速数据路径,其中,a引脚304、306用于发送,b引脚344、346用于接收。当指定交替模式时,引脚a2304、a3306、b10344和b11346可以用于视频数据,例如显示端口(dp)。引脚a10320、al1322、b2328和b3330可以提供第二高速数据路径,a引脚320、322用于接收,b引脚328、330用于发送。当指定交替模式时,引脚a10320、a11322、b2328和b3330中的一个或多个可用于视频数据,例如提供多达四个显示端口(dp)通道。引脚a4308、a9318、b4332和b9342可用于提供电缆总线电源。引脚a6312、a7314、b6336和b7338可用于提供usb2.0功能。

每个usbc型端口具有两个cc引脚,其方向成使得无论电缆的方向如何,电缆插头中的cc引脚都与两个cc引脚中的一个连接。每根usb-c电缆都有一根cc线。因此,引脚a5310或引脚b5334可以用作cc。通常,引脚a5310或b5334中的一个用作cc,而另一个引脚用作vconn(例如,用于提供功率)。

端口控制器(例如图2的端口控制器206)可以监控引脚a5310和b5334中的哪一个被用作cc,以确定外部设备的特性和功能,并确定外部设备被配置为发送和/或接收一种或者多种信号的类型。

当dfp(例如,usb主机)使用电缆连接到ufp(例如,外部usb设备)时,两侧的cc连接在一起,并且共享cc线具有其上的上拉(pull-up)和下拉(pull-down)。dfp和ufp都读取cc线上的电压,并且可以识别出当电压变为可预测值时刚刚建立了连接。通过监控引脚a5310和b5334上的电压,主机或外部设备可以确定usb电缆的方向,并适当地路由其他引脚。dfp侧有上拉电阻rp,ufp侧有下拉电阻rd。在外部设备连接到usb-c端口之前,dfpvbus没有输出。将外部设备连接到usb-c端口后,例如,将主机设备(dfp)与外部设备(ufp)连接后,dfp中的cc引脚会检测由rd引起的cc引脚的电压降,从而通知dfp(经由cc)已连接ufp。

除dfp和ufp外,还可以使用双角色端口(dual-roleport,drp)。根据具体情况,drp可以自动(例如,无需人工干预)将自身配置为dfp或ufp。例如,当drp连接到dfp时,drp可以将自身更改为ufp。当drp连接到ufp时,drp可以将自身更改为dfp。当两个drp连接在一起时,一个drp将随机更改为dfp,另一个drp将更改为ufp。

在usb-c中,外部设备可以协商电力输送,包括5伏(默认)至20伏和高达5.0安培(a)之间。cc可用于识别主机设备的功率能力。默认usb电源使用56kω上拉,1.5a使用22kω上拉,3.0a使用10kω上拉。当电源已经满足电气要求以满足1.5a或3.oa负载时,后两种模式用于非传统usbc型端口和电缆。默认usb电源表示usb2.0时为500ma(ma)或usb3.1时为900ma。默认usb电源还可以使用符合usba到micro-b电缆的任何协议,使用数据线d+和d-进行协商。

cc可以用于传送厂商定义的消息(vdm)。标识符(id)可以包括在每个vdm中的16位id字段中。id有两种类型:标准化id(sid)和厂商特定id(vid)。sid和vid由标准组织(例如,usb实施者论坛(usb-if))分配。usb-if将sid分配给标准组,并为公司分配vid。sid指的是特定类型的交替操作模式,例如显示端口交替模式(视频电子标准协会(vesa)发布的“alt模式”)和移动高清链接(mhl)alt模式(由mhl财团发布)。公司可以使用其独特的vid来建立在其自己的ufp和dfp之间运行的专有链接。例如,制造的外部设备可能与计算设备(例如,台式计算机、笔记本电脑或平板电脑)建立专有链接。专有链接可用于提供其他公司制作的外部设备无法提供的功能。为了进入或退出交替(alt)模式,可以使用结构化vdm。结构化vdm可以具有明确定义但可扩展的命令,并且是行为模态的。例如,两个命令是“进入模式”和“退出模式”。一旦启用了alt模式,可以使用专用命令和数据(称为非结构化vdm)来提供厂商定制的格式。

在一些情况下,图1和图2的定制逻辑设备110可以确定外部设备的设备类别,并且基于设备类别确定外部设备被配置为发送和/或接收的信号。表1中提供了usb设备类型的示例。

表1:usb设备类型

与usb-c连接器相关联的端口控制器能够经由cc提供多种不同类型的数据。首先,端口控制器可以(经由cc)提供指示外部(例如,下游)设备何时被附接或分离的信息。其次,端口控制器可以(经由cc)提供关于每个设备的角色(或设备类别)的信息,例如,识别哪个是主机设备以及哪个是外部(下游)设备。第三,端口控制器可以(经由cc)提供识别usb-c电缆的方向的信息。第四,主机设备和外部设备可以经由cc进行通信,以检测和协商根据usb供电规范、经由usb-c电缆提供的功率量(例如,安培量、电压量或两者)。

在图4和图5的流程图中,每个块表示可以用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,块表示计算机可执行指令,当由一个或多个处理器执行时,使得处理器执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述块的顺序不旨在被解释为限制性的,并且可以以任何顺序和/或并行地组合任何数量的所描述的操作以实现过程。出于讨论的目的,如上所述参考图1、2或3描述了过程400和500,尽管可以使用其他模型、框架、系统和环境来实现这些过程。

图4是根据一些实施方式的、包括向交叉点开关发送指令的过程400的流程图。图1和图2的定制逻辑设备110可以执行过程400。

在402处,确定外部设备已经附接到usb-c连接器(例如,主机的连接器)。在404,确定设备期望发送、接收或发送和接收的一种或者多种信号的类型。在406,将指令发送到交叉点开关,以将usb-c连接器连接到一个或多个信号路径(例如,主机的信号路径)。例如,在图2中,定制逻辑设备110可以经由icb212(n)接收设备202(n)已经附接到usb-c连接器(例如,端口)114(n)的指示。定制逻辑设备110可以确定设备202(n)被配置为发送、接收或者发送和接收两者的信号的一种或者多种类型。例如,定制逻辑设备110可以确定设备202(n)期望接收视频信号。定制逻辑设备110可以使用控制信号214发送指令到交叉点开关112,以将usb-c114(n)连接器连接到视频信号(例如,图1的dp126线中的一个或多个)。

因此,计算设备(例如,主机设备)中的定制逻辑设备可以基于与usb-c连接器相关联的配置信道上的信息(例如,由端口控制器提供),来检测外部设备连接到usb-c连接器。定制逻辑设备可以确定外部设备能够发送和/或接收的一种或者多种信号的类型。定制逻辑设备可以将控制信号发送到交叉点开关,以将usb-c连接器连接到计算设备的适当组件,以使外部设备能够发送和/或接收预期信号。以这种方式,将外部设备连接(例如,插入)到usb-c连接器的用户使得计算设备根据外部设备的功能自动配置usb-c连接器。例如,当用户将显示设备(例如,计算机监控器)连接到计算设备上的usb-c端口时,定制逻辑设备可以向交叉点开关发送指令,以将usb-c端口连接到由计算设备的组件(例如,gpu或cpu)输出的视频数据。

图5是根据一些实施方式的包括指示交叉点开关的过程500的流程图。图1和图2的定制逻辑设备110包括可以执行过程500。

在502处,定制逻辑设备可以检测到外部设备(例如,ufp)通过电缆附接到主机设备(例如,dfp)的usb-c端口。例如,如上所述,当外部设备附接到主机设备的usb-c端口时,电压电平的变化(例如,电压降)导致在与usb-c端口相关联的cc上指示:外部设备已经附接其上。

在504处,设备端口控制器可以确定电缆的方向。例如,在图3中,可以基于在cc1(a5310)或cc2(b5334)上是否检测到电压电平的变化来确定电缆的方向。端口控制器206(n)可以经由icb212(n)将电缆方向(例如,a方向或b方向)传送到定制逻辑设备110。

在506处,定制逻辑设备可以确定外部设备的角色和主机设备的角色。例如,在图2中,定制逻辑设备110可以确定外部设备202(n)是ufp并且计算设备100是dfp。作为另一个例子,在图2中,如果外部设备202(n)是第二计算设备(例如,设备202(n)和计算设备100都是drp),则定制逻辑设备110可以确定设备100、202(n)中的哪一个担任了ufp的角色,并且哪一个担任了dfp的角色。

在508,定制逻辑设备可以确定外部设备的设备类。例如,在图2中,在设备202(n)连接到usb-c端口114(n)之后,定制逻辑设备110可以确定设备202(n)的角色(例如,上面表1中的设备类别中的一者)。

在510处,定制逻辑设备可以协商到外部设备的电力输送。例如,在图2中,在设备202(n)连接到usb-c端口114(n)之后,定制逻辑设备110可以与设备202(n)协商电力输送。

在512处,可以确定外部设备是否使用功能扩展(例如,alt模式)。如果在512确定“是”:外部设备正在使用功能扩展,则过程进行到514,其中,配置功能扩展。然后,该过程进行到516。例如,在图2中,在设备202(n)连接到usb-c端口114(n)之后,定制逻辑设备110可以使用dpalt模式确定设备202(n)是显示设备(例如,计算机监控器),并配置功能扩展(例如,dp通道的数量等)。

如果在512确定“否”:外部设备没有使用功能扩展,则过程进行到516。例如,在图2中,在设备202(n)连接到usb-c端口114(n)之后,定制逻辑设备110可以确定设备202(n)没有使用功能扩展。

在516处,定制逻辑设备可以向交叉点开关发送指令以配置usb-c端口以访问一个或多个信号路径(例如,视频信号路径、音频信号路径、数据信号路径、文件系统信号路径、功率信号路径等中的一个或多个)。例如,在图2中,在设备202(n)连接到usb-c端口114(n)之后,定制逻辑设备110可以向交叉点开关112发送指令,以基于以下几者中的一个或多个来配置usb-c端口114(n):设备202(n)的角色、计算设备100的角色、设备202(n)的设备类、与设备202(n)相关联的电力输送、与设备202(n)相关联的功能扩展(例如,alt模式)、与设备202(n)相关联的另一特性,或其任何组合。为了说明,如果定制逻辑设备110确定设备202(n)是使用dpalt模式的显示设备,并且向交叉点开关112发送指令,以将usb-c端口114(n)连接到适当数量的dp通道、适当的内部电源轨(例如,以满足协商的电力输送)等。

因此,计算设备中的定制逻辑设备可以基于与usb-c连接器相关联的配置信道上的信息(例如,由端口控制器提供)来检测外部设备连接到usb-c连接器。定制逻辑设备可以确定电缆的方向、外部设备的角色、外部设备的设备类别、外部设备的协商电力输送(例如,要提供的电压和安培数)、外部设备能够发送和/或接收的一种或者多种信号的类型、外部设备的其他特性,或其任何组合。定制逻辑设备可以将控制信号发送到交叉点开关,以将usb-c连接器连接到计算设备内的适当信号路径(例如,数据路径、电源路径等),以使外部设备能够发送和/或接收预期的信号。以这种方式,将外部设备连接(例如,插入)到usb-c连接器的用户使得计算设备根据外部设备的功能自动配置usb-c连接器。例如,当用户将显示设备(例如,计算机监控器)连接到计算设备上的usb-c端口时,定制逻辑设备可以向交叉点开关发送指令,以将usb-c端口连接到由计算设备的组件(例如,gpu或cpu)输出的一个或多个dp通道。定制逻辑设备可以确定显示设备是否被配置为接收电力、协商电力输送、以及向交叉点开关发送指令,以将usb-c端口连接到协商待传输的电量。

图6示出了可用于实现本文描述的系统和技术的计算设备100的示例配置。计算设备100可以包括一个或多个处理器602、存储器604、通信接口606、显示设备608、其他输入/输出(i/o)设备610、以及一个或多个大容量存储设备612,其被配置为例如经由系统总线614或其他合适的连接而彼此通信。系统总线614可以包括多个总线,例如存储器设备总线、存储设备总线、电源总线、视频信号总线等。纯粹是为了便于理解,图6中示出了单个总线。

处理器602是可以包括单个处理单元或多个处理单元的一个或多个硬件设备,所有这些处理单元可以包括单个或多个计算单元或多个芯部。处理器602可以实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、图形处理单元、状态机、逻辑电路、和/或基于操作指令操纵信号的任何设备。在其他能力中,处理器602可以被配置为获取并执行存储在存储器604、大容量存储设备612、或其他计算机可读介质中的计算机可读指令。

存储器604和大容量存储设备612是用于存储可由处理器602执行以执行本文描述的各种功能的指令的计算机存储介质(例如,存储器存储设备)的示例。例如,存储器604可以包括易失性存储器和非易失性存储器(例如,ram、rom等)设备。此外,大容量存储设备612可以包括硬盘驱动器、固态驱动器、可移动介质、包括外部和可移动驱动器、存储卡、闪存、软盘、光盘(例如,cd、dvd)、存储阵列、网络附加存储、存储区域网络等。存储器604和大容量存储设备612在此可以统称为存储器或计算机存储介质,并且可以是能够将计算机可读、处理器可执行程序指令存储为可由处理器602执行的计算机程序代码的介质,处理器602作为配置用于执行本文的实现方式中描述的操作和功能的特定机器。

计算设备600还可以包括用于经由网络118与网络元件616交换数据的一个或多个通信接口606。通信接口606可以促进各种网络和协议类型内的通信,包括有线网络(例如,以太网、docsis、dsl、光纤、usb等)和无线网络(例如,wlan、gsm、cdma、802.11、蓝牙、无线usb、蜂窝、卫星等),因特网等。通信接口606还可以提供与外部存储器(未示出)的通信,例如存储阵列、网络附加存储、存储区域网络等。在一些实现方式中可以包括显示设备608(例如监控器),用于向用户显示信息和图像。其他i/o设备610可以是从用户接收各种输入并向用户提供各种输出的设备,并且可以包括键盘、远程控制器、鼠标、打印机、音频输入/输出设备等。

计算机存储介质(诸如存储器604和大容量存储设备612之类)可用于存储软件和数据。例如,计算机存储介质可用于存储操作系统616、设备驱动器618、应用程序620和数据622。

定制逻辑设备110可以监控与多个(例如,n,其中,n>1)usb-c连接器相关联的配置信道。例如,定制逻辑设备110可以监控与usb-c连接器114(1)相关联的icb212(1),和与usb-c连接器114(n)相关联的icb212(n)。响应于检测到外部设备(例如,设备202(1)至202(n)中的一者)已经连接到特定usb-c连接器,定制逻辑设备110可以确定外部设备配置为发送和/或接收的一种或者多种信号的类型。例如,定制逻辑设备110可以确定与外部设备相关联的角色、与外部设备相关联的设备类、外部设备的电力输送期望、与外部设备相关联的其他特性、或其任何组合。基于该信息(例如,角色、设备类、电力传送等),定制逻辑设备110可以向交叉点开关112发送指令,以将与usb-c连接器114相关联的其他线路624与计算设备100的其他组件连接,以使外部设备能够发送和/或接收预期类型的一种或者多种信号。例如,在设备202(1)连接到usb-c114(1)之后,定制逻辑设备110可以向交叉点开关112发送指令,以将一个或多个其他线路624(1)连接到计算设备100的适当的组件。在设备202(n)连接到usb-c114(n)之后,定制逻辑设备110可以向交叉点开关112发送指令,以将其他线路624(n)中的一者或多者连接到计算设备100的适当组件。其他线624可以包括图3中描述的一条或多条线路,不包括cc线a5310和b5334。

这里描述的示例性系统和计算设备仅仅是适合于一些实现方式的示例,并且不旨在对可以实施这里描述的过程、组件和特征的环境、架构和框架的使用范围或功能提出任何限制。因此,这里的实现方式可以与许多环境或体系结构一起操作,并且可以在通用和专用计算系统或具有处理能力的其他设备中实现。通常,可以使用软件、硬件(例如,固定逻辑电路)或这些实现的组合来实现参考附图描述的任何功能。如这里使用的术语“模块”、“机制”或“组件”通常表示可以被配置为实现规定功能的软件、硬件或软件和硬件的组合。例如,在软件实现方式的情况下,术语“模块”、“机制”或“组件”可以表示在一个或多个处理设备(例如,cpu或处理器)上执行时,执行指定任务或操作的程序代码(和/或声明类型指令)。程序代码可以存储在一个或多个计算机可读存储器设备或其他计算机存储设备中。因此,这里描述的过程、组件和模块可以由计算机程序产品实现。

此外,本发明提供各种示例性实现方式,如所描述且如附图中所示出。然而,如本领域技术人员已知的或本领域技术人员可能已知的,本发明不限于本文描述和示出的实现方式,而是可以扩展到其他实施方式。在说明书中对“一个实现方式”、“该实现方式”、“这些实现方式”或“一些实现方式”的引用意味着所描述的特定特征、结构或特性包括在至少一种实现方式中,并且这些短语出现在说明书中的各个地方不一定都指相同的实现方式。

尽管已经结合若干实施方式描述了本发明,但是本发明并不旨在限于这里阐述的特定形式。相反,旨在覆盖可以合理地包括在由所附权利要求限定的本发明的范围内的这些替代、修改和等同物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1