用于发射机中的功率节省和性能平衡的方法和机制与流程

文档序号:12289945阅读:502来源:国知局
用于发射机中的功率节省和性能平衡的方法和机制与流程

本专利申请要求于2014年5月27日递交的、名称为“METHODS AND MECHANISMS FOR POWER SAVING AND PERFROMANCE BALANCING IN A TRANSMITTER”的美国临时申请No.62/003,249的权益,上述申请被转让给本申请的受让人,并且通过引用的方式将其全部内容明确并入本文。

技术领域

本公开内容总体上涉及两个设备之间的性能改善,并且更具体地但不排他地涉及发射机和接收机之间的功率节省和性能平衡。



背景技术:

通常,在使用任何通信协议(有线或无线(例如,蓝牙协议))的设备到设备通信中,当接收设备具有低缓冲器和/或发射设备在长数据传输期间因协议流控制限制(因缓慢远程设备的流入)而经历处理延迟时,存在高功耗(可能在给定时间中上升到甚至两倍,基本在稍后说明的平台设计约束之下)。简而言之,在远程侧使用较低Rx缓冲器或在本地侧使用处理延迟的设备到设备数据传输导致发射机侧的高功耗。使整个系统在较高功率泄漏状态下进行等待是不好的以及由于低优先级节流业务状况。

因此,存在对常规方法进行改进的方法(包括在此提供的改进的方法和装置)的长期以来的工业需求。

可以从具体实施方式和附图中更好地理解作为本教导的特性的创造性特征连同进一步的特征和优势。附图中的每一个附图仅是出于说明和描述的目的来提供的,而不对本教导进行限制。



技术实现要素:

以下内容介绍了涉及与本文公开的装置和方法相关联的一个或多个方面和/或示例的简要概括。照此,以下概括不应当被认为是对涉及全部预期方面和/或示例的详尽概述,并且以下概括不应当被认为用于标识涉及全部预期方面和/或示例的关键或重要元素,也不应当被认为用于描绘与任何特定方面和/或示例相关联的范围。因此,以下概括具有的唯一目的是在下文介绍的具体实施方式之前,以简化的形式介绍涉及与本文公开的装置和方法有关的一个或多个方面和/或示例的某些概念。

本公开内容的一些示例涉及用于高性能发射机对比缓慢、节流或受限的Rx缓冲远程接收机来进行动态功率节省和性能平衡的系统、装置和方法。

在本公开内容的一些示例中,所述系统、装置和方法得到了功率节省(诸如减小到一半以上(例如,在我们的情况中从大于300毫安降到150毫安),这取决于系统在被节流时如何看待各个线程的设计的,例如,这些线程中的一些线程在流停止状况下仍然进行不必要地消耗)和性能提高(诸如速度提高了多于200千比特/秒,这是由于排序的一些改变引起的,所述排序的改变不违反可应用通信标准和规范,但是提出了对其的一些改进),具体以一个示例为例-如蓝牙数据传输链路。

在本公开内容的一些示例中,所述系统、装置和方法包括a)在运行时间检测和调整缓冲器,使得控制PDU不在相同的时间到来,因此具有某种处理影响;b)在如本地TX满事件的等待点上检测停止(尤其是由远程设备没有能力匹配更快发射设备的速度引起的),直到应用水平为止,并且随后加速或减速应用数据,使得CPU利用率(消耗的功率)在特定场景的控制之下;以及c)即使在(硬件控制器的)下溢状况下,使受限数据的受控传输的良好速度与功耗平衡,由此预期来自缓慢远程设备的迟到流控制。这些步骤还将允许对这种滞后的预期,并且随后对速度进行调整,即使传输状况不是良好的。对来自缓慢远程设备的流延迟的平衡和预期可以使更快发射机很好地平衡速度和性能。这可以被应用于具有可变的协议传输(有线或无线)速度并且特别是更耗电模块上的许多其它技术;这将产生非常好的功率节省数字。

在本公开内容的一些示例中,所述系统、装置和方法包括导致如下现象的状况:业务中以间歇间隔的下溢,以及在下溢停止和流开始时业务的突然喷出。

在本公开内容的一些示例中,所述系统、装置和方法包括:动态地降低用于高性能设备或高性能模式下的设备的系统功率(诸如电池)。

在本公开内容的一些示例中,所述系统、装置和方法包括:通过利用未使用的AIR信道(诸如在诱导下溢期间)来提高速度并且完成与高速度和高功率状况的事务。

在本公开内容的一些示例中,所述系统、装置和方法包括:过程的过程间流和设备间流控制,所述过程导致喷出业务而不是恒定的低速度和低功率稳定性业务。

在本公开内容的一些示例中,所述系统、装置和方法包括一种移动设备,所述移动设备具有:数据应用模块,用于生成数据分组;协议栈组件,用于以传输流速率向远程设备发送所述数据分组,所述协议栈通信地耦合到所述数据应用模块;OBEX组件,用于发送流控制消息,所述OBEX组件通信地耦合到所述数据应用模块和所述协议栈组件,以向所述数据应用模块和所述协议栈组件发送所述流控制消息;处理器,用于控制所述数据应用模块、所述协议栈组件和所述OBEX组件的过程流;以及调速器,用于控制所述处理器的处理器速度,其中,所述OBEX组件向所述数据应用模块发送数据大小流控制消息,以基于从所述远程设备接收的远程传输信用的数量来控制所生成的数据分组的大小。

