首页> 中国专利> 用于在计算设备内的多个SOC之间协调操作状态的方法和系统

用于在计算设备内的多个SOC之间协调操作状态的方法和系统

摘要

各个方面提供了用于在计算设备内协调多个SOC的操作状态的方法、系统和设备。这种协调可以通过各SOC的表示彼此之间即将发生的交互的提前通知的信息传达来实现。所传达的信息可由接收方SOC用于在与另一SOC的潜在即将发生的交互之前设置其操作状态。因此,该技术改进使个体SOC能够先占地影响其它SOC的操作状态。例如,在功率管理的上下文中,各个方面可协调多个SOC的功率状态,从而有效地实现改善计算设备的总体功耗的整体功率管理状态机。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-28

    授权

    授权

  • 2017-12-22

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20160203

    实质审查的生效

  • 2017-11-28

    公开

    公开

说明书

背景

无线通信技术和移动电子设备(例如,蜂窝电话、平板设备、膝上型设备等)在普及性和使用方面已经增长。为了跟上增长的消费者需求,移动设备已变得更加特征丰富并且现在通常包括多个片上系统(SOC)和其他资源,这允许移动设备用户在移动设备上执行复杂和功率密集的软件应用(例如,视频和音频流送和/或处理应用、网络游戏应用等)。由于这些和其他改进,智能手机和平板计算机在普及性方面已经增长,并且正在取代膝上型设备和台式机,作为许多用户选择的平台。然而,移动设备通常包括相对有限的电源。

概述

各个实施例提供了用于在计算设备内协调多个片上系统(SOC)的操作状态的方法、设备、系统和非瞬态处理器可读存储介质。一实施例方法可包括:由第一SOC传达表示在第一SOC和第二SOC之间潜在的即将到来的交互的提前通知的信息,由第二SOC接收表示潜在的即将到来的交互的提前通知的信息,以及由第二SOC基于所接收的信息来执行第二SOC的操作状态。

在一些实施例中,基于所接收的信息来执行第二SOC的操作状态可包括由在第二SOC上执行的功率管理器基于所接收的信息来执行第二SOC的功率状态。在一些实施例中,传达表示在第一SOC和第二SOC之间潜在的即将发生的交互的提前通知的信息可包括由第一SOC在第二SOC的存储器寄存器中设置表示第一SOC的操作状态的值,并且基于所接收的信息执行第二SOC的功率状态可包括由执行第二SOC的功率管理器基于第二SOC的存储器寄存器中的值来确定第二SOC的功率状态。在一些实施例中,传达表示在第一SOC和第二SOC之间潜在的即将发生的交互的提前通知的信息可包括由第一SOC向第二SOC的功率管理器发送消息,该消息包含与执行多个功率状态之一有关的命令,并且基于所接收的信息执行第二SOC的功率状态可包括由第二SOC的功率管理器基于在消息中发送给功率管理器的命令来确定第二SOC的功率状态。

进一步实施例包括配置有用于执行上述方法的操作的处理器可执行指令的计算设备(或移动计算设备)。进一步实施例包括其上存储有处理器可执行指令的非瞬态处理器可读存储介质,这些指令被配置成使得计算设备执行上述方法的操作。

附图简述

纳入本文并构成本说明书的一部分的附图解说了本发明的示例性方面。附图与以上给出的一般描述以及下文给出的详细描述一起用于解释本发明的特征而不是限定所公开的诸方面。

图1A是解说根据各个方面计算设备的各SOC协调其操作状态的概念性系统框图。

图1B是根据各个实施例的协调图1A的计算装置内各SOC的操作状态的方法的处理流程图。

图2是根据各个实施例可用于计算设备中的片上系统(SOC)架构的框图。

图3是根据各个实施例的可由在SOC内执行的功率管理状态机来实现的示例性状态图。

图4是根据一实施例的在由应用处理器SOC和WIFI收发机SOC的个体功率管理状态机实现的整体功率管理状态机中实现的方法的处理流程图。

图5是适于实现各个实施例的计算设备的组件框图。

详细描述

将参照附图详细描述各种方面。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现作出的引述用于解说性目的,而无意限定权利要求的范围。

措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。

