对热插拔检测信号进行过滤的制作方法

文档序号:11531098阅读:317来源:国知局
对热插拔检测信号进行过滤的制造方法与工艺

对相关申请的交叉引用

本申请要求2014年12月8日提交的美国专利申请no.14/563,834的申请日的权益,该申请通过引用并入本文中。

本公开一般地涉及热插拔检测信号的过滤。更具体地,本文中所描述的技术包括对从外部显示设备提供的热插拔检测信号进行过滤。



背景技术:

在计算机系统中,外部显示设备可以被用于在外部显示设备处显示来自计算设备的图像。在一些情况下,外部显示设备可以在自动检测模式中操作,其中外部显示设备可以周期性地触发热插拔检测(hpd)信号。可能由外部显示设备发出的hpd信号可以通过计算设备的软件来处理(serviced),该软件诸如是计算设备的操作系统软件。hpd信号可以包括hpd中断信号对,包括拔出和插入对。只要外部显示设备连接到计算设备,这样的hpd信号对就可以反复地发生。在一些情况下,发出hpd信号可能触发外部显示设备从计算系统的非计划中的或否则非真正的断开。

例如,外部显示设备可以配置有多个接口。如果显示配置被配置成在内部显示器处显示图像,则可以关断经由高清晰度多媒体接口(hdmi)端口所连接的外部显示设备。在一些情况下,外部显示设备的自动检测模式可以开始检查多个接口中的每一个以找到活跃信号输入。在外部显示设备检查所述多个接口中的每一个的同时,hpd信号可以由外部显示设备发出到计算设备以由操作系统处理。在一些情况下,hpd中断信号在信号由操作系统处理时可能产生对于计算系统的用户来说使人分心的观看环境。

附图说明

图1是图示被配置成对热插拔检测(hpd)信号进行过滤的计算设备的框图;

图2是图示对hpd信号进行过滤的进程流程的系统图;

图3是图示在hpd过滤期间的状态改变的状态图;

图4是图示用于对hpd信号进行过滤的方法的框图;以及

图5是描绘被配置成实现hpd信号过滤的计算机可读介质的示例的框图。

贯穿本公开和各图使用相同的数字以给同样的部件和特征加参考符号。100系列中的数字是指最初在图1中找到的特征;200系列中的数字是指最初在图2中找到的特征;等等。

具体实施方式

本文中所公开的主题涉及用于对热插拔检测(hpd)信号进行过滤的技术。如以上所讨论的,在一些情况下外部显示设备可以发出hpd信号,所述hpd信号可能中断观看体验。例如,如果计算设备的显示配置被设定成在内部显示设备上显示图像,则所连接的外部显示设备可能在其循环通过可用于外部显示设备的多个接口协议时发出hpd信号。未经过滤的hpd信号可能被提供给计算设备的操作系统,并且可能导致不活跃的显示器的重新配置。在一些情况下,不活跃的显示器的重新配置可能导致激活外部显示器,并且切换回到较旧的配置将再次导致相同的行为,因而在循环中重复该过程。

在一些情况下,hpd信号由外部计算设备的自动检测特征发出。本文中所描述的技术包括基于所接收到的hpd信号之间的时间延迟对hpd信号进行过滤,该时间延迟是自动检测特征的特性而不是真正热插入或拔出事件的特性。例如,自动检测特征可以以包括热拔出信号和热插入信号的对发出hpd信号。发出热拔出和热插入信号之间的时间延迟可以特定于给定的外部显示设备。然而,在许多情况下,在相比于当执行手动拔出和插入事件时可能发生的热拔出和插入信号对时,外部显示设备的hpd信号对之间的时间延迟是短暂的。在该情境中,手动热拔出和插入事件可以被认为是真正的。因此,在该情况下,本文中所描述的过滤技术可以对所接收到的在与自动检测特征相关联的预定阈值处或以下的hpd信号进行过滤,而同时保持超过该阈值的真正热插入和拔出事件的传输。