在本公开内容的一些示例中,所述系统、装置和方法包括一种发射装置,所述发射装置具有:发射机,用于向接收机发送数据分组;与所述发射机相通信的数据传输调速器,所述数据传输调速器被配置为控制所述发射机的传输速度;以及与所述发射机相通信的数据流组件,所述数据流组件被配置为生成用于传输的数据分组并且将所生成的数据分组传送给所述发射机以进行传输。

在本公开内容的一些示例中,所述系统、装置和方法包括一种本地设备和远程设备之间的通信的方法,所述方法包括:基于控制器下溢状况,控制本地设备的微处理器频率跳变决策组件;当所述本地设备的发射机在等待来自远程设备的握手消息时,控制所述本地设备的处理器负载;在运行时间检测所述控制器下溢状况;以及调整所述本地设备的最大传输单元,以减小握手冲突和信用处理的概率。

在本公开内容的一些示例中,所述系统、装置和方法包括一种具有计算机可读存储介质的制品,所述计算机可读存储介质具有用于控制本地设备和远程设备之间的通信的程序代码,所述程序代码包括指令,所述指令在被处理器执行时使得所述处理器执行包括以下各项的操作:基于控制器下溢状况,控制本地设备的微处理器频率跳变决策组件;当所述本地设备的发射机在等待来自远程设备的握手消息时,控制所述本地设备的处理器负载;在运行时间检测所述控制器下溢状况;以及调整所述本地设备的最大传输单元,以减小握手冲突和信用处理的概率。

基于附图和具体实施方式,与本文所公开的装置和方法相关联的其它特征和优点对于本领域技术人员将是显而易见的。

附图说明

介绍附图以描述本教导的示例,而不是进行限制。介绍附图以有助于对本公开内容的示例的描述,并且附图仅被提供用于对示例的说明,而不是对其的限制。

通过结合附图来参照下面的具体实施方式,将容易地获得并且更好地理解本公开内容的方面以及许多与之伴随的优点的更完整的理解,附图仅被介绍用于说明而不是对本公开内容的限制,在附图中:

图1示出了根据本公开内容的一些示例的示例性处理器。

图2示出了根据本公开内容的一些示例的示例性用户设备(UE)。

图3描绘了使用蓝牙协议的示例性长文件传输。

图4描绘了基于RFCOMM的示例性蓝牙传输。

图5描绘了强调瓶颈的示例性序列。

图6描绘了示例性输入(最终)、继续和RFCOMM信用。

图7描绘了示例性继续和RFCOMM信用。

图8描绘了示例性OBEX和RFCOMM Tx和Rx。

图9描绘了CX轨上的示例性电流(连接BT线电流)。

图10描绘了CX轨上的示例性电压(连接BT线电流)。

图11描绘了以避免握手信号的并行处理的方式来进行的示例性MTU调整。

图12描绘了示例性本地MTU调整。

图13描绘了根据本公开内容的一些示例的示例性序列(将蓝牙流控制作为导频示例)。

根据通常实践,附图所描绘的特征可能不是按比例绘制的。因此,为了清楚起见,所描绘的特征的尺寸可以是任意扩大或减小的。根据通常实践,为了清楚起见,附图中的一些附图被简化。因此,附图可能不描绘特定装置或方法的所有组件。此外,遍及本说明书和附图,相似的参考标记指示相似的特征。

具体实施方式

提供了用于发射机和接收机之间的功率节省和性能平衡的方法、装置和系统。本文所公开的示例性方法、装置和系统有利地解决了长期以来的工业需求以及其它先前未识别的需求,并且缓解了常规方法、装置和系统的缺点。例如,本文所公开的方法、装置和系统所提供的优点是针对设备到设备传输的功率对比性能需求的改进。

在下文描述和相关附图中公开了各个方面,以示出涉及本公开内容的具体示例。在阅读完本公开内容之后,替代示例对于相关领域技术人员将是显而易见的,并且可以是不脱离本公开内容的范围或精神的情况下组织和实施这些替代示例。另外,不将详细描述或可以省略公知的元素,以便不模糊本文所公开的方面和示例的相关细节。

本文使用的词语“示例性”意味着“作为示例、实例或说明”。本文中描述为“示例性”的任何细节不必被解释为优选于其它示例或者比其它示例有优势。同样,术语“示例”不要求所有示例都包括所论述的特征、优势或操作模式。在本说明书中对术语“在一个示例中”、“示例”、“在一个特征中”和/或“特征”的使用不必指代相同的特征和/或示例。此外,特定的特征和/或结构可以与一个或多个其它特征和/或结构组合。此外,据此描述的装置的至少一部分可以被配置为执行据此描述的方法的至少一部分。

本文中使用的术语仅用于描述特定示例的目的,并且不旨在限制本公开内容的示例。如本文所使用的,除非上下文明确地指示,否则单数形式的“一”、“一个”和“这个”旨在也包括复数形式。将进一步理解的是,术语“由…组成”、“由…构成”、“包括”和/或“包含”在本文中被使用时,指定所述特征、整数、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元素、组件、和/或其群组的存在或添加。