术语“移动设备”和“计算设备”在本文可互换地使用以指代以下任一者或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收器、启用因特网的多媒体蜂窝电话、无线游戏控制器、以及包括可编程处理器和存储器的类似的电子设备。虽然各个方面在可具有相对有限的处理功率和/或功率存储容量的移动设备(诸如蜂窝电话和其他便携式计算平台)中特别有用,但是诸方面一般而言在将线程、进程、或其他指令序列分配给处理设备或处理核的任何计算设备中都是有用的。

术语“片上系统”(SOC)在本文中用以指代包含集成在单个基板上的多个资源和/或处理器的单个集成电路(IC)芯片。单个SOC可包含用于数字、模拟、混合信号和射频功能的电路系统。单个SOC还可包括任何数目个通用和/或专用处理器(数字信号处理器、调制解调器处理器、视频处理器等)、存储器块(例如,ROM、RAM、闪存等)、以及资源(例如,定时器、电压调节器、振荡器等)。SOC还可包括用于控制集成资源和处理器、以及用于控制外围设备的软件。

如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但不限于被配置成执行特定操作或功能的硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为解说,在计算设备上运行的应用和计算设备两者都可被称为组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可局部化在一个处理器或核上和/或分布在两个或更多个处理器或核之间。此外,这些组件可从其上存储着各种指令和/或数据结构的各种非瞬态处理器可读介质来执行。组件可借助于本地和/或远程进程、函数或规程调用、电子信号、数据分组、存储器读/写、以及其他已知的计算机、处理器、和/或进程相关通信方法体系来通信。

当今移动设备中的功耗不是可缩放的。这种功率低效的原因之一源于现代移动设备(例如,WIFI、GPS、蓝牙、移动无线、多媒体等)上采用的分开的SOC内的功率管理的当前实现。具体地说,每个SOC独立于其他SOC运行,并因此不知道其它SOC的功率和操作状态。如此分开的每个SOC仅仅基于在该SOC内的资源状态作出关于进入低功率模式(例如,睡眠,打盹(doze),等)的决定。因此,基于SOC的计算设备(例如,现代智能电话)上的功率消耗是由为设备内的各个SOC实现算法或状态机的多个自主功率管理过程来管理的。

该功率管理的当前方法体系是低效的,因为各个功率管理过程中的每一个都无法访问有关其它SOC的操作状态的有用信息,以用作其功率管理决定中的输入。在源自另一SOC的即将发生的事件或交互之前,SOC无法获知是否需要其资源。因此,基于SOC本身的状态信息,在该SOC上执行的功率管理过程可决定进入睡眠状态,即使另一SOC即将向该SOC发送数据以进行处理。结果是该SOC必须在很短的时段后退出睡眠状态。这可能是低效的,因为从低功率状态恢复是需要时间(等待时间)和功率的。

为避免这种问题,在SOC内实现的传统功率管理过程通常是使用保守的功率管理算法或状态机来设计的,该算法或状态机要求在转换到睡眠状态之前SOC自身资源不活动达长持续时间。由于间歇性工作负载,相比于对于睡眠判决能被告知何时存在SOC的资源在不久将来会被分派任务或被提供数据的可能性的情况下所达到的功率低效,睡眠状态之前的这种延迟会在待机和空闲状态下导致大得多的功率低效。

各个方面提供了用于协调计算设备内的多个SOC的操作状态的方法,系统和设备,使得可在SOC自己的资源可能由另一SOC需要之前通知该SOC。这种协调可以通过各SOC的表示彼此之间即将发生的交互的提前通知的信息传达来实现。所传达的信息可由接收方SOC用于在与另一SOC的潜在即将发生的交互之前设置其操作状态。该技术改进使个体SOC能够先占地影响其它SOC的操作状态。例如,在功率管理的上下文中,各个方面可协调多个SOC的功率状态,从而有效地实现改善计算设备的总体功耗的整体功率管理状态机。

