发明内容
为此,需要提供一种通信模块的总线传输速率控制方案,解决现有通信模块功耗控制投入成本高或者效果不理想的问题,实现简单、低成本的通信模块功耗控制。
为实现上述目的,发明人提供了一种通信模块的总线传输速率控制方法,包括如下步骤:
获取***通信需求速率或者通信模块的网络连接速率,
算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率,
设置与通信模块连接的总线的传输速率为上述算出的总线传输速率。
进一步地,所述方法具体包括如下步骤:
获取***通信需求速率和通信模块的网络连接速率,
算出满足***通信需求速率和通信模块的网络连接速率的总线传输速率,
设置与通信模块连接的总线的传输速率为上述算出值较小的总线传输速率。
进一步地,所述“算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率”包括:算出与***通信需求速率或者通信模块的网络连接速率相等的总线传输速率。
进一步地,设置总线传输速率具体包括设置总线接口时钟速率。
进一步地,所述通信模块为WiFi模块,所述总线为SDIO接口总线。
基于上述方法,发明人还提供一种通信模块的总线传输速率控制装置,包括如下模块:
速率信息获取模块:用于获取***通信需求速率或者通信模块的网络连接速率,
总线速率计算模块:用于算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率,
总线速率设置模块:用于设置与通信模块连接的总线的传输速率为上述算出的总线传输速率。
进一步地,速率信息获取模块:还用于获取***通信需求速率和通信模块的网络连接速率,
总线速率计算模块:还用于算出满足***通信需求速率和通信模块的网络连接速率的总线传输速率,
总线速率设置模块:还用于设置与通信模块连接的总线的传输速率为上述算出值较小的总线传输速率。
进一步地,总线速率计算模块用于算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率具体包括:用于算出与***通信需求速率或者通信模块的网络连接速率相等的总线传输速率。
进一步地,总线速率设置模块用于设置总线传输速率具体包括用于设置总线接口时钟速率。
进一步地,所述通信模块为WiFi模块,所述总线为SDIO接口总线。
区别于现有技术,上述技术方案根据不同的网络使用情况,动态控制总线的速率,在不影响用户使用的情况下,减小了设备在总线上的功耗,提高移动设备的待机续航能力,提升了用户体验,同时使用本方案成本低。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例提供了一种通信模块的总线传输速率控制方法,本方法可以应用于电子设备上,如手机、平板和笔记本电脑等,这些电子设备一般具有用于与其他设备进行通信的通信模块,包括但不限于无线网络模块、手机通信模块、蓝牙模块等。电子设备一般还具有用于对数据进行处理的处理模块,如CPU等。为了实现数据的快速交换,处理模块会通过总线与通信模块进行连接,而后通信模块会将与其他设备通信的数据通过总线发送给处理模块,处理模块的数据也可以通过总线发送到通信模块后由通信模块再发送到其他设备。本实施例中的电子设备在进行通信时,为了达到节省功耗的目的,首先进入步骤S101:获取***通信需求速率。***即电子设备上安装的操作***,***上可以运行有多个应用软件,每个运行的应用都可能有通信需求。具体地,这些通信需求应该要与通信模块相适应,如通信模块是无线网络模块,则***的通信需求即为网络通信需求,或者在通信模块是蓝牙模块时,则***的通信需求即为蓝牙数据通信需求。速率即为单位时间内传输的数据量,如10Mbit/S等,包括发送的速率和接收的速率,应该以速率大的为准。对于不同的应用软件,则它们的通信需求是不一样的,如通信模块是无线网络模块时,在线影音软件具有较大网络通信需求而在线聊天软件具有较小的通信需求。电子设备可以通过对***运行的应用软件类型进行统计来获取***通信需求速率,或者通过对***运行的应用软件通信状态的统计来获取***的通信需求速率,通过对通信状态进行统计具体地可以通过如下步骤:在一预设时间内,获取***运行的应用软件所需的最高通信速率,并以最高通信速率为***通信需求速率。
而后电子设备可以进入步骤S102算出满足***通信需求速率的总线传输速率。满足***通信需求速率即保证***通信需求不会受到影响,一般算出与通信模块连接的总线传输速率略大于***通信需求速率即可,在某些实施例中,可以是大于一个预设的比例,如大于***通信需求速率5%;或者可以是大于的部分为一个预设的速率,如大于***通信需求速率10Kbit/S,这个可以根据实际情况进行选择。又或者在某些实施例中,为了简化计算过程,算出的总线传输速率直接等于***通信需求速率,因为***工作在***通信需求速率这一状态的时间一般不会很长,大多数情况下的***通信需求不会受到影响,不会给用户带来明显的不良影响,却能大大地简化计算过程。
总线传输速率计算出来后,可以进入步骤S103设置与通信模块连接的总线的传输速率为上述算出的总线传输速率,相对越来越多的串行总线,在设置总线传输速率时,可以通过设置总线接口时钟速率来达到设置总线传输速率的目的。由于大多数时候,电子设备的***通信需求速率是低的,则本方法可以大大降低与通信模块连接的总线的传输速率,则减少了电子设备在总线上的功耗,当电子设备时移动设备时,则可以提高电子设备的续航时间。本方法只需要在软件上做出修改即可,成本低,效果好。
相对于越来越普及的无线网络通信(WiFi),本实施例将结合图2与上述方法进行进一步说明。如图2所示,具有一电子设备200,电子设备具有处理模块210和通信模块即WiFi模块211,WiFi模块211通过SDIO接口总线与处理模块210内的SDIO控制器220连接,同时WiFi模块211与外部的无线接入点1(802.11n)进行通信连接。处理模块210内的带宽需求模块223用于对***运行的应用类型进行判断并获取***通信需求速率(或者每秒的带宽需求),如***需要进行在线视频或者同屏投射(WiFi display)等应用,此时处理模块210需要利用WiFi模块211与无线接入点1进行大量的数据吞吐,电子设备可以通过获取网络视频的格式、帧率,或者同屏投射的画质要求信息,计算出***通信需求速率。而后再通过动态时钟计算模块221算得满足***通信需求速率的SDIO接口总线的时钟频率,而后根据带宽需求动态调整SDIO接口的时钟频率,从而满足当前带宽要求,从而保证SDIO接口不会成为性能瓶颈。具体地,可以通过锁相环时钟产生模块222产生所需求的频率的SDIO接口的时钟频率,并将该时钟频率送往SDIO控制器220用于提供SDIO控制器与WiFi模块之间通信所用。
本方法也可以通过获取通信模块的网络连接速率来调整总线的传输速率,具体地,本方法首先在步骤S101获取通信模块的网络连接速率。网络连接速率即通信模块当前所连接的网络模式下所能达到的最高通信速率。通信模块在与不同设备进行通信连接时,在不同的网络连接模式下,会具有不同的网络连接速率。如通信模块是WiFi模块时,在802.11a、802.11b、80211.g或者802.11n等不同的网络连接模式下,分别具有54Mbps、11Mbps、20Mbps以及300Mbps等不同的网络连接速率。又如通信模块是手机通信模块时,在连接不同的网络(如2G、3G或4G网络)时,也具有不同的网络连接速率。在某些实施例中,通信模块在不同的信号强度,也具有不同的网络连接速率,则可以通过获取通信模块的信号强度来获取网络连接速率。
而后本方法可以进入步骤S102算出满足通信模块网络连接速率的总线传输速率。本实施例在具体对总线传输速率的计算上可以与上述实施例一样,即满足***通信需求速率即保证***通信需求不会受到影响即可。同样地,为了简化计算过程,算出的总线传输速率可以直接等于网络连接速率。
总线传输速率计算出来后,可以进入步骤S103设置与通信模块连接的总线的传输速率为上述算出的总线传输速率,即设置为满足通信模块网络连接速率的总线传输速率。通过本实施例的设置,在通信模块连接的网络模式为较低的网络连接速度时,可以降低与通信模块连接的总线的传输速率,从而减少了电子设备在总线上的功耗,当电子设备时移动设备时,则可以提高电子设备的续航时间。本方法只需要在软件上做出修改即可,成本低,效果好。
相对于越来越普及的无线网络通信(WiFi),本实施例将结合图3与上述方法进行进一步说明。图3中具有四个无线接入点(1-4),对应的网络模式分别是802.11a、802.11b、80211.g和802.11n。当电子设备200与无线接入点2连接时,其连接的是使用802.11b的连接模式,那么它最高支持的物理层速率是11Mbps,也就意味这WiFi模块211与无线接入点2通信的最高速率只有11Mbps,此时通信模块的网络连接速率为11Mbps。又如当电子设备200的WiFi模块211与无线接入点1连接时,获取到无线接入点1的连接模式处于802.11a,其物理层最大连接速率54Mbps,即通信模块的网络连接速率为54Mbps。具体地,处理模块210可以通过WiFi驱动程序来获取WiFi模块211的网络连接模式而后来获取网络连接速率。获取完毕后,动态时钟计算模块221算得满足***通信需求速率的SDIO接口总线的时钟频率。具体地,可以通过锁相环时钟产生模块222产生所需求的频率的SDIO接口的时钟频率,如网络连接速率为54Mbps时,由于SDIO接口总线使用4根数据线,则将网络连接速率除于4即可得到SDIO接口时钟速率,即为13.5Mhz;在网络连接速率为11Mbps时,SDIO接口时钟速率只需要2.57MHz即可满足要求。然后动态时钟计算模块221再将算得的时钟频率送往锁相环时钟产生模块222,锁相环时钟产生模块222产生所需求的SDIO接口时钟频率,该SDIO接口时钟频率用于提供SDIO控制器与WiFi模块之间通信所用。当WiFi模块211从无线接入点1切换到无线接入点2时,处理模块可以检测到这一变化并根据网络连接速率降低总线传输速率,达到了降低电子设备总线功耗的目的。
上述实施例中分别通过获取***通信需求速率或者通过获取通信模块的网络连接速率来调整总线的传输速率,在某些实施例中,为了达到更好的效果,可以同时获取***通信需求速率和通信模块的网络连接速率来调整总线的传输速率。而后分别计算出满足***通信需求速率和通信模块的网络连接速率的总线传输速率,最后再设置与通信模块连接的总线的传输速率为上述算出值较小的总线传输速率。即以***通信需求速率和通信模块的网络连接速率中值较小的一个为准,同样地,在计算***通信需求时应当计算与通信模块对应的***通信需求。
进一步地,在多数情况下,***通信需求速率一般低于网络连接速率,从而总线传输速率是以***通信需求速率计算得出的。在具体应用过程中,***通信需求速率可能发生改变,为了实现总线传输速率的动态调整,本方法还可以包括如下步骤:每间隔一个预设时间进行判断是否在一预设时间段内总线都工作,如果是则提高总线传输速率,否则不进行操作。如总线速率降低为10Mbyte/s后,每间隔1分钟判断一下总线在接下来的10S时间内是否一直处于工作状态,如果是,则说明总线需求繁忙,可能不能满足当前***通信需求,通过提高总线传输速率可以更好地满足***通信需求,从而可以提高用户的体验。
基于上述方法,发明人还提供一种通信模块的总线传输速率控制装置400,包括有通信模块,还包括如下模块:
速率信息获取模块401:用于获取***通信需求速率或者通信模块的网络连接速率,
总线速率计算模块402:用于算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率,
总线速率设置模块403:用于设置与通信模块连接的总线的传输速率为上述算出的总线传输速率。本发明的装置400通过获取***通信需求速率或者通信模块的网络连接速率,根据不同的***通信需求速率或者通信模块的网络连接速率,对总线传输速率进行调整,可避免总线长时间处于高频工作状态,从而降低了设备总线的功耗。
进一步地,速率信息获取模块401:还用于获取***通信需求速率和通信模块的网络连接速率,
总线速率计算模块402:还用于算出满足***通信需求速率和通信模块的网络连接速率的总线传输速率,
总线速率设置模块403:还用于设置与通信模块连接的总线的传输速率为上述算出值较小的总线传输速率。本发明的装置400通过同时获取***通信需求速率和通信模块的网络连接速率,根据较小的***通信需求速率或者通信模块的网络连接速率,对总线传输速率进行调整,可在大部分时间内进一步降低总线的工作频率,从而降低了设备总线的功耗。
上述实施例中,总线速率计算模块用于算出满足***通信需求速率或者通信模块的网络连接速率的总线传输速率具体包括:用于算出与***通信需求速率或者通信模块的网络连接速率相等的总线传输速率。这样可以减少计算总线传输速率的计算量。对于串行总线,总线速率设置模块在设置总线传输速率可以通过设置总线接口时钟速率来实现。
相对于越来越普及的WiFi通信,本装置可以应用于WiFi通信,具体地,通信模块为WiFi模块,连接通信模块的总线为SDIO接口总线。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。