本發(fā)明涉及通信技術(shù)領域,尤其涉及一種數(shù)據(jù)傳輸系統(tǒng)及方法。
背景技術(shù):
隨著移動通信技術(shù)的發(fā)展,越來越多的移動終端如智能手機具有雙卡雙通的功能,使得用戶在實現(xiàn)語音業(yè)務的待機同時,能建立數(shù)據(jù)業(yè)務鏈接?,F(xiàn)有的移動終端可以實現(xiàn)兩張sim(subscriberidentitymodule,用戶身份識別卡)卡同時上網(wǎng),但是如果一張sim卡上4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術(shù)),如lte(longtermevolution,長期演進技術(shù)),另一張卡只能上3g(3rdgeneration,第三代移動通信技術(shù))的網(wǎng)絡或者2g(2-generationwirelesstelephonetechnology,第二代手機通信技術(shù)規(guī)格),即兩張sim卡不能同時使用4g網(wǎng)絡。由于移動終端中的兩張卡全開時,只有一張卡以使用4g網(wǎng)絡,另一張卡只能使用2g或3g網(wǎng)絡,導致移動終端中數(shù)據(jù)傳輸?shù)男瘦^低。若兩張sim卡要同時使用4g網(wǎng)絡,需要兩個調(diào)制解調(diào)器,而移動終端中只有一個調(diào)制解調(diào)器。
因此,為了使移動終端中的兩張sim卡同時支持雙lte,以提高數(shù)據(jù)傳輸效率,移動終端可與外接設備連接(該外接設備中設置有調(diào)制解調(diào)器),以使移動終端的兩張sim卡對應不同的調(diào)制解調(diào)器,從而實現(xiàn)雙lte通信功能。
但是,目前移動終端和外接設備進行數(shù)據(jù)包傳輸過程中,如果外接設備向移動終端傳輸數(shù)據(jù)包的速度太快,移動終端會將外接設備發(fā)送的多個數(shù)據(jù)包識別為一個數(shù)據(jù)包,導致移動終端和外接設備之間數(shù)據(jù)交互出現(xiàn)識別錯誤的情況。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種數(shù)據(jù)傳輸系統(tǒng)及方法,旨在解決移動終端通過外接設備實現(xiàn)雙lte通信過程中,移動終端和外接設備之間數(shù)據(jù)交互出現(xiàn)識別錯誤的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)包括移動終端和外接設備,所述移動終端通過預設接口與所述外接設備連接,所述移動終端包括第一應用處理器、第一射頻模塊和與第一用戶識別卡連接的第一調(diào)制解調(diào)器,所述外接設備包括第二應用處理器、第二射頻模塊和與第二用戶識別卡連接的第二調(diào)制解調(diào)器;
所述第二應用處理器,用于當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)后偵測到數(shù)據(jù)發(fā)送指令時,檢測所述預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包;
所述第二應用處理器還用于若所述預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,通過所述預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的所述第一應用處理器。
可選地,所述第二應用處理器還用于當處于休眠狀態(tài)接收到第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給所述第一應用處理器,從休眠狀態(tài)進入第一發(fā)送狀態(tài);
所述第二應用處理器還用于當在第二預設時間內(nèi)接收到所述第一應用處理器反饋的與所述第一握手關鍵字對應的第二握手關鍵字時,根據(jù)所述第二握手關鍵字從所述第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
可選地,所述第一應用處理器,用于當處于休眠狀態(tài)接收到所述第二應用處理器發(fā)送的所述第一握手關鍵字時,檢測所述第一握手關鍵字是否是殘包;
所述第一應用處理器還用于若所述第一握手關鍵字不是殘包,則進入第二發(fā)送狀態(tài),并反饋所述第二握手關鍵字給所述第二應用處理器;
所述第一應用處理器還用于當反饋所述第二握手關鍵字給所述第二應用處理器后,從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
可選地,所述第二應用處理器還用于若在所述第二預設時間內(nèi)未接收到所述第二握手關鍵字,則重新發(fā)送所述第一握手關鍵字給所述第一應用處理器;
所述第二應用處理器還用于若在重新發(fā)送所述第一握手關鍵字給所述第一應用處理器后,在所述第二預設時間內(nèi)還未接收到所述第二握手關鍵字,則進入休眠狀態(tài)。
可選地,所述第一應用處理器還用于當處于喚醒狀態(tài)接收到所述待發(fā)送數(shù)據(jù)包時,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求;
所述第一應用處理器還用于若在所述第三預設時間內(nèi)未接收到所述第二數(shù)據(jù)交互請求,則從喚醒狀態(tài)進入休眠狀態(tài)。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法應用于移動終端以及通過預設接口與所述移動終端連接的外接設備,所述移動終端包括第一應用處理器、第一射頻模塊和與第一用戶識別卡連接的第一調(diào)制解調(diào)器,所述外接設備包括第二應用處理器、第二射頻模塊和與第二用戶識別卡連接的第二調(diào)制解調(diào)器;
當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的所述第二應用處理器偵測到數(shù)據(jù)發(fā)送指令時,檢測所述預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包;
若所述預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,所述第二應用處理器通過所述預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的所述第一應用處理器。
可選地,所述當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的所述第二應用處理器偵測到數(shù)據(jù)發(fā)送指令時,檢測所述預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包的步驟之前,還包括:
當處于休眠狀態(tài)的所述第二應用處理器接收到第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給所述第一應用處理器,所述第二應用處理器從休眠狀態(tài)進入第一發(fā)送狀態(tài);
當在第二預設時間內(nèi)接收到所述第一應用處理器反饋的與所述第一握手關鍵字對應的第二握手關鍵字時,所述第二應用處理器根據(jù)所述第二握手關鍵字從所述第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
可選地,所述數(shù)據(jù)傳輸方法還包括:
當處于休眠狀態(tài)的所述第一應用處理器接收到所述第二應用處理器發(fā)送的所述第一握手關鍵字時,所述第一應用處理器檢測所述第一握手關鍵字是否是殘包;
若所述第一握手關鍵字不是殘包,則所述第一應用處理器進入第二發(fā)送狀態(tài),并反饋所述第二握手關鍵字給所述第二應用處理器;
當反饋所述第二握手關鍵字給所述第二應用處理器后,所述第一應用處理器從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
可選地,所述當處于所述休眠狀態(tài)的所述第二應用處理器接收到第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給所述第一應用處理器,所述第二應用處理器從休眠狀態(tài)進入第一發(fā)送狀態(tài)的步驟之后,還包括:
若所述第二應用處理器在所述第二預設時間內(nèi)未接收到所述第二握手關鍵字,則重新發(fā)送所述第一握手關鍵字給所述第一應用處理器;
若在重新發(fā)送所述第一握手關鍵字給所述第一應用處理器后,所述第二應用處理器在所述第二預設時間內(nèi)還未接收到所述第二握手關鍵字,則進入休眠狀態(tài)。
可選地,所述若所述預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,所述第二應用處理器通過所述預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的所述第一應用處理器的步驟之后,還包括:
當處于喚醒狀態(tài)的所述第一應用處理器接收到所述待發(fā)送數(shù)據(jù)包時,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求;
若在所述第三預設時間內(nèi)未接收到所述第二數(shù)據(jù)交互請求,所述第一應用處理器則從喚醒狀態(tài)進入休眠狀態(tài)。
本發(fā)明提供一種數(shù)據(jù)傳輸系統(tǒng)及方法,所述數(shù)據(jù)傳輸方法應用于移動終端以及通過預設接口與所述移動終端連接的外接設備,所述移動終端包括第一應用處理器、第一射頻模塊和與第一用戶識別卡連接的第一調(diào)制解調(diào)器,所述外接設備包括第二應用處理器、第二射頻模塊和與第二用戶識別卡連接的第二調(diào)制解調(diào)器;當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的所述第二應用處理器偵測到數(shù)據(jù)發(fā)送指令時,檢測所述預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包;若所述預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,所述第二應用處理器通過所述預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的所述第一應用處理器。實現(xiàn)了移動終端通過外接設備實現(xiàn)雙lte通信過程中,當預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,只有在經(jīng)過第一預設時間后,第二應用處理器才發(fā)送待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器。避免了移動終端和外接設備在數(shù)據(jù)包傳輸過程中,如果外接設備向移動終端傳輸數(shù)據(jù)包的速度太快,移動終端會將外接設備發(fā)送的多個數(shù)據(jù)包識別為一個數(shù)據(jù)包的情況出現(xiàn),提高了移動終端識別外接設備所發(fā)送的數(shù)據(jù)包的準確率。
附圖說明
圖1為本發(fā)明一實施例的lte網(wǎng)絡架構(gòu)的示意圖;
圖2為本發(fā)明實施例中移動終端和外接設備通訊連接的一種硬件結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例中移動終端和外接設備通訊連接的一種實體結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例中第一應用處理器和第二應用處理器從休眠狀態(tài)進入喚醒狀態(tài)的第一種示意圖;
圖5為本發(fā)明實施例中第一應用處理器和第二應用處理器從休眠狀態(tài)進入喚醒狀態(tài)的第二種示意圖;
圖6為本發(fā)明實施例中第一應用處理器和第二應用處理器從喚醒狀態(tài)進入休眠狀態(tài)的一種示意圖;
圖7為本發(fā)明數(shù)據(jù)傳輸方法第一實施例的流程示意圖;
圖8為本發(fā)明數(shù)據(jù)傳輸方法第二實施例的流程示意圖;
圖9為本發(fā)明數(shù)據(jù)傳輸方法第三實施例的流程示意圖;
圖10為本發(fā)明數(shù)據(jù)傳輸方法第四實施例的流程示意圖;
圖11為本發(fā)明數(shù)據(jù)傳輸方法第五實施例的流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
圖1是本發(fā)明一實施例的lte網(wǎng)絡架構(gòu)的示意圖。本發(fā)明一實施例的lte網(wǎng)絡架構(gòu)包括:一個或多個移動終端(userequipment,ue)100、e-utran(evolvedumtsterrestrialradioaccessnetwork,演進的umts陸地無線接入網(wǎng))(圖中未標號)、演進分組核心(epc)(圖中未標號)、歸屬訂戶服務器(hss)107、網(wǎng)絡(例如,因特網(wǎng))(圖中未標號)以及電路交換系統(tǒng)(圖中未標號)。
e-utran包括演進b節(jié)點(enodeb)101和其它enodeb102。enodeb101提供朝向移動終端100的用戶面和控制面的協(xié)議終接。enodeb101可經(jīng)由x2接口連接到其他enodeb。enodeb101也可稱為基站、基收發(fā)機站、無線電基站、無線電收發(fā)機、收發(fā)機功能、基本服務集、擴展服務集、或其他某個合適的術(shù)語。enodeb101為移動終端100提供去往epc的接入點。
enodeb101通過s1接口連接到epc。epc包括移動管理實體(eem)104、其他移動管理實體106、服務網(wǎng)關103,以及分組數(shù)據(jù)網(wǎng)絡(pdn)網(wǎng)關105。移動管理實體104是處理移動終端100與epc之間的信令的控制節(jié)點。移動管理實體104提供承載和連接管理。所有用戶ip分組通過服務網(wǎng)關103來傳遞,服務網(wǎng)關103自身連接到pdn網(wǎng)關105。pdn網(wǎng)關105提供ueip地址分配以及其他功能。pdn網(wǎng)關105連接到網(wǎng)絡,例如,因特網(wǎng)。
電路交換系統(tǒng)包括交互解決方案模塊(iws)108、移動交換中心(msc)109、基站110和移動站111。在一個方面,電路交換系統(tǒng)可以通過iws和mme(mobilitymanagemententity,移動管理實體)與eps(evolvedpacketsystem,演進的分組系統(tǒng))進行通信。
圖2為本發(fā)明實施例中移動終端和外接設備通訊連接的一種硬件結(jié)構(gòu)示意圖。在本發(fā)明實施例中,移動終端100通過預設接口與外接設備200連接。移動終端100包括第一處理芯片001和與第一處理芯片001連接的第一射頻模塊12。其中,第一處理芯片001包括第一應用處理器(applicationprocessor)10、與第一用戶識別卡13連接的第一調(diào)制解調(diào)器11(modem1)、rpm(resourcepowermanager,資源電源管理器)15和第一計時器16。外接設備200包括第二處理芯片002和與第二處理芯片002連接的第二射頻模塊22。其中,第二處理芯片002包括第二應用處理器20、與第二用戶識別卡23連接的第二調(diào)制解調(diào)器(modem2)21、以及第二計時器26。第一用戶識別卡13和第二用戶識別卡23為sim卡。
第一應用處理器10和第二應用處理器20的內(nèi)部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務分配等。在本發(fā)明實施例中,應用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。第一應用處理器10和第二應用處理器20通過預設接口實現(xiàn)連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關啟動視頻通話的操作指令)傳輸給第一調(diào)制解調(diào)器11或第二調(diào)制解調(diào)器21,以實現(xiàn)兩個處理器之間數(shù)據(jù)的定義與傳遞,例如,進行兩個應用處理器的休眠、喚醒、同步的控制、開關機時芯片啟動順序的控制等。
第一應用處理器10通過預設接口與第二應用處理器20連接,以實現(xiàn)移動終端100與外接設備200之間的連接。在本發(fā)明實施例中,預設接口為usb(universalserialbus,通用串行總線)。usb復用出兩條數(shù)據(jù)通道,分別用于第一應用處理器10和第二應用處理器20之間用戶數(shù)據(jù)和信令數(shù)據(jù)的交互。即第一應用處理器10和第二應用處理器20通過usb傳輸用戶數(shù)據(jù)和信令數(shù)據(jù)。其中,用戶數(shù)據(jù)包括但不限于上網(wǎng)產(chǎn)生的數(shù)據(jù),圖片和聊天信息數(shù)據(jù);信令數(shù)據(jù)包括但不限于開關機的控制數(shù)據(jù),開關飛行模式的控制數(shù)據(jù),顯示狀態(tài)信號的控制數(shù)據(jù)。在本發(fā)明實施例中,由于第一調(diào)制解調(diào)器11連接有第一用戶識別卡13,第二調(diào)制解調(diào)器21連接有第二用戶識別卡23,因此,usb不傳輸sim卡鑒權(quán)數(shù)據(jù)。
具體地,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術(shù)進行數(shù)據(jù)交互。通過otg技術(shù),移動終端100中的第一調(diào)制解調(diào)器11可通過第一用戶識別卡13中的sim卡參數(shù)來接入enodeb101,第二調(diào)制解調(diào)器21可通過第二用戶識別卡23的sim卡參數(shù)來接入enodeb101,sim卡參數(shù)包括但不限于sim卡鑒權(quán)數(shù)據(jù)。
第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21包含各種網(wǎng)絡交互的網(wǎng)絡制式的協(xié)議棧,協(xié)議棧包含lte/wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)/gsm(globalsystemformobilecommunication,全球移動通信系統(tǒng))/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步時分碼分多址)/cdma(codedivisionmultipleaccess,碼分多址)/edge(enhanceddatarateforgsmevolution,強型數(shù)據(jù)速率gsm演進技術(shù))等通訊標準里邊規(guī)定的協(xié)議代碼。移動終端100通過協(xié)議與運營商網(wǎng)絡進行交互,即進行數(shù)據(jù)流量上網(wǎng)、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21還用于對sim卡的管控等等。
第一射頻模塊12用于將移動終端100傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給移動終端100。第二射頻模塊22用于將外接設備200傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給外接設備200。
第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)可以包括lte、gsm、gprs(generalpacketradioservice,通用分組無線服務)、cdma、edge、wlan(wirelesslocalareanetworks,無線局域網(wǎng))、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,無線保真)等等。
第一用戶識別卡13與第一調(diào)制解調(diào)器11連接,第二用戶識別卡23與第二調(diào)制解調(diào)器21連接。第一用戶識別卡13和第二用戶識別卡23可存儲與不同或相同的技術(shù)標準相關聯(lián)的用戶信息,用于提供移動通信業(yè)務(cs語音業(yè)務、ps數(shù)據(jù)業(yè)務和ps語音業(yè)務)所需的相關數(shù)據(jù),并在其內(nèi)部存儲用戶信息、短消息、執(zhí)行鑒權(quán)算法和產(chǎn)生加密密匙等。在特定非限制性實例中,技術(shù)標準可為2g通信技術(shù),例如,gsm、edge)、3g通信技術(shù)(例如,wcdma、td-scdma)、4g通信技術(shù)(例如,lte),或任何其它移動通信技術(shù)(例如,4g等等)。
需要說明的是,目前的移動終端100只有一套射頻模塊,當移動終端100內(nèi)部有兩張用戶識別卡時,這兩張用戶識別卡使用該套射頻模塊是分時復用的關系,并不能同時占用。例如,在兩張用戶識別卡全開時,其中一張用戶識別卡只處理gsm通話,而另一張用戶識別卡處理4g網(wǎng)絡信息,具體哪張用戶識別卡執(zhí)行何種網(wǎng)絡,在此不做限定。因此目前的射頻模塊雙卡分時復用這種架構(gòu)僅做到了lte+gsm(即一張用戶識別卡對應的技術(shù)標準為lte,另一張用戶識別卡對應的技術(shù)標準為gsm)。
可以理解的是,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網(wǎng)絡的情況下,兩張用戶識別卡支持的是不同技術(shù)標準的網(wǎng)絡,一張支持2g或3g,另一張支持4g,會使得移動終端100使用過程中,上網(wǎng)流量速度較慢。在本發(fā)明實施例中,移動終端100通過usb連接外接設備200,由于外接設備200包括與第二用戶識別卡23連接的第二調(diào)制解調(diào)器21和第二射頻模塊22,且第二射頻模塊22支持4g網(wǎng)絡。因此,移動終端100可通過usb與外接設備200交互,從而使得移動終端100具備雙lte功能(此時第一用戶識別卡13和第二用戶識別卡23管理的技術(shù)標準均為lte標準,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術(shù)為lte,即第一用戶識別卡13可通過移動終端100中的第一調(diào)制解調(diào)器11支持lte,而第二用戶識別卡23通過外接設備中的第二調(diào)制解調(diào)器21支持lte)。
當移動終端100未通過usb與外接設備200連接時,第一用戶識別卡13所對應的技術(shù)標準為gsm,用于進行語音通訊,或者通過第一調(diào)制解調(diào)器11支持lte用于通過4g網(wǎng)絡進行數(shù)據(jù)訪問。
第一用戶識別卡13在與移動終端100交互時,移動終端100檢測第一用戶識別卡13存在與否的信號只在開機瞬時產(chǎn)生,當開機檢測不到第一用戶識別卡13存在時,移動終端100將提示“插入用戶識別卡”。移動終端100開機之后,移動終端100和第一用戶識別卡13之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
需要說明的是,由于移動終端100的第一調(diào)制解調(diào)器11與第一用戶識別卡13連接,而外接設備200的第二調(diào)制解調(diào)器21與第二用戶識別卡23連接,因此,第一調(diào)制解調(diào)器11和第二調(diào)制解調(diào)器21相互獨立,第二調(diào)制解調(diào)器21不喚醒第一調(diào)制解調(diào)器11。
rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內(nèi)存分配),以及管理芯片的休眠喚醒的中斷和應用處理器喚醒的截止時間。移動終端100的各個子系統(tǒng),在需要資源時,向rpm15申請資源,各個子系統(tǒng)分別包括第一應用處理器10,第一調(diào)制解調(diào)器11、pronto(wifi/藍牙、nfc(nearfieldcommunication,近場通信)等)、lpass(lowpoweraudiosubsystem,低功耗音頻子系統(tǒng)),rpm15用來決定移動終端100系統(tǒng)的休眠狀態(tài),具體是,rpm15基于各個子系統(tǒng)的投票機制實現(xiàn),當各個子系統(tǒng)都投休眠票時,rpm15才可以使移動終端100整個系統(tǒng)進行休眠。而當移動終端100有一個子或者多個子系統(tǒng)投反對休眠的票,移動終端100整個系統(tǒng)都無法休眠。
在移動終端100和外接設備200通過usb通訊連接的情況下,喚醒方式可為以下三種:
1、第一應用處理器10接收到信令數(shù)據(jù)時,通過usb發(fā)送握手關鍵字給第二應用處理器20,以喚醒第二應用處理器20。
2、第二調(diào)制解調(diào)器21接收到用戶數(shù)據(jù)時,喚醒第二應用處理器20,由第二應用處理器20通過usb傳送握手關鍵字給第一應用處理器10,以喚醒第一應用處理器10。
3、第二調(diào)制解調(diào)器21周期性查找尋呼請求,以主動激活自己。若接收到尋呼請求,第二調(diào)制解調(diào)器21則喚醒第二應用處理器20,由第二應用處理器20通過usb發(fā)送握手關鍵字給第一應用處理器10,以喚醒第二應用處理器20。
此外,第二調(diào)制解調(diào)器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應用處理器10。
第一計時器16和第二計時器26用于在移動終端100和外接設備200交互過程中時間的計算,以控制第一應用處理器10、第一調(diào)制解調(diào)器11、第二應用處理器20和/或第二調(diào)制解調(diào)器21在一定時間內(nèi)從睡眠狀態(tài)進入喚醒狀態(tài),以及控制第一應用處理器10、第一調(diào)制解調(diào)器11、第二應用處理器20和/或第二調(diào)制解調(diào)器21在一定時間內(nèi)從喚醒狀態(tài)進入睡眠狀態(tài)。在本發(fā)明實施例中,移動終端100和外接設備200中計時器的個數(shù)可為一個,也可為多個。
參照圖3,圖3為本發(fā)明移動終端100和外接設備200通訊連接的實體結(jié)構(gòu)示意圖。移動終端100通過usb與外接設備200通訊連接,其中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數(shù)字助理),外接設備200包括但不限于無線上網(wǎng)卡和數(shù)據(jù)卡。需要說明的是,移動終端100通過usb與外接設備200連接位置并不限于圖3所示,可根據(jù)具體需要來設置移動終端100通過usb與外接設備200的連接位置。
基于上述的lte網(wǎng)絡架構(gòu)圖、移動終端100和外接設備200通訊連接的硬件結(jié)構(gòu)示意圖和實體結(jié)構(gòu)示意圖,提出本發(fā)明的各個實施例。
本實施例提出一種數(shù)據(jù)傳輸系統(tǒng),數(shù)據(jù)傳輸系統(tǒng)包括移動終端100和外接設備200,移動終端100通過預設接口與外接設備200連接,移動終端100包括第一應用處理器10、第一計時器16、第一射頻模塊12和與第一用戶識別卡13連接的第一調(diào)制解調(diào)器11,外接設備200包括第二應用處理器20、第二射頻模塊22、第二計時器26和與第二用戶識別卡23連接的第二調(diào)制解調(diào)器21。
第二應用處理器20,用于當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)后偵測到數(shù)據(jù)發(fā)送指令時,檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包。
第二應用處理器20還用于若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。
當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的第二應用處理器20偵測到數(shù)據(jù)發(fā)送指令時,第二應用處理器20檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,即檢測預設接口中是否存在未發(fā)送完的數(shù)據(jù)包。若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則啟動第二計時器26,并初始化第二計時器26,使第二計時器26的值為零。當?shù)诙嫊r器26的值等于或者大于第一預設時間時,即在經(jīng)過第一預設時間后,第二應用處理器20通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。
當?shù)诙嫊r器26的值小于第一預設時間時,第二應用處理器20暫停發(fā)送待發(fā)送數(shù)據(jù)包給第一應用處理器10,即第二應用處理器20發(fā)送待響應數(shù)據(jù)包給第一應用處理器10的時間間隔為第一預設時間。在本實施例中,第一預設時間設置為3ms,在其它實施例中,第一預設時間也可設置為4ms或者5ms等。在本實施例中,預設接口為usb,在其它實施例中,預設接口可為具有和usb同樣功能的接口。
進一步地,當該數(shù)據(jù)發(fā)送指令是由第二調(diào)制解調(diào)器21觸發(fā)的,且預設接口為usb,以及該待發(fā)送數(shù)據(jù)包需要發(fā)送給第一調(diào)制解調(diào)器時,待發(fā)送數(shù)據(jù)包在移動終端100和外接設備200之間的傳輸過程具體為:第二調(diào)制解調(diào)器21通過smd(sharememorydriver,共享內(nèi)存驅(qū)動)通道將待發(fā)送數(shù)據(jù)包發(fā)送給第二應用處理器20,第二應用處理器20通過usb接口將待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10,第一應用處理器10接收待發(fā)送數(shù)據(jù)包,通過smd通道將待發(fā)送數(shù)據(jù)包發(fā)送給第一調(diào)制解調(diào)器11。
進一步地,當預設接口中存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,第二應用處理器20等待預設接口中處于發(fā)送狀態(tài)的數(shù)據(jù)包完全發(fā)送給第一應用處理器10。
進一步地,當?shù)诙锰幚砥?0偵測到預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,第二應用處理器20檢測發(fā)送隊列中是否存在待發(fā)送數(shù)據(jù)包。若發(fā)送隊列中存在待發(fā)送數(shù)據(jù)包,則初始化第二計時器26,在第二計時器26的值等于或者大于第一預設時間時,通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10。若發(fā)送隊列中未存在待發(fā)送數(shù)據(jù)包,則初始化第二計時器26,在第二計時器26的值等于或者大于第一預設時間時,發(fā)送隊列中還未有待發(fā)送數(shù)據(jù)包,第二應用處理器20則再次初始化第二計時器26。當?shù)诙嫊r器26的值大于或者等于設定時間值,發(fā)送隊列中還是未有待發(fā)送數(shù)據(jù)包時,第二應用處理器20從喚醒狀態(tài)進入休眠狀態(tài)。設定時間值可根據(jù)具體需要而設置,在本實施例中,設定時間值可設置為500ms,或者550ms等。可以理解的是,發(fā)送隊列為存儲待發(fā)送數(shù)據(jù)包的存儲空間。需要說明的是,當?shù)诙嫊r器26的值大于或者等于設定時間值,發(fā)送隊列中還是未有待發(fā)送數(shù)據(jù)包時,調(diào)用usb接口協(xié)議自帶的休眠函數(shù)執(zhí)行usb的休眠操作,usb休眠釋放所占用的時鐘資源,以實現(xiàn)移動終端100和外接設備200中應用處理器和調(diào)制解調(diào)器的休眠。
在本實施例中,當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的第二應用處理器20偵測到數(shù)據(jù)發(fā)送指令時,檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包;若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,第二應用處理器20通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。實現(xiàn)了移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,當預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,只有在經(jīng)過第一預設時間后,第二應用處理器20才發(fā)送待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10。避免了移動終端100和外接設備200在數(shù)據(jù)包傳輸過程中,如果外接設備200向移動終端100傳輸數(shù)據(jù)包的速度太快,移動終端100會將外接設備200發(fā)送的多個數(shù)據(jù)包識別為一個數(shù)據(jù)包的情況出現(xiàn),提高了移動終端100識別外接設備200所發(fā)送的數(shù)據(jù)包的準確率。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸系統(tǒng)第二實施例。
數(shù)據(jù)傳輸系統(tǒng)第二實施例與數(shù)據(jù)傳輸系統(tǒng)第一實施例的區(qū)別在于,第二應用處理器20還用于當處于休眠狀態(tài)接收到第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給第一應用處理器10,從休眠狀態(tài)進入第一發(fā)送狀態(tài)。
第二應用處理器20還用于當在第二預設時間內(nèi)接收到第一應用處理器10反饋的與第一握手關鍵字對應的第二握手關鍵字時,根據(jù)第二握手關鍵字從第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
在本實施例中,第一握手關鍵字和第二握手關鍵字不是正常的數(shù)據(jù)包,是信令數(shù)據(jù),用于控制第一應用處理器10和第二應用處理器20從休眠狀態(tài)進入另一個狀態(tài)。第一握手關鍵字和第二握手關鍵字可用固定字長的字符標識,是正常數(shù)據(jù)包中不會出現(xiàn)的字段。如在本實施例中,可用0xf9f9f9表示第一握手關鍵字,用0x9f9f9f表示第二握手關鍵字,在其它實施例中,也可用設置為其它握手關鍵字,如0xf3f3和0x3f3f。
第一握手關鍵字表示要求進入喚醒狀態(tài),第二握手關鍵字表示請進入喚醒狀態(tài)。由于第一應用處理器10和第二應用處理器20在喚醒狀態(tài)時,才會收到正常數(shù)據(jù)包。因此,在本實施例中,第一應用處理器10和第二應用處理器20之間傳輸?shù)恼?shù)據(jù)中不會存在與第一握手關鍵字、第二握手關鍵字字長相等,內(nèi)容相同的數(shù)據(jù)包。如果存在的話,第一應用處理器10和第二應用處理器20會丟棄與第一握手關鍵字、第二握手關鍵字字長相等,內(nèi)容相同的數(shù)據(jù)包。
參照圖4,第二應用處理器20通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的具體過程為:當處于休眠狀態(tài)的第二應用處理器20接收第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給第一應用處理器10,要求第一應用處理器10進入喚醒狀態(tài)。當?shù)诙锰幚砥?0發(fā)送第一握手關鍵字給第一應用處理器10后,從休眠狀態(tài)進入發(fā)送握手關鍵字的第一發(fā)送狀態(tài),并啟動第二計時器26,初始化第二計時器26,使第二計時器26的初始值等于零,開始計時。在第二計時器26開始計時時,同時觸發(fā)第二握手關鍵字的檢測機制。若在第二計時器26的值小于或者等于第二預設時間時,第二應用處理器20接收到第一應用處理器10反饋的與第一握手關鍵字對應的第二握手關鍵字,第二應用處理器20請求進入喚醒狀態(tài),即當?shù)诙锰幚砥?0在第二預設時間內(nèi)接收到第二握手關鍵字時,第二應用處理器20根據(jù)第二握手關鍵字從第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
需要說明的是,第二應用處理器20接收的第一數(shù)據(jù)交互請求可為第二應用處理器20接收到enodeb101的數(shù)據(jù)請求,或者第二應用處理器20需要訪問2g、3g、或者4g網(wǎng)絡,或者第二應用處理器20有鑒權(quán)需求等??梢岳斫獾氖?,第一發(fā)送狀態(tài)是第二應用處理器20從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)。
進一步地,外接設備200還包括第三計時器。參照圖6,第二應用處理器20從喚醒狀態(tài)進入休眠狀態(tài)的具體過程為:當?shù)诙锰幚砥?0進入喚醒狀態(tài)時,初始化第三計時器,使第三計時器的初始值為零,并開始計時。如果第二應用處理器20在第三計時器的值大于或者等于預設時長時都沒有接收到第一數(shù)據(jù)交互請求,第二應用處理器20則從喚醒狀態(tài)進入休眠狀態(tài)。
需要說明的是,在本實施例中,第二預設時間為10ms,預設時長為500ms。在其它實施例中,預設時長和第二預設時間可以設置為其它數(shù)值,如第二預設時間可以設置為12ms,或者15ms,而預設時長可以設置為550ms,或者設置為480ms等。
本實施例當處于休眠狀態(tài)的第二應用處理器20接收到第一數(shù)據(jù)交互請求時,通過握手關鍵字從休眠狀態(tài)進行喚醒狀態(tài),以保證第二應用處理器20在與第一應用處理器10數(shù)據(jù)交互過程中,第一應用處理器10和第二應用處理器20處于完全喚醒狀態(tài),以實現(xiàn)移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,移動終端100和外接設備200可以正常通信。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸系統(tǒng)第三實施例。
數(shù)據(jù)傳輸系統(tǒng)第三實施例與數(shù)據(jù)傳輸系統(tǒng)第二實施例的區(qū)別在于,第一應用處理器10,用于當處于休眠狀態(tài)接收到第二應用處理器20發(fā)送的第一握手關鍵字時,檢測第一握手關鍵字是否是殘包。
第一應用處理器10還用于若第一握手關鍵字不是殘包,則進入第二發(fā)送狀態(tài),并反饋第二握手關鍵字給第二應用處理器20。
第一應用處理器10還用于當反饋第二握手關鍵字給第二應用處理器20后,從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
參照圖4,第一應用處理器10從休眠狀態(tài)進入喚醒狀態(tài)的具體過程為:當處于休眠狀態(tài)的第一應用處理器10接收到第二應用處理器20發(fā)送的第一握手關鍵字時,第一應用處理器10檢測第一握手關鍵字是否是殘包。若第一握手關鍵字是正常的數(shù)據(jù)包,第一應用處理器10則進入第二發(fā)送狀態(tài),并反饋與第一握手關鍵字對應的第二握手關鍵字給第二應用處理器20。當?shù)谝粦锰幚砥?0反饋第二握手關鍵字給第二應用處理器20后,第一應用處理器10從第二發(fā)送狀態(tài)進入喚醒狀態(tài)??梢岳斫獾氖?,第二發(fā)送狀態(tài)是第一應用處理器10從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)。進一步地,當?shù)谝粦锰幚砥?0反饋第二握手關鍵字給第二應用處理器20后,第一應用處理器10可在接收到第二應用處理器20發(fā)送的待發(fā)送數(shù)據(jù)包后,再從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
進一步地,第一應用處理器10檢測第一握手關鍵字是否是殘包的具體過程為:當?shù)谝粦锰幚砥?0接收到第一握手關鍵字時,第一應用處理器10判斷第一握手關鍵字的字長是否等于固定字長。若第一握手關鍵字的字長等于固定字長,則確定第一握手關鍵字不是殘包;若第一握手關鍵字的字長不等于固定字長,則確定第一握手關鍵字是殘包??梢岳斫獾氖牵谝粦锰幚砥?0檢測第一握手關鍵字是否是殘包的方法并不限制于本實施例所描述的方法,如當?shù)谝晃帐株P鍵字中含有水印時,第一應用處理器10也可以通過判斷第一握手關鍵字中的水印是否完整,以及水印是否被篡改來檢測第一握手關鍵字是否是殘包。
進一步地,當?shù)谝晃帐株P鍵字是殘包,第一應用處理器10不發(fā)送第二握手關鍵字給第二應用處理器20,等待第二應用處理器20再次發(fā)送第一握手關鍵字。
在本實施例中,處于休眠狀態(tài)的第一應用處理器10通過所接收到的第一握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài),以保證第二應用處理器20在與第一應用處理器10進行數(shù)據(jù)交互過程中,第一應用處理器10和第二應用處理器20處于完全喚醒狀態(tài),以實現(xiàn)移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,移動終端100和外接設備200可以正常通信。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸系統(tǒng)第四實施例。
數(shù)據(jù)傳輸系統(tǒng)第四實施例與數(shù)據(jù)傳輸系統(tǒng)第二實施例的區(qū)別在于,第二應用處理器20還用于若在第二預設時間內(nèi)未接收到第二握手關鍵字,則重新發(fā)送第一握手關鍵字給第一應用處理器10。
第二應用處理器20還用于若在重新發(fā)送第一握手關鍵字給第一應用處理器10后,在第二預設時間內(nèi)還未接收到第二握手關鍵字,則進入休眠狀態(tài)。
參照圖5,若第二應用處理器20在第二預設時間內(nèi)未接收到第二握手關鍵字,第二應用處理器20則進入第三發(fā)送狀態(tài),重新發(fā)送第一握手關鍵字給第一應用處理器10,并再次初始化第二計時器26,使第二計時器26的初始值等于零,開始計時。在第二計時器26開始計時時,同時觸發(fā)第二握手關鍵字的檢測機制。若第二應用處理器20在重新發(fā)送第一握手關鍵字給第一應用處理器10后,在第二預設時間內(nèi)還未接收到第二握手關鍵字,則從第三發(fā)送狀態(tài)進入休眠狀態(tài),即當?shù)诙嫊r器20的值等于或者大于第二預設時間時,第二應用處理器20還未接收到第二握手關鍵字,則進入休眠狀態(tài)。若在第二預設時間內(nèi)接收到第二握手關鍵字,第二應用處理器20則從第三發(fā)送狀態(tài)進入喚醒狀態(tài)??梢岳斫獾氖?,第三發(fā)送狀態(tài)是第二應用處理器20從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)??梢岳斫獾氖?,可根據(jù)需要設置當?shù)诙锰幚砥?0在第二預設時間內(nèi)未接收到第二握手關鍵字時,第二應用處理器20重發(fā)第一握手關鍵字的次數(shù)。
本實施例通過第二應用處理器20在第二預設時間內(nèi)未接收到第二握手關鍵字,第二應用處理器20重新發(fā)送第一握手關鍵字給第一應用處理器10,以避免第二應用處理器20發(fā)送待發(fā)送數(shù)據(jù)包給第一應用處理器10時,第一應用處理器10還處于未完全喚醒狀態(tài)。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸系統(tǒng)第五實施例。
數(shù)據(jù)傳輸系統(tǒng)第五實施例與數(shù)據(jù)傳輸系統(tǒng)第一實施例的區(qū)別在于,第一應用處理器10還用于當處于喚醒狀態(tài)接收到待發(fā)送數(shù)據(jù)包時,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求。
第一應用處理器10還用于若在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求,則從喚醒狀態(tài)進入休眠狀態(tài)。
參照圖6,第一應用處理器10從喚醒狀態(tài)進入休眠狀態(tài)的具體過程為:當?shù)谝粦锰幚砥?0進入喚醒狀態(tài)后,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求。當?shù)谝粦锰幚砥?0在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求時,第一應用處理器10從喚醒狀態(tài)進入休眠狀態(tài);當?shù)谝粦锰幚砥?0在第三預設時間內(nèi)接收到第二數(shù)據(jù)交互請求時,第一應用處理器10則繼續(xù)保持喚醒狀態(tài)。
具體地,第一應用處理器10可通過第一計時器16來計時。當?shù)谝粦锰幚砥?0進入喚醒狀態(tài)后,啟動第一計時器16,初始化第一計時器16,使第一計時器16的初始值為零。當?shù)谝挥嫊r器16的值大于或者等于第三預設時間,且第一應用處理器10未接收到第二數(shù)據(jù)交互請求時,第一應用處理器10則從喚醒狀態(tài)進入休眠狀態(tài)。
在本實施例中,第三預設時間為500ms。在其它實施例中,第三預設時間可以設置為其它數(shù)值,如第三預設時間可以設置為550ms,或者設置為490ms等。第一應用處理器10接收的第二數(shù)據(jù)交互請求可為第一應用處理器10接收到enodeb101的數(shù)據(jù)請求,或者第一應用處理器10需要訪問2g、3g、或者4g網(wǎng)絡,或者第一應用處理器10要與第二應用處理器20進行數(shù)據(jù)交互等。
本實施例通過當處于喚醒狀態(tài)的第一應用處理器10在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求時,從喚醒狀態(tài)進入休眠狀態(tài),使第一應用處理器10在一定時間內(nèi)不需要進行數(shù)據(jù)交互時,進入休眠狀態(tài),以降低移動終端100的功耗。
本發(fā)明還提供一種數(shù)據(jù)傳輸方法。
參照圖7,圖7為本發(fā)明數(shù)據(jù)傳輸方法第一實施例的流程示意圖。
本實施例提出一種數(shù)據(jù)傳輸方法,在本實施例中,提供了數(shù)據(jù)傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
數(shù)據(jù)傳輸方法應用于通過預設接口與外接設備200連接的移動終端100中,移動終端100包括第一應用處理器10、第一計時器16、第一射頻模塊12和與第一用戶識別卡13連接的第一調(diào)制解調(diào)器11,外接設備200包括第二應用處理器20、第二射頻模塊22、第二計時器26和與第二用戶識別卡23連接的第二調(diào)制解調(diào)器21。
步驟s10,當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的第二應用處理器20偵測到數(shù)據(jù)發(fā)送指令時,檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包。
步驟s20,若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,第二應用處理器20通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。
當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的第二應用處理器20偵測到數(shù)據(jù)發(fā)送指令時,第二應用處理器20檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,即檢測預設接口中是否存在未發(fā)送完的數(shù)據(jù)包。若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則啟動第二計時器26,并初始化第二計時器26,使第二計時器26的值為零。當?shù)诙嫊r器26的值等于或者大于第一預設時間時,即在經(jīng)過第一預設時間后,第二應用處理器20通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。
當?shù)诙嫊r器26的值小于第一預設時間時,第二應用處理器20暫停發(fā)送待發(fā)送數(shù)據(jù)包給第一應用處理器10,即第二應用處理器20發(fā)送待響應數(shù)據(jù)包給第一應用處理器10的時間間隔為第一預設時間。在本實施例中,第一預設時間設置為3ms,在其它實施例中,第一預設時間也可設置為4ms或者5ms等。在本實施例中,預設接口為usb,在其它實施例中,預設接口可為具有和usb同樣功能的接口。
進一步地,當該數(shù)據(jù)發(fā)送指令是由第二調(diào)制解調(diào)器21觸發(fā)的,且預設接口為usb,以及該待發(fā)送數(shù)據(jù)包需要發(fā)送給第一調(diào)制解調(diào)器時,待發(fā)送數(shù)據(jù)包在移動終端100和外接設備200之間的傳輸過程具體為:第二調(diào)制解調(diào)器21通過smd(sharememorydriver,共享內(nèi)存驅(qū)動)通道將待發(fā)送數(shù)據(jù)包發(fā)送給第二應用處理器20,第二應用處理器20通過usb接口將待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10,第一應用處理器10接收待發(fā)送數(shù)據(jù)包,通過smd通道將待發(fā)送數(shù)據(jù)包發(fā)送給第一調(diào)制解調(diào)器11。
進一步地,當預設接口中存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,第二應用處理器20等待預設接口中處于發(fā)送狀態(tài)的數(shù)據(jù)包完全發(fā)送給第一應用處理器10。
進一步地,當?shù)诙锰幚砥?0偵測到預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,第二應用處理器20檢測發(fā)送隊列中是否存在待發(fā)送數(shù)據(jù)包。若發(fā)送隊列中存在待發(fā)送數(shù)據(jù)包,則初始化第二計時器26,在第二計時器26的值等于或者大于第一預設時間時,通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10。若發(fā)送隊列中未存在待發(fā)送數(shù)據(jù)包,則初始化第二計時器26,在第二計時器26的值等于或者大于第一預設時間時,發(fā)送隊列中還未有待發(fā)送數(shù)據(jù)包,第二應用處理器20則再次初始化第二計時器26。當?shù)诙嫊r器26的值大于或者等于設定時間值,發(fā)送隊列中還是未有待發(fā)送數(shù)據(jù)包時,第二應用處理器20從喚醒狀態(tài)進入休眠狀態(tài)。設定時間值可根據(jù)具體需要而設置,在本實施例中,設定時間值可設置為500ms,或者550ms等??梢岳斫獾氖?,發(fā)送隊列為存儲待發(fā)送數(shù)據(jù)包的存儲空間。需要說明的是,當?shù)诙嫊r器26的值大于或者等于設定時間值,發(fā)送隊列中還是未有待發(fā)送數(shù)據(jù)包時,調(diào)用usb接口協(xié)議自帶的休眠函數(shù)執(zhí)行usb的休眠操作,usb休眠釋放所占用的時鐘資源,以實現(xiàn)移動終端100和外接設備200中應用處理器和調(diào)制解調(diào)器的休眠。
在本實施例中,當通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的第二應用處理器20偵測到數(shù)據(jù)發(fā)送指令時,檢測預設接口中是否存在處于發(fā)送狀態(tài)的數(shù)據(jù)包;若預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包,則在經(jīng)過第一預設時間后,第二應用處理器20通過預設接口將待發(fā)送數(shù)據(jù)包發(fā)送給處于喚醒狀態(tài)的第一應用處理器10。實現(xiàn)了移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,當預設接口中未存在處于發(fā)送狀態(tài)的數(shù)據(jù)包時,只有在經(jīng)過第一預設時間后,第二應用處理器20才發(fā)送待發(fā)送數(shù)據(jù)包發(fā)送給第一應用處理器10。避免了移動終端100和外接設備200在數(shù)據(jù)包傳輸過程中,如果外接設備200向移動終端100傳輸數(shù)據(jù)包的速度太快,移動終端100會將外接設備200發(fā)送的多個數(shù)據(jù)包識別為一個數(shù)據(jù)包的情況出現(xiàn),提高了移動終端100識別外接設備200所發(fā)送的數(shù)據(jù)包的準確率。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第二實施例。
數(shù)據(jù)傳輸方法第二實施例與數(shù)據(jù)傳輸方法第一實施例的區(qū)別在于,參照圖8,數(shù)據(jù)傳輸方法還包括:
步驟s30,當處于休眠狀態(tài)的第二應用處理器20接收到第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給第一應用處理器10,第二應用處理器20從休眠狀態(tài)進入第一發(fā)送狀態(tài)。
步驟s40,當在第二預設時間內(nèi)接收到第一應用處理器10反饋的與第一握手關鍵字對應的第二握手關鍵字時,第二應用處理器20根據(jù)第二握手關鍵字從第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
在本實施例中,第一握手關鍵字和第二握手關鍵字不是正常的數(shù)據(jù)包,是信令數(shù)據(jù),用于控制第一應用處理器10和第二應用處理器20從休眠狀態(tài)進入另一個狀態(tài)。第一握手關鍵字和第二握手關鍵字可用固定字長的字符標識,是正常數(shù)據(jù)包中不會出現(xiàn)的字段。如在本實施例中,可用0xf9f9f9表示第一握手關鍵字,用0x9f9f9f表示第二握手關鍵字,在其它實施例中,也可用設置為其它握手關鍵字,如0xf3f3和0x3f3f。
第一握手關鍵字表示要求進入喚醒狀態(tài),第二握手關鍵字表示請進入喚醒狀態(tài)。由于第一應用處理器10和第二應用處理器20在喚醒狀態(tài)時,才會收到正常數(shù)據(jù)包。因此,在本實施例中,第一應用處理器10和第二應用處理器20之間傳輸?shù)恼?shù)據(jù)中不會存在與第一握手關鍵字、第二握手關鍵字字長相等,內(nèi)容相同的數(shù)據(jù)包。如果存在的話,第一應用處理器10和第二應用處理器20會丟棄與第一握手關鍵字、第二握手關鍵字字長相等,內(nèi)容相同的數(shù)據(jù)包。
參照圖4,第二應用處理器20通過握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài)的具體過程為:當處于休眠狀態(tài)的第二應用處理器20接收第一數(shù)據(jù)交互請求時,發(fā)送第一握手關鍵字給第一應用處理器10,要求第一應用處理器10進入喚醒狀態(tài)。當?shù)诙锰幚砥?0發(fā)送第一握手關鍵字給第一應用處理器10后,從休眠狀態(tài)進入發(fā)送握手關鍵字的第一發(fā)送狀態(tài),并啟動第二計時器26,初始化第二計時器26,使第二計時器26的初始值等于零,開始計時。在第二計時器26開始計時時,同時觸發(fā)第二握手關鍵字的檢測機制。若在第二計時器26的值小于或者等于第二預設時間時,第二應用處理器20接收到第一應用處理器10反饋的與第一握手關鍵字對應的第二握手關鍵字,第二應用處理器20請求進入喚醒狀態(tài),即當?shù)诙锰幚砥?0在第二預設時間內(nèi)接收到第二握手關鍵字時,第二應用處理器20根據(jù)第二握手關鍵字從第一發(fā)送狀態(tài)進入喚醒狀態(tài)。
需要說明的是,第二應用處理器20接收的第一數(shù)據(jù)交互請求可為第二應用處理器20接收到enodeb101的數(shù)據(jù)請求,或者第二應用處理器20需要訪問2g、3g、或者4g網(wǎng)絡,或者第二應用處理器20有鑒權(quán)需求等??梢岳斫獾氖牵谝话l(fā)送狀態(tài)是第二應用處理器20從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)。
進一步地,外接設備200還包括第三計時器。參照圖6,第二應用處理器20從喚醒狀態(tài)進入休眠狀態(tài)的具體過程為:當?shù)诙锰幚砥?0進入喚醒狀態(tài)時,初始化第三計時器,使第三計時器的初始值為零,并開始計時。如果第二應用處理器20在第三計時器的值大于或者等于預設時長時都沒有接收到第一數(shù)據(jù)交互請求,第二應用處理器20則從喚醒狀態(tài)進入休眠狀態(tài)。
需要說明的是,在本實施例中,第二預設時間為10ms,預設時長為500ms。在其它實施例中,預設時長和第二預設時間可以設置為其它數(shù)值,如第二預設時間可以設置為12ms,或者15ms,而預設時長可以設置為550ms,或者設置為480ms等。
本實施例當處于休眠狀態(tài)的第二應用處理器20接收到第一數(shù)據(jù)交互請求時,通過握手關鍵字從休眠狀態(tài)進行喚醒狀態(tài),以保證第二應用處理器20在與第一應用處理器10數(shù)據(jù)交互過程中,第一應用處理器10和第二應用處理器20處于完全喚醒狀態(tài),以實現(xiàn)移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,移動終端100和外接設備200可以正常通信。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第三實施例。
數(shù)據(jù)傳輸方法第三實施例與數(shù)據(jù)傳輸方法第二實施例的區(qū)別在于,參照圖9,數(shù)據(jù)傳輸方法還包括:
步驟s50,當處于休眠狀態(tài)的第一應用處理器10接收到第二應用處理器20發(fā)送的第一握手關鍵字時,第一應用處理器10檢測第一握手關鍵字是否是殘包。
步驟s60,若第一握手關鍵字不是殘包,則第一應用處理器10進入第二發(fā)送狀態(tài),并反饋第二握手關鍵字給第二應用處理器20。
步驟s70,當反饋第二握手關鍵字給第二應用處理器20后,第一應用處理器10從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
參照圖4,第一應用處理器10從休眠狀態(tài)進入喚醒狀態(tài)的具體過程為:當處于休眠狀態(tài)的第一應用處理器10接收到第二應用處理器20發(fā)送的第一握手關鍵字時,第一應用處理器10檢測第一握手關鍵字是否是殘包。若第一握手關鍵字是正常的數(shù)據(jù)包,第一應用處理器10則進入第二發(fā)送狀態(tài),并反饋與第一握手關鍵字對應的第二握手關鍵字給第二應用處理器20。當?shù)谝粦锰幚砥?0反饋第二握手關鍵字給第二應用處理器20后,第一應用處理器10從第二發(fā)送狀態(tài)進入喚醒狀態(tài)??梢岳斫獾氖?,第二發(fā)送狀態(tài)是第一應用處理器10從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)。進一步地,當?shù)谝粦锰幚砥?0反饋第二握手關鍵字給第二應用處理器20后,第一應用處理器10可在接收到第二應用處理器20發(fā)送的待發(fā)送數(shù)據(jù)包后,再從第二發(fā)送狀態(tài)進入喚醒狀態(tài)。
進一步地,第一應用處理器10檢測第一握手關鍵字是否是殘包的具體過程為:當?shù)谝粦锰幚砥?0接收到第一握手關鍵字時,第一應用處理器10判斷第一握手關鍵字的字長是否等于固定字長。若第一握手關鍵字的字長等于固定字長,則確定第一握手關鍵字不是殘包;若第一握手關鍵字的字長不等于固定字長,則確定第一握手關鍵字是殘包??梢岳斫獾氖?,第一應用處理器10檢測第一握手關鍵字是否是殘包的方法并不限制于本實施例所描述的方法,如當?shù)谝晃帐株P鍵字中含有水印時,第一應用處理器10也可以通過判斷第一握手關鍵字中的水印是否完整,以及水印是否被篡改來檢測第一握手關鍵字是否是殘包。
進一步地,當?shù)谝晃帐株P鍵字是殘包,第一應用處理器10不發(fā)送第二握手關鍵字給第二應用處理器20,等待第二應用處理器20再次發(fā)送第一握手關鍵字。
在本實施例中,處于休眠狀態(tài)的第一應用處理器10通過所接收到的第一握手關鍵字從休眠狀態(tài)進入喚醒狀態(tài),以保證第二應用處理器20在與第一應用處理器10進行數(shù)據(jù)交互過程中,第一應用處理器10和第二應用處理器20處于完全喚醒狀態(tài),以實現(xiàn)移動終端100通過外接設備200實現(xiàn)雙lte通信過程中,移動終端100和外接設備200可以正常通信。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第四實施例。
數(shù)據(jù)傳輸方法第四實施例與數(shù)據(jù)傳輸方法第二實施例的區(qū)別在于,參照圖10,數(shù)據(jù)傳輸方法還包括:
步驟s80,若第二應用處理器20在第二預設時間內(nèi)未接收到第二握手關鍵字,則重新發(fā)送第一握手關鍵字給第一應用處理器10。
步驟s90,若在重新發(fā)送第一握手關鍵字給第一應用處理器10后,第二應用處理器20在第二預設時間內(nèi)還未接收到第二握手關鍵字,則進入休眠狀態(tài)。
參照圖5,若第二應用處理器20在第二預設時間內(nèi)未接收到第二握手關鍵字,第二應用處理器20則進入第三發(fā)送狀態(tài),重新發(fā)送第一握手關鍵字給第一應用處理器10,并再次初始化第二計時器26,使第二計時器26的初始值等于零,開始計時。在第二計時器26開始計時時,同時觸發(fā)第二握手關鍵字的檢測機制。若第二應用處理器20在重新發(fā)送第一握手關鍵字給第一應用處理器10后,在第二預設時間內(nèi)還未接收到第二握手關鍵字,則從第三發(fā)送狀態(tài)進入休眠狀態(tài),即當?shù)诙嫊r器20的值等于或者大于第二預設時間時,第二應用處理器20還未接收到第二握手關鍵字,則進入休眠狀態(tài)。若在第二預設時間內(nèi)接收到第二握手關鍵字,第二應用處理器20則從第三發(fā)送狀態(tài)進入喚醒狀態(tài)??梢岳斫獾氖?,第三發(fā)送狀態(tài)是第二應用處理器20從休眠狀態(tài)進入喚醒狀態(tài)的一種中間狀態(tài)??梢岳斫獾氖?,可根據(jù)需要設置當?shù)诙锰幚砥?0在第二預設時間內(nèi)未接收到第二握手關鍵字時,第二應用處理器20重發(fā)第一握手關鍵字的次數(shù)。
本實施例通過第二應用處理器20在第二預設時間內(nèi)未接收到第二握手關鍵字,第二應用處理器20重新發(fā)送第一握手關鍵字給第一應用處理器10,以避免第二應用處理器20發(fā)送待發(fā)送數(shù)據(jù)包給第一應用處理器10時,第一應用處理器10還處于未完全喚醒狀態(tài)。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第五實施例。
數(shù)據(jù)傳輸方法第四實施例與數(shù)據(jù)傳輸方法第一實施例的區(qū)別在于,參照圖11,數(shù)據(jù)傳輸方法還包括:
步驟s110,當處于喚醒狀態(tài)的第一應用處理器10接收到待發(fā)送數(shù)據(jù)包時,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求。
步驟s120,若在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求,則第一應用處理器10從喚醒狀態(tài)進入休眠狀態(tài)。
參照圖6,第一應用處理器10從喚醒狀態(tài)進入休眠狀態(tài)的具體過程為:當?shù)谝粦锰幚砥?0進入喚醒狀態(tài)后,檢測在第三預設時間內(nèi)是否接收到第二數(shù)據(jù)交互請求。當?shù)谝粦锰幚砥?0在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求時,第一應用處理器10從喚醒狀態(tài)進入休眠狀態(tài);當?shù)谝粦锰幚砥?0在第三預設時間內(nèi)接收到第二數(shù)據(jù)交互請求時,第一應用處理器10則繼續(xù)保持喚醒狀態(tài)。
具體地,第一應用處理器10可通過第一計時器16來計時。當?shù)谝粦锰幚砥?0進入喚醒狀態(tài)后,啟動第一計時器16,初始化第一計時器16,使第一計時器16的初始值為零。當?shù)谝挥嫊r器16的值大于或者等于第三預設時間,且第一應用處理器10未接收到第二數(shù)據(jù)交互請求時,第一應用處理器10則從喚醒狀態(tài)進入休眠狀態(tài)。
在本實施例中,第三預設時間為500ms。在其它實施例中,第三預設時間可以設置為其它數(shù)值,如第三預設時間可以設置為550ms,或者設置為490ms等。第一應用處理器10接收的第二數(shù)據(jù)交互請求可為第一應用處理器10接收到enodeb101的數(shù)據(jù)請求,或者第一應用處理器10需要訪問2g、3g、或者4g網(wǎng)絡,或者第一應用處理器10要與第二應用處理器20進行數(shù)據(jù)交互等。
本實施例通過當處于喚醒狀態(tài)的第一應用處理器10在第三預設時間內(nèi)未接收到第二數(shù)據(jù)交互請求時,從喚醒狀態(tài)進入休眠狀態(tài),使第一應用處理器10在一定時間內(nèi)不需要進行數(shù)據(jù)交互時,進入休眠狀態(tài),以降低移動終端100的功耗。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其它相關的技術(shù)領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。