图1A是解说根据各个方面计算设备的各SOC协调其操作状态的概念性系统框图。如图所示,计算设备10可包括经由外部总线或其他互连(未解说)彼此耦合的至少两个SOC20、30。图1B是根据各个实施例协调图1A的计算装置内的各SOC的操作状态的方法的处理流程图100。例如,在框110,第一SOC可以向接收方SOC传达信息,其中该信息表示涉及诸SOC的即将发生的交互的提前通知。在框120,接收方SOC接收表示潜在即将发生的交互的所传达的信息。如图1A所示,每个SOC 20、30可用作信息的传达方或接收方。在框130,在潜在即将发生的交互实际发生之前,接收方SOC可基于所接收的信息来执行操作状态。每当SOC确定即将发生的交互可作为其当前操作状态的结果而发生时,可发生由该SOC对这种信息的传达。替换地,每当SOC转换到另一操作状态时,可发生这种信息的传达。

在一些实施例中,所传达的信息可以是表示SOC的操作状态24的标志或值。例如,操作状态24可指示可能需要访问接收方SOC的资源的即将发生的交互。所传达的信息还可以是来自SOC的命令34,该命令34请求在即将到来的交互之前由接收方SOC执行(或不执行)特定操作状态。例如,如图1A所示,SOC 20、30的状态机22、32可以交换操作状态和/或命令,以便在它们之间的即将发生的交互之前有效地影响彼此各自的操作状态。后续的交互实际上不是必需发生的,并由此被称为潜在的即将到来的交互。例如,调制解调器SOC可在确定传入信号是否是应当被传递到应用处理器SOC的数据之前,向正在接收传入信号的应用处理器SOC发送消息或在应用处理器SOC的存储器中设置状态值。在该示例中,传入信号可能结果是不需要被传递给应用处理器SOC的状态消息,并由此在该消息或应用处理器SOC中设置的状态值之后不会发生交互。因此,表示潜在即将发生的交互的信息可被传达到接收方SOC,使得它可以在发生这样的交互的情况下准备就绪。

表示SOC操作状态或命令的信息的传达可涉及在一个SOC上执行的过程将数据(诸如标志或其他值)直接写入另一SOC的控制寄存器或其他存储器元件。在另一SOC上执行的过程(诸如,功率管理过程)可或周期性地或作为算法或状态机的一部分地检查控制寄存器或其他存储器元件的数据,以用于协调该SOC的操作状态与其他SOC的操作状态。这种信息的传达还可涉及一个SOC通过应用编程接口(API)向在另一SOC内实现该API的处理器发送消息。该消息可包括表示该SOC的操作状态的信息、或包括作为该消息的有效载荷内经格式化数据的命令。

图2是根据各种实施例可用于计算设备中的片上系统(SOC)架构的框图。在该示例中,应用处理器SOC 200和WIFI收发机SOC 300可交换操作状态和/或功率命令,以便在它们之间的即将发生的交互之前有效地影响彼此各自的功率状态。

应用处理器SOC 200可包括数个异构处理器,诸如数字信号处理器(DSP)202、调制解调器处理器204、图形处理器206、应用处理器208、以及功率管理器处理器210。应用处理器SOC 200还可包括模拟电路系统和常规电路系统214以及用于支持在计算设备上运行的处理器和软件程序的其它系统组件和资源216。处理器202、204、206、208、210可以经由互连/总线模块218彼此通信以及与一个或多个存储器元件212、系统组件和资源216以及电路系统214通信,互连/总线模块218可包括可重配置逻辑门阵列和/或实现总线架构(例如,CoreConnect,AMBA等)。

WIFI收发机SOC 300还可包括数个异构处理器,诸如WIFI站(STA)管理器处理器302、802.11媒体访问控制/物理层(MAC/PHY)分组处理器304、中频(IF)/基带处理器306、802.11定时同步框架(TSF)处理器308、和功率管理器处理器310。WIFI收发机SOC 300还可包括用于支持WIFI数据传输和接收的其他WIFI组件和资源314。WIFI处理器302、304、306、308、310可以经由互连/总线模块318彼此通信以及与一个或多个存储器元件312和其他WIFI组件和资源314通信,互连/总线模块318可包括可重配置逻辑门阵列和/或实现总线架构。

