本發(fā)明涉及通信技術領域,尤其涉及一種移動終端及其數(shù)據(jù)傳輸方法。
背景技術:
隨著移動通信技術的發(fā)展,越來越多的移動終端如智能手機具有雙卡雙通的功能,使得用戶在實現(xiàn)語音業(yè)務的待機同時,能建立數(shù)據(jù)業(yè)務連接。移動終端通常具有兩個用戶識別卡以及分別與所述兩個用戶識別卡連接的調制解調器,兩張用戶識別卡全開時,一張用戶識別卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移動通信技術),例如lte(longtermevolution,長期演進技術)網(wǎng)絡,另一張用戶識別卡(sim2)僅能使用2g(2-generationwirelesstelephonetechnology,第二代手機通信技術規(guī)格)或3g(3rdgeneration,第三代移動通信技術)網(wǎng)絡,sim2不能上4g的原因主要是:移動終端只有一套射頻,兩張卡使用該套射頻是分時復用的關系,并不能同時占用,由于兩張卡全開時,只有一張卡可以使用4g網(wǎng)絡,另一張卡只能使用2g或3g網(wǎng)絡,導致移動終端中數(shù)據(jù)傳輸?shù)男瘦^低。
因此,為了使移動終端中的兩張sim卡同時支持雙lte,以提高數(shù)據(jù)傳輸效率,在移動終端中設置了兩個處理芯片,每個處理芯片都有對應的調制解調器,以使移動終端的兩張sim卡可對應不同的調制解調器,從而實現(xiàn)雙lte通信功能。但是在使用過程中發(fā)現(xiàn)移動終端兩個處理芯片在傳輸數(shù)據(jù)過程中,會出現(xiàn)移動終端死機的問題。
技術實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種移動終端及其數(shù)據(jù)傳輸方法,旨在解決在移動終端實現(xiàn)雙lte通信過程中,移動終端兩個處理芯片之間傳輸電信卡數(shù)據(jù)時,移動終端容易出現(xiàn)死機的技術問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種移動終端,所述移動終端包括第一處理芯片和第二處理芯片,所述第一處理芯片包括第一應用處理器、第一臨時緩沖區(qū)、以及與第一用戶識別卡和第二用戶識別卡連接的第一調制解調器,所述第二處理芯片包括第二應用處理器、第二臨時緩沖區(qū)和第二調制解調器,所述第一應用處理器通過通用串行總線usb與所述第二應用處理器連接,所述第一調制解調器通過通用異步收發(fā)傳輸器uart與所述第二調制解調器連接,其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值是同步變化的;
所述第二調制解調器,用于當偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,根據(jù)所述數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包;
所述第二調制解調器還用于將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中;
所述第一調制解調器,用于從所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包;
其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數(shù)據(jù)包的大小。
可選地,所述第二調制解調器還用于檢測所述待傳輸數(shù)據(jù)包的大小,并判斷所述待傳輸數(shù)據(jù)包的大小是否大于所述默認容量值;
所述第二調制解調器還用于當所述待傳輸數(shù)據(jù)包的大小大于所述默認容量值時,計算所述待傳輸數(shù)據(jù)包的大小和所述默認容量值之間的差值,根據(jù)所述差值確定所述增大值。
可選地,所述第二調制解調器還用于當所述待傳輸數(shù)據(jù)包的大小小于或者等于所述默認容量值時,將所述待傳輸數(shù)據(jù)包緩存至默認容量值的所述第二臨時緩沖區(qū)中;
所述第一調制解調器還用于從默認容量值的所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包。
可選地,所述第二調制解調器還用于當所述第一調制解調器從所述第一臨時緩沖區(qū)獲取到所述待傳輸數(shù)據(jù)包時,減小所述第二臨時緩沖區(qū)的容量值至所述默認容量值。
可選地,所述第二調制解調器還用于當所述第一調制解調器從所述第一臨時緩沖區(qū)獲取到所述待傳輸數(shù)據(jù)包時,刪除所述第二臨時緩沖區(qū)中緩存的所述待傳輸數(shù)據(jù)包。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法應用于移動終端,所述移動終端包括第一處理芯片和第二處理芯片,所述第一處理芯片包括第一應用處理器、第一臨時緩沖區(qū)、以及與第一用戶識別卡和第二用戶識別卡連接的第一調制解調器,所述第二處理芯片包括第二應用處理器、第二臨時緩沖區(qū)和第二調制解調器,所述第一應用處理器通過通用串行總線usb與所述第二應用處理器連接,所述第一調制解調器通過通用異步收發(fā)傳輸器uart與所述第二調制解調器連接,其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值是同步變化的;
當所述第二調制解調器偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,所述第二調制解調器根據(jù)所述數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包;
所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中,以供所述第一調制解調器從所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包;
其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數(shù)據(jù)包的大小。
可選地,所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中的步驟之前,還包括:
所述第二調制解調器檢測所述待傳輸數(shù)據(jù)包的大小,并判斷所述待傳輸數(shù)據(jù)包的大小是否大于所述默認容量值;
當所述待傳輸數(shù)據(jù)包的大小大于所述默認容量值時,所述第二調制解調器計算所述待傳輸數(shù)據(jù)包的大小和所述默認容量值之間的差值,根據(jù)所述差值確定所述增大值。
可選地,所述第二調制解調器檢測所述待傳輸數(shù)據(jù)包的大小,并判斷所述待傳輸數(shù)據(jù)包的大小是否大于所述默認容量值的步驟之后,還包括:
當所述待傳輸數(shù)據(jù)包的大小小于或者等于所述默認容量值時,所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至默認容量值的所述第二臨時緩沖區(qū)中,以供所述第一調制解調器從默認容量值的所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包。
可選地,所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中,以供所述第一調制解調器從所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包的步驟之后,還包括:
當所述第一調制解調器從所述第一臨時緩沖區(qū)獲取到所述待傳輸數(shù)據(jù)包時,所述第二調制解調器減小所述第二臨時緩沖區(qū)的容量值至所述默認容量值。
可選地,所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中,以供所述第一調制解調器從所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包的步驟之后,還包括:
當所述第一調制解調器從所述第一臨時緩沖區(qū)獲取到所述待傳輸數(shù)據(jù)包時,所述第二調制解調器刪除所述第二臨時緩沖區(qū)中緩存的所述待傳輸數(shù)據(jù)包。
本發(fā)明提供一種移動終端及其數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法應用于移動終端,所述移動終端包括第一處理芯片和第二處理芯片,所述第一處理芯片包括第一應用處理器、第一臨時緩沖區(qū)、以及與第一用戶識別卡和第二用戶識別卡連接的第一調制解調器,所述第二處理芯片包括第二應用處理器、第二臨時緩沖區(qū)和第二調制解調器,所述第一應用處理器通過通用串行總線usb與所述第二應用處理器連接,所述第一調制解調器通過通用異步收發(fā)傳輸器uart與所述第二調制解調器連接,其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值是同步變化的;當所述第二調制解調器偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,所述第二調制解調器根據(jù)所述數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包;所述第二調制解調器將所述待傳輸數(shù)據(jù)包緩存至所述第二臨時緩沖區(qū)中,以供所述第一調制解調器從所述第一臨時緩沖區(qū)中獲取所述待傳輸數(shù)據(jù)包;其中,所述第一臨時緩沖區(qū)和所述第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且所述默認容量值與所述增大值之和大于或者等于所述待傳輸數(shù)據(jù)包的大小。通過增大移動終端中用于緩存數(shù)據(jù)的臨時緩沖區(qū)的容量值,避免了在移動終端兩個處理芯片之間傳輸電信卡數(shù)據(jù)過程中,由于電信卡對應某些的數(shù)據(jù)包的大小大于臨時緩沖區(qū)的容量值,導致移動終端死機的情況出現(xiàn)。
附圖說明
圖1為本發(fā)明一實施例的lte網(wǎng)絡架構的示意圖;
圖2為本發(fā)明實施例中移動終端的一種硬件結構示意圖;
圖3為本發(fā)明數(shù)據(jù)傳輸方法第一實施例的流程示意圖;
圖4為本發(fā)明數(shù)據(jù)傳輸方法第二實施例的流程示意圖;
圖5為本發(fā)明數(shù)據(jù)傳輸方法第三實施例的流程示意圖;
圖6為本發(fā)明數(shù)據(jù)傳輸方法第四實施例的流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
圖1是本發(fā)明一實施例的lte網(wǎng)絡架構的示意圖。本發(fā)明一實施例的lte網(wǎng)絡架構包括:一個或多個移動終端(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ā)機功能、基本服務集、擴展服務集、或其他某個合適的術語。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ā)明實施例中移動終端的一種硬件結構示意圖。在本發(fā)明實施例中,移動終端100包括第一處理芯片001、第二處理芯片002、第一射頻模塊12和第二射頻模塊22,其中,第一處理芯片001和第一射頻模塊12連接,第二處理芯片002和第二射頻模塊22連接。第一處理芯片001包括第一應用處理器(applicationprocessor)10、與第一用戶識別卡13和第二用戶識別卡14連接的第一調制解調器11(modem1)和rpm(resourcepowermanager,資源電源管理器)15,第一調制解調器11包括第一臨時緩沖區(qū)(buffer1)。第二處理芯片002包括第二應用處理器20和第二調制解調器21(modem2),第二調制解調器21包括第二臨時緩沖區(qū)(buffer2)。第一用戶識別卡13和第二用戶識別卡14為sim卡。
第一應用處理器10和第二應用處理器20的內部框架包括應用層、框架層等,可處理復雜的邏輯操作以及進行任務分配等。在本發(fā)明實施例中,應用處理器指android操作系統(tǒng),以及基于android操作系統(tǒng)的各種apk(androidpackage,安卓安裝包)。
第一應用處理器10和第二應用處理器20通過usb(universalserialbus,通用串行總線)實現(xiàn)連接,為用戶提供交互接口,將用戶輸入的操作指令(例如,用戶通過用戶界面輸入的有關啟動視頻通話的操作指令)傳輸給第一調制解調器11或第二調制解調器21,以實現(xiàn)兩個應用處理器之間數(shù)據(jù)的定義與傳遞,例如,進行兩個應用處理器的休眠、喚醒、同步的控制、開關機時芯片啟動順序的控制等。
在本發(fā)明的實施例中,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ù)。
具體地,第一應用處理器10和第二應用處理器20通過otg(on-the-go)技術進行數(shù)據(jù)交互。通過otg技術,移動終端100中的第一調制解調器11可通過第一用戶識別卡13中的sim卡參數(shù)來接入enodeb101,第二調制解調器21可通過第二用戶識別卡14的sim卡參數(shù)來接入enodeb101;或者第一調制解調器11通過第二用戶識別卡14中的sim卡參數(shù)來接入enodeb101,第二調制解調器21通過第一用戶識別卡13的sim卡參數(shù)來接入enodeb101。sim卡參數(shù)包括但不限于imsi(internationalmobilesubscriberidentificationnumber,國際移動用戶識別號)和ki(keyidentifier,鑒權密鑰)。
第一調制解調器11和第二調制解調器21通過uart(universalasynchronousreceiver/transmitter,通用異步收發(fā)傳輸器)連接。在本發(fā)明實施例中,uart用于第一調制解調器11和第二調制解調器21之間sim卡參數(shù)的傳輸。
uart與第一調制解調器11和第二調制解調器21連接的兩端設置有用于緩存待傳輸數(shù)據(jù)包的臨時緩沖區(qū)。具體地,uart與第一調制解調器11連接處設置有第一臨時緩沖區(qū),uart與第二調制解調器21連接處設置有第二臨時緩沖區(qū)。當外接設備200為數(shù)據(jù)發(fā)送端,移動終端100為數(shù)據(jù)接收端時,第二臨時緩沖區(qū)為輸出緩沖區(qū),用于暫時存儲需要發(fā)送給第一調制解調器11的數(shù)據(jù)包;第一臨時緩沖區(qū)為輸入緩沖區(qū),用于暫時存儲第二調制解調器21發(fā)送的數(shù)據(jù)包。當移動終端100為數(shù)據(jù)發(fā)送端,外接設備200為數(shù)據(jù)接收端時,第二臨時緩沖區(qū)為輸入緩沖區(qū),第一臨時緩沖區(qū)為輸出緩沖區(qū)。需要說明的是,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)對應著同一個物理地址,通過該物理地址,可控制第一臨時緩沖區(qū)和第二臨時緩沖區(qū)容量值和狀態(tài)的同步變化。由于第一臨時緩沖區(qū)和第二臨時緩沖區(qū)對應著同一個物理地址,當?shù)诙{制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中時,第一調制解調器11即可檢測到該待傳輸數(shù)據(jù)包,從第一臨時緩沖區(qū)中讀取到待傳輸數(shù)據(jù)包,以獲取到該待傳輸數(shù)據(jù)包。
第一調制解調器11和第二調制解調器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演進技術)等通訊標準里邊規(guī)定的協(xié)議代碼。移動終端100通過協(xié)議與運營商網(wǎng)絡進行交互,即進行數(shù)據(jù)流量上網(wǎng)、volte(voiceoverlte)打電話或者cs(circuitswitched,電路交換)域打電話。第一調制解調器11和第二調制解調器21還用于對sim卡的管控等等。
第一射頻模塊12用于將第一處理芯片001傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給第一處理芯片001。第二射頻模塊22用于將第二處理芯片002傳輸?shù)臄?shù)據(jù)處理后傳給enodeb101(基站網(wǎng)絡),以及用于將enodeb101傳輸?shù)臄?shù)據(jù)處理后傳給第二處理芯片002。
第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術可以包括lte、gsm、gprs(generalpacketradioservice,通用分組無線服務)、cdma、edge、wlan(wirelesslocalareanetworks,無線局域網(wǎng))、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,無線保真)等等。
第一用戶識別卡13與第二用戶識別卡14和第一調制解調器11連接。第一用戶識別卡13和第二用戶識別卡14可承載信息,并根據(jù)外界請求返回對應的卡參數(shù),以及對網(wǎng)絡進行鑒權運算。其中,第一用戶識別卡13和第二用戶識別卡14可存儲與不同或相同的技術標準相關聯(lián)的用戶信息,用于提供移動通信業(yè)務(cs語音業(yè)務、ps數(shù)據(jù)業(yè)務和ps語音業(yè)務)所需的相關數(shù)據(jù),并在其內部存儲用戶信息、短消息、執(zhí)行鑒權算法和產(chǎn)生加密密匙等。在特定非限制性實例中,技術標準可為2g通信技術,例如,gsm、edge)、3g通信技術(例如,wcdma、td-scdma)、4g通信技術(例如,lte),或任何其它移動通信技術(例如,4g等等)。
需要說明的是,移動終端100只有一套射頻模塊,當移動終端100有兩張用戶識別卡時,移動終端100的兩張用戶識別卡使用該套射頻模塊是分時復用的關系,并不能同時占用。例如,在兩張用戶識別卡全開時,其中一張用戶識別卡只處理gsm通話,而另一張用戶識別卡處理4g網(wǎng)絡信息,具體哪個用戶識別卡執(zhí)行何種網(wǎng)絡,在此不做限定。因此目前的射頻模塊雙卡分時復用這種架構僅做到了lte+gsm(即一張用戶識別卡對應的技術標準為lte,另一張用戶識別卡對應的技術標準為gsm)。
可以理解的是,現(xiàn)有的移動終端100雖然可以支持雙用戶識別卡,但是移動終端100在注冊網(wǎng)絡的情況下,兩張用戶識別卡支持的是不同技術標準的網(wǎng)絡,一張支持2g或3g,另一張支持4g,會使得移動終端100使用過程中,上網(wǎng)流量速度較慢。在本發(fā)明實施例中,移動終端100包括第一處理芯片001和第二處理芯片002,由于第二處理芯片002包括第二調制解調器21和第二射頻模塊22,且第二射頻模塊22支持4g網(wǎng)絡。因此,移動終端100可通過第一處理芯片001和第二處理芯片002具備雙lte功能(此時第一用戶識別卡13和第二用戶識別卡14管理的技術標準均為lte標準,第一射頻模塊12和第二射頻模塊22所涉及的無線接入技術為lte。即第一調制解調器11可通過第一用戶識別卡13支持lte,而第二調制解調器21可通過第二用戶識別卡14支持lte;或者第一調制解調器11通過第二用戶識別卡14支持lte,而第二調制解調器21通過第一用戶識別卡13支持lte)。
當移動終端100中不存在與第一處理芯片001連接的第二處理芯片002時,第一用戶識別卡13或者第二用戶識別卡14所對應的技術標準為gsm,用于進行語音通訊,或者通過第一調制解調器11支持lte用于通過4g網(wǎng)絡進行數(shù)據(jù)訪問。
用戶識別卡與移動終端100交互時,移動終端100檢測該用戶識別卡存在與否的信號只在開機瞬時產(chǎn)生,當移動終端100開機檢測不到用戶識別卡存在時,在移動終端100的顯示屏中提示“接入用戶識別卡”。移動終端100開機之后,移動終端100和用戶識別卡之間28秒通信一次,完成一些固定的通信檢查(例如,用戶識別卡是否在位等)。
rpm15用于管控各種資源,包括時鐘資源、總線資源、pmic(powermanagementic,電源管理集成電路,即各個芯片的電壓)、ddr(內存分配),以及管理芯片的休眠喚醒的中斷和應用處理器喚醒的截止時間。移動終端100的各個子系統(tǒng),在需要資源時,向rpm15申請資源,各個子系統(tǒng)分別包括第一應用處理器10,第一調制解調器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的第一處理芯片001和第二處理芯片002通訊連接的情況下,喚醒方式可為以下三種:
1、第一應用處理器10接收到信令數(shù)據(jù)時,通過usb發(fā)送握手關鍵字給第二應用處理器20,以喚醒第二應用處理器20。
2、第二調制解調器21接收到用戶數(shù)據(jù)時,喚醒第二應用處理器20,由第二應用處理器20通過usb傳送握手關鍵字給第一應用處理器10,以喚醒第一應用處理器10。
3、第二調制解調器21周期性查找尋呼請求,以主動激活自己。若接收到尋呼請求,第二調制解調器21則喚醒第二應用處理器20,由第二應用處理器20通過usb發(fā)送握手關鍵字給第一應用處理器10,以喚醒第二應用處理器20。
此外,第二調制解調器21還可以定期喚醒自己,以在移動終端100進行位置更新時,跟基站進行握手交互,此時不需要喚醒第一應用處理器10。
需要說明的是,握手關鍵字可用固定字長的字符標識,是正常數(shù)據(jù)包中不會出現(xiàn)的字段。如可用0xf9f9f9或者0x9f9f9f表示握手關鍵字,通過握手關鍵字可喚醒處于睡眠狀態(tài)的第一應用處理器10或第二應用處理器20。
在本發(fā)明實施例中,移動終端包括但不限于手機、pc(personalcomputer,個人電腦)或pad(personaldigitalassistant,個人數(shù)字助理)。
在本發(fā)明實施例中,第一用戶識別卡13和第二用戶識別卡14可為移動卡、聯(lián)通卡和電信卡中的其中一種。其中,移動卡和聯(lián)通卡是指采用3gpp標準協(xié)議進行通訊的電話卡,3gpp標準協(xié)議規(guī)定了電話卡傳輸數(shù)據(jù)包的大小不能超出一定值,一般情況下,該值為512字節(jié);而電信卡是指采用3gpp2標準協(xié)議的電話卡,gpp2標準協(xié)議對電信卡傳輸?shù)臄?shù)據(jù)包的大小未做限制,因此電信卡傳輸?shù)臄?shù)據(jù)包的大小可能會大于512字節(jié)。
需要說明,在第一處理芯片001和第二處理芯片002數(shù)據(jù)傳輸過程中,是由發(fā)送端將數(shù)據(jù)包存儲到對應的臨時緩沖區(qū)中,然后接收端再從對應的臨時緩沖區(qū)中提取數(shù)據(jù)包,以實現(xiàn)數(shù)據(jù)包的交互。
當移動終端100中的第一用戶識別卡13和第二用戶識別卡14都是移動卡或者是聯(lián)通卡時,由于移動卡或者聯(lián)通卡的數(shù)據(jù)包的大小都是小于512字節(jié)的,且第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的默認容量值一般都是512字節(jié)。因此,在第一處理芯片001和第二處理芯片002數(shù)據(jù)傳輸過程中(以第一處理芯片001為接收端,第二處理芯片002為發(fā)送端為例進行說明),第二處理芯片002存儲到第二臨時緩沖區(qū)的數(shù)據(jù)包都是小于512字節(jié)的,數(shù)據(jù)包可以完整的存儲到第二臨時緩沖區(qū)中。但是當?shù)谝挥脩糇R別卡13和/或第二用戶識別卡14是電信卡,且電信卡對應的數(shù)據(jù)包的大小大于512字節(jié)時,會由于第二臨時緩沖區(qū)的默認容量值小于第一處理芯片001和第二處理芯片002所傳輸?shù)臄?shù)據(jù)包大小,導致移動終端100出現(xiàn)死機的情況。
基于上述的lte網(wǎng)絡架構圖、移動終端100的硬件結構示意圖以及現(xiàn)有技術存在的問題,提出本發(fā)明的各個實施例。
本實施例提出一種移動終端100,移動終端100包括第一處理芯片001和第二處理芯片002,第一處理芯片001包括第一應用處理器10、第一臨時緩沖區(qū)、與第一用戶識別卡13和第二用戶識別卡14連接的第一調制解調器11,第二處理芯片002包括第二應用處理器20、第二臨時緩沖區(qū)和第二調制解調器21。
第二調制解調器21,用于當偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包。
第二調制解調器21還用于將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中。
第一調制解調器11,用于從第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
其中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值是同步變化的。
本實施例以第二處理芯片002為發(fā)送端,第一處理芯片001為接收端為例進行說明??梢岳斫獾氖?,當?shù)谝惶幚硇酒?01為發(fā)送端,第二處理芯片002為接收端時,第一處理芯片001和第二處理芯片002之間進行數(shù)據(jù)傳輸?shù)脑砼c第二處理芯片002為發(fā)送端,第一處理芯片001為接收端的數(shù)據(jù)傳輸原理一致,在此不再贅述。
當?shù)诙幚硇酒?02的第二調制解調器21偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,第二調制解調器21根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包。其中,當?shù)诙{制解調器21接收到enodeb101的數(shù)據(jù)請求,或者第二調制解調器21需要獲取與第一調制解調器11連接的第一用戶識別卡13或第二用戶識別卡14的數(shù)據(jù)等時,第二調制解調器21就會觸發(fā)數(shù)據(jù)傳輸指令。具體地,第二調制解調器21通過uart將所獲取的待傳輸數(shù)據(jù)包發(fā)送給第一調制解調器11。
在本發(fā)明實施例中,第一臨時緩沖區(qū)要占用移動終端100的內存空間,第二臨時緩沖區(qū)要占用外接設備200的內存空間。如當?shù)诙R時緩沖區(qū)的容量值為512字節(jié),外接設備200的內存空間1024字節(jié)時,第二臨時緩沖區(qū)的512字節(jié)需要占用外接設備200內存空間中的512字節(jié)。
在本發(fā)明實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,其中,默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小。具體地,可在第二應用處理器20偵測到數(shù)據(jù)傳輸指令時,調用與第二臨時緩沖區(qū)對應的驅動接口,增大第二臨時緩沖區(qū)的容量值。需要說明的是,由于第二臨時緩沖區(qū)和第一臨時緩沖區(qū)對應著同一個物理地址,因此當?shù)诙锰幚砥?0增大第二臨時緩沖區(qū)的容量值時,第一臨時緩沖區(qū)的容量值也同步增大。在本實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值增大后,是固定不變的,不會再次改變。
第一處理芯片001和第二處理芯片002在數(shù)據(jù)傳輸過程中所用的第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量一般都是512個字節(jié),因此,在本發(fā)明實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的默認容量值可設置為512字節(jié)。為了保證第一處理芯片001和第二處理芯片002之間的待傳輸數(shù)據(jù)包可以全部成功傳輸,增大值和默認容量值之和應大于或者等于第一處理芯片001和第二處理芯片002傳輸?shù)淖畲蟠齻鬏敂?shù)據(jù)包的大小。如當最大待傳輸數(shù)據(jù)包的大小為3千字節(jié)時,增大值和默認容量值之和應大于或者等于3千字節(jié)。
當?shù)诙{制解調器21獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中,以供第一調制解調器11從第一臨時緩沖區(qū)獲取待傳輸數(shù)據(jù)包。當?shù)诙{制解調器21已將待傳輸數(shù)據(jù)包成功寫入第二臨時緩沖區(qū)中時,第一調制解調器11即可從第一臨時緩沖區(qū)檢測并獲取到待傳輸數(shù)據(jù)包,第一調制解調器11根據(jù)所獲取的待傳輸數(shù)據(jù)包從第一用戶識別卡13或第二用戶識別卡14獲取對應的數(shù)據(jù)響應待傳輸數(shù)據(jù)包,得到響應數(shù)據(jù)包,并將響應數(shù)據(jù)包按原路返回給第二處理芯片002的第二調制解調器21。(由于第一臨時緩沖區(qū)和第二臨時緩沖區(qū)對應著同一個物理地址,因此,當?shù)诙{制解調器21待傳輸數(shù)據(jù)包寫入第二臨時緩沖區(qū)時,第一調制解調器11即可在第一臨時緩沖區(qū)中檢測到該待傳輸數(shù)據(jù)包)。
在第一調制解調器11根據(jù)待傳輸數(shù)據(jù)包從第一用戶識別卡13或第二用戶識別卡14獲取對應的數(shù)據(jù)響應該待傳輸數(shù)據(jù)包過程中,第一調制解調器11不會直接與第一用戶識別卡13或第二用戶識別卡14中的文件存儲模塊交互,而是先向第一用戶識別卡13或第二用戶識別卡14中的cos(chipoperatingsystem,片內操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后第一用戶識別卡13或第二用戶識別卡14的cos操作系統(tǒng)基于該數(shù)據(jù)獲取請求在文件存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給第一調制解調器11,以實現(xiàn)待傳輸數(shù)據(jù)包的響應。
本實施例通過當?shù)诙{制解調器21偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,第二調制解調器21根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包;第二調制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中,以供第一調制解調器11從第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包;其中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小。通過增大第一處理芯片001和第二處理芯片002之間用于緩存數(shù)據(jù)的臨時緩沖區(qū)的容量值,避免了在第一處理芯片001和第二處理芯片002傳輸電信卡數(shù)據(jù)過程中,由于電信卡對應某些的數(shù)據(jù)包大小大于臨時緩沖區(qū)的容量值,導致移動終端100死機的情況出現(xiàn)。
進一步地,通過增大第一處理芯片001和第二處理芯片002之間用于數(shù)據(jù)傳輸?shù)呐R時緩沖區(qū)的默認容量值,使待傳輸數(shù)據(jù)包的大小小于或者等于臨時緩沖區(qū)的容量值,實現(xiàn)了在第二處理芯片002和第一處理芯片001進行數(shù)據(jù)傳輸過程中,當所傳輸?shù)拇齻鬏敂?shù)據(jù)包的大小大于臨時緩沖區(qū)的默認容量值時,不需要拆分待傳輸數(shù)據(jù)包,可直接傳輸一個完整的待傳輸數(shù)據(jù)包,提高了待傳輸數(shù)據(jù)包傳輸效率,同時,由于不需要拆分待傳輸數(shù)據(jù)包,因此避免了在拆分待傳輸數(shù)據(jù)包后,所拆分的某一待傳輸數(shù)據(jù)包丟失,或者在待傳輸數(shù)據(jù)包合成過程中,合成失敗的情況出現(xiàn),提高了待傳輸數(shù)據(jù)包傳輸成功率。
進一步地,提出本發(fā)明移動終端100第二實施例。
移動終端100第二實施例與移動終端100第一實施例的區(qū)別在于,第二調制解調器21還用于檢測待傳輸數(shù)據(jù)包的大小,并判斷待傳輸數(shù)據(jù)包的大小是否大于臨時緩沖區(qū)的默認容量值。
第二調制解調器21還用于當待傳輸數(shù)據(jù)包的大小大于默認容量值時,計算待傳輸數(shù)據(jù)包的大小和默認容量值之間的差值,根據(jù)差值確定增大值。
當?shù)谝挥脩糇R別卡13和/或第二用戶識別卡14為電信卡時,第二處理芯片002和第一處理芯片001之間所傳輸?shù)拇齻鬏敂?shù)據(jù)包并不都是大于512字節(jié)的,只是存在少數(shù)幾個待傳輸數(shù)據(jù)包才是大于512字節(jié)。因此,如果將第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值從默認容量值增大到某一固定值,在數(shù)據(jù)傳輸過程中不改變第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值,則會浪費第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的存儲空間。因此,當?shù)诙幚硇酒?02的第二調制解調器21獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21檢測待傳輸數(shù)據(jù)包的大小。
具體地,第二調制解調器21解析待傳輸數(shù)據(jù)包,得到待傳輸數(shù)據(jù)包的包頭,從包頭中獲取待傳輸數(shù)據(jù)包的大小。其中,待傳輸數(shù)據(jù)包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規(guī)則)編碼的一種,全稱為type(類型),length(長度),value(值),t字段表示待傳輸數(shù)據(jù)包的類型,l字段表示待傳輸數(shù)據(jù)包的長度,即待傳輸數(shù)據(jù)包的大小,v字段往往用來存放待傳輸數(shù)據(jù)包的內容。在第二調制解調器21中,由物理層(物理傳輸介質)之上的物理驅動層檢測待傳輸數(shù)據(jù)包的包頭,解析得到待傳輸數(shù)據(jù)包的大小。
需要說明的是,待傳輸數(shù)據(jù)包的生成過程為:在第二調制解調器21中,當傳輸層獲取到待傳輸數(shù)據(jù)包對應的原始數(shù)據(jù)時,為該原始數(shù)據(jù)添加傳輸層的數(shù)據(jù)包頭,傳輸層的數(shù)據(jù)包頭包括傳輸層數(shù)據(jù)類型和數(shù)據(jù)大小,得到初始數(shù)據(jù)包,并將輸出數(shù)據(jù)包傳輸至邏輯復用層。當邏輯復用層接收到初始數(shù)據(jù)包后,為初始化數(shù)據(jù)包添加邏輯復用層的數(shù)據(jù)包頭,邏輯復用層的數(shù)據(jù)包頭包括邏輯復用層的數(shù)據(jù)類型和數(shù)據(jù)大小,得到待傳輸數(shù)據(jù)包,并通過調用物理驅動層的發(fā)送接口將待傳輸數(shù)據(jù)包發(fā)送給物理層。可以理解的是,第二調制解調器21最終所檢測到待傳輸數(shù)據(jù)包大小為邏輯復用層包頭中的數(shù)據(jù)大小。
當確定待傳輸數(shù)據(jù)包的大小后,第二調制解調器21判斷待傳輸數(shù)據(jù)包的大小是否大于默認容量值。當待傳輸數(shù)據(jù)包的大小大于默認容量值時,第二調制解調器21計算默認容量值和待傳輸數(shù)據(jù)包大小之間的差值,并根據(jù)計算所得的差值確定增大值。具體地,增大值可與計算所得的差值相等,也可大于計算所得的差值,如可將增大值的大小設置為大于該差值一個字節(jié)。當確定增大值后,第二調制解調器21根據(jù)增大值增大第二臨時緩沖區(qū)的容量值,使得第二臨時緩沖區(qū)的容量值等于增大值與默認容量值之和。同時,第一調制解調器11調用與第一臨時緩沖區(qū)對應的驅動接口,根據(jù)增大值增大第一臨時緩沖區(qū)的容量值,以使第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值同步變化。。
第二調制解調器21還用于當待傳輸數(shù)據(jù)包的大小小于或者等于默認容量值時,將待傳輸數(shù)據(jù)包緩存至默認容量值的第二臨時緩沖區(qū)中。
第一調制解調器11還用于從默認容量值的第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
當待傳輸數(shù)據(jù)包的大小小于或者等于默認容量值時,第二調制解調器21不改變第二臨時緩沖區(qū)的容量值,直接將待傳輸數(shù)據(jù)包緩存至容量值為默認容量值的第二臨時緩沖區(qū)中,以供第一調制解調器11從容量值為默認容量值的第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
本實施例通過根據(jù)待傳輸數(shù)據(jù)包的大小動態(tài)調整第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值,保證在第二處理芯片002和第一處理芯片001之間傳輸待傳輸數(shù)據(jù)包過程中,不需要對待傳輸數(shù)據(jù)包進行拆分的額外操作,確保了第一處理芯片001和第二處理芯片002之間數(shù)據(jù)通道透傳的本質,避免了數(shù)據(jù)傳輸過程中二次拆分重組帶來數(shù)據(jù)損傷,同時避免直接增大第一臨時緩沖區(qū)和第二臨時緩沖區(qū)導致緩存空間浪費的問題。
進一步地,提出本發(fā)明移動終端100第三實施例。
移動終端100第三實施例與移動終端100第二實施例的區(qū)別在于,第二調制解調器21還用于當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)獲取到待傳輸數(shù)據(jù)包時,減小第二臨時緩沖區(qū)的容量值至默認容量值。
當?shù)谝徽{制解調器11從容量值等于默認容量值和增大值之和的第一臨時緩沖區(qū)中成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21調用與第二臨時緩沖區(qū)對應的驅動接口,將第二臨時緩沖區(qū)的容量值減小至默認容量值,即將第二臨時緩沖區(qū)的容量值從等于默認容量值與增大值之和減小至默認容量值。當?shù)诙{制解調器21減小第二臨時緩沖區(qū)的容量值至默認容量值時,第一調制解調器11調用與第一臨時緩沖區(qū)對應的驅動接口,將第一臨時緩沖區(qū)的容量值減小至默認容量值。
需要說明的是,待傳輸數(shù)據(jù)包存在一個結束標識,通過該結束標識可以確定待傳輸數(shù)據(jù)包是否被成功讀取。當?shù)谝慌R時緩沖區(qū)中待傳輸數(shù)據(jù)包的結束標識被讀取后,表明第一調制解調器11已成功獲取到待傳輸數(shù)據(jù)包。即當?shù)谝徽{制解調器11在第一臨時緩沖區(qū)中讀取到該結束標識時,表明第一調制解調器11已成功獲取待傳輸數(shù)據(jù)包。由于第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的狀態(tài)是同步變化的,因此第二調制解調器21可根據(jù)結束標識被讀取的情況確定第一調制解調器11是否成功從第一臨時緩沖區(qū)中獲取到待傳輸數(shù)據(jù)包,從而決定是否執(zhí)行減小第二臨時緩沖區(qū)的容量值至默認容量值的操作。
本實施例通過當?shù)谝徽{制解調器11成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21將第二臨時緩沖區(qū)的容量值重新減小至默認容量值,以在不浪費臨時緩沖區(qū)緩存空間的基礎上,保證第一處理芯片001和第二處理芯片002在數(shù)據(jù)傳輸過程中不會因為傳輸?shù)臄?shù)據(jù)包過大而導致死機的問題出現(xiàn)。
進一步地,提出本發(fā)明移動終端100第四實施例。
移動終端100第四實施例與移動終端100第一或二實施例的區(qū)別在于,第二調制解調器21還用于當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)獲取到待傳輸數(shù)據(jù)包時,刪除第二臨時緩沖區(qū)中緩存的待傳輸數(shù)據(jù)包。
當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)中成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21觸發(fā)刪除指令,根據(jù)刪除指令刪除第二臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包,以節(jié)省臨時緩沖區(qū)的緩存空間,保證第一處理芯片001和第二處理芯片002之間數(shù)據(jù)的成功傳輸??梢岳斫獾氖牵?shù)诙锰幚砥?0刪除第二臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包時,第一應用處理器10也會刪除第一臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包。
本發(fā)明還提供一種數(shù)據(jù)傳輸方法。
參照圖3,圖3為本發(fā)明數(shù)據(jù)傳輸方法第一實施例的流程示意圖。
本實施例提出一種數(shù)據(jù)傳輸方法,在本實施例中,提供了數(shù)據(jù)傳輸方法的實施例,需要說明的是,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
數(shù)據(jù)傳輸方法應用于移動終端100中,移動終端100包括第一處理芯片001和第二處理芯片002,第一處理芯片001包括第一應用處理器10、與第一用戶識別卡13和第二用戶識別卡14連接的第一調制解調器11,第二處理芯片002包括第二應用處理器20和第二調制解調器21。
數(shù)據(jù)傳輸方法包括:
步驟s10,當?shù)诙{制解調器21偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,第二調制解調器21根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包。
步驟s20,第二調制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中,以供第一調制解調器11從第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
其中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值是同步變化的。
本實施例以第二處理芯片002為發(fā)送端,第一處理芯片001為接收端為例進行說明??梢岳斫獾氖?,當?shù)谝惶幚硇酒?01為發(fā)送端,第二處理芯片002為接收端時,第一處理芯片001和第二處理芯片002之間進行數(shù)據(jù)傳輸?shù)脑砼c第二處理芯片002為發(fā)送端,第一處理芯片001為接收端的數(shù)據(jù)傳輸原理一致,在此不再贅述。
當?shù)诙幚硇酒?02的第二調制解調器21偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,第二調制解調器21根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包。其中,當?shù)诙{制解調器21接收到enodeb101的數(shù)據(jù)請求,或者第二調制解調器21需要獲取與第一調制解調器11連接的第一用戶識別卡13或第二用戶識別卡14的數(shù)據(jù)等時,第二調制解調器21就會觸發(fā)數(shù)據(jù)傳輸指令。具體地,第二調制解調器21通過uart將所獲取的待傳輸數(shù)據(jù)包發(fā)送給第一調制解調器11。
在本發(fā)明實施例中,第一臨時緩沖區(qū)要占用移動終端100的內存空間,第二臨時緩沖區(qū)要占用外接設備200的內存空間。如當?shù)诙R時緩沖區(qū)的容量值為512字節(jié),外接設備200的內存空間1024字節(jié)時,第二臨時緩沖區(qū)的512字節(jié)需要占用外接設備200內存空間中的512字節(jié)。
在本發(fā)明實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,其中,默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小。具體地,可在第二應用處理器20偵測到數(shù)據(jù)傳輸指令時,調用與第二臨時緩沖區(qū)對應的驅動接口,增大第二臨時緩沖區(qū)的容量值。需要說明的是,由于第二臨時緩沖區(qū)和第一臨時緩沖區(qū)對應著同一個物理地址,因此當?shù)诙锰幚砥?0增大第二臨時緩沖區(qū)的容量值時,第一臨時緩沖區(qū)的容量值也同步增大。在本實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值增大后,是固定不變的,不會再次改變。
第一處理芯片001和第二處理芯片002在數(shù)據(jù)傳輸過程中所用的第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量一般都是512個字節(jié),因此,在本發(fā)明實施例中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的默認容量值可設置為512字節(jié)。為了保證第一處理芯片001和第二處理芯片002之間的待傳輸數(shù)據(jù)包可以全部成功傳輸,增大值和默認容量值之和應大于或者等于第一處理芯片001和第二處理芯片002傳輸?shù)淖畲蟠齻鬏敂?shù)據(jù)包的大小。如當最大待傳輸數(shù)據(jù)包的大小為3千字節(jié)時,增大值和默認容量值之和應大于或者等于3千字節(jié)。
當?shù)诙{制解調器21獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中,以供第一調制解調器11從第一臨時緩沖區(qū)獲取待傳輸數(shù)據(jù)包。當?shù)诙{制解調器21已將待傳輸數(shù)據(jù)包成功寫入第二臨時緩沖區(qū)中時,第一調制解調器11即可從第一臨時緩沖區(qū)檢測并獲取到待傳輸數(shù)據(jù)包,第一調制解調器11根據(jù)所獲取的待傳輸數(shù)據(jù)包從第一用戶識別卡13或第二用戶識別卡14獲取對應的數(shù)據(jù)響應待傳輸數(shù)據(jù)包,得到響應數(shù)據(jù)包,并將響應數(shù)據(jù)包按原路返回給第二處理芯片002的第二調制解調器21。(由于第一臨時緩沖區(qū)和第二臨時緩沖區(qū)對應著同一個物理地址,因此,當?shù)诙{制解調器21待傳輸數(shù)據(jù)包寫入第二臨時緩沖區(qū)時,第一調制解調器11即可在第一臨時緩沖區(qū)中檢測到該待傳輸數(shù)據(jù)包)。
在第一調制解調器11根據(jù)待傳輸數(shù)據(jù)包從第一用戶識別卡13或第二用戶識別卡14獲取對應的數(shù)據(jù)響應該待傳輸數(shù)據(jù)包過程中,第一調制解調器11不會直接與第一用戶識別卡13或第二用戶識別卡14中的文件存儲模塊交互,而是先向第一用戶識別卡13或第二用戶識別卡14中的cos(chipoperatingsystem,片內操作系統(tǒng))操作系統(tǒng)發(fā)送數(shù)據(jù)獲取請求,然后第一用戶識別卡13或第二用戶識別卡14的cos操作系統(tǒng)基于該數(shù)據(jù)獲取請求在文件存儲模塊中獲取數(shù)據(jù),然后將獲取的數(shù)據(jù)再傳輸給第一調制解調器11,以實現(xiàn)待傳輸數(shù)據(jù)包的響應。
本實施例通過當?shù)诙{制解調器21偵測到發(fā)送待傳輸數(shù)據(jù)包的數(shù)據(jù)傳輸指令時,第二調制解調器21根據(jù)數(shù)據(jù)傳輸指令獲取待傳輸數(shù)據(jù)包;第二調制解調器21將待傳輸數(shù)據(jù)包緩存至第二臨時緩沖區(qū)中,以供第一調制解調器11從第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包;其中,第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值等于默認容量值與增大值之和,且默認容量值與增大值之和大于或者等于待傳輸數(shù)據(jù)包的大小。通過增大第一處理芯片001和第二處理芯片002之間用于緩存數(shù)據(jù)的臨時緩沖區(qū)的容量值,避免了在第一處理芯片001和第二處理芯片002傳輸電信卡數(shù)據(jù)過程中,由于電信卡對應某些的數(shù)據(jù)包大小大于臨時緩沖區(qū)的容量值,導致移動終端100死機的情況出現(xiàn)。
進一步地,通過增大第一處理芯片001和第二處理芯片002之間用于數(shù)據(jù)傳輸?shù)呐R時緩沖區(qū)的默認容量值,使待傳輸數(shù)據(jù)包的大小小于或者等于臨時緩沖區(qū)的容量值,實現(xiàn)了在第二處理芯片002和第一處理芯片001進行數(shù)據(jù)傳輸過程中,當所傳輸?shù)拇齻鬏敂?shù)據(jù)包的大小大于臨時緩沖區(qū)的默認容量值時,不需要拆分待傳輸數(shù)據(jù)包,可直接傳輸一個完整的待傳輸數(shù)據(jù)包,提高了待傳輸數(shù)據(jù)包傳輸效率,同時,由于不需要拆分待傳輸數(shù)據(jù)包,因此避免了在拆分待傳輸數(shù)據(jù)包后,所拆分的某一待傳輸數(shù)據(jù)包丟失,或者在待傳輸數(shù)據(jù)包合成過程中,合成失敗的情況出現(xiàn),提高了待傳輸數(shù)據(jù)包傳輸成功率。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第二實施例。
數(shù)據(jù)傳輸方法第二實施例與數(shù)據(jù)傳輸方法第一實施例的區(qū)別在于,參照圖4,數(shù)據(jù)傳輸方法還包括:
步驟s30,第二調制解調器21檢測待傳輸數(shù)據(jù)包的大小,并判斷待傳輸數(shù)據(jù)包的大小是否大于默認容量值。
步驟s40,當待傳輸數(shù)據(jù)包的大小大于默認容量值時,第二調制解調器21計算待傳輸數(shù)據(jù)包的大小和默認容量值之間的差值,根據(jù)差值確定增大值。
當?shù)谝挥脩糇R別卡13和/或第二用戶識別卡14為電信卡時,第二處理芯片002和第一處理芯片001之間所傳輸?shù)拇齻鬏敂?shù)據(jù)包并不都是大于512字節(jié)的,只是存在少數(shù)幾個待傳輸數(shù)據(jù)包才是大于512字節(jié)。因此,如果將第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值從默認容量值增大到某一固定值,在數(shù)據(jù)傳輸過程中不改變第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值,則會浪費第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的存儲空間。因此,當?shù)诙幚硇酒?02的第二調制解調器21獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21檢測待傳輸數(shù)據(jù)包的大小。
具體地,第二調制解調器21解析待傳輸數(shù)據(jù)包,得到待傳輸數(shù)據(jù)包的包頭,從包頭中獲取待傳輸數(shù)據(jù)包的大小。其中,待傳輸數(shù)據(jù)包為tlv格式,tlv格式是ber(basicencodingrules,基本編碼規(guī)則)編碼的一種,全稱為type(類型),length(長度),value(值),t字段表示待傳輸數(shù)據(jù)包的類型,l字段表示待傳輸數(shù)據(jù)包的長度,即待傳輸數(shù)據(jù)包的大小,v字段往往用來存放待傳輸數(shù)據(jù)包的內容。在第二調制解調器21中,由物理層(物理傳輸介質)之上的物理驅動層檢測待傳輸數(shù)據(jù)包的包頭,解析得到待傳輸數(shù)據(jù)包的大小。
需要說明的是,待傳輸數(shù)據(jù)包的生成過程為:在第二調制解調器21中,當傳輸層獲取到待傳輸數(shù)據(jù)包對應的原始數(shù)據(jù)時,為該原始數(shù)據(jù)添加傳輸層的數(shù)據(jù)包頭,傳輸層的數(shù)據(jù)包頭包括傳輸層數(shù)據(jù)類型和數(shù)據(jù)大小,得到初始數(shù)據(jù)包,并將輸出數(shù)據(jù)包傳輸至邏輯復用層。當邏輯復用層接收到初始數(shù)據(jù)包后,為初始化數(shù)據(jù)包添加邏輯復用層的數(shù)據(jù)包頭,邏輯復用層的數(shù)據(jù)包頭包括邏輯復用層的數(shù)據(jù)類型和數(shù)據(jù)大小,得到待傳輸數(shù)據(jù)包,并通過調用物理驅動層的發(fā)送接口將待傳輸數(shù)據(jù)包發(fā)送給物理層??梢岳斫獾氖牵诙{制解調器21最終所檢測到待傳輸數(shù)據(jù)包大小為邏輯復用層包頭中的數(shù)據(jù)大小。
當確定待傳輸數(shù)據(jù)包的大小后,第二調制解調器21判斷待傳輸數(shù)據(jù)包的大小是否大于默認容量值。當待傳輸數(shù)據(jù)包的大小大于默認容量值時,第二調制解調器21計算默認容量值和待傳輸數(shù)據(jù)包大小之間的差值,并根據(jù)計算所得的差值確定增大值。具體地,增大值可與計算所得的差值相等,也可大于計算所得的差值,如可將增大值的大小設置為大于該差值一個字節(jié)。當確定增大值后,第二調制解調器21根據(jù)增大值增大第二臨時緩沖區(qū)的容量值,使得第二臨時緩沖區(qū)的容量值等于增大值與默認容量值之和。同時,第一調制解調器11調用與第一臨時緩沖區(qū)對應的驅動接口,根據(jù)增大值增大第一臨時緩沖區(qū)的容量值,以使第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值同步變化。
步驟s50,當待傳輸數(shù)據(jù)包的大小小于或者等于默認容量值時,第二調制解調器21將待傳輸數(shù)據(jù)包緩存至默認容量值的第二臨時緩沖區(qū)中,以供第一調制解調器11從默認容量值的第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
當待傳輸數(shù)據(jù)包的大小小于或者等于默認容量值時,第二調制解調器21不改變第二臨時緩沖區(qū)的容量值,直接將待傳輸數(shù)據(jù)包緩存至容量值為默認容量值的第二臨時緩沖區(qū)中,以供第一調制解調器11從容量值為默認容量值的第一臨時緩沖區(qū)中獲取待傳輸數(shù)據(jù)包。
本實施例通過根據(jù)待傳輸數(shù)據(jù)包的大小動態(tài)調整第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的容量值,保證在第二處理芯片002和第一處理芯片001之間傳輸待傳輸數(shù)據(jù)包過程中,不需要對待傳輸數(shù)據(jù)包進行拆分的額外操作,確保了第一處理芯片001和第二處理芯片002之間數(shù)據(jù)通道透傳的本質,避免了數(shù)據(jù)傳輸過程中二次拆分重組帶來數(shù)據(jù)損傷,同時避免直接增大第一臨時緩沖區(qū)和第二臨時緩沖區(qū)導致緩存空間浪費的問題。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第三實施例。
數(shù)據(jù)傳輸方法第三實施例與數(shù)據(jù)傳輸方法第二實施例的區(qū)別在于,參照圖5,數(shù)據(jù)傳輸方法還包括:
步驟s60,當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21減小第二臨時緩沖區(qū)的容量值至默認容量值。
當?shù)谝徽{制解調器11從容量值等于默認容量值和增大值之和的第一臨時緩沖區(qū)中成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21調用與第二臨時緩沖區(qū)對應的驅動接口,將第二臨時緩沖區(qū)的容量值減小至默認容量值,即將第二臨時緩沖區(qū)的容量值從等于默認容量值與增大值之和減小至默認容量值。當?shù)诙{制解調器21減小第二臨時緩沖區(qū)的容量值至默認容量值時,第一調制解調器11調用與第一臨時緩沖區(qū)對應的驅動接口,將第一臨時緩沖區(qū)的容量值減小至默認容量值。
需要說明的是,待傳輸數(shù)據(jù)包存在一個結束標識,通過該結束標識可以確定待傳輸數(shù)據(jù)包是否被成功讀取。當?shù)谝慌R時緩沖區(qū)中待傳輸數(shù)據(jù)包的結束標識被讀取后,表明第一調制解調器11已成功獲取到待傳輸數(shù)據(jù)包。即當?shù)谝徽{制解調器11在第一臨時緩沖區(qū)中讀取到該結束標識時,表明第一調制解調器11已成功獲取待傳輸數(shù)據(jù)包。由于第一臨時緩沖區(qū)和第二臨時緩沖區(qū)的狀態(tài)是同步變化的,因此第二調制解調器21可根據(jù)結束標識被讀取的情況確定第一調制解調器11是否成功從第一臨時緩沖區(qū)中獲取到待傳輸數(shù)據(jù)包,從而決定是否執(zhí)行減小第二臨時緩沖區(qū)的容量值至默認容量值的操作。
本實施例通過當?shù)谝徽{制解調器11成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21將第二臨時緩沖區(qū)的容量值重新減小至默認容量值,以在不浪費臨時緩沖區(qū)緩存空間的基礎上,保證第一處理芯片001和第二處理芯片002在數(shù)據(jù)傳輸過程中不會因為傳輸?shù)臄?shù)據(jù)包過大而導致死機的問題出現(xiàn)。
進一步地,提出本發(fā)明數(shù)據(jù)傳輸方法第四實施例。
數(shù)據(jù)傳輸方法第四實施例與數(shù)據(jù)傳輸方法第一或第二實施例的區(qū)別在于,參照圖6,數(shù)據(jù)傳輸方法還包括:
步驟s70,當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21刪除第二臨時緩沖區(qū)中緩存的待傳輸數(shù)據(jù)包。
當?shù)谝徽{制解調器11從第一臨時緩沖區(qū)中成功獲取到待傳輸數(shù)據(jù)包時,第二調制解調器21觸發(fā)刪除指令,根據(jù)刪除指令刪除第二臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包,以節(jié)省臨時緩沖區(qū)的緩存空間,保證第一處理芯片001和第二處理芯片002之間數(shù)據(jù)的成功傳輸??梢岳斫獾氖?,當?shù)诙锰幚砥?0刪除第二臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包時,第一應用處理器10也會刪除第一臨時緩沖區(qū)中的待傳輸數(shù)據(jù)包。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其它相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。