应当注意的是,术语“连接”、“耦合”或其任何变型意指元素之间的任何直接或间接的连接或耦合,并且可以涵盖两个元素之间的中间元素的存在,两个元素经由中间元素“连接”或“耦合”在一起。元素之间的耦合和/或连接可以是物理的、逻辑的或其组合。如本文所使用的,元素可以例如通过一个或多个电线、电缆和/或打印电气连接以及通过使用电磁能量“连接”或“耦合”在一起。电磁能量可以具有射频区域、微波区域和/或光(可见光和不可见光)区域中的波长。这些是若干非限制性和非穷尽的示例。

应当理解的是,术语“信号”可以包括诸如数据信号、音频信号、视频信号、多媒体信号、模拟信号和/或数字信号的任何信号。信息和信号可以使用多种不同的工艺和技术中的任何一种来表示。例如,在本描述中描述的数据、指令、过程步骤、命令、信息、信号、比特、和/或符号可以由电压、电流、电磁波、磁场和/或粒子、光场和/或粒子或者其任意组合来表示。

在本文中,使用诸如“第一”、“第二”等标记来对元素的任何引用不限制那些元素的数量和/或次序。事实上,使用这些标记作为一种在两个或更多个元素和/或一个元素的多个实例之间进行区分的便利方法。因此,对第一元素和第二元素的引用并不意味着只能够使用两个元素,也不意味着第一元素必须在第二元素之前。同样,除非另外声明,否则一组元素可以包括一个或多个元素。另外,在描述或权利要求书中使用的形式为“A、B或C中的至少一个”的术语可以被解释为“A或B或C或这些元素的任意组合”。

此外,许多示例是围绕将由例如计算设备的元素执行的动作序列来描述的。将认识到的是,本文所描述的各种动作可以由特定的电路(例如,专用集成电路(ASIC))、由一个或多个处理器所执行的程序指令、或者由二者的组合来执行。另外,本文所描述的这些动作序列可以被认为是完全体现在任何形式的计算机可读存储介质内,所述计算机可读存储介质具有存储在其中的相应的计算机指令集合,当执行所述计算机指令集合时会使得相关联的处理器执行本文所描述的功能。因此,可以以多种不同的形式来体现本公开内容的各个方面,所述多种不同的形式中的全部形式被预期在所要求保护的主题的范围内。另外,对于本文所描述的示例中的每个示例,任何这些示例的相应形式可以在本文中被描述为例如“被配置为执行所描述的动作的逻辑单元”。

在本描述中,特定术语用于描述特定特征。术语“移动设备”可以描述并且不限于移动电话、移动通信设备、寻呼机、个人数字助理、个人信息管理器、移动手持计算机、膝上型计算机、无线设备、无线调制解调器、和/或通常由个人携带的和/或具有通信能力(例如,无线、蜂窝、红外、短距离无线电等)的其它类型的便携式电子设备。此外,术语“用户设备”(UE)、“移动终端”、“移动设备”和“无线设备”可以是可互换的。

图1描绘了诸如ASIC 208(见下文)的示例性处理器10的功能框图。处理器10根据控制逻辑单元14来执行指令执行管线12中的指令。控制逻辑单元14维护程序计数器(PC)15,并且设置和清除一个或多个状态寄存器16中的比特,以指示例如当前指令集合操作模式、关于算术操作和逻辑比较(零、进位、相等、不相等)的结果的信息等。在一些示例中,管线12可以是具有多个并行管线的超标量设计。管线12也可以被称为执行单元。通用寄存器(GPR)堆20提供可由管线12访问并且包括存储器层级的顶部的通用寄存器24的列表。

处理器10(其在不同的指令集合操作模式下执行来自至少两个指令集合的指令)额外地包括调试电路18,调试电路18可操作用于在执行每个指令时将至少预定的目标指令集合操作模式与当前指令集合操作模式进行比较,并且用于提供对两者之间的匹配的指示。

管线12从指令高速缓存(I-高速缓存)26取得指令,以及存储器地址转换和许可由指令侧转换后备缓冲器(ITLB)28来管理。数据是从数据高速缓存(D-高速缓存)30来访问的,以及存储器地址转换和许可由主转换后备缓冲器(TLB)32来管理。在各个示例中,ITLB 28可以包括TLB 32的部分的副本。替代地,ITLB 28和TLB 32可以是集成的。类似地,在处理器10的各个示例中,I-高速缓存26和D-高速缓存30可以是集成的或统一的。此外,I-高速缓存26和D-高速缓存30可以是L1高速缓存。错过I-高速缓存26和/或D-高速缓存30导致通过存储器接口34对主(片外)存储器38、40的访问。存储器接口34可以是到总线互连42的主输入,总线互连42实现到一个或多个存储器设备38、40的共享总线,所述一个或多个存储器设备38、40可以并入根据本公开内容的一些示例的所改进的数据解压。额外的主设备(未示出)可以额外地连接到总线互连42。