在功率管理的上下文中,应用处理器SOC 200和WIFI收发机SOC 300可被配置为通过在传统上不共享信息的个体功率管理过程(诸如状态机210a、310a)间操作状态信息或功率命令的经同步传达,来有效地实现整体功率管理状态机。所传达的状态信息或功率命令可被接收方SOC的功率管理过程用于确定是否或何时转换到睡眠状态或其他功率降低状态(例如,DOZE(打盹),SLEEP(睡眠),DEEP_SLEEP(深度_睡眠)等)。以这种方式,每个个体SOC可先占地影响其他SOC的功率管理,以创建基于平台的功率管理方案。

在该示例中,这种整体功率管理可通过WIFI收发机SOC 300在应用处理器SOC 200中设置操作状态标志或标识符来实现,其中操作状态标志是指示可能需要访问应用处理器SOC 200的一个或多个的处理器和/或资源的即将发生的事件或交互的值。如图2所示,应用处理器SOC 200可包括具有寄存器212a的存储器元件212,WIFI收发机SOC 300可将其操作状态标志写入寄存器212a。应用处理器SOC 200可随后将该信息用作由功率管理器处理器210执行的用于确定是否转换到睡眠状态的功率管理状态机210a的一部分。WIFI收发机SOC300的这种通信可发生在一个或多个组成的WIFI处理器执行的某个数据处理开始处(例如,状态标志被设置),该数据处理可能(或可能不)导致数据被发送到应用处理器SOC 200。换言之,应用处理器SOC 200事先得到通知:数据可能即将从WIFI收发机SOC 300而来,这使得如果和当此数据实际到达时,应用处理器SOC 200的处理器和资源能够准备好处置该传入数据。

例如,响应于WIFI收发机SOC 300的一个组成处理器确定或检测到传入数据传输即将被接收(例如,在接收到WIFI传输的前导码数据之际),在功率管理器处理器310内执行的功率管理状态机310a可向应用处理器SOC 200(一旦数据随后被接收到,应用处理器SOC200就将处理该传入数据传输)传送包含“NO_SLEEP(不_睡眠)”命令的消息,或者在应用处理器SOC 200的SOC寄存器212a中设置标志。类似地,响应于应用处理器SOC 200的一个组成处理器确定或检测到正在处理可能需要通过WIFI链路来发送的数据,在应用处理器SOC200的功率管理器处理器210上执行的功率管理状态机210a可向处置WIFI数据传输的WIFI收发机SOC 300发出消息,或在WIFI收发机SOC 300的SOC寄存器312a中设置标志。此类通信使得WIFI收发机SOC 300的功率管理状态机310a在确定是否转换到睡眠状态时能够考虑这样的有用信息,并因此延迟(或加速)转换到睡眠状态。

根据各种实施例的向SOC发送的消息或设置于SOC中的标志不同于各SOC彼此通信所借助的正常数据传输和中断。例如,SOC一进入可能涉及另一SOC的操作状态并且由此在实际传送数据之前的数微秒,就发生消息/标志设置。该定时对于就在接收方SOC将需要处理数据之前警告接收方SOC不要进入睡眠状态可能是非常重要的。通常,在数据经由中断被实际放置在SOC的外部接口总线上时,通知SOC有传入数据,从而在接收方SOC处于睡眠状态的情况下导致“苏醒”等待时间。此外,这样的消息/标志不指示数据可用于处理,并且可能不会发生数据传输,诸如当所接收的WIFI分组的有效载荷无需被提供给应用处理器SOC时。

为了实现高效的功率管理,一些实施例还可包括当操作状态不再存在时(例如,当无线调制解调器处理器204不处理传入分组时),一个SOC清除在其他接收方SOC中设置的状态标志,或者在其他接收方SOC中设置不同的标志。当在接收方SOC中清除标志时,在接收方SOC中执行的功率管理过程可仅基于该SOC内的状况来确定是否进入睡眠状态。接收方SOC的功率管理过程可在没有增加的保守延迟的情况下进行该确定,该增加的保守延迟补偿从另一SOC发送的用于进一步处理的数据的潜在接收。因此,通过在计算装置中各SOC之间、在即将发生的交互或事件之前交换关于操作状态或特定命令的发出的信息,并且当这种状态不再存在时清除这些信息,在设备内各SOC上共同执行的功率管理过程就可使用较不保守的进入睡眠状态的标准,从而实现更大的功率节省而不会由于上电等待时间而影响性能。

