本發(fā)明涉及無線通信技術領域,尤其涉及一種休眠控制系統(tǒng)及其休眠控制方法。
背景技術:
隨著移動通信技術的發(fā)展,越來越多的休眠控制系統(tǒng)如智能手機具有雙卡雙通的功能,使得用戶在實現語音業(yè)務的待機同時,能建立數據業(yè)務鏈接。休眠控制系統(tǒng)通常具有兩個用戶識別卡以及分別與所述兩個用戶識別卡連接的調制解調器,在兩個用戶識別卡全開時,一個用戶識別卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術),例如,lte(longtermevolution,長期演進技術)網絡,另一個用戶識別卡(sim2)僅能使用2g或3g網絡。其中,sim2不能上4g的原因主要是:休眠控制系統(tǒng)只有一套射頻,兩張卡使用該套射頻是分時復用的關系,并不能同時占用。因此,為了使休眠控制系統(tǒng)中的兩個用戶識別卡同時支持雙lte,以提高數據傳輸效率,現有休眠控制系統(tǒng)還增設了另一個可以與sim1互通的調制解調器,以使休眠控制系統(tǒng)可以支持兩個用戶識別卡均使用4g如lte網絡,從而實現雙lte通信功能。但為了保證數據傳輸的高效率,休眠控制系統(tǒng)的兩個調制解調器一直處于運行狀態(tài),導致功耗一直居高不下,從而降低了用戶體驗。
技術實現要素:
本發(fā)明的主要目的在于提出一種休眠控制系統(tǒng)及其休眠控制方法,旨在解決支持雙lte功能的休眠控制系統(tǒng)功耗較高的問題。
為實現上述目的,本發(fā)明提供的一種休眠控制系統(tǒng),包括移動終端、外接設備以及控制器,所述移動終端通過串口與所述外接設備連接,所述移動終端包括第一調制解調器、內嵌有虛擬用戶識別卡的第一應用處理器,所述第一調制解調器與實體用戶識別卡連接,所述外接設備包括第二應用處理器和第二調制解調器;
所述控制器,用于獲取所述移動終端的第一應用處理器和第二應用處理器之間的串口上的數據傳輸狀態(tài);若在預定時間內檢測到所述數據傳輸狀態(tài)為串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制第一應用處理器和第二應用處理器進入休眠。
可選地,所述串口為usb串口。
可選地,所述第一應用處理器和第二應用處理器通過usb串口連接。
可選地,所述第一應用處理器上具有第一時鐘資源,所述第二應用處理器上具體第二時鐘資源,在所述第一應用處理器和/或第二應用處理器處于工作狀態(tài)時,所述usb串口占用所述第一時鐘資源和/或第二時鐘資源;在所述第一應用處理器和/或第二應用處理器處于休眠狀態(tài)時,所述usb串口釋放所述第一時鐘資源和/或第二時鐘資源。
可選地,所述外接設備包括無線上網卡和數據卡。
為實現上述目的,本發(fā)明還提供一種如上所述的休眠控制系統(tǒng)的休眠控制方法,所述休眠控制系統(tǒng)的休眠控制方法包括以下步驟:
獲取第一應用處理器和第二應用處理器之間的串口上的數據傳輸狀態(tài);
若在預定時間內檢測到所述數據傳輸狀態(tài)為串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制所述第一應用處理器和第二應用處理器進入休眠。
可選地,所述獲取移動終端的第一應用處理器和第二應用處理器之間的串口上的數據傳輸狀態(tài)的步驟進一步包括:
實時或定時檢測移動終端的第一應用處理器和第二應用處理器之間的usb串口上的數據傳輸狀態(tài)。
可選地,所述實時或定時檢測移動終端的第一應用處理器和第二應用處理器之間的usb串口上的數據傳輸狀態(tài)的步驟包括:
實時或定時檢測移動終端的第一應用處理器和第二應用處理器各自的usb串口驅動,并判斷所述第一應用處理器和第二應用處理器各自的usb串口驅動,是否調用對應的數據收發(fā)函數接口。
可選地,所述若在預定時間內檢測到所述數據傳輸狀態(tài)為串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制第一應用處理器和第二應用處理器進入休眠的步驟包括:
若檢測到所述第一應用處理器和第二應用處理器各自的usb串口驅動,均未調動對應的數據收發(fā)函數接口,則釋放所述usb串口上的時鐘資源;
判斷第一調制解調器、第二調制解調器以及其他子子系統(tǒng)是否均處于休眠狀態(tài);
若是,則控制第一應用處理器和第二應用處理器進入休眠。
可選地,所述判斷第一調制解調器、第二調制解調器以及其他子子系統(tǒng)是否均處于休眠狀態(tài)的步驟之后還包括:
若否,則保持所述第一應用處理器和第二應用處理器的當前運行狀態(tài)。
本發(fā)明提供的休眠控制系統(tǒng)及其休眠控制方法,通過設置移動終端、通過串口與所述移動終端連接的外接設備以及控制器,其中,移動終端包括第一調制解調器、內嵌有虛擬用戶識別卡的第一應用處理器,所述第一調制解調器與實體用戶識別卡連接,所述外接設備包括第二應用處理器和第二調制解調器,利用控制器獲取所述移動終端的第一應用處理器和第二應用處理器之間的串口上的數據傳輸狀態(tài),若在預定時間內檢測到所述數據傳輸狀態(tài)為串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制第一應用處理器和第二應用處理器進入休眠。這樣,不僅可以實現雙lte通信功能,還可以在休眠控制系統(tǒng)處于串口上無數據收發(fā)如息屏等狀態(tài)時,則啟動休眠狀態(tài),可以極大地降低了休眠控制系統(tǒng)的功耗。
附圖說明
圖1為本發(fā)明一實施例的lte網絡架構的示意圖;
圖2為本發(fā)明實施例中移動終端和外接設備通訊連接的一種硬件結構示意圖;
圖3為本發(fā)明實施例中移動終端和外接設備通訊連接的一種實體結構圖示意圖;
圖4為本發(fā)明休眠控制系統(tǒng)的休眠控制方法第一實施例的流程示意圖;
圖5為本發(fā)明休眠控制系統(tǒng)的休眠控制方法第二實施例的流程示意圖;
圖6為本發(fā)明休眠控制系統(tǒng)的休眠控制方法第三實施例的流程示意圖。
本發(fā)明目的的實現、功能特點及優(yōu)點將結合實施例,參照附圖做說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是本發(fā)明一實施例的lte網絡架構的示意圖。本發(fā)明一實施例的lte網絡架構包括:一個或多個移動終端(userequipment,ue)100、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進的umts陸地無線接入網)(圖中未標號)、演進分組核心(epc)(圖中未標號)、歸屬訂戶服務器(hss)107、網絡(例如,因特網)(圖中未標號)以及電路交換系統(tǒng)(圖中未標號)。
e-utran包括演進b節(jié)點(enodeb)101和其它enodeb102。enodeb101提供朝向移動終端100的用戶面和控制面的協(xié)議終接。enodeb101可經由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發(fā)機站、無線電基站、無線電收發(fā)機、收發(fā)機功能、基本服務集、擴展服務集、或其他某個合適的術語。enodeb101為移動終端100提供去往epc的接入點。
enodeb101通過s1接口連接到epc。epc包括移動管理實體(eem)104、其他移動管理實體106、服務網關103,以及分組數據網絡(pdn)網關105。移動管理實體104是處理移動終端100與epc之間的信令的控制節(jié)點。移動管理實體104提供承載和連接管理。所有用戶ip分組通過服務網關103來傳遞,服務網關103自身連接到pdn網關105。pdn網關105提供ueip地址分配以及其他功能。pdn網關105連接到網絡,例如,因特網。
電路交換系統(tǒng)包括交互解決方案模塊(iws)108、移動交換中心(msc)109、基站110和移動站111。在一個方面,電路交換系統(tǒng)可以通過iws和mme(mobilitymanagemententity,移動管理實體)與eps(evolvedpacketsystem,演進的分組系統(tǒng))進行通信。
圖2為本發(fā)明實施例中移動終端和外接設備通訊連接的一種硬件結構示意圖。在本發(fā)明實施例中,移動終端100通過串口與外接設備200連接,移動終端100包括第一處理芯片001以及分別與第一處理芯片001連接的第一射頻模塊12、實體用戶識別卡14,其中,所述第一處理芯片001包括第一應用處理器(applicationprocessor)10、第一調制解調器11(modem1)和rpm(resourcepowermanager,資源電源管理器)13。外接設備200包括第二處理芯片002以及與所述第二處理芯片002連接的第二射頻模塊22,所述第二處理芯片002包括第二應用處理器20和第二調制解調器(modem2)21,實體用戶識別卡14為sim(subscriberidentitymodule,用戶識別模塊)卡。
第一應用處理器10和第二應用處理器20的內部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務分配等。第一應用處理器10內嵌有虛擬用戶識別卡10a,虛擬用戶識別卡10a包括存儲模塊和虛擬片內操作系統(tǒng)(vcos,virtualchipoperatingsystem),該存儲模塊可為efs(encryptingfilesystem,加密文件系統(tǒng)),存儲模塊用于存儲虛擬用戶識別卡10a的鑒權數據。
在本發(fā)明實施例中,應用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。第一應用處理器10和第二應用處理器20通過串口如usb實現連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關啟動視頻通話的操作指令)傳輸給第一調制解調器11或第二調制解調器21,以實現兩個應用處理器之間數據的定義與傳遞,例如,進行兩個調制解調器的休眠、喚醒、同步的控制、開關機時芯片啟動順序的控制等。
在本發(fā)明的實施例中,串口為usb(universalserialbus,通用串行總線)。usb復用出三條數據通道,分別用于第一應用處理器10和第二應用處理器20之間用戶數據、信令數據和sim卡鑒權數據的交互。即第一應用處理器10和第二應用處理器20通過usb傳輸用戶數據、信令數據和sim卡鑒權數據。其中,用戶數據包括但不限于上網產生的數據,圖片和聊天信息數據;信令數據包括但不限于開關機的控制數據,開關飛行模式的控制數據,顯示狀態(tài)信號的控制數據;sim卡鑒權數據包括但不限于imsi(internationalmobilesubscriberidentificationnumber,國際移動用戶識別碼)、ki(keyidentifier,鑒權密鑰)、由ki和op(operatorvariantalgorithmconfigurationfield,運營商根密鑰)計算得到的opc和a3/a5/a8算法。
具體地,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術進行數據交互。通過otg技術,移動終端100中的第一調制解調器11可通過實體用戶識別卡14或虛擬用戶識別卡10a中的sim卡參數來接入enodeb101,第二調制解調器21可通過虛擬用戶識別卡10a或實體用戶識別卡14的sim卡參數來接入enodeb101,sim卡參數包括但不限于sim卡鑒權數據。
第一調制解調器11和第二調制解調器21包含各種網絡交互的網絡制式的協(xié)議棧,協(xié)議棧包含lte/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數據速率gsm演進技術)等通訊標準里邊規(guī)定的協(xié)議代碼。移動終端100通過協(xié)議與運營商網絡進行交互,即進行數據流量上網、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調制解調器11和第二調制解調器21還可對sim卡進行管控等等。
第一射頻模塊12用于將移動終端100傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給移動終端100。第二射頻模塊22用于將外接設備200傳輸的數據處理后傳給enodeb101(基站網絡),以及用于將enodeb101傳輸的數據處理后傳給外接設備200。第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術可以包括lte、gsm、gprs(generalpacketradioservice,通用分組無線服務)、cdma、edge、wlan(wirelesslocalareanetworks,無線局域網)、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,無線保真)等等。
實體用戶識別卡14與第一調制解調器11連接,虛擬用戶識別卡10a以軟件的形式嵌在第一應用處理器10中。實體用戶識別卡14和虛擬用戶識別卡10a可管理與不同或相同的技術標準相關聯的不同用戶,用于提供移動通信業(yè)務(cs語音業(yè)務、ps數據業(yè)務和ps語音業(yè)務)所需的相關數據,并在其內部存儲用戶信息、短消息、執(zhí)行鑒權算法和產生加密密匙等。在特定非限制性實例中,技術標準可為2g通信技術,例如,gsm、edge)、3g通信技術(例如,wcdma、td-scdma)、4g通信技術(例如,lte),或任何其它移動通信技術(例如,4g等等)。
當虛擬用戶識別卡10a需要進行網絡注冊時,通過開啟的無線保真(wifi)網絡發(fā)送包含業(yè)務菜單數據的下載請求至虛擬用戶識別卡10a對應的云端服務器,以從云端服務器獲取虛擬用戶識別卡10a的數據信息。當獲取到虛擬用戶識別卡10a的數據信息時,將數據信息寫入虛擬用戶識別卡10a的存儲模塊中,以實現虛擬用戶識別卡10a的網絡注冊。其中,數據信息可以包括:imsi、ki(keyidentifier,鑒權密鑰)、iccid(integratedcircuitcardidentifier)、pin(個人標識號,personalidentificationnumber)、puk(pinunlockingkey)。可以理解的是,云端服務器中存儲了各個運營商的卡號資源。
由于目前的移動終端100只有一套射頻,實體用戶識別卡14和虛擬用戶識別卡10a使用該套射頻是分時復用的關系,并不能同時占用。例如,在兩張用戶識別卡全開時,實體用戶識別卡14只處理gsm通話,虛擬用戶識別卡10a處理4g網絡信息;或者,虛擬用戶識別卡10a只處理4g網絡信息,實體用戶識別卡14處理gsm通話,即移動終端100中的兩個用戶識別卡分別執(zhí)行不同類型的網絡,具體哪個用戶識別卡執(zhí)行何種網絡,在此不做限定。因此目前的射頻雙卡分時復用這種架構僅做到了lte+gsm(即一張用戶識別卡對應的技術標準為lte,另一張用戶識別卡對應的技術標準為gsm)。
也就是說,現有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網絡的情況下,兩個用戶識別卡支持的是不同技術標準的網絡,一個支持2g或3g,另一個支持4g,會使得移動終端100使用過程中,上網流量速度較慢。在本發(fā)明實施例中,移動終端100通過usb連接外接設備200,由于外接設備200包括第二調制解調器21和第二射頻模塊22,且第二射頻模塊22支持4g網絡,因此,移動終端100可通過usb與外接設備200交互,從而使得移動終端100具備雙lte功能(此時虛擬用戶識別卡10a和實體用戶識別卡14管理的技術標準均為lte標準,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術為lte)。
移動終端100具備雙lte功能的實現過程可為:①實體用戶識別卡14通過第二調制解調器21支持lte,具體過程為:第一調制解調器11將實體用戶識別卡14中需要訪問lte網絡的數據發(fā)送給第一應用處理器10,第一應用處理器10將所接收的數據通過usb發(fā)送給外接設備200的第二應用處理器20,第二應用處理器20將所接收的數據發(fā)送給第二調制解調器21,由第二調制解調器21轉發(fā)給第二射頻模塊22,第二射頻模塊22將所接收的數據通過lte網絡發(fā)送出去;而虛擬用戶識別卡10a通過第一調制解調器11支持lte,以實現移動終端100可支持雙lte。②虛擬用戶識別卡10a通過第二調制解調器21支持lte,具體過程為:第一應用處理器10將虛擬用戶識別卡10a中需要訪問lte網絡的數據通過usb發(fā)送給外接設備200的第二應用處理器20,第二應用處理器20將所接收的數據發(fā)送給第二調制解調器21,由第二調制解調器21轉發(fā)給第二射頻模塊22,第二射頻模塊22將所接收的數據通過lte網絡發(fā)送出去;而實體用戶識別卡14通過第一調制解調器11支持lte,以實現移動終端100可支持雙lte。
當移動終端100未通過usb與外接設備200連接時,實體用戶識別卡14所對應的技術標準為gsm,用于進行語音通訊,虛擬用戶識別卡10a通過第一調制解調器11支持lte,用于通過4g網絡進行數據訪問。
實體用戶識別卡14在與移動終端100交互時,移動終端100檢測實體用戶識別卡14存在與否的信號只在開機瞬時產生,當開機檢測不到實體用戶識別卡14存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和實體用戶識別卡14之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
參照圖3,圖3為本發(fā)明移動終端100和外接設備200通訊連接的實體結構示意圖。移動終端100通過usb300與外接設備200通訊連接,其中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數字助理),外接設備200包括但不限于無線上網卡和數據卡。需要說明的是,移動終端100通過usb300與外接設備200連接位置并不限于圖3所示,可根據具體需要來設置移動終端100通過usb300與外接設備200的連接位置。
基于上述的lte網絡架構圖、移動終端100和外接設備200的硬件結構示意圖,以及實體結構示意圖,提出本發(fā)明的各個實施例。
本實施例提出一種休眠控制系統(tǒng),參照圖2,所述數據傳輸系統(tǒng)包括移動終端100、外接設備200以及控制器(圖中未示出),所述移動終端100通過串口300如usb與所述外接設備200連接,所述移動終端100包括第一處理芯片001以及分別與第一處理芯片001連接的第一射頻模塊12、實體用戶識別卡14,其中,所述第一處理芯片001包括rpm13、第一調制解調器11和內嵌有虛擬用戶識別卡10a的第一應用處理器10,所述第一調制解調器11與實體用戶識別卡14連接。所述外接設備200包括第二處理芯片002以及與所述第二處理芯片002連接的第二射頻模塊22,所述第二處理芯片002包括第二應用處理器20和第二調制解調器21。
本實施例中,如圖2所示,第一應用處理器10和第二應用處理器20之間通過usb通信,usb通信采用的是兩線設計:tx(發(fā)送)和rx(接收)。為了保證雙lte的通信功能,第一應用處理器10和第二應用處理器20一直處于運行狀態(tài),當有數據需要發(fā)送時,直接調用tx的驅動接口發(fā)送數據。移動終端100的rpm13管控多個子系統(tǒng),分別有第一應用處理器10,第一調制解調器11、pronto(wifi\藍牙、nfc等)、lpass(lowpoweraudiosubsystem,低功耗音頻子系統(tǒng)),在第一應用處理器10和第二應用處理器20處于運行狀態(tài)時,usb上使用的時鐘資源(clk1、clk2)一直被占用而不能釋放,導致第一應用處理器10和第二應用處理器20無法進入休眠狀態(tài),雖然rpm的休眠狀態(tài)是由各個子系統(tǒng)投票決定的,但是只要第一應用處理器10和第二應用處理器20沒有休眠,應用處理器即會投反對休眠的票數,使得整個系統(tǒng)均無法休眠,從而導致整個移動終端100都無法休眠。這樣,導致移動終端的功耗一直居高不下,從而降低了用戶體驗。
進一步地,所述串口包括usb串口,所述第一應用處理器10和第二應用處理器20通過usb串口連接。所述第一應用處理器10上具有第一時鐘資源,所述第二應用處理器20上具體第二時鐘資源,在所述第一應用處理器10和第二應用處理器20處于工作狀態(tài)時,所述usb串口占用所述第一時鐘資源和/或第二時鐘資源;在所述第一應用處理器10和第二應用處理器20處于休眠狀態(tài)時,所述usb串口釋放所述第一時鐘資源和/或第二時鐘資源。
所述控制器用于獲取移動終端100的第一應用處理器10和第二應用處理器20之間的串口上的數據傳輸狀態(tài),若在預定時間如500ms內檢測到所述數據傳輸狀態(tài)為usb串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制第一應用處理器10和第二應用處理器20進入休眠。
串口上是否有數據傳輸的具體檢測機制如下:
移動終端100的各子系統(tǒng)將資源需求報告給rpm13,rpm13根據各子系統(tǒng)對資源的需求進行綜合評估,確定可以關閉和打開的消耗能源的器件,并執(zhí)行相應的控制即可。具體地,休眠控制系統(tǒng)的第一應用處理器10和第二應用處理器20之間,主要通過usb串口進行兩個應用處理器之間的喚醒、狀態(tài)通知以及usb通信。
通過對第一應用處理器10和第二應用處理器20之間的usb串口進行數據收發(fā)狀態(tài)的檢測,若在預定時間如500ms內,未檢測到數據,則表明在500ms內usb串口上無數據傳輸,此時,可以釋放usb串口上第一應用處理器10和第二應用處理器20的時鐘資源(clk1和clk2),從而使得rpm13通過仲裁機制控制進入休眠狀態(tài)。usb串口上的時鐘是用來保持數據傳輸的前后同步、控制休眠喚醒過程中的時間精準以及與系統(tǒng)的時鐘保持同步,包含在串口驅動層運行。
進一步地,第一應用處理器10和第二應用處理器20的usb串口驅動,具有控制數據收發(fā)的函數。在需要收發(fā)數據時,調用對應的函數接口即可,也即檢測有無數據收發(fā)只需檢測該函數接口在預定時間段內是否被調用即可。而第一應用處理器10和第二應用處理器20均會執(zhí)行該檢測操作,因為兩個應用處理器均需要通過此檢測機制來決定自身是否該進行休眠。
第一應用處理器10和第二應用處理器20之間的usb串口通過串口傳輸協(xié)議規(guī)定了串口休眠機制,該串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,支持自身休眠。若在預定時間如500ms內檢測到無數據傳輸(函數接口未被調用),則調用串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,執(zhí)行串口休眠即釋放串口所占用的資源包括時鐘資源,此時,對應的調制解調器才能進行休眠。
由于clk1對應的是第一應用處理器10的串口驅動,clk2對應的是第二應用處理器20的串口驅動,那么,clk1不釋放會導致第一應用處理器10無法休眠,clk2不釋放會導致第二應用處理器20無法休眠。因此,第一應用處理器10和第二應用處理器20之間的控制休眠是相互獨立的,并不受對方控制,也不需要對方來投票,只要上述條件滿足,則執(zhí)行各自的休眠控制程序。
具體的休眠控制順序可以為如下所述方案:
由于rpm13控制著四個子系統(tǒng)(應用處理器、調制解調器、pronto和lpass)的資源,所有子系統(tǒng)在需要使用資源時,則需要向rpm13進行申請。因此,各個子系統(tǒng)在不需要工作時,即執(zhí)行自身的休眠程序,子系統(tǒng)休眠后向rpm13投票說自己休眠了。當四個子系統(tǒng)均向rpm13投了如上的休眠票后,rpm13決策關閉主cpu,同時自身也休眠,此時整個系統(tǒng)進入最低功耗。也即,休眠控制系統(tǒng)在控制進行休眠程序時,各個模塊進入休眠的先后順序依次是:四個子系統(tǒng)、rpm13、cpu??梢岳斫獾氖牵鲜鲱A定時間并不局限于本實施例中列舉的具體數值,可以根據實際需要如休眠控制系統(tǒng)的形狀和大小、數據卡的大小等參數而對于改變。應理解,由于第一應用程序處理器12和第二應用程序處理器22之間是相互獨立的,并不受對方控制,因此,在檢測第一應用程序處理器12和第二應用程序處理器22之間usb串口上的數據傳輸狀態(tài)時,所述控制器可以為第一應用程序處理器12或第二應用程序處理器22。
其中,第一應用處理器10和第二應用處理器20均包括喚醒狀態(tài)和休眠狀態(tài)。
本發(fā)明通過在預定時間如500ms內監(jiān)測到串口上無數據傳輸,則控制第一應用處理器10和第二應用處理器20進入休眠進行休眠狀態(tài)。如此,不僅可以實現雙lte通信功能,還可以在休眠控制系統(tǒng)處于串口上無數據收發(fā)如息屏等狀態(tài)時,則啟動休眠狀態(tài),可以極大地降低了休眠控制系統(tǒng)的功耗。
本發(fā)明還提供一種如上所述的休眠控制系統(tǒng)的休眠控制方法,參照圖4,在第一實施例中,所述休眠控制系統(tǒng)的休眠控制方法包括以下步驟:
步驟s1、獲取第一應用處理器10和第二應用處理器20之間的串口上的數據傳輸狀態(tài);
本實施例中,所述數據傳輸系統(tǒng)包括移動終端100、外接設備200以及控制器(圖中未示出),所述移動終端100通過串口300如usb與所述外接設備200連接,所述移動終端100包括第一處理芯片001以及分別與第一處理芯片001連接的第一射頻模塊12、實體用戶識別卡14,其中,所述第一處理芯片001包括rpm13、第一調制解調器11和內嵌有虛擬用戶識別卡10a的第一應用處理器10,所述第一調制解調器11與實體用戶識別卡14連接。所述外接設備200包括第二處理芯片002以及與所述第二處理芯片002連接的第二射頻模塊22,所述第二處理芯片002包括第二應用處理器20和第二調制解調器21。所述串口包括usb串口,所述第一應用處理器10和第二應用處理器20通過usb串口連接。所述第一應用處理器10上具有第一時鐘資源,所述第二應用處理器20上具體第二時鐘資源,在所述第一應用處理器10和第二應用處理器20處于工作狀態(tài)時,所述usb串口占用所述第一時鐘資源和/或第二時鐘資源;在所述第一應用處理器10和第二應用處理器20處于休眠狀態(tài)時,所述usb串口釋放所述第一時鐘資源和/或第二時鐘資源。
步驟s2、若在預定時間內檢測到所述數據傳輸狀態(tài)為串口上無數據傳輸,則釋放所述串口上的時鐘資源,并在滿足預設條件時控制第一應用處理器10和第二應用處理器20進入休眠。
本實施例中,串口上是否有數據傳輸的具體檢測機制如下:
移動終端100的各子系統(tǒng)將資源需求報告給rpm13,rpm13根據各子系統(tǒng)對資源的需求進行綜合評估,確定可以關閉和打開的消耗能源的器件,并執(zhí)行相應的控制即可。具體地,休眠控制系統(tǒng)的第一應用處理器10和第二應用處理器20之間,主要通過usb串口進行兩個應用處理器之間的喚醒、狀態(tài)通知以及usb通信。
通過對第一應用處理器10和第二應用處理器20之間的usb串口進行數據收發(fā)狀態(tài)的檢測,若在預定時間如500ms內,未檢測到數據,則表明在500ms內usb串口上無數據傳輸,此時,可以釋放usb串口上第一應用處理器10和第二應用處理器20的時鐘資源(clk1和clk2),從而使得rpm13通過仲裁機制控制進入休眠狀態(tài)。usb串口上的時鐘是用來保持數據傳輸的前后同步、控制休眠喚醒過程中的時間精準以及與系統(tǒng)的時鐘保持同步,包含在串口驅動層運行。
進一步地,第一應用處理器10和第二應用處理器20的usb串口驅動,具有控制數據收發(fā)的函數。在需要收發(fā)數據時,調用對應的函數接口即可,也即檢測有無數據收發(fā)只需檢測該函數接口在預定時間段內是否被調用即可。而第一應用處理器10和第二應用處理器20均會執(zhí)行該檢測操作,因為兩個應用處理器均需要通過此檢測機制來決定自身是否該進行休眠。
第一應用處理器10和第二應用處理器20之間的usb串口通過串口傳輸協(xié)議規(guī)定了串口休眠機制,該串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,支持自身休眠。若在預定時間如500ms內檢測到無數據傳輸(函數接口未被調用),則調用串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,執(zhí)行串口休眠即釋放串口所占用的資源包括時鐘資源,此時,對應的調制解調器才能進行休眠。
由于clk1對應的是第一應用處理器10的串口驅動,clk2對應的是第二應用處理器20的串口驅動,那么,clk1不釋放會導致第一應用處理器10無法休眠,clk2不釋放會導致第二應用處理器20無法休眠。因此,第一應用處理器10和第二應用處理器20之間的控制休眠是相互獨立的,并不受對方控制,也不需要對方來投票,只要上述條件滿足,則執(zhí)行各自的休眠控制程序。
具體的休眠控制順序可以為如下所述方案:
由于rpm13控制著四個子系統(tǒng)(應用處理器、調制解調器、pronto和lpass)的資源,所有子系統(tǒng)在需要使用資源時,則需要向rpm13進行申請。因此,各個子系統(tǒng)在不需要工作時,即執(zhí)行自身的休眠程序,子系統(tǒng)休眠后向rpm13投票說自己休眠了。當四個子系統(tǒng)均向rpm13投了如上的休眠票后,rpm13決策關閉主cpu,同時自身也休眠,此時整個系統(tǒng)進入最低功耗。也即,休眠控制系統(tǒng)在控制進行休眠程序時,各個模塊進入休眠的先后順序依次是:四個子系統(tǒng)、rpm13、cpu。應理解,由于第一應用程序處理器12和第二應用程序處理器22之間是相互獨立的,并不受對方控制,因此,在檢測第一應用程序處理器12和第二應用程序處理器22之間usb串口上的數據傳輸狀態(tài)時,所述控制器可以為第一應用程序處理器12或第二應用程序處理器22。
其中,第一應用處理器10和第二應用處理器20均包括喚醒狀態(tài)和休眠狀態(tài)。
本發(fā)明通過在預定時間如500ms內監(jiān)測到串口上無數據傳輸,則控制第一應用處理器10和第二應用處理器20進入休眠進行休眠狀態(tài)。如此,不僅可以實現雙lte通信功能,還可以在休眠控制系統(tǒng)處于串口上無數據收發(fā)如息屏等狀態(tài)時,則啟動休眠狀態(tài),可以極大地降低了休眠控制系統(tǒng)的功耗。
在第二實施例中,參照圖5,在所述第一實施例的基礎上,所述步驟s1進一步包括:
實時或定時檢測第一應用處理器10和第二應用處理器20之間的usb串口上的數據傳輸狀態(tài)。
參照圖5,該步驟進一步包括:
步驟s11、實時或定時檢測第一應用處理器10和第二應用處理器20各自的usb串口驅動;
步驟s12、判斷所述第一應用處理器10和第二應用處理器20各自的usb串口驅動,是否調用對應的數據收發(fā)函數接口。
本實施例中,為了降低休眠控制系統(tǒng)的功耗,可以根據第一應用處理器10和第二應用處理器20的工作狀態(tài),來確定是否需要控制第一應用處理器10和第二應用處理器20進入休眠模式。由于第一應用處理器10和第二應用處理器20之間通過usb串口連接,因此,可以通過定時或實時檢測第一應用處理器10和第二應用處理器20之間的usb串口上的數據傳輸狀態(tài)來確定是否休眠。
第一應用處理器10和第二應用處理器20的usb串口驅動,具有控制數據收發(fā)的函數。在需要收發(fā)數據時,調用對應的函數接口即可,也即檢測有無數據收發(fā)只需檢測該函數接口在預定時間段內是否被調用即可。而第一應用處理器10和第二應用處理器20均會執(zhí)行該檢測操作,因為兩個調制解調器均需要通過此檢測機制來決定自身是否該進行休眠。
在第三實施例中,參照圖6,在所述第二實施例的基礎上,所述步驟s2進一步包括:
步驟s21、若檢測到所述第一應用處理器10和第二應用處理器20各自的usb串口驅動,均未調動對應的數據收發(fā)函數接口,則釋放所述usb串口上的時鐘資源;
本實施例中,第一應用處理器10和第二應用處理器20之間的usb串口通過串口傳輸協(xié)議規(guī)定了串口休眠機制,該串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,支持自身休眠。若在預定時間如500ms內檢測到無數據傳輸(函數接口未被調用),則調用串口傳輸協(xié)議自帶的休眠函數如usb_power_down()函數,執(zhí)行串口休眠即釋放串口所占用的資源包括時鐘資源,此時,對應的應用處理器才能進行休眠。
由于clk1對應的是第一應用處理器10的串口驅動,clk2對應的是第二應用處理器20的串口驅動,那么,clk1不釋放會導致第一應用處理器10無法休眠,clk2不釋放會導致第二應用處理器20無法休眠。因此,第一應用處理器10和第二應用處理器20之間的控制休眠是相互獨立的,并不受對方控制,也不需要對方來投票,只要上述條件滿足,則執(zhí)行各自的休眠控制程序。
步驟s22、判斷第一調制解調器、第二調制解調器以及其他子子系統(tǒng)是否均處于休眠狀態(tài);
本實施例中,在檢測到usb串口上無數據傳輸時,時鐘資源clk1和clk2釋放,此時,是控制第一應用處理器10和第二應用處理器20進入休眠的必要條件,只有在第一調制解調器11、第二調制解調器21以及其他子系統(tǒng)如pronto和lpass等均休眠,且后臺無數據下載等情況下,所述第一應用處理器10和第二應用處理器20才會完全進入休眠狀態(tài)。因此,本實施例中,主要針對的是第一調制解調器11、第二調制解調器21以及其他子系統(tǒng)均休眠,且后臺無數據下載等情況下,僅考慮usb串口上是否有數據傳輸來控制第一應用處理器10和第二應用處理器20是否休眠的方案。
步驟s23、若是,則控制第一應用處理器和第二應用處理器進入休眠。
步驟s24、若否,則保持所述第一應用處理器和第二應用處理器的當前運行狀態(tài)。
本實施例中,在usb串口上的時鐘資源已經釋放,第一調制解調器11、第二調制解調器21以及其他子子系統(tǒng)等均已休眠,且后臺無數據下載等情況下,則可以控制第一應用處理器10和第二應用處理器20進入休眠;反之,即使在usb串口上的時鐘資源已經釋放,但第一調制解調器11、第二調制解調器21以及其他子子系統(tǒng)等卻未休眠,或后臺仍有數據下載時,則可以控制第一應用處理器10和第二應用處理器20保持當前的運行狀態(tài)。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其它相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。