处理器10可以包括输入/输出(I/O)接口44,I/O接口44可以是外围总线上的主设备,I/O接口可以跨越外围总线经由总线46访问各种外围设备48、50。本领域技术人员将认识到的是,处理器10的大量变型是可能的。例如,处理器10可以包括针对I-高速缓存26和D-高速缓存30中的任一者或两者的二级(L2)高速缓存。另外,可以将处理器10中描绘的功能块中的一个或多个功能块从特定示例中省略。可以位于处理器10中的其它功能块(诸如JTAG控制器、指令预编码器、分支目标地址高速缓存等)是与本公开内容的描述无关的,并且为了清楚起见被省略。

参照图2,系统100包括诸如蜂窝电话的UE 200(这里为无线设备),UE 200具有平台202,平台202可以接收和执行从无线接入网络(RAN)发送的可能最终来自核心网、互联网和/或其它远程服务器和网络的软件应用、数据和/或命令。平台202可以包括收发机206,收发机206可操作地耦合到专用集成电路(“ASIC”208)、或其它处理器、微处理器、逻辑电路、或其它数据处理设备。ASIC 208或其它处理器执行与无线设备的存储器212中的任何常驻程序对接的应用编程接口(“API”)210层。存储器212可以包括只读存储器或随机存取存储器(RAM和ROM)、EEPROM、闪速卡、或对于计算机平台是共同的任何存储器。平台202还可以包括本地数据库214,本地数据库214可以保持没有在存储器212中活跃使用的应用。本地数据库214通常是闪存单元,但是其可以是本领域已知的任何辅助存储设备,诸如磁介质、EEPROM、光介质、磁带、软盘或硬盘等。内部平台202组件还可以可操作地耦合到外部设备,诸如天线222、显示器224、一键通按钮228和键盘226以及如本领域已知的其它组件。

因此,本公开内容的示例可以包括具有执行本文所描述的功能的能力的UE。如本领域技术人员将认识到的,各个逻辑元素可以体现在分立的元素、在处理器上执行的软件模块、或软件和硬件的任意组合,以实现本文所公开的功能。例如,ASIC 208、存储器212、API 210和本地数据库214都可以合作地用于加载、存储和执行本文所公开的各种功能,并且因此用于执行这些功能的逻辑单元可以分布在各个元素上。替代地,可以将功能并入到一个分立的组件中。因此,图2中的UE 200的特征仅被认为是说明性的,并且本公开内容不受限于所示出的特征或布置。

UE 200和RAN之间的无线通信可以是基于不同技术的,诸如码分多址(CDMA)、W-CDMA、时分多址(TDMA)、频分多址(FDMA)、正交频分复用(OFDM)、全球移动通信系统(GSM)、3GPP长期演进(LTE)或可以在无线通信网络或数据通信网络中使用的其它协议。

现在将通过说明的方式,在蓝牙长文件传输的上下文中描述本公开内容的示例。应当理解的是,本公开内容和本文所公开的创造性概念在本质上是通用的并且可应用于任何无线或有线技术。当因协议瓶颈而产生的Tx下溢令功率和性能降级时,尤其是在远程设备是缓慢的并且导致过多的流控制、节流、性能循环和通话时间的损耗的状况中,本文所描述的概念是尤其适用的。这些概念可以应用于以上状况,并且这些状况可以利用低优先级业务传输(如缓慢和长蓝牙文件传输)来耗尽非常高的系统电流。可以在若干状况下的长传输中看见这些场景,诸如远程设备在接收方面是非常缓慢的,而发射机是非常快的;远程设备具有用于添加到更多的流控制握手的更少的Rx缓冲器;无线信道不是良好的-导致过多的重传/分组丢失,尤其是如果经历干扰/协议内共存问题;以及远程设备具有不良的Rx。

图3根据本公开内容的示例,描绘了蓝牙长文件传输。在图3中,本地设备300包括可以构成蓝牙开源实现方式的各个功能块,如图所示。除下文描述的块(模块或组件)之外,本地设备300还可以包括蓝牙接口定义351、物理传输驱动器(SMD/UART/USB/SDIO等)352以及LMP、基带和无线层352。其它块(模块或组件)包括:

蓝牙应用310:与文件系统对话,并且将数字数据递送给低层。该组件具有的主要责任是从文件系统取得数据,并且随后在完成所约定的分组之后,保持告诉用户传输进度的责任。蓝牙应用还可以分接头从OBEX库接收的流控制,并且随后可以向底层提供下一分组集合。

OBEX库320:OBEX库320可以处理从经由套接字接口330提供的rfcomm套接字读取的/写入到rfcomm套接字的数据。这可以保持以下责任:以具有必要的OBEX报头添加的OBEX格式来对数据进行分组化,对PDU进行分组化以使MTU适合与远程端协商的OBEX。该组件可以在传输期间管理应用层和蓝牙协议栈之间的流控制机制。应当注意的是,该层还可以具有用于基于RFCOMM传输的流控制模式。即,在IO期间使用两个分组-一个分组是最终输入(PUT)PDU(在全文件方面,这不是最终的,但是其是构成一个OBEX MTU的长度的PDU集合总和的最终)以及另一个分组是作为最终输入的确认的继续(CONTINUE)分组。通常,最终输入分组是在已经从Tx侧传输具有OBEX MTU大小的字节之后被发送的,并且发射机在该状况下等待来自接收机的继续。如果继续没有在正在进行的最终输入期间被发送到发射机,则发射机将该持续时间认为是“Obex流停止”,即使更多的分组可能是可用的,并且rfcomm具有用于发送分组的信用,并且OBEX可能不发起下一分组传输。