图1是图示被配置成对hpd信号进行过滤的计算设备的框图。计算设备100可以例如尤其是膝上型计算机、台式计算机、超极本、平板计算机、移动设备或服务器。计算设备100可以包括被配置成执行所存储的指令的中央处理单元(cpu)102、以及包括非暂时性计算机可读介质的存储设备104、和存储器设备106。

计算设备100还可以包括图形处理单元(gpu)108。在实施例中,gpu108嵌入在cpu102中。gpu108可以包括高速缓存,并且可以被配置成执行计算设备100内的任何数目的图形操作。例如,gpu108可以被配置成再现或操纵要在一个或多个显示设备处向计算设备100的用户显示的图形图像、图形帧、视频等,所述一个或多个显示设备包括外部显示设备110、内部显示设备112、或其任何组合。gpu108包括多个引擎114。

在一些情况下,引擎114可以被配置成执行如由包括过滤模块118的显示驱动器116的指令所引导的过滤。在一些情况下,过滤模块118可以被实现为逻辑,该逻辑至少部分地包括硬件逻辑。在其他情况下,过滤模块118可以被实现为显示驱动器116的软件指令的一部分。显示驱动器116可以通过操作系统120的操作来实现。软件指令可以被配置成由gpu108的引擎114、由cpu102、或任何其他合适的控制器来实施。在还有其他的情况下,过滤模块118可以被实现为要由电子电路实施的电子逻辑(该电子逻辑至少部分地包括硬件逻辑)、要由集成电路实施的电路等。过滤模块118可以被配置成独立地、并行地、分布式地、或作为更广泛的进程的一部分操作。在还有其他的情况下,过滤模块118可以被实现为软件、固件、硬件逻辑等的组合。

显示接口122可以包括被配置成接收hpd信号的hpd监听器124。例如,hpd监听器124可以被配置成接收包括被第二hpd信号跟随的第一hpd信号的hpd信号对。延迟检测模块128可以被配置成确定接收到第一hpd信号和接收到第二hpd信号之间的时间延迟。延迟检测模块128可以是显示驱动器116的组件。然而,延迟检测模块128不需要是显示驱动器116的组件,并且可以被实现为固件、具有作为可配置输入的时间延迟的硬件逻辑、或其任何组合。

如以上所讨论的,如果显示配置被设定成在内部显示设备112处显示图像,外部显示设备、诸如外部显示设备110可以包括可以针对活跃信号被检查的多个接口。针对活跃信号进行检查可以生成第一和第二hpd信号、诸如热拔出和插入事件信号对。在一些情况下,外部显示设备110中的一个或多个可以被配置成在拔出和插入事件信号对之间连续地发出hpd信号。在任一情况下,过滤模块118被配置成基于接收到第一hpd信号和第二hpd信号之间的时间延迟对所接收到的hpd信号进行过滤。

如以上所讨论的,将计算设备100连接到外部显示设备中的一个或多个的线缆的手动用户驱动的热插入或拔出在本文中可以被称为真正的、或有效的插入或拔出事件。由于手动用户驱动的热插入或热拔出事件可能要求比由外部显示设备110中的一个或多个所发出的hpd信号对之间的时间延迟更长的时间延迟,因此过滤模块118可以抑制具有预定阈值以下的时间延迟的hpd信号对。

在一些情况下,预定阈值可以由延迟检测模块128确定。预定阈值可以特定于任何给定的外部显示设备、诸如外部显示设备110之一。因此,在一些情况下,延迟检测模块128可以接收从任何给定的外部显示设备110提供的扩展显示标识数据(edid)。edid数据可以指示hpd信号之间的时间延迟,并且预定阈值可以因此基于在edid数据中所指示的时间延迟。在其他情况下,显示检测模块128可以接收可用于操作系统120的时间延迟信息。在该情境中,操作系统120可以参考针对给定的外部显示设备110的规范数据,并且预定阈值可以基于在规范数据中所指示的hpd时间延迟。在还有其他的实施例中,时间延迟信息可以从以上所描述的技术的任何组合接收。

