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