栈接口340:示出了两个接口-一个接口用于蓝牙其它简档中的每一个以及一个接口用于具有蓝牙协议栈的标准套接字IPC 330。蓝牙栈接口可以是有助于在应用和RFCOMM之间生成标准套接字管线的接口。栈接口340表现地像中间件接口一样,并且一些实例基于对与系统电源被切断相符合的远程慢度/流节流的检测来进行优化。

现在将对传输期间的接口进行描述。

蓝牙协议栈组件350:该组件可以包括两个组件-RFCOMM和L2CAP。RFCOMM可以是通过虚拟串行端口的串行调制解调器(其通常被称为软件虚拟调制解调器,具有用于I/O期间的流控制机制的软件握手)的调制解调器仿真。RFCOMM还可以具有一个在传输期间更广泛使用的机制,被称为CBFC或基于信用的流控制模式。CBFC可以被认为是在传输(尤其是接收机的信用在连接时间是已知的)期间约定的软件流控制机制。Tx侧可能需要记录接收机的最大信用以及缓冲器在远程rfcomm(=最大信用*端口mtu)大小深度处于多深。一旦完成并且没有从远程设备接收到信用更新,就将此认为是“流停止”状况并且可以不通过RFCOMM传输任何数据,即使其具有在OBEX套接字上可用的分组。

CPU调速器:CPU调速器的角色可以是在整体功率和性能驱动模式下。CPU调速器可以是这样的模块:灵敏模块,其在四个内核0-3中的每一个内核上进行计算,并且随后相应地进行频率跳变并且还进行CPU跳变,以满足在执行之下的应用的处理需求。调速器通常调到高CPU速度,以维持良好的用户体验(在CPU和平台所提供的延时方面来说),以便用户输入在空闲或睡眠时间期间不被延迟。调速器(一个说明性配置)可以根据以下规则来使用:

-当在给定时间已经达到最小频率(例如,300MHz)的90%时,调速器在单个内核上跳变到CPU速度的较高模式(例如,1.2GHz)。

–上述90%可以不仅仅包括所指定的示例,也可以包括在该给定时间在系统上的整体CPU使用的总和,其也可能接近例如300MHz的90%。

针对跳变的基线是例如300MHz的90%。

一旦通过运行应用达到这一点,就完成到加速模式的替换(bumping),其中,电池处的电压和电流非常高以提供最优的用户体验。系统完成替换,使得用户看不见任何慢度,但是对功耗产生负面影响。

针对低优先级业务,尤其是在等待状况下,应当避免到加速模式的这种替换。

到加速模式的这种替换应当仅发生在关键的特定于用户的场景上,并且不应当针对背景低优先级业务(如超大文件传输情况)而发生在任何协议上。

CPU调速器对比用户数据流停止:如先前说明的,高功率状况与用户数据流的关系是直接由在正在进行的数据流期间业务的突然下溢和恢复导致的。在缓慢和突发性远程业务期间的高功率的根源可能是调速器刚好在如最小频率(例如,300MHz)的90%基线的下溢之后检测业务。

协议流控制:在图4中示出了在不同层处的蓝牙协议流控制机制,其用于本地设备400和远程设备410之间的通信。

流控制:可以存在直接影响操作的功率和性能模式的两个流控制。RFCOMM信用420(经协商的Rx最大信用)发射机不发送任何分组,除非信用是从远程可用的。将等待OBEX上的继续430分组以向另一端发送数据。

图5示出了强调瓶颈的示例性序列,所述瓶颈导致速度下降,尤其是如果远程设备延迟继续分组。如可见的,每继续500存在58到110毫秒的延时,该延时导致上一剩余字节的具有输入的OBEX最终分组块510和在一个全MTU之后的下一OBEX分组块520之间的速度下降/下溢。此外,该延时发生在每次远程设备在继续或RFCOMM信用中进行延迟时。该延时导致以下结果:a)数据没有被从OBEX发送到RFCOMM,即使RFCOMM具有可用于发送一些更多分组的信用,b)速度下降(由于每个继续或在每个MTU传输之后延时达到58到110毫秒),以及c)不均匀的每秒比特-导致CPU速度在下溢之后突然增加。

图6示出了针对流控制关闭和开启的示例性输入600(该PDU批的最终,等于一个OBEX MTU大小)、继续和RFCOMM信用。图7示出了示例性继续700和RFCOMM信用710。

现在将描述流关闭/业务恢复与电池功率的关系。通过说明的方式,这可以是具有MP决策连接的CPU速度调速器软件代码。与功率的连接可以是在因缓慢的远程设备引起的数据传输的不规则速率的方面来说的。由于WCNSS被缓慢的远程设备节流,所以其可能从主机得到更少的数据。取样功率跟踪显示WCNSS的功率轨以非常频繁的间隔看见下溢,并且随后一旦业务开始,业务就突然加速。该加速可能导致突然的CPU负载变化,并且因此调速器尝试更好频率以迎合该负载。当WCNSS上的下溢结束时,APPS电流值可以上升,并且业务重新开始时。这可以导致在被节流的网络的情况下的高电流。