存储器设备104可以包括随机存取存储器(ram)、只读存储器(rom)、闪速存储器、或任何其他合适的存储器系统。例如,存储器设备106可以包括动态随机存取存储器(dram)。存储器设备106可以包括随机存取存储器(ram)(例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、零电容器ram、硅-氧化物-氮化物-氧化物-硅sonos、嵌入式dram、扩展数据输出ram、双数据速率(ddr)ram、电阻随机存取存储器(rram)、参数随机存取存储器(pram)等)、只读存储器(rom)(例如掩模型rom、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)等)、闪速存储器、或任何其他合适的存储器系统。

cpu102可以是被适配成执行所存储的指令的主处理器。cpu102可以是单核处理器、多核处理器、计算集群、或任何数目的其他配置。cpu102可以被实现为复杂指令集计算机(cisc)或精简指令集计算机(risc)处理器、x86指令集兼容处理器、多核、或任何其他微处理器或中央处理单元(cpu)。cpu102可以通过系统总线130(例如外围组件互连(pci)、工业标准架构(isa)、pci-express、hypertransport®、nubus等)被连接到包括存储器106和存储设备104的组件。cpu102还可以通过总线130被链接到显示驱动器116和显示接口122,该显示接口被配置成经由数字显示接口将计算设备100连接到外部显示设备110。外部显示设备110尤其可以包括被外部连接到计算设备100的计算机监视器、电视、或投影仪。

在一些情况下,计算设备100可以是移动计算设备。在一些情况下,外部显示设备110可以是移动计算设备的移动外部显示设备。

图1的框图并不意图指示计算设备100要包括图1中所示出的所有组件。另外,计算设备100可以取决于特定实现的细节而包括图1中未示出的任何数目的附加组件。

图2是图示对hpd信号进行过滤的进程流程的系统图。系统图200包括软件输入、硬件输入、系统组件、和系统状态,如在202处所指示的。软件输入可以包括脉冲延迟信息204和标志206。脉冲延迟信息204可以是与特定外部显示设备、诸如图1的外部显示设备110中的一个或多个相关联的预定时间延迟。标志206可以是本文中所描述的技术的可配置特征。例如,标志206可以在显示配置菜单中由用户经由操作系统、诸如图1的计算设备100的操作系统120来启用。在一些情况下,标志可以在具有自动检测特征的特定类型的外部显示设备110连接到计算设备100时被启用。在任一情况下,系统硬件208可以接收指示过滤被启用的标志206、脉冲延迟信息204、以及包括hpd脉冲210的硬件输入。系统硬件208可以包括图1的计算设备100的组件的任何组合。在212处,可以确定操作模式。在图2中,操作模式可以由或者通过“1”指示的插入事件或者通过“0”指示的拔出事件发起。

插入事件可以促使系统进入启用过滤的自动检测模式214,而拔出事件可以促使系统进入禁用过滤的正常模式216。因此,在一些情况下,过滤可以仅在接收到热插入信号之后实现。在正常模式中,hpd脉冲被报告218给操作系统120。在自动检测模式中,系统可以对经由所连接的外部显示设备的自动检测特征所生成的hpd脉冲进行过滤。如图2中所图示的,所接收到的hpd脉冲可以被确定是真正的或非真正的,如在220处所指示的。如果hpd脉冲不是真正的,所述hpd脉冲在222处被忽略。如果hpd脉冲是真正的,所述hpd脉冲可以被报告218给操作系统120。

图3是图示在hpd过滤期间的状态改变的状态图。类似于图2,“1”可以指示插入事件,并且“0”可以指示拔出事件。从在302处所指示的插入状态,拔出事件可能被接收到,其中系统300的状态可以继续进行到等待下一事件,如在304处所指示的。从在306处所指示的拔出状态,插入事件可能被接收到,其中系统的状态可以继续进行到等待下一事件304。在一些情况下,系统300可以在没有接收到随后事件的情况下等待扩展时间段,在该情况下,系统将继续进行到超时处理器状态,如在308处所指示的。然而,如果发生新事件,系统300将进行到事件处理器状态310。事件处理器状态310可以是如下状态,在该状态中执行以上关于图1和图2所讨论的过滤。随后事件可以改变系统300的状态,但是如果接收到非真正的hpd信号,可以忽略hpd信号。

