本发明涉及无线通信技术领域,尤其涉及一种休眠控制系统及其休眠控制方法。
背景技术:
随着移动通信技术的发展,越来越多的休眠控制系统如智能手机具有双卡双通的功能,使得用户在实现语音业务的待机同时,能建立数据业务链接。休眠控制系统通常具有两个用户识别卡以及分别与所述两个用户识别卡连接的调制解调器,在两个用户识别卡全开时,一个用户识别卡(SIM1)可以使用4G(the 4th Generation Mobile Communication Technology,第四代移动通信技术),例如,LTE(Long Term Evolution,长期演进技术)网络,另一个用户识别卡(SIM2)仅能使用2G或3G网络。其中,SIM2不能上4G的原因主要是:休眠控制系统只有一套射频,两张卡使用该套射频是分时复用的关系,并不能同时占用。因此,为了使休眠控制系统中的两个用户识别卡同时支持双LTE,以提高数据传输效率,现有休眠控制系统还增设了另一个可以与SIM1互通的调制解调器,以使休眠控制系统可以支持两个用户识别卡均使用4G如LTE网络,从而实现双LTE通信功能。但为了保证数据传输的高效率,休眠控制系统的两个调制解调器一直处于运行状态,导致功耗一直居高不下,从而降低了用户体验。
技术实现要素:
本发明的主要目的在于提出一种休眠控制系统及其休眠控制方法,旨在解决支持双LTE功能的休眠控制系统功耗较高的问题。
为实现上述目的,本发明提供的一种休眠控制系统,包括移动终端、外接设备以及控制器,所述移动终端通过串口与所述外接设备连接,所述移动终端包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,所述第一调制解调器与实体用户识别卡连接,所述外接设备包括第二应用处理器和第二调制解调器;
所述控制器,用于获取所述移动终端的第一应用处理器和第二应用处理器之间的串口上的数据传输状态;若在预定时间内检测到所述数据传输状态为串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制第一应用处理器和第二应用处理器进入休眠。
可选地,所述串口为USB串口。
可选地,所述第一应用处理器和第二应用处理器通过USB串口连接。
可选地,所述第一应用处理器上具有第一时钟资源,所述第二应用处理器上具体第二时钟资源,在所述第一应用处理器和/或第二应用处理器处于工作状态时,所述USB串口占用所述第一时钟资源和/或第二时钟资源;在所述第一应用处理器和/或第二应用处理器处于休眠状态时,所述USB串口释放所述第一时钟资源和/或第二时钟资源。
可选地,所述外接设备包括无线上网卡和数据卡。
为实现上述目的,本发明还提供一种如上所述的休眠控制系统的休眠控制方法,所述休眠控制系统的休眠控制方法包括以下步骤:
获取第一应用处理器和第二应用处理器之间的串口上的数据传输状态;
若在预定时间内检测到所述数据传输状态为串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制所述第一应用处理器和第二应用处理器进入休眠。
可选地,所述获取移动终端的第一应用处理器和第二应用处理器之间的串口上的数据传输状态的步骤进一步包括:
实时或定时检测移动终端的第一应用处理器和第二应用处理器之间的USB串口上的数据传输状态。
可选地,所述实时或定时检测移动终端的第一应用处理器和第二应用处理器之间的USB串口上的数据传输状态的步骤包括:
实时或定时检测移动终端的第一应用处理器和第二应用处理器各自的USB串口驱动,并判断所述第一应用处理器和第二应用处理器各自的USB串口驱动,是否调用对应的数据收发函数接口。
可选地,所述若在预定时间内检测到所述数据传输状态为串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制第一应用处理器和第二应用处理器进入休眠的步骤包括:
若检测到所述第一应用处理器和第二应用处理器各自的USB串口驱动,均未调动对应的数据收发函数接口,则释放所述USB串口上的时钟资源;
判断第一调制解调器、第二调制解调器以及其他子子系统是否均处于休眠状态;
若是,则控制第一应用处理器和第二应用处理器进入休眠。
可选地,所述判断第一调制解调器、第二调制解调器以及其他子子系统是否均处于休眠状态的步骤之后还包括:
若否,则保持所述第一应用处理器和第二应用处理器的当前运行状态。
本发明提供的休眠控制系统及其休眠控制方法,通过设置移动终端、通过串口与所述移动终端连接的外接设备以及控制器,其中,移动终端包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,所述第一调制解调器与实体用户识别卡连接,所述外接设备包括第二应用处理器和第二调制解调器,利用控制器获取所述移动终端的第一应用处理器和第二应用处理器之间的串口上的数据传输状态,若在预定时间内检测到所述数据传输状态为串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制第一应用处理器和第二应用处理器进入休眠。这样,不仅可以实现双LTE通信功能,还可以在休眠控制系统处于串口上无数据收发如息屏等状态时,则启动休眠状态,可以极大地降低了休眠控制系统的功耗。
附图说明
图1为本发明一实施例的LTE网络架构的示意图;
图2为本发明实施例中移动终端和外接设备通讯连接的一种硬件结构示意图;
图3为本发明实施例中移动终端和外接设备通讯连接的一种实体结构图示意图;
图4为本发明休眠控制系统的休眠控制方法第一实施例的流程示意图;
图5为本发明休眠控制系统的休眠控制方法第二实施例的流程示意图;
图6为本发明休眠控制系统的休眠控制方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是本发明一实施例的LTE网络架构的示意图。本发明一实施例的LTE网络架构包括:一个或多个移动终端(user equipment,UE)100、E-UTRAN(Evolved UMTS Terrestrial Radio Access Network,演进的UMTS陆地无线接入网)(图中未标号)、演进分组核心(EPC)(图中未标号)、归属订户服务器(HSS)107、网络(例如,因特网)(图中未标号)以及电路交换系统(图中未标号)。
E-UTRAN包括演进B节点(eNodeB)101和其它eNodeB 102。eNodeB 101提供朝向移动终端100的用户面和控制面的协议终接。eNodeB 101可经由X2接口连接到其他eNodeB。eNodeB 101也可称为基站、基收发机站、无线电基站、无线电收发机、收发机功能、基本服务集、扩展服务集、或其他某个合适的术语。eNodeB 101为移动终端100提供去往EPC的接入点。
eNodeB 101通过S1接口连接到EPC。EPC包括移动管理实体(EEM)104、其他移动管理实体106、服务网关103,以及分组数据网络(PDN)网关105。移动管理实体104是处理移动终端100与EPC之间的信令的控制节点。移动管理实体104提供承载和连接管理。所有用户IP分组通过服务网关103来传递,服务网关103自身连接到PDN网关105。PDN网关105提供UE IP地址分配以及其他功能。PDN网关105连接到网络,例如,因特网。
电路交换系统包括交互解决方案模块(IWS)108、移动交换中心(MSC)109、基站110和移动站111。在一个方面,电路交换系统可以通过IWS和MME(Mobility Management Entity,移动管理实体)与EPS(Evolved Packet System,演进的分组系统)进行通信。
图2为本发明实施例中移动终端和外接设备通讯连接的一种硬件结构示意图。在本发明实施例中,移动终端100通过预设接口与外接设备200连接,移动终端100包括第一处理芯片001以及分别与所述第一处理芯片001连接的第一射频模块12和实体用户识别卡14,所述第一处理芯片001包括第一应用处理器(Application Processor)10、RPM(Resource Power Manager,资源电源管理器)13以及内嵌有虚拟用户识别卡11A的第一调制解调器11(modem1)。外接设备200包括第二处理芯片002以及与所述第二处理芯片002连接的第二射频模块22,所述第二处理芯片002包括第二应用处理器20和第二调制解调器(modem2)21,实体用户识别卡14为SIM(Subscriber Identity Module,用户识别模块)卡。
第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。
在本发明实施例中,应用处理器指Android操作系统,以及基于Android操作系统的各种apk(Android Package,安卓安装包)。第一应用处理器10和第二应用处理器20通过预设接口实现连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个应用处理器之间数据的定义与传递,例如,进行两个调制解调器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。
第一应用处理器10通过预设接口与第二应用处理器20连接,以实现移动终端100与外接设备200之间的连接。在本发明的实施例中,预设接口为USB(Universal Serial Bus,通用串行总线)。USB复用出三条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据、信令数据和SIM卡鉴权数据的交互。即第一应用处理器10和第二应用处理器20通过USB传输用户数据、信令数据和SIM卡鉴权数据。其中,用户数据包括但不限于上网产生的数据,图片和聊天信息数据;信令数据包括但不限于开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据;SIM卡鉴权数据包括但不限于IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)、Ki(key identifier,鉴权密钥)、由Ki和OP(Operator Variant Algorithm Configuration Field,运营商根密钥)计算得到的OPC和A3/A5/A8算法。
具体地,第一应用处理器10和第二应用处理器20通过OTG(On-The-Go)技术进行数据交互。通过OTG技术,移动终端100中的第一调制解调器11可通过实体用户识别卡14或虚拟用户识别卡11A中的SIM卡参数来接入eNodeB 101,第二调制解调器21可通过实体用户识别卡14或虚拟用户识别卡11A的SIM卡参数来接入eNodeB 101,SIM卡参数包括但不限于SIM卡鉴权数据。
第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含LTE/WCDMA(Wideband Code Division Multiple Access,宽带码分多址)/GSM(Global System for Mobile Communication,全球移动通信系统)/TD-SCDMA(Time Division-Synchronous Code Division Multiple Access,同步时分码分多址)/CDMA(Code Division Multiple Access,码分多址)/EDGE(Enhanced Data Rate for GSM Evolution,强型数据速率GSM演进技术)等通讯标准里边规定的协议代码。移动终端100通过协议与运营商网络进行交互,即进行数据流量上网、VOLTE(Voice Over LTE)打电话或者CS(Circuit Switched,电路交换)域打电话。第一调制解调器11和第二调制解调器21还可对SIM卡进行管控等等。
第一调制解调器11内嵌有虚拟用户识别卡11A,虚拟用户识别卡11A包括存储模块和虚拟片内操作系统(VCOS,Virtual Chip Operating System),该存储模块可为EFS(Encrypting File System,加密文件系统),存储模块用于存储虚拟用户识别卡11A的鉴权数据。
第一射频模块12用于将移动终端100传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给移动终端100。第二射频模块22用于将外接设备200传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给外接设备200。第一射频模块12和第二射频模块22所涉及的无线接入技术可以包括LTE、GSM、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA、EDGE、WLAN(Wireless Local Area Networks,无线局域网)、CDMA-2000、TD-SCDMA、WCDMA、WIFI(Wireless Fidelity,无线保真)等等。
实体用户识别卡14与第一调制解调器11连接。实体用户识别卡14和虚拟用户识别卡11A可管理与不同或相同的技术标准相关联的不同用户,用于提供移动通信业务(CS语音业务、PS数据业务和PS语音业务)所需的相关数据,并在其内部存储用户信息、短消息、执行鉴权算法和产生加密密匙等。在特定非限制性实例中,技术标准可为2G通信技术,例如,GSM、EDGE)、3G通信技术(例如,WCDMA、TD-SCDMA)、4G通信技术(例如,LTE),或任何其它移动通信技术(例如,4G等等)。
当虚拟用户识别卡11A需要进行网络注册时,通过开启的无线保真(WIFI)网络发送包含业务菜单数据的下载请求至虚拟用户识别卡11A对应的云端服务器,以从云端服务器获取虚拟用户识别卡11A的数据信息。当获取到虚拟用户识别卡11A的数据信息时,将数据信息写入虚拟用户识别卡11A的存储模块中,以实现虚拟用户识别卡11A的网络注册。其中,数据信息可以包括:IMSI、Ki(key identifier,鉴权密钥)、ICCID(Integrated Circuit Card Identifier)、PIN(个人标识号,Personal Identification Number)、PUK(PIN Unlocking Key)。可以理解的是,云端服务器中存储了各个运营商的卡号资源。
由于目前的移动终端100只有一套射频,实体用户识别卡14和虚拟用户识别卡11A使用该套射频是分时复用的关系,并不能同时占用。例如,在两张用户识别卡全开时,实体用户识别卡14只处理GSM通话,虚拟用户识别卡11A处理4G网络信息;或者,虚拟用户识别卡11A只处理4G网络信息,实体用户识别卡14处理GSM通话,即移动终端100中的两张用户识别卡分别执行不同类型的网络,具体哪张用户识别卡执行何种网络,在此不做限定。因此目前的射频双卡分时复用这种架构仅做到了LTE+GSM(即一张用户识别卡对应的技术标准为LTE,另一张用户识别卡对应的技术标准为GSM)。
也就是说,现有的移动终端100虽然可以支持双用户识别卡,但是由于移动终端100中的两张用户识别卡支持的是不同技术标准的网络,一张支持2G或3G,另一张支持4G,会使得移动终端100使用过程中,上网流量速度较慢。在本发明实施例中,移动终端100通过USB连接外接设备200,由于外接设备200包括第二调制解调器21和第二射频模块22,且第二射频模块22支持4G网络,因此,移动终端100可通过USB与外接设备200交互,从而使得移动终端100具备双LTE功能(此时虚拟用户识别卡11A和实体用户识别卡14管理的技术标准均为LTE标准,第一射频模块12和第二射频模块22所涉及的无线接入技术为LTE)。
移动终端100具备双LTE功能的实现过程可为:①实体用户识别卡14通过第二调制解调器21支持LTE,具体过程为:第一调制解调器11将实体用户识别卡14中需要访问LTE网络的数据发送给第一应用处理器10,第一应用处理器10将所接收的数据通过USB发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过LTE网络发送出去;虚拟用户识别卡11A通过第一调制解调器11支持LTE,以实现移动终端100可支持双LTE。②虚拟用户识别卡11A通过第二调制解调器21支持LTE,具体过程为:第一调制解调器11将虚拟用户识别卡11A中需要访问LTE网络的数据发送给第一应用处理器10,第一应用处理器10将所接收的数据通过USB发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过LTE网络发送出去;实体用户识别卡14通过第一调制解调器11支持LTE,以实现移动终端100可支持双LTE。
当移动终端100未通过USB与外接设备200连接时,实体用户识别卡14所对应的技术标准为GSM,用于进行语音通讯,虚拟用户识别卡11A通过第一调制解调器11支持LTE,用于通过4G网络进行数据访问。
实体用户识别卡14在与移动终端100交互时,移动终端100检测实体用户识别卡14存在与否的信号只在开机瞬时产生,当开机检测不到实体用户识别卡14存在时,移动终端100将提示“插入用户识别卡”。移动终端100开机之后,移动终端100和实体用户识别卡14之间28秒通信一次,完成一些固定的通信检查(例如,用户识别卡是否在位等)。
参照图3,图3为本发明移动终端100和外接设备200通讯连接的实体结构示意图。移动终端100通过USB 300与外接设备200通讯连接,其中,移动终端包括但不限于手机、PC(Personal Computer,个人电脑)或PAD(Personal Digital Assistant,个人数字助理),外接设备200包括但不限于无线上网卡和数据卡。需要说明的是,移动终端100通过USB 300与外接设备200连接位置并不限于图3所示,可根据具体需要来设置移动终端100通过USB 300与外接设备200的连接位置。
基于上述的LTE网络架构图、移动终端100和外接设备200的硬件结构示意图,以及实体结构示意图,提出本发明的各个实施例。
本实施例提出一种休眠控制系统,参照图2,所述数据传输系统包括移动终端100、外接设备200以及控制器(图中未示出),所述移动终端100通过串口300如USB与所述外接设备200连接,所述移动终端包括第一处理芯片001以及分别与所述第一处理芯片001连接的第一射频模块12和实体用户识别卡14,所述第一处理芯片001包括RPM13、第一应用处理器10以及内嵌有虚拟用户识别卡11A的第一调制解调器11,所述第一调制解调器11与实体用户识别卡14连接。所述外接设备200包括第二处理芯片002以及与所述第二处理芯片002连接的第二射频模块22,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21。
本实施例中,如图2所示,第一应用处理器10和第二应用处理器20之间通过USB通信,USB通信采用的是两线设计:TX(发送)和RX(接收)。为了保证双LTE的通信功能,第一应用处理器10和第二应用处理器20一直处于运行状态,当有数据需要发送时,直接调用TX的驱动接口发送数据。移动终端100的RPM13管控多个子系统,分别有第一应用处理器10,第一调制解调器11、PRONTO(WIFI\蓝牙、NFC等)、LPASS(Low power audio subsystem,低功耗音频子系统),在第一应用处理器10和第二应用处理器20处于运行状态时,USB上使用的时钟资源(clk1、clk2)一直被占用而不能释放,导致第一应用处理器10和第二应用处理器20无法进入休眠状态,虽然RPM的休眠状态是由各个子系统投票决定的,但是只要第一应用处理器10和第二应用处理器20没有休眠,应用处理器即会投反对休眠的票数,使得整个系统均无法休眠,从而导致整个移动终端100都无法休眠。这样,导致移动终端的功耗一直居高不下,从而降低了用户体验。
进一步地,所述串口包括USB串口,所述第一应用处理器10和第二应用处理器20通过USB串口连接。所述第一应用处理器10上具有第一时钟资源,所述第二应用处理器20上具体第二时钟资源,在所述第一应用处理器10和第二应用处理器20处于工作状态时,所述USB串口占用所述第一时钟资源和/或第二时钟资源;在所述第一应用处理器10和第二应用处理器20处于休眠状态时,所述USB串口释放所述第一时钟资源和/或第二时钟资源。
所述控制器用于获取移动终端100的第一应用处理器10和第二应用处理器20之间的串口上的数据传输状态,若在预定时间如500ms内检测到所述数据传输状态为USB串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制第一应用处理器10和第二应用处理器20进入休眠。
串口上是否有数据传输的具体检测机制如下:
移动终端100的各子系统将资源需求报告给RPM13,RPM13根据各子系统对资源的需求进行综合评估,确定可以关闭和打开的消耗能源的器件,并执行相应的控制即可。具体地,休眠控制系统的第一应用处理器10和第二应用处理器20之间,主要通过USB串口进行两个应用处理器之间的唤醒、状态通知以及USB通信。
通过对第一应用处理器10和第二应用处理器20之间的USB串口进行数据收发状态的检测,若在预定时间如500ms内,未检测到数据,则表明在500ms内USB串口上无数据传输,此时,可以释放USB串口上第一应用处理器10和第二应用处理器20的时钟资源(clk1和clk2),从而使得RPM13通过仲裁机制控制进入休眠状态。USB串口上的时钟是用来保持数据传输的前后同步、控制休眠唤醒过程中的时间精准以及与系统的时钟保持同步,包含在串口驱动层运行。
进一步地,第一应用处理器10和第二应用处理器20的USB串口驱动,具有控制数据收发的函数。在需要收发数据时,调用对应的函数接口即可,也即检测有无数据收发只需检测该函数接口在预定时间段内是否被调用即可。而第一应用处理器10和第二应用处理器20均会执行该检测操作,因为两个应用处理器均需要通过此检测机制来决定自身是否该进行休眠。
第一应用处理器10和第二应用处理器20之间的USB串口通过串口传输协议规定了串口休眠机制,该串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,支持自身休眠。若在预定时间如500ms内检测到无数据传输(函数接口未被调用),则调用串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,执行串口休眠即释放串口所占用的资源包括时钟资源,此时,对应的调制解调器才能进行休眠。
由于clk1对应的是第一应用处理器10的串口驱动,clk2对应的是第二应用处理器20的串口驱动,那么,clk1不释放会导致第一应用处理器10无法休眠,clk2不释放会导致第二应用处理器20无法休眠。因此,第一应用处理器10和第二应用处理器20之间的控制休眠是相互独立的,并不受对方控制,也不需要对方来投票,只要上述条件满足,则执行各自的休眠控制程序。
具体的休眠控制顺序可以为如下所述方案:
由于RPM13控制着四个子系统(应用处理器、调制解调器、PRONTO和LPASS)的资源,所有子系统在需要使用资源时,则需要向RPM13进行申请。因此,各个子系统在不需要工作时,即执行自身的休眠程序,子系统休眠后向RPM13投票说自己休眠了。当四个子系统均向RPM13投了如上的休眠票后,RPM13决策关闭主CPU,同时自身也休眠,此时整个系统进入最低功耗。也即,休眠控制系统在控制进行休眠程序时,各个模块进入休眠的先后顺序依次是:四个子系统、RPM13、CPU。可以理解的是,上述预定时间并不局限于本实施例中列举的具体数值,可以根据实际需要如休眠控制系统的形状和大小、数据卡的大小等参数而对于改变。应理解,由于第一应用程序处理器12和第二应用程序处理器22之间是相互独立的,并不受对方控制,因此,在检测第一应用程序处理器12和第二应用程序处理器22之间USB串口上的数据传输状态时,所述控制器可以为第一应用程序处理器12或第二应用程序处理器22。
其中,第一应用处理器10和第二应用处理器20均包括唤醒状态和休眠状态。
本发明通过在预定时间如500ms内监测到串口上无数据传输,则控制第一应用处理器10和第二应用处理器20进入休眠进行休眠状态。如此,不仅可以实现双LTE通信功能,还可以在休眠控制系统处于串口上无数据收发如息屏等状态时,则启动休眠状态,可以极大地降低了休眠控制系统的功耗。
本发明还提供一种如上所述的休眠控制系统的休眠控制方法,参照图4,在第一实施例中,所述休眠控制系统的休眠控制方法包括以下步骤:
步骤S1、获取第一应用处理器10和第二应用处理器20之间的串口上的数据传输状态;
本实施例中,所述数据传输系统包括移动终端100、外接设备200以及控制器(图中未示出),所述移动终端100通过串口300如USB与所述外接设备200连接,所述移动终端包括第一处理芯片001以及分别与所述第一处理芯片001连接的第一射频模块12和实体用户识别卡14,所述第一处理芯片001包括RPM13、第一应用处理器10以及内嵌有虚拟用户识别卡11A的第一调制解调器11,所述第一调制解调器11与实体用户识别卡14连接。所述外接设备200包括第二处理芯片002以及与所述第二处理芯片002连接的第二射频模块22,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21。所述串口包括USB串口,所述第一应用处理器10和第二应用处理器20通过USB串口连接。所述第一应用处理器10上具有第一时钟资源,所述第二应用处理器20上具体第二时钟资源,在所述第一应用处理器10和第二应用处理器20处于工作状态时,所述USB串口占用所述第一时钟资源和/或第二时钟资源;在所述第一应用处理器10和第二应用处理器20处于休眠状态时,所述USB串口释放所述第一时钟资源和/或第二时钟资源。
步骤S2、若在预定时间内检测到所述数据传输状态为串口上无数据传输,则释放所述串口上的时钟资源,并在满足预设条件时控制第一应用处理器10和第二应用处理器20进入休眠。
本实施例中,串口上是否有数据传输的具体检测机制如下:
移动终端100的各子系统将资源需求报告给RPM13,RPM13根据各子系统对资源的需求进行综合评估,确定可以关闭和打开的消耗能源的器件,并执行相应的控制即可。具体地,休眠控制系统的第一应用处理器10和第二应用处理器20之间,主要通过USB串口进行两个应用处理器之间的唤醒、状态通知以及USB通信。
通过对第一应用处理器10和第二应用处理器20之间的USB串口进行数据收发状态的检测,若在预定时间如500ms内,未检测到数据,则表明在500ms内USB串口上无数据传输,此时,可以释放USB串口上第一应用处理器10和第二应用处理器20的时钟资源(clk1和clk2),从而使得RPM13通过仲裁机制控制进入休眠状态。USB串口上的时钟是用来保持数据传输的前后同步、控制休眠唤醒过程中的时间精准以及与系统的时钟保持同步,包含在串口驱动层运行。
进一步地,第一应用处理器10和第二应用处理器20的USB串口驱动,具有控制数据收发的函数。在需要收发数据时,调用对应的函数接口即可,也即检测有无数据收发只需检测该函数接口在预定时间段内是否被调用即可。而第一应用处理器10和第二应用处理器20均会执行该检测操作,因为两个应用处理器均需要通过此检测机制来决定自身是否该进行休眠。
第一应用处理器10和第二应用处理器20之间的USB串口通过串口传输协议规定了串口休眠机制,该串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,支持自身休眠。若在预定时间如500ms内检测到无数据传输(函数接口未被调用),则调用串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,执行串口休眠即释放串口所占用的资源包括时钟资源,此时,对应的调制解调器才能进行休眠。
由于clk1对应的是第一应用处理器10的串口驱动,clk2对应的是第二应用处理器20的串口驱动,那么,clk1不释放会导致第一应用处理器10无法休眠,clk2不释放会导致第二应用处理器20无法休眠。因此,第一应用处理器10和第二应用处理器20之间的控制休眠是相互独立的,并不受对方控制,也不需要对方来投票,只要上述条件满足,则执行各自的休眠控制程序。
具体的休眠控制顺序可以为如下所述方案:
由于RPM13控制着四个子系统(应用处理器、调制解调器、PRONTO和LPASS)的资源,所有子系统在需要使用资源时,则需要向RPM13进行申请。因此,各个子系统在不需要工作时,即执行自身的休眠程序,子系统休眠后向RPM13投票说自己休眠了。当四个子系统均向RPM13投了如上的休眠票后,RPM13决策关闭主CPU,同时自身也休眠,此时整个系统进入最低功耗。也即,休眠控制系统在控制进行休眠程序时,各个模块进入休眠的先后顺序依次是:四个子系统、RPM13、CPU。可以理解的是,上述预定时间并不局限于本实施例中列举的具体数值,可以根据实际需要如休眠控制系统的形状和大小、数据卡的大小等参数而对于改变。应理解,由于第一应用程序处理器12和第二应用程序处理器22之间是相互独立的,并不受对方控制,因此,在检测第一应用程序处理器12和第二应用程序处理器22之间USB串口上的数据传输状态时,所述控制器可以为第一应用程序处理器12或第二应用程序处理器22。
本发明通过在预定时间如500ms内监测到串口上无数据传输,则控制第一应用处理器10和第二应用处理器20进入休眠进行休眠状态。如此,不仅可以实现双LTE通信功能,还可以在休眠控制系统处于串口上无数据收发如息屏等状态时,则启动休眠状态,可以极大地降低了休眠控制系统的功耗。
在第二实施例中,参照图5,在所述第一实施例的基础上,所述步骤S1进一步包括:
实时或定时检测第一应用处理器10和第二应用处理器20之间的USB串口上的数据传输状态。
参照图5,该步骤进一步包括:
步骤S11、实时或定时检测第一应用处理器10和第二应用处理器20各自的USB串口驱动;
步骤S12、判断所述第一应用处理器10和第二应用处理器20各自的USB串口驱动,是否调用对应的数据收发函数接口。
本实施例中,为了降低休眠控制系统的功耗,可以根据第一应用处理器10和第二应用处理器20的工作状态,来确定是否需要控制第一应用处理器10和第二应用处理器20进入休眠模式。由于第一应用处理器10和第二应用处理器20之间通过USB串口连接,因此,可以通过定时或实时检测第一应用处理器10和第二应用处理器20之间的USB串口上的数据传输状态来确定是否休眠。
第一应用处理器10和第二应用处理器20的USB串口驱动,具有控制数据收发的函数。在需要收发数据时,调用对应的函数接口即可,也即检测有无数据收发只需检测该函数接口在预定时间段内是否被调用即可。而第一应用处理器10和第二应用处理器20均会执行该检测操作,因为两个调制解调器均需要通过此检测机制来决定自身是否该进行休眠。
在第三实施例中,参照图6,在所述第二实施例的基础上,所述步骤S2进一步包括:
步骤S21、若检测到所述第一应用处理器10和第二应用处理器20各自的USB串口驱动,均未调动对应的数据收发函数接口,则释放所述USB串口上的时钟资源;
本实施例中,第一应用处理器10和第二应用处理器20之间的USB串口通过串口传输协议规定了串口休眠机制,该串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,支持自身休眠。若在预定时间如500ms内检测到无数据传输(函数接口未被调用),则调用串口传输协议自带的休眠函数如USB_POWER_DOWN()函数,执行串口休眠即释放串口所占用的资源包括时钟资源,此时,对应的应用处理器才能进行休眠。
由于clk1对应的是第一应用处理器10的串口驱动,clk2对应的是第二应用处理器20的串口驱动,那么,clk1不释放会导致第一应用处理器10无法休眠,clk2不释放会导致第二应用处理器20无法休眠。因此,第一应用处理器10和第二应用处理器20之间的控制休眠是相互独立的,并不受对方控制,也不需要对方来投票,只要上述条件满足,则执行各自的休眠控制程序。
步骤S22、判断第一调制解调器、第二调制解调器以及其他子子系统是否均处于休眠状态;
本实施例中,在检测到USB串口上无数据传输时,时钟资源clk1和clk2释放,此时,是控制第一应用处理器10和第二应用处理器20进入休眠的必要条件,只有在第一调制解调器11、第二调制解调器21以及其他子系统如PRONTO和LPASS等均休眠,且后台无数据下载等情况下,所述第一应用处理器10和第二应用处理器20才会完全进入休眠状态。因此,本实施例中,主要针对的是第一调制解调器11、第二调制解调器21以及其他子系统均休眠,且后台无数据下载等情况下,仅考虑USB串口上是否有数据传输来控制第一应用处理器10和第二应用处理器20是否休眠的方案。
步骤S23、若是,则控制第一应用处理器和第二应用处理器进入休眠。
步骤S24、若否,则保持所述第一应用处理器和第二应用处理器的当前运行状态。
本实施例中,在USB串口上的时钟资源已经释放,第一调制解调器11、第二调制解调器21以及其他子子系统等均已休眠,且后台无数据下载等情况下,则可以控制第一应用处理器10和第二应用处理器20进入休眠;反之,即使在USB串口上的时钟资源已经释放,但第一调制解调器11、第二调制解调器21以及其他子子系统等却未休眠,或后台仍有数据下载时,则可以控制第一应用处理器10和第二应用处理器20保持当前的运行状态。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。