在一些实施例中,可通过与状态机(该状态机使用来自其他SOC的操作状态或命令来确定并执行其功率状态或其他操作状态)分开的过程来执行由一个SOC向另一SOC的指示即将发生的交互的操作状态或命令的传达。例如,应用处理器SOC 200可包括在应用处理器208上执行的状态监视器208a。状态监视器208a可被配置为维护或访问关于SOC处理器202、204、206、208、210的各种操作状态的信息。状态监视器208a还可进一步被配置为:每当检测到状态改变时或仅在检测到可能导致与另一SOC即将发生的交互的状态改变时,将表示这种操作状态的信息传达到其他外部SOC中的一些或全部。同样,WIFI收发机SOC 300可包括在WIFI站管理器302上执行的状态监视器302a,状态监视器302a被配置为维护或访问关于WIFI处理器302、304、306、308和310的各种操作状态的信息。每个状态监视器208a、302a可被实现为在由相应SOC内的处理器实现的应用层、内核层或其他操作系统层处实现的过程。

图3是根据各个实施例的可由SOC的功率管理状态机来实现的示例性状态图350。在该示例中,在SOC内执行的功率管理状态机将表示即将发生的交互的操作状态或命令向其他SOC传达,并且将来自其他SOC的类似信息用于确定该SOC自身的功率状态。

在框355,功率管理状态机可检查在SOC内的控制寄存器中由其他SOC设置的操作状态或命令信息,或是从来自其他SOC的消息中所接收的操作状态或命令信息。在框360,功率管理状态机可部分地基于表示与另一SOC即将发生的交互的操作状态或命令信息来为该SOC确定下一功率状态。例如,响应于功率管理状态机确定从另一SOC接收的信息表示与该SOC即将发生的交互的提前通知,功率管理状态机可决定延迟该SOC进入睡眠状态作为下一功率状态(365)。

响应于功率管理状态机确定没有接收到指示与另一SOC即将发生的交互的信息,SOC的功率管理状态机可仅基于该SOC内的状况来确定是否进入睡眠状态。例如,响应于确定该SOC正在活跃操作状态(例如,处理数据)中执行,该SOC的功率管理状态机可决定延迟该SOC进入睡眠状态作为下一功率状态(370)。相反,响应于确定该SOC未在活跃操作状态(例如,不处理数据)中执行,该SOC的功率管理状态机可决定将该SOC转变为睡眠状态作为下一功率状态(375)。在该SOC接收到来自另一SOC的明确授权该SOC进入睡眠状态的命令的情况下,该SOC的功率管理状态机还可决定将该SOC转变为睡眠状态作为下一功率状态(375)。

在框380和385,SOC的功率管理状态机可将其操作状态信息或命令传达到计算设备内的一个或多个其他SOC。用这种方式,SOC的功率管理状态机可以类似于该SOC的功率状态受从其他SOC接收的操作状态或命令信息影响的方式,先占地影响其他SOC的功率状态。例如,当功率管理状态机确定该SOC处于活跃操作状态(其中数据正在处理,在状态370中)时,或该SOC正在等待与另一SOC的即将发生的交互(此时该SOC被预期处于活跃操作状态,在状态365中)时,功率管理状态机可在框380将其活跃操作状态或命令传达给其他SOC。传送给另一SOC的信息可指示即将发生的或潜在的与此类其他SOC交互,和/或可以是SOC不应进入睡眠状态的指示。相反,当SOC的功率管理状态机确定该SOC处于睡眠状态或即将进入睡眠状态时,该SOC的功率管理状态机可在框385将SOC的睡眠状态或命令传达给其他SOC,该传达指示不存在即将发生的交互和/或授权此类其他SOC进入睡眠状态。

图4是根据一实施例的在由应用处理器SOC和WIFI收发机SOC的个体功率管理状态机实现的整体功率管理状态机中实现的方法的处理流程图。处理流程图解说了如图2所示的应用处理器SOC 200和WIFI收发机SOC 300的相应功率管理状态机210a、310a可先占地影响彼此的功率管理方案的方式。