图4是图示用于对hpd信号进行过滤的方法的框图。在块402处接收第一hpd信号和第二hpd信号。可以在块404处确定接收到第一和第二hpd信号之间的时间段。可以在块406处执行过滤。在块406处的过滤可以基于所确定的时间段。

过滤可以包括比较所确定的时间段与预定时间延迟。如以上所讨论的,预定时间延迟基于针对给定的外部显示设备的规范、通过从外部显示设备提供的edid数据、或其任何组合来确定。hpd信号之间的所确定的时间段可以与预定时间延迟比较,并且如果所确定的时间超过预定时间延迟,hpd信号可能与有效的热插入或拔出事件相关联。如果所确定的时间不超过预定时间延迟,方法400可以包括抑制第一和第二hpd信号向外部显示设备所连接到的计算设备的操作系统的报告。

图5是描绘被配置成实现hpd信号过滤的计算机可读介质的示例的框图。计算机可读介质500可以由处理器502通过计算机总线504来访问。在一些示例中,计算机可读介质500可以是非暂时性计算机可读介质。在一些示例中,计算机可读介质可以是存储介质。然而,在任何情况下,计算机可读介质不包括诸如载波、信号等之类的暂时性介质。此外,计算机可读介质500可以包括计算机可执行指令以引导处理器502执行当前方法的步骤。

本文中所讨论的各种软件组件可以被存储在有形的、非暂时性计算机可读介质500上,如图5中所指示的。例如,过滤应用506可以被配置成从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号,并且确定接收到第一和第二hpd信号之间的时间段。过滤应用506还可以被配置成基于所确定的时间段对第一和第二hpd信号进行过滤。

示例可以包括诸如方法、用于执行方法的动作的部件、包括指令的至少一个机器可读介质之类的主题,所述指令在由机器执行时促使机器执行方法的动作。要理解的是,前面提及的示例中的详情可以被使用在一个或多个实施例中的任何地方。例如,以上所描述的计算设备的所有可选的特征还可以关于计算机可读介质或本文中所描述的方法中的任一个来实现。此外,尽管流程图和/或状态图可能已经在本文中被用于描述实施例,但是本技术并不限于那些图或本文中的对应描述。例如,流程不需要移动通过每一个所图示的框或状态或按与本文中所图示和描述的精确地相同的顺序移动。

示例1包括一种用于对热插拔信号进行过滤的装置。该装置包括用于从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号的热插拔检测(hpd)监听器。该装置进一步包括用于确定在接收到第一和第二hpd信号之间的时间段的延迟检测模块。该装置进一步包括基于所确定的时间段对第一和第二hpd信号进行过滤的过滤模块。

在示例1中,过滤模块要用于将所确定的时间段与预定时间延迟比较。在一些情况下,预定时间延迟与外部显示设备的自动检测特征相关联。延迟检测模块要用于确定外部显示设备的预定时间延迟。在一些情况下,延迟检测模块要用于基于在外部显示设备通信耦合到的计算设备的操作系统中的针对外部显示设备的规范数据来确定预定时间延迟。在一些情况下,延迟检测模块基于从外部显示设备提供的扩展显示标识数据(edid)来确定预定时间段。

外部显示设备包括多个显示接口协议能力。过滤模块可以由用户经由外部显示设备通信耦合到的计算设备的操作系统来启用。过滤模块可以被进一步配置成比较所确定的时间段与预定时间延迟,并且如果所确定的时间段超过预定时间延迟,则将hpd信号与有效热插拔事件相关联。在一些情况下,如果所确定的时间段不超过预定时间延迟,过滤模块要进一步用于抑制第一和第二hpd信号向计算设备的操作系统的报告。

示例2包括一种用于对热插拔信号进行过滤的方法。该方法包括从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号,以及确定在接收到第一和第二hpd信号之间的时间段。该方法进一步包括基于所确定的时间段对第一和第二hpd信号进行过滤。