在某些场景中,可变的数据速率可能导致问题。然而,利用具有用于接收的更高缓冲器和在传输期间发生的更少的节流的远程设备,主功率不太可能经历问题,这是因为应用处理器功率不逐步地来进行-导致更少的功率数量。CPU以一致的方式来表现,这是由于远程设备是足够快的,并且因为远程接收机上的更高的缓冲器,在比特速率或速度中都未见很多起伏。由此在一段时间内的平均电流有些低。

现在将描述一个示例性场景,其中,注入流关闭影响功率数量。例如,当远程设备具有较低Rx缓冲器并且还定期地节流时,这可能导致应用处理器的CPU利用率的非常高的起伏,尤其是如果在下溢期间空闲线程的CPU利用率被抑制。

图8描绘了OBEX 800和RFCOMM Tx 810和Rx 820交互。

下文描述了各个示例性场景,这些场景描绘了本公开内容的一些示例如何节省功率和平衡性能。场景一:在传输期间不能改变的缓慢和可变的远程侧接收机。如上所述,流不会一直开启,尤其是当我们遇到下面三个状况中的一个状况时:

-用于接收的低远程缓冲器(例如,少于5-6个分组)并且发射机非常快

-远程设备是缓慢的

-或者信道非常差并且我们在蓝牙基带水平(其中应用处理器是空闲的)处进行重新发送

在这样的场景下,在不进行检测的情况下可能消耗大量电流,如在图9和图10的轨图中所见。图9描绘了CX轨上的电流。图10描绘了CX轨上的电压。

在差的情况下;VCX上升到1.18伏(加速模式),而在良好情况下;其在大部分时间保持在1.05伏。

在另一个场景中-由于可变的速率流,低优先级业务将系统功率移至更高。在该情况下,该业务不是非常高的优先级,并且仅长传输应当以超过示例1.4Mbps(这仅是一个示例并且是高度依赖于平台的)的速度进行并且在长传输期间不应当下降。

在另一个场景中-不能够改变CPU调速器调谐并且不能够禁用MP决策(这是因为我们将在该系统对其它灵敏使用场景的反应上产生相反影响)。可以每目标对调速器和MP决策进行建模,并且可以精细地调谐调速器和MP决策以具有特定的采样值和每CPU松弛定时。

由于这种精细调谐,使算法针对低优先级业务进行改变而不损害针对高优先级使用情况(诸如音频和触摸/打游戏等)的用户体验是困难的。例如,MP决策和CPU调速器已经被调谐为具有以下特征:

-中高频

-交互调速器,其具有配置低于最大速度的中高速度的选项。一穿过高速度负载,频率就跳变到该速度。存在可配置的延迟时间。

-基于在该延迟之后的负载评估,在可能发生CPU频率的阶跃跳变之前存在预定的等待时间。

-针对基于蓝牙的音频或触摸或一些更时间关键场景的精细调谐,其中,其不太频繁地进行切换以使性能更优

-触摸屏增强:来自不同供应商的输入事件补丁似乎合并成一个解决方案。

-其它特征:变为大约几毫秒的默认最小采样时间,之后如果由其软件评估的负载已经变为低于给定门限,则我们也可以缓降阶跃。

-对这样的事情的经建模的值通常是硬连线的并且因此是不能被改变的,这是因为其可能影响整体系统方面。因此,我们需要对我们的速度进行建模,而不是将系统策略改变为降低在提及的场景中的速度。

现在将描述MTU调整以减小握手冲突和信用处理的概率。如在图中示出的时间线实际地下降超过110毫秒并且按数据速度来说是浪费的时间,因为这仅是握手而不是数据。如图11所示,这是一个有问题的案例。尽管速度有点高,但是真正的问题是存在大的等待时间,由于在每十一个分组上,来自远程设备的继续分组和来自远程设备的RFCOMM信用几乎同时到来。这是因为每六个分组,远程设备将发送一个信用。OBEX PDU侧将是=65534字节,其通常将被拆分成例如65*990个字节(RFCOMM MTU)+1个剩余的分组。因此,每66个分组将看见从DUT到远程设备的一个输入,并且同时,需要给予来自远程设备的其正在处理的DUT六个信用。发送了需要被处理的输入并且也发送了继续。现在每第十一(=66/6)个信用更新、输入、继续和信用被处理,因此导致在该时间期间的更多的SOC下溢。

在上文的场景中,本地MTU调整可以带来解决方案。假设远程设备的RFCOMM信用是低的(在我们的示例中,其低至六个信用),这意味着远程设备接收每六个分组,其将给予发射机一个信用,并且随后Tx侧可以进行进一步的传输。为了具有对电流的改善,可以通过以下两种方式中的任一方式来对信用和继续进行交错:

-令Tx MTU不是远程Rx信用(RFCOMM WM MAX-MIN的远程侧差)的数量的倍数。

-将Tx MTU调至让继续在信用之前或之后(不重叠)到来的值。