如图所示,在应用处理器SOC 200内执行的功率管理状态机210a(“应用状态机210a”)可通过在框404向功率管理状态机310a(”WIFI状态机310a”)传达“NO DOZE(不打盹)”请求命令,来防止WIFI收发机SOC 300转变到功率降低状态,例如“DOZE(打盹)”。

例如,在判定框402,应用状态机210a确定是否存在在应用处理器SOC 200上执行的需要活跃的“始终开启”操作状态的一个或多个应用。例如,可通过SOC 200内功率管理器处理器210和应用处理器208之间的进程间通信来获得该信息。响应于确定存在至少一个“始终开启”应用(即,判定框402=“是”),应用状态机210a在框404向WIFI收发机SOC 300传送“NO DOZE”请求命令,并且在框406导致应用处理器SOC 200进入非睡眠状态。如以上所讨论地,该命令可被设置为在WIFI收发机SOC 300的存储器中的控制寄存器内的标志或其他值,或者通过由WIFI收发机SOC 300内的处理器(例如,功率管理器处理器310)实现的应用编程接口在消息内被发送。

转到WIFI状态机310a的处理流程,即使在WIFI信道上没有传入/传出数据时,“NODOZE”功率请求命令的传达也可防止WIFI收发机SOC 300转变到“DOZE”功率状态。例如,在判定框420,WIFI状态机310a可检查WIFI信道上的载波侦听,以确定是否存在任何传入数据。例如,可通过SOC 300内功率管理器310和WIFI站管理器302之间的进程间通信来获得该信息。响应于确定WIFI信道畅通(判定框420=“是”),WIFI状态机310a可尝试通过判定框422和424转变到“DOZE”状态中。例如,在判定框422,WIFI状态机310a例如检查控制寄存器,以确定是否从应用状态机210a接收到“NO DOZE”请求命令。响应于确定接收到“NO DOZE”功率请求命令(即,判定框422=“是”),WIFI状态机310a防止WIFI收发机SOC 300转变到DOZE状态。因此,应用状态机210a确保WIFI收发机SOC 300准备好处置源自“始终开启”应用的任何WIFI传输,而没有任何“苏醒”延迟或等待时间。

相反,应用状态机功率可通过在框412将“SLEEP_OK(睡眠_好)”请求命令传达到WIFI状态机310a来促成WIFI收发机SOC 300更快进入功率降低状态。

例如,返回参照判定框402,响应于应用状态机210a确定不存在在应用处理器SOC200上执行的“始终开启”应用,不发送“NO DOZE”功率请求命令(即,判定框402=“否”)。相反,应用状态机210a可在判定框410决定将应用处理器SOC 200转变到睡眠状态。该决定可根据与应用处理器SOC 200的各种内部处理器和组件的操作状态相关的因素来实现。响应于确定将应用处理器SOC 200转变到睡眠状态(即,判定框410=“是”),应用状态机210a还可在进入睡眠状态前,在框412向WIFI收发机SOC 300传送“SLEEP_OK”请求命令。框414表示应用处理器SOC 200转入和转出睡眠状态(“苏醒”)以监听数据处理请求的标准处理。

转到WIFI状态机310a的处理流程,“SLEEP_OK”功率请求命令的传达可以使得WIFI收发机SOC 300能够更快转变到睡眠状态。例如,响应于在判定框420确定WIFI信道上没有载波侦听(即,判定框420=“否”),WIFI状态机310a可尝试转变到睡眠状态中,诸如“DOZE”具体地,响应于确定没有发送“NO DOZE”请求命令(即,判定框422=“否”),WIFI状态机310a进行到判定框424以确定是否从应用状态机210a接收到“SLEEP_OK”请求命令。在该示例中,当接收到“SLEEP_OK”命令(即,判定框424=“是”)时,WIFI状态机310a可比典型的睡眠状态转变更快地进入“DOZE”状态。框426表示标准WIFI处理,其中WIFI收发机SOC 300周期性地“苏醒”以监听来自其他WIFI设备(例如,接入点)的指示要传送的数据的存在的递送业务指示映射(DTIM)消息。

上述处理流程解说了应用处理器SOC 200可如何影响WIFI收发机SOC 300的功率状态。下述处理流程解说了WIFI收发机SOC可进而如何影响应用处理器SOC的功率状态。