在一些情况下,过滤包括将所确定的时间段与预定时间延迟比较。预定时间延迟可以与外部显示设备的自动检测特征相关联。该方法可以进一步包括基于在外部显示设备通信耦合到的计算设备的操作系统中的针对外部显示设备的规范数据来确定外部显示设备的预定时间延迟。在一些情况下,该方法可以进一步包括基于从外部显示设备提供的扩展显示标识数据(edid)来确定外部显示设备的预定时间延迟。

外部显示设备包括多个显示接口协议能力。过滤可以由用户经由外部显示设备通信耦合到的计算设备的操作系统来启用。过滤可以被进一步配置成比较所确定的时间段与预定时间延迟,并且如果所确定的时间段超过预定时间延迟,则将hpd信号与有效热插拔事件相关联。在一些情况下,如果所确定的时间段不超过预定时间延迟,过滤要进一步用于抑制第一和第二hpd信号向计算设备的操作系统的报告。

示例3是一种计算机可读存储介质。计算机可读存储介质包括代码以引导处理器从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号,确定在接收到第一和第二hpd信号之间的时间段,并且基于所确定的时间段对第一和第二hpd信号进行过滤。

在示例3中,过滤要用于将所确定的时间段与预定时间延迟比较。在一些情况下,预定时间延迟与外部显示设备的自动检测特征相关联。延迟检测要用于确定外部显示设备的预定时间延迟。在一些情况下,延迟检测要用于基于在外部显示设备通信耦合到的计算设备的操作系统中的针对外部显示设备的规范数据来确定预定时间延迟。在一些情况下,延迟检测要用于基于从外部显示设备提供的扩展显示标识数据(edid)来确定预定时间段。

外部显示设备包括多个显示接口协议能力。过滤可以由用户经由外部显示设备通信耦合到的计算设备的操作系统来启用。过滤可以被进一步配置成比较所确定的时间段与预定时间延迟,并且如果所确定的时间段超过预定时间延迟,则将hpd信号与有效热插拔事件相关联。在一些情况下,如果所确定的时间段不超过预定时间延迟,过滤要进一步用于抑制第一和第二hpd信号向计算设备的操作系统的报告。

示例4包括一种用于对热插拔信号进行过滤的装置。该装置包括用于从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号的热插拔检测(hpd)监听部件。该装置进一步包括用于确定在接收到第一和第二hpd信号之间的时间段的延迟检测部件。该装置进一步包括基于所确定的时间段对第一和第二hpd信号进行过滤的过滤部件。

在示例4中,过滤部件要用于将所确定的时间段与预定时间延迟比较。在一些情况下,预定时间延迟与外部显示设备的自动检测特征相关联。延迟检测部件要用于确定外部显示设备的预定时间延迟。在一些情况下,延迟检测部件要用于基于在外部显示设备通信耦合到的计算设备的操作系统中的针对外部显示设备的规范数据来确定预定时间延迟。在一些情况下,延迟检测部件要用于基于从外部显示设备提供的扩展显示标识数据(edid)来确定预定时间段。

外部显示设备包括多个显示接口协议能力。过滤部件可以由用户经由外部显示设备通信耦合到的计算设备的操作系统来启用。过滤部件可以被进一步配置成比较所确定的时间段与预定时间延迟,并且如果所确定的时间段超过预定时间延迟,则将hpd信号与有效热插拔事件相关联。在一些情况下,过滤部件要进一步用于如果所确定的时间段不超过预定时间延迟则抑制第一和第二hpd信号向计算设备的操作系统的报告。

用于过滤、监听和检测中的每一个的部件可以被实现为逻辑、硬件逻辑、电子逻辑、软件、固件等中的一个或多个。在一些情况下,用于过滤、监听和检测中的每一个的部件可以被组合为更广泛的进程。

示例5包括用于对热插拔信号进行过滤的系统。该系统包括外部显示设备和主机设备。主机设备包括用于从外部显示设备接收第一热插拔检测(hpd)信号和第二hpd信号的热插拔检测(hpd)监听器。主机设备进一步包括用于确定在接收到第一和第二hpd信号之间的时间段的延迟检测模块。主机设备进一步包括用于基于所确定的时间段对第一和第二hpd信号进行过滤的过滤模块。