第一目标可以是具有如图12所示的交错。这显示利用所建议的用于运行时间MTU调整的方法,将让握手在时间空间上不交错,并且通过在每PDU集合运行时间处完成的调整来克服在图11中报告的问题,节省了多于100毫秒,因此提高了速度而没有影响太多功率。如图12所示,可以实现在每十一个信用更新上节省多于55ms的延迟。

现在将描述定期地步测低优先级业务(甚至在下溢期间)。由于数据传输的速度(以每秒比特为单位)不是恒定的,所以存在Tx活动中的间歇性地突然下降以及CPU调速器随机地启动并且试图降低频率和电压。然而,真正的问题在数据突然可用并且调速器试图评估CPU负载之后到来。可能存在CPU利用率的突然上升并且调速器将CPU跳变到更高频率,因此回到更高的功耗。这可以导致系统在甚至不具有非常高的优先级或高业务状况的情况下回到加速模式。

现在将描述限制最大频率并且禁用MP决策。通过在系统上禁用微处理器频率切换决策,以及将MAX CPU速度限制为示例600Mhz而不达到1.2Ghz的最高速度,功率数量可以是可接受的并且在范围内。在微处理器频率切换决策停止并且将最大频率限制为示例600MHz的情况下,自始至终不存在电流的尖峰或突然增加。

本公开内容的一些示例通过三个部分来解决上述问题:实现低功率目标;实现高性能目标;以及平衡低优先级业务。

低功率目标:

-提供不招致如上文所说明的其它处理的冲突(所有握手和PDU几乎落入几乎相同的时间帧中)的OBEX MTU。

–以调速器不注意数据传输速率的过多起伏的方式来步测传输。在这种状况下可能存在最大功率节省,从那以后调速器将看到恒定的中等速度并且将不跨越斜坡进行跳变。其次,如果传输太慢并且忽略流关闭情形,则这可能具有速度处罚。

因此以MTU调整随时间对若干握手进行交错的方式来在运行时间处进行的MTU调整将真正地有助于简化所有线程并且还不允许许多下溢频繁地发生。

如我们先前论述的问题的根源在于在每个下溢状况之后突然看到高CPU使用的CPU频率调速器代码的指针。

在每个下溢状况之后,以阶跃的形式发生CX电流的突然尖峰。看见这些阶跃尖峰是因为CPU调速器看见CPU的突然使用但是CPU利用率的百分比的逐步上升。本公开内容的减少功率数量的一些示例可能具有缺点,这是由于速度可能下降大约例如15%或更多。

高性能目标:OBEX Tx速度可能被下溢阻碍并且在下溢恢复之后抽出的分组突然以更高的速度。当很少的数据分组(低于最大远程信用)在远程继续延迟期间被抽出时,可以发生性能增强。如先前所说明的,下溢具有两个缺点,一个缺点是其降低了传输速率的每秒比特,以及其次在降低期间调速器启动并且试图达到其CPU频率的较低水平。然而,在蓝牙中,下溢没有进行长持续时间,尤其是当考虑单个链路时。如果该下溢压制CPU频率太长时间(可能持续长达大约100ms或更长)但是随后在业务开始时,发生内核的频率的突然加速,这是可以被避免的以节省功率。

如果以如下方式来控制来自rfcomm的业务的速度,则可以实现低功率目标:CPU调速器代码将所述速度视为小幅提高,直到碰到下一流关闭为止。

现在将论述下溢情形以及如何利用这种情形来与低功率目标合并并且具有功率和性能之间的权衡。为了具有在继续延迟期间的业务的利用率,下溢可以用于提高速度并且还用于在继续之后步测业务,这可以带来速度和功耗之间的良好平衡。

在系统等待继续但是rfcomm信用可用的情况下,下溢区域仍然可以是有用的。在这种情况下,在下溢期间推送约定的信用减去一个或两个分组。这不仅允许利用下溢(速度提高),还允许刚好在下溢之后步测分组。

图13示出了本公开内容的一些示例,这些示例具有在图3中示出的分组化方案的变化。如图可见,每继续存在58到110毫秒的延时,该延时导致上一剩余字节的具有输入的OBEX最终分组块和在一个全MTU之后的下一OBEX分组块之间的速度下降/下溢。此外,该延时发生在每次远程设备在继续或RFCOMM信用中进行延迟时。该延时导致以下结果:a)数据没有被从OBEX发送到RFCOMM,即使RFCOMM具有可用于发送一些更多分组的信用,b)速度下降(由于每个继续或在每个MTU传输之后延时达到58到110毫秒),以及c)不均匀的每秒比特-导致CPU速度在下溢之后突然增加。例如:

-将OBEX MTU减少一定量(大约为最大接收机OBEX MTU的最大值-5个分组,假设在2个Rx-信用帧之间有6个分组)

-提及的5个分组,使得如果我们在增加到6个分组时(即使在下溢状况中)进行信用更新,则我们不遇到碰撞情况

-这基于关于我们预期远程设备是缓慢的并且握手在一段时间中将回来的评估。

-以正常方式来规划所有六十个奇数分组并且以正常方式发送最终输入。

-不在obex水平上等待继续,仅将下溢时间期间的这五个分组放入到rfcomm队列中并且由此放入到传输水平上,使得CPU调速器同时仍然不启动微处理器阶跃改变决策。