如图所示,WIFI状态机310a可通过在框430将“NO SLEEP”请求命令传达给应用状态机210a,来防止应用处理器SOC 200转变为功率降低状态中(例如“SLEEP”)。例如,在框420,WIFI状态机310a可检查WIFI信道上的载波侦听,以确定是否存在任何传入数据。响应于确定WIFI信道不畅通,例如,传入数据会很快跟随的指示(即,判定框420=“否”),WIFI状态机进行到判定框428。在判定框428,WIFI状态机确定是否接收到包含WIFI收发机SOC 300的站(STA)地址的传入数据。例如,可通过功率管理器310和WIFI站(STA)管理器处理器302之间的进程间通信获得与站地址有关的信息。站(STA)地址的接收可以是对于传入WIFI传输可包括需要由应用处理器SOC 200的一个或多个处理器/组件进一步处理的数据的进一步指示。响应于确定接收到站(STA)地址(即,判定框420=“是”),WIFI状态机310a可在框430向应用处理器SOC 200传达“NO_SLEEP”请求命令,从而其处理器和组件预先准备好处置任何传入WIFI数据传输。例如,响应于确定应用功率状态机210a在框408检测到NO_SLEEP命令请求被接收,则直到例如从WIFI收发机SOC稍后接收到SLEEP_OK功率命令请求,应用处理器SOC 200才将被允许进入任何睡眠状态。

各个实施例(包括但不限于以上参照图1-4讨论的实施例)可在各种计算设备中的任一种中实现,其中的一个示例(例如,移动通信设备600)在图5中解说。计算设备500可包括耦合到触摸屏控制器504和内部存储器506的处理器502。处理器502可以是指定用于一般或特定处理任务的一个或多个多核集成电路。内部存储器506可以是易失性或非易失性存储器,并且还可以是安全和/或加密的存储器、或者不安全和/或未加密存储器,或其任何组合。触摸屏控制器504和处理器502还可被耦合到触摸屏面板512,诸如电阻式传感触摸屏、电容式传感触摸屏、红外传感触摸屏等。另外,计算设备500的显示器不需要具有触摸屏能力。

计算设备500可具有耦合至处理器502和天线510并且被配置成用于发送和接收蜂窝通信的蜂窝网络收发机508。收发机508和天线510可与以上提及的电路系统联用以实现各种实施例方法。计算设备500可包括耦合至收发机508和/或处理器502并且如以上所描述地配置的SIM卡513。计算设备500可包括蜂窝网络无线调制解调器芯片517,该芯片使得能够经由蜂窝网络进行通信并且耦合至处理器502。

计算设备500还可包括用于提供音频输出的扬声器514。计算设备500还可包括用于容纳本文所讨论的组件中的全部或一些组件的外壳520,外壳920由塑料、金属或多种材料的组合来构成。计算设备500可以包括耦合至处理器502的电源522,诸如一次性或可充电电池。可充电电池还可以耦合至外围设备连接端口以从计算设备500外部的源接收充电电流。计算设备500还可包括物理按钮524以用于接收用户输入。计算设备500还可包括用于开启和关闭计算设备500的电源按钮526。

上述方法描述和过程流程图仅作为解说性示例而提供,且并非旨在要求或暗示各个实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的步骤次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等的措辞并非旨在限定步骤的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步,对单数形式的权利要求元素的任何引述(例如使用冠词“一”、“某”或“该”的引述)不应解释为将该元素限定为单数。

结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本发明的范围。

用于实现结合本文中公开的方面描述的各种解说性逻辑、逻辑框、模块、以及电路的硬件可利用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。替换地,一些步骤或方法可由专用于给定功能的电路系统来执行。

在一个或多个示例性方面,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在非瞬态计算机可读存储介质或非瞬态处理器可读存储介质上。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储介质可以是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计算机可读或处理器可读存储介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。以上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指令的任何组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读存储介质和/或计算机可读存储介质上。

提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本文所定义的一般原理可被应用于一些实施例而不背离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的实施例,而是应被授予与所附权利要求和本文中公开的原理和新颖性特征一致的最广义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号