在示例5中,过滤模块要用于将所确定的时间段与预定时间延迟比较。在一些情况下,预定时间延迟与外部显示设备的自动检测特征相关联。延迟检测模块要用于确定外部显示设备的预定时间延迟。在一些情况下,延迟检测模块要用于基于在外部显示设备通信耦合到的计算设备的操作系统中的针对外部显示设备的规范数据来确定预定时间延迟。在一些情况下,延迟检测模块要用于基于从外部显示设备提供的扩展显示标识数据(edid)来确定预定时间段。

外部显示设备包括多个显示接口协议能力。过滤模块可以由用户经由外部显示设备通信耦合到的计算设备的操作系统来启用。过滤模块可以被进一步配置成比较所确定的时间段与预定时间延迟,并且如果所确定的时间段超过预定时间延迟,则将hpd信号与有效热插拔事件相关联。在一些情况下,过滤模块要进一步用于如果所确定的时间段不超过预定时间延迟,则抑制第一和第二hpd信号向计算设备的操作系统的报告。

在以上描述和以下权利要求中,可以使用术语“耦合”和“连接”连同其派生词。应当理解的是,这些术语并不意图作为用于彼此的同义词。而是,在特定实施例中,“连接”可以被用于指示两个或更多元件处于与彼此的直接物理或电接触中。“耦合”可以意味着两个或更多元件处于直接物理或电接触中。然而,“耦合”还可以意味着两个或更多元件不彼此直接接触,但是还仍然彼此协作或交互。

一些实施例可以被实现在硬件、固件和软件中的一个或组合中。一些实施例还可以被实现为存储在机器可读介质上的指令,所述指令可以被计算平台读取和执行以执行本文中所描述的操作。机器可读介质可以包括用于以由机器、例如计算机可读的形式存储或传输信息的任何机构。例如,机器可读介质可以包括只读存储器(rom);随机存取存储器(ram);磁盘存储介质;光学存储介质;闪速存储器设备。

实施例是实现或示例。本说明书中对“一实施例”、“一个实施例”、“一些实施例”、“各种实施例”、或“其他实施例”的引用意味着结合实施例所描述的特定特征、结构或特性被包括在本技术的至少一些实施例、但是不一定所有实施例中。“一实施例”、“一个实施例”、或“一些实施例”的各种出现不一定都是指相同的实施例。来自一实施例的元件或方面可以与另一实施例的元件或方面组合。

并非本文中所描述和图示的所有组件、特征、结构、特性等都需要被包括在一个或多个特定实施例中。如果例如说明书陈述组件、特征、结构或特性“可以”、“可能”、“能够”或“能”被包括,则不要求包括该特定组件、特征、结构或特性。如果说明书或权利要求提到“一”或“一个”元件,这并不意味着仅存在一个元件。如果说明书或权利要求提到“附加”元件,这不排除存在多于一个的附加元件。

要注意的是,尽管已经参照特定实现描述了一些实施例,但是其他实现根据一些实施例是可能的。此外,在附图中所图示和/或在本文中所描述的电路元件或其他特征的布置和/或顺序不需要以所图示和所描述的特定方式来布置。根据一些实施例,许多其他布置是可能的。

在图中所示出的每一个系统中,元件在一些情况下可以各自具有相同的参考数字或不同的参考数字以暗示所表示的元件可以是不同和/或类似的。然而,元件可以足够灵活以具有不同的实现,并且与本文中所示出或所描述的系统中的一些或所有系统一起工作。在图中所示出的各种元件可以是相同或不同的。哪一个被称为第一元件并且哪一个被称为第二元件是任意的。

本技术不局限于本文中所列出的特定细节。实际上,受益于本公开的本领域技术人员将领会到,可以在本技术的范围内做出来自前述描述和附图的许多其他变型。相应地,正是包括对其的任何修改的以下权利要求限定本技术的范围。

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