-在从远程设备接收信用时,我们可以将这些分组通过无线电抽到远程控制器的缓冲器。由此节省了RFCOMM信用和继续等该时间之间的时间。

-rfcomm队列一接收到信用,这些信用就将被发送并且不需要等待继续来开始排队,由此有效地减少CPU负载而不让CPU频率跳变发生。

-这可以在发生下溢时有效地增加更多的每秒比特

-为了产生速度影响,可能需要该改变

-为了产生功率影响,可能需要在真正接收到继续之前排队的额外分组之间的适当平衡。

-因此,调速器不是非常频繁地降速,并且随后,需要在下溢完成之后针对另几个分组维持每秒比特

-这可以得到速度对比功率的良好权衡。

本文描述的方法、装置和系统的示例可以用在多个应用中。例如,所描述的示例可以用在生成跨越多个处理器的数据业务的突发的无线或有线系统中。进一步的应用对本领域普通技术人员应当是显而易见的。

在本申请中陈述或说明描绘的内容中没有内容旨在将任何组件、步骤、特征、好处、优点或等效物奉献给公众,无论是否在权利要求书中列举了组件、步骤、特征、好处、优点或等效物。

本领域的技术人员将理解的是,信息和信号可以使用多种不同的工艺和技术中的任何一种来表示。例如,遍及以上描述所提及的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。

此外,本领域技术人员将认识到的是,结合本文所公开的示例描述的各种说明性的逻辑块、模块、电路和算法步骤可以实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种可互换性,上文围绕各种说明性的组件、块、模块、电路和步骤的功能,已经对它们进行了一般性描述。至于这样的功能是实现为硬件还是软件,取决于特定的应用以及施加在整个系统上的设计约束。熟练的技术人员可以针对各特定的应用,以变通的方式来实现所描述的功能,但是这样的实现决策不应当被解释为引起脱离本公开内容的范围。

结合本文所公开的示例描述的方法、序列和/或者算法可以直接地体现在硬件中、由处理器执行的软件模块中,或者二者的组合中。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域已知的任何其它形式的存储介质中。将示例性的存储介质耦合到处理器,以使处理器可以从存储介质读取信息,以及向存储介质写入信息。在替代的方式中,存储介质可以被整合到处理器中。

结合本文所公开的方面描述的各种说明性的逻辑块、模块和电路可以利用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合来实现或执行。通用处理器可以是微处理器,但是在替代的方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以被实现为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它这样的配置)。

虽然已经结合设备描述了一些方面,但是不用说,这些方面也构成对相应方法的描述,以及设备的块或组件也应当被理解成相应的方法步骤或方法步骤的特征。与其类似地,结合方法步骤或作为方法步骤描述的方面也构成对相应设备的相应块或细节或特征的描述。这些方法步骤中的一些或全部可以由硬件装置(或使用硬件装置)来执行,诸如举例来说,微处理器、可编程计算机或电子电路。在一些示例中,最重要方法步骤中的一些或多个可以由这样的装置来执行。

上述示例仅构成对本公开内容的原则的说明。不用说,对本文所描述的布置和细节的修改和变形对于本领域技术人员将是显而易见的。因此,本公开内容旨在仅受所附专利权利要求的保护范围的限制,而不受基于本文中示例的描述和解释来介绍的具体细节的限制。

在上文具体实施方式中可以看到的是,在示例中将不同的特征分组在一起。这种公开方式不应当被理解成旨在使所要求保护的示例要求比在相应的权利要求书中明确提及的特征更多的特征。事实上,情形是使得创造性内容可以驻留在比所公开的单独示例的所有特征少的特征中。因此,下面的权利要求应当被认为是并入到本描述中,其中,每个权利要求本身可以作为单独的示例。虽然每个权利要求本身可以作为单独的示例,但是应当注意的是,虽然从属权利要求在本权利要求书中可以指代与权利要求中的一个或多个权利要求的特定组合,但是其它示例也可以包含或包括所述从属权利要求与任何其它从属权利要求的主题的组合或者任何特征与其它从属权利要求和独立权利要求的组合。在本文中提出了这样的组合,除非明确表达不期望特定组合。此外,期望的是权利要求的特征可以包括在任何其它独立权利要求中,即使所述权利要求不是直接从属于该独立权利要求的。

应当进一步注意的是,在本描述中或在权利要求书中公开的方法可以由包括用于执行本方法的相应步骤或动作的单元的设备来实现。

此外,在一些示例中,单独的步骤/动作可以被再划分成多个子步骤或包含多个子步骤。这些子步骤可以包含在单独的步骤的公开内容中或者可以是单独的步骤的公开内容的一部分。

虽然前面的公开内容示出了本公开内容的说明性示例,但是应当注意的是,在不脱离如通过所附的权利要求书定义的公开内容的范围的情况下,可以在本文中进行各种改变和修改。根据本文所描述的本公开内容的示例的方法权利要求的功能、步骤和/或动作不需要以特定次序来执行。此外,虽然本公开内容的元素可以以单数形式来描述或要求,但是除非明确声明限制为单数形式,否则复数形式是考虑的。

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