一種數(shù)據(jù)傳輸方法及處理器的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種數(shù)據(jù)傳輸方法及處理器,涉及通信領(lǐng)域,解決了現(xiàn)有技術(shù)在利用固定字節(jié)長度的Master協(xié)議進(jìn)行數(shù)據(jù)傳輸時(shí),所導(dǎo)致的內(nèi)存空間浪費(fèi)的問題。該方法包括:第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),該命令標(biāo)識(shí)為第二處理器存儲(chǔ)命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的數(shù)據(jù)長度相同;將包含命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至第二處理器,該第一數(shù)據(jù)包是第一處理器基于第一傳輸協(xié)議格式得到的。本發(fā)明應(yīng)用于數(shù)據(jù)的傳輸。
【專利說明】
一種數(shù)據(jù)傳輸方法及處理器
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法及處理器。
【背景技術(shù)】
[0002]隨著科技的不斷進(jìn)步,高清電視已經(jīng)成為市場主流。而高清電視在進(jìn)行高清圖像顯示時(shí)需要處理的數(shù)據(jù)量比較大,因此,現(xiàn)今高清電視通常采用主SOC(英文= System onChip,片上系統(tǒng))芯片(通常稱為“主芯片”)+后端畫質(zhì)處理芯片(通常稱為“從芯片”)的“1+I”分離方案來處理高清圖像。在現(xiàn)有技術(shù)中,主芯片與從芯片之間通常通過I2C協(xié)議進(jìn)行數(shù)據(jù)傳輸,即主芯片可以基于I2C協(xié)議向從芯片發(fā)送命令請求,該命令請求中包含以Master協(xié)議結(jié)構(gòu)封裝的包含有命令數(shù)據(jù)的數(shù)據(jù)包。
[0003]但是,由于Master協(xié)議是固定字節(jié)長度的傳輸協(xié)議,因此,當(dāng)傳輸?shù)臄?shù)據(jù)長度與Master協(xié)議中數(shù)據(jù)的所占的字節(jié)長度不符時(shí),會(huì)出現(xiàn)內(nèi)存空間的浪費(fèi)和通信數(shù)量的增加。具體的,Master協(xié)議是由兩個(gè)字節(jié)的命令標(biāo)識(shí)(Command ID,簡稱CMDID)和5個(gè)字節(jié)的數(shù)據(jù)組成的固定長度的傳輸協(xié)議,因此,當(dāng)主芯片向從芯片發(fā)送的命令數(shù)據(jù)的數(shù)據(jù)長度小于5個(gè)字節(jié)時(shí),便會(huì)造成多余字節(jié)的浪費(fèi),同時(shí)由于主芯片會(huì)默認(rèn)這些多余字節(jié)內(nèi)部存有無效數(shù)據(jù),從而導(dǎo)致從芯片為這些無效數(shù)據(jù)分配內(nèi)存空間,進(jìn)而造成內(nèi)存空間的浪費(fèi)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種數(shù)據(jù)傳輸方法及處理器,解決了現(xiàn)有技術(shù)在利用固定字節(jié)長度的Master協(xié)議進(jìn)行數(shù)據(jù)傳輸時(shí),所導(dǎo)致的內(nèi)存空間浪費(fèi)的問題。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面,提供一種數(shù)據(jù)傳輸方法,包括:
[0007]第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),所述命令標(biāo)識(shí)為第二處理器存儲(chǔ)所述命令的命令數(shù)據(jù)的存儲(chǔ)地址,所述存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與所述命令的數(shù)據(jù)長度相同;
[0008]將包含所述命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至所述第二處理器,所述第一數(shù)據(jù)包是所述第一處理器基于第一傳輸協(xié)議格式得到的。
[0009]另一方面,一種處理器,包括:
[0010]獲取模塊,用于獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),所述命令標(biāo)識(shí)為第二處理器存儲(chǔ)所述命令的命令數(shù)據(jù)的存儲(chǔ)地址,所述存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與所述命令的數(shù)據(jù)長度相同;
[0011 ]發(fā)送模塊,用于將包含所述命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至所述第二處理器,所述第一數(shù)據(jù)包是所述第一處理器基于第一傳輸協(xié)議格式得到的。
[0012]本發(fā)明的實(shí)施例提供的數(shù)據(jù)傳輸方法及處理器,首先,第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),其中,該命令標(biāo)識(shí)為第二處理器存儲(chǔ)命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的命令數(shù)據(jù)的數(shù)據(jù)長度相同;其次,根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝,得到命令對(duì)應(yīng)的第一數(shù)據(jù)包,其中,第一傳輸協(xié)議的字節(jié)長度是根據(jù)所封裝的命令數(shù)據(jù)的數(shù)據(jù)長度來定的;最后,將第一數(shù)據(jù)包發(fā)送至第二處理器。這樣本方案中的第一處理器獲取命令的命令標(biāo)識(shí)是第二存儲(chǔ)器存儲(chǔ)命令數(shù)據(jù)的存儲(chǔ)地址,由于第二處理器的存儲(chǔ)空間大小與命令數(shù)據(jù)的長度相同,因此,第一處理器將包含命令的命令數(shù)據(jù)和命令的標(biāo)識(shí)發(fā)送到第二處理器,使得第二處理器在為命令數(shù)據(jù)分配存儲(chǔ)空間時(shí),不會(huì)造成多余空間的浪費(fèi)。
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)傳輸方法的方法流程圖;
[0015]圖2為本發(fā)明實(shí)施例提供的一種第一傳輸協(xié)議的格式圖;
[0016]圖3為本發(fā)明實(shí)施例提供的另一種第一傳輸協(xié)議的格式圖;
[0017]圖4為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)傳輸方法的方法流程圖;
[0018]圖5為本發(fā)明實(shí)施例提供的一種處理器的結(jié)構(gòu)示意圖;
[0019]圖6為本發(fā)明實(shí)施例提供的另一種處理器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0021]本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法的執(zhí)行主體可以為處理器,或者用于執(zhí)行上述數(shù)據(jù)傳輸方法的終端中的處理器。具體的,該終端可以為智能電視、智能電視終端、高清機(jī)頂盒、平板電腦、筆記本電腦、超級(jí)移動(dòng)個(gè)人計(jì)算機(jī)(英文:Ultra-mobile PersonalComputer,簡稱:UMPC)、上網(wǎng)本、個(gè)人數(shù)字助理(英文:Personal Digital Assistant,簡稱:PDA)等終端。示例性的,當(dāng)該第一處理器為高清終端中用于處理畫質(zhì)的后端畫質(zhì)處理芯片(通常被稱為“從芯片”)(例如,F(xiàn)RC(英文:Frame Rate Convers1n,簡稱:幀頻轉(zhuǎn)換)芯片)時(shí),第二處理器為主SOC(英文= System on Chip,簡稱:片上系統(tǒng))芯片(通常被稱為“主芯片”);反之,當(dāng)該第一處理器為主芯片時(shí),第二處理器為從芯片。當(dāng)然需要說明的是,上述的主芯片與從芯片僅僅是一種示例。
[0022]本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,六和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
[0023]為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能或作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。
[0024]本發(fā)明實(shí)施例提供一種數(shù)據(jù)傳輸方法,如圖1所示,該方法具體包括如下步驟:
[0025]101、第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù)。
[0026]本實(shí)施例中的命令標(biāo)識(shí)為第二處理器存儲(chǔ)命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的命令數(shù)據(jù)的數(shù)據(jù)長度相同。
[0027]示例性的,步驟101中,第一處理器獲取命令的命令標(biāo)識(shí)具體包括以下步驟:
[0028]101a、第一處理器獲取第一命令的命令標(biāo)識(shí)。
[0029]101b、第一處理器根據(jù)第一存儲(chǔ)地址以及第二命令的命令數(shù)據(jù)的數(shù)據(jù)長度,確定出第二命令在第二處理器中的第二存儲(chǔ)地址。
[0030]本實(shí)施例中的第一命令的命令標(biāo)識(shí)為第二處理器存儲(chǔ)該第一命令的命令數(shù)據(jù)的第一存儲(chǔ)地址。本實(shí)施例中第一命令的第一存儲(chǔ)地址與該第二命令的第二存儲(chǔ)地址無縫連接。
[0031]具體的,本實(shí)施例中第一命令的命令標(biāo)識(shí)是第二處理器預(yù)先設(shè)置的預(yù)定閾值或初始存儲(chǔ)地址,在確定所有命令的存儲(chǔ)地址時(shí),是根據(jù)獲取的第一命令的命令數(shù)據(jù)的初始存儲(chǔ)地址和第一命令的命令數(shù)據(jù)長度相加得到第二命令的命令數(shù)據(jù)的存儲(chǔ)地址,將第二命令的命令數(shù)據(jù)的存儲(chǔ)地址與第二命令的命令數(shù)據(jù)的數(shù)據(jù)長度相加得到的第三命令的命令數(shù)據(jù)的存儲(chǔ)地址,這樣就實(shí)現(xiàn)了所有命令的命令數(shù)據(jù)的存儲(chǔ)地址無縫連接,進(jìn)而使得第一處理器中的命令數(shù)據(jù)的命令標(biāo)識(shí)是無縫連接的。
[0032]示例性的,每個(gè)命令的命令數(shù)據(jù)的命令長度Length是根據(jù)該命令數(shù)據(jù)所占字節(jié)的個(gè)數(shù)確定出的,即Length = DataO+Datal+Data2+......DataN。具體的,當(dāng)?shù)谝粋鬏攨f(xié)議格式如圖2所示時(shí),除第一命令以外的其他命令對(duì)應(yīng)的命令標(biāo)識(shí)的獲取方法如下所述:
[0033]所有命令的長度組成下面的枚舉類型:
[0034]typedef enum HiSoFCmd_Length
[0035]{
[0036]CMDLength_A= I,
[0037]CMDLength_B = 2,
[0038]CMDLength_C = 3,
[0039]CMDLength_D = 4,
[0040]}ECmdLen;
[0041 ] 每個(gè)CMD的ID =上一個(gè)CMD ID+上一個(gè)CMD length;所有的CMD ID組成下面的枚舉(第一個(gè)CMD ID的數(shù)值是第二處理器根據(jù)需要設(shè)定為固定值或特定存儲(chǔ)數(shù)據(jù)的起始地址)
[0042]typedef enum HiSoFCmdID
[0043]{CMDID_A = 0,
[0044]CMDID_B = CMDID_A+CMD Legth_A,
[0045]CMDID_C = CMDID_B+CMD Legth_B,
[0046]CMDID_D = CMDID_C+CMD Legth_C,
[0047]CMDID_MAX = CMDID_D+CMD Legth_D,
[0048]}ECmdID;
[0049]通過上述這兩個(gè)枚舉,我們就可以獲得每一個(gè)CMD的ID,并將該CMD的ID在第二處理器中對(duì)應(yīng)的存儲(chǔ)地址無縫的連接在一起。
[0050]102、第一處理器將包含命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至第二處理器。
[0051 ]本實(shí)施例中的第一數(shù)據(jù)包是第一處理器基于第一傳輸協(xié)議格式得到的。其中,上述的第一數(shù)據(jù)包是由兩種封裝方式得到的。
[0052]具體的,在第一種封裝方式中,步驟102之前,具體包括:
[0053]102a、第一處理器基于第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)和命令標(biāo)識(shí)進(jìn)行封裝得到第一數(shù)據(jù)包。
[0054]具體的,在第二種封裝方式中,步驟102之前,具體包括:
[0055]102bl、第一處理器根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝,得到第二數(shù)據(jù)包。
[0056]102b2、第一處理器根據(jù)第二傳輸協(xié)議格式將第二數(shù)據(jù)包與命令的命令標(biāo)識(shí)進(jìn)行封裝,得到第一數(shù)據(jù)包。
[0057]示例性的,本實(shí)施例中的第二傳輸協(xié)議是第一處理器與第二處理器進(jìn)行建立數(shù)據(jù)通道時(shí)所使用的傳輸協(xié)議。例如,該第二傳輸協(xié)議可以為IIC接口協(xié)議、SPI接口協(xié)議或者UART接口協(xié)議等。
[0058]本實(shí)施例中的第一傳輸協(xié)議格式包括但不限于圖2和圖3所示的傳輸協(xié)議格式。示例性的,如圖2所示,第一傳輸協(xié)議的格式包括:命令標(biāo)志位、狀態(tài)標(biāo)識(shí)和命令數(shù)據(jù)位。如圖3所示,第一傳輸協(xié)議的格式包括:命令標(biāo)志位和命令數(shù)據(jù)位。圖2和圖3中的存儲(chǔ)命令的命令標(biāo)識(shí)位占4個(gè)字節(jié),存儲(chǔ)命令數(shù)據(jù)的命令數(shù)據(jù)位長度不固定,圖2中的狀態(tài)標(biāo)志位占I個(gè)字
-K-
T O
[0059]可選的,上述的第一傳輸協(xié)議格式如圖2所示,步驟102之前,還包括以下步驟:
[0060]Al、第一處理器獲取第一處理器的狀態(tài)標(biāo)識(shí)。
[0061]A2、第一處理器將包含命令的命令數(shù)據(jù)、命令標(biāo)識(shí)以及狀態(tài)標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至第二處理器。
[0062]本實(shí)施例中第一處理器的狀態(tài)標(biāo)識(shí)用于表示第一處理器當(dāng)前的工作狀態(tài)。
[0063]示例性的,第一傳輸協(xié)議結(jié)構(gòu)圖還可以參照圖3所示的協(xié)議格式,為了減少傳輸?shù)臄?shù)據(jù)量,這里可以使用第一處理器與第二處理器之間的傳輸協(xié)議(即上述的第二傳輸協(xié)議)中的子地址單元來存儲(chǔ)命令的命令標(biāo)識(shí),從而節(jié)省了第一傳輸協(xié)議中用于存儲(chǔ)命令的命令標(biāo)識(shí)的4個(gè)字節(jié)。
[0064]本發(fā)明的實(shí)施例提供的數(shù)據(jù)傳輸方法,首先,第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),其中,該命令標(biāo)識(shí)為第二處理器存儲(chǔ)命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的命令數(shù)據(jù)的數(shù)據(jù)長度相同;其次,根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝,得到命令對(duì)應(yīng)的第一數(shù)據(jù)包,其中,第一傳輸協(xié)議的字節(jié)長度是根據(jù)所封裝的命令數(shù)據(jù)的數(shù)據(jù)長度來定的;最后,將第一數(shù)據(jù)包發(fā)送至第二處理器。這樣本方案中的第一處理器獲取命令的命令標(biāo)識(shí)是第二存儲(chǔ)器存儲(chǔ)命令數(shù)據(jù)的存儲(chǔ)地址,由于第二處理器的存儲(chǔ)空間大小與命令數(shù)據(jù)的長度相同,因此,第一處理器將包含命令的命令數(shù)據(jù)和命令的標(biāo)識(shí)發(fā)送到第二處理器,第二處理器在為命令數(shù)據(jù)分配存儲(chǔ)空間時(shí),不會(huì)造成多余空間的浪費(fèi)。
[0065]此外,本實(shí)施例中第一傳輸協(xié)議的數(shù)據(jù)長度與所封裝的命令的數(shù)據(jù)長度相同。
[0066]具體的,在現(xiàn)有技術(shù)中,由于主從芯片在進(jìn)行傳輸數(shù)據(jù)時(shí)采用的是Master協(xié)議,該Master協(xié)議是由兩個(gè)字節(jié)長度的命令標(biāo)識(shí)和五個(gè)字節(jié)長度的命令數(shù)據(jù)所組成的固定字節(jié)長度的傳輸協(xié)議,當(dāng)主芯片向從芯片發(fā)送的命令數(shù)據(jù)的數(shù)據(jù)長度大于5個(gè)字節(jié)時(shí),由于該Master協(xié)議中僅有5個(gè)字節(jié)用于傳輸命令數(shù)據(jù),因此,需要按照發(fā)送的命令數(shù)據(jù)的實(shí)際數(shù)據(jù)長度分為多次進(jìn)行發(fā)送,從而造成通信數(shù)量的增加。
[0067]而本實(shí)施例中,第一處理器向第二處理器發(fā)送命令數(shù)據(jù)時(shí)是基于第一傳輸協(xié)議格式將第一數(shù)據(jù)包發(fā)送至第二處理器,而該第一傳輸協(xié)議的數(shù)據(jù)長度與所封裝的命令的數(shù)據(jù)長度可以相同。因此,當(dāng)?shù)谝惶幚砥髟诎l(fā)送命令數(shù)據(jù)的時(shí),能夠?qū)⑺忻顢?shù)據(jù)均封裝到一個(gè)數(shù)據(jù)包中,從而也就避免了通信數(shù)量的增加。
[0068]另外,第一處理器和第二處理器同步通信時(shí),第一處理器在對(duì)第二處理器進(jìn)行讀數(shù)據(jù)的步驟如下:
[0069]Stepl、第一處理器查詢第二處理器的flag(狀態(tài)標(biāo)識(shí))是否為O
[°07°]當(dāng)?shù)诙幚砥鞯膄lag為O時(shí),進(jìn)入Step2;當(dāng)?shù)诙幚砥鞯膄lag為I時(shí),繼續(xù)進(jìn)行查詢,直到flag為O。
[0071]Step2、第一處理器根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝得到命令對(duì)應(yīng)的數(shù)據(jù)包,將該第一數(shù)據(jù)包發(fā)送至第二處理器。
[0072]Step3、第二處理器接收第一處理器發(fā)送的數(shù)據(jù)包,從數(shù)據(jù)包中解析出命令數(shù)據(jù)。同時(shí)第二處理器將flag置為I。
[0073]Step4、第二處理器啟動(dòng)驅(qū)動(dòng)軟件,調(diào)用對(duì)應(yīng)的驅(qū)動(dòng)函數(shù)對(duì)命令的命令數(shù)據(jù)進(jìn)行處理,同時(shí)顯示高清電視畫面。第二處理器將處理后的命令數(shù)據(jù)放到指定的位置,并將flag置為O O
[0074]Step5、第一處理器查詢第二處理器的flag是否為O。
[0075]當(dāng)?shù)诙幚砥鞯膄lag為O時(shí),則讀取第二處理器處理后的命令數(shù)據(jù);當(dāng)?shù)诙幚砥鞯膄lag為I時(shí),繼續(xù)進(jìn)行查詢,直到flag為O時(shí),讀取第二處理器處理后的命令數(shù)據(jù)。
[0076]異步通信時(shí),第一處理器和第二處理器在進(jìn)行讀數(shù)據(jù)的過程中,當(dāng)?shù)谝惶幚砥飨虻诙幚砥靼l(fā)送數(shù)據(jù)包時(shí),不需要進(jìn)行判斷狀態(tài)標(biāo)識(shí);當(dāng)?shù)谝惶幚砥髯x取第二處理器處理后的命令數(shù)據(jù)時(shí)也不需要判斷狀態(tài)標(biāo)識(shí),而是經(jīng)過簡單的延時(shí)或其他處理后直接進(jìn)行。其第一處理器進(jìn)行數(shù)據(jù)封裝和第二處理器進(jìn)行解封裝的過程與同步通信時(shí)的過程原理相同,具體可以參考上述過程。
[0077]具體的,同步通信時(shí),第一處理器在對(duì)第二處理器進(jìn)行寫數(shù)據(jù)的步驟如下:
[0078]Stepl、第一處理器查詢第二處理器的flag(狀態(tài)標(biāo)識(shí))是否為O
[0079]當(dāng)?shù)诙幚砥鞯膄lag為O時(shí),進(jìn)入Step2;當(dāng)?shù)诙幚砥鞯膄lag為I時(shí),繼續(xù)進(jìn)行查詢,直到flag為O。
[0080]Step2、第一處理器根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝得到數(shù)據(jù)包,并將該數(shù)據(jù)包發(fā)送至第二處理器。
[0081]Step3、第二處理器接收第一處理器發(fā)送的數(shù)據(jù)包,從數(shù)據(jù)包中解析出命令的命令數(shù)據(jù)。同時(shí)第二處理器將flag置為I。
[0082]Step4、第二處理器啟動(dòng)驅(qū)動(dòng)軟件,調(diào)用對(duì)應(yīng)的驅(qū)動(dòng)函數(shù)對(duì)命令的命令數(shù)據(jù)進(jìn)行處理,同時(shí)顯示高清電視畫面。
[0083]異步通信時(shí),第一處理器和第二處理器在進(jìn)行寫數(shù)據(jù)的過程中,當(dāng)?shù)谝惶幚砥飨虻诙幚砥靼l(fā)送數(shù)據(jù)包時(shí),不需要進(jìn)行判斷狀態(tài)標(biāo)識(shí)。其第一處理器進(jìn)行數(shù)據(jù)封裝和第二處理器進(jìn)行解封裝的過程與同步通信時(shí)的過程原理相同,具體可以參考上述過程。
[0084]綜上所述,第一處理器向第二處理器讀命令數(shù)據(jù)時(shí),需要第二處理器將處理后的命令數(shù)據(jù)放到指定位置等待第一處理器進(jìn)行命令數(shù)據(jù)的讀取;第一處理器向第二處理器寫數(shù)據(jù)時(shí),第二處理器不需要將處理的命令數(shù)據(jù)放到指定位置,只需將第二處理器發(fā)送的命令數(shù)據(jù)進(jìn)行處理,不需向第一處理器匯報(bào)處理后的數(shù)據(jù)結(jié)果。
[0085]本發(fā)明的實(shí)施例提供一種數(shù)據(jù)傳輸方法,本實(shí)施例主要針對(duì)第一處理器在接收到第二處理器根據(jù)第一傳輸協(xié)議所得到的第三數(shù)據(jù)包后,所執(zhí)行的對(duì)該第三數(shù)據(jù)包進(jìn)行數(shù)據(jù)解封裝的過程,當(dāng)然,第一處理器在根據(jù)第一傳輸協(xié)議得到第一數(shù)據(jù)包的過程,可以參照上一實(shí)施例所描述的過程,這里不再贅述。具體的,如圖4所示,該方法具體的包括如下步驟:
[0086]201、第一處理器接收第二處理器發(fā)送的第三數(shù)據(jù)包。
[0087]202、第一處理器解析第三數(shù)據(jù)包,得到第三數(shù)據(jù)包中包含的命令數(shù)據(jù)以及存儲(chǔ)地址,并根據(jù)存儲(chǔ)地址將命令數(shù)據(jù)存儲(chǔ)至第一處理器。
[0088]本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法,第一處理器在解封裝的過程中,接收到第二處理器發(fā)送的第三數(shù)據(jù)包,然后解析該第三數(shù)據(jù)包,得到命令的命令數(shù)據(jù)以及存儲(chǔ)地址,由于該存儲(chǔ)地址空間的大小與命令的命令數(shù)據(jù)長度相同,因此節(jié)省了第一處理器存儲(chǔ)命令數(shù)據(jù)的存儲(chǔ)空間。
[0089]本發(fā)明實(shí)施例提供一種處理器,如圖5所示,該處理器3包括:獲取模塊31和發(fā)送模塊32,其中:
[0090]獲取模塊31,用于獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),該命令標(biāo)識(shí)為第二處理器存儲(chǔ)所述命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的數(shù)據(jù)長度相同。
[0091]發(fā)送模塊32,用于將包含命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至第二處理器,該第一數(shù)據(jù)包是第一處理器基于第一傳輸協(xié)議格式得到的。
[0092]示例性的,該第一傳輸協(xié)議的數(shù)據(jù)長度與所封裝的命令的數(shù)據(jù)長度相同。
[0093]具體的,該獲取模塊31在獲取命令的命令標(biāo)識(shí)時(shí)用于:
[0094]獲取第一命令的命令標(biāo)識(shí),該第一命令的命令標(biāo)識(shí)為第二處理器存儲(chǔ)第一命令的命令數(shù)據(jù)的第一存儲(chǔ)地址;
[0095]根據(jù)第一存儲(chǔ)地址以及第二命令的命令數(shù)據(jù)的數(shù)據(jù)長度,確定出第二命令在第二處理器中的第二存儲(chǔ)地址,第一命令的第一存儲(chǔ)地址與第二命令的第二存儲(chǔ)地址無縫連接。
[0096]進(jìn)一步的,如圖5所示該處理器3還包括封裝模塊33。
[0097]封裝模塊33,用于根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝,得到第二數(shù)據(jù)包;還用于根據(jù)第二傳輸協(xié)議格式將第二數(shù)據(jù)包與所述命令的命令標(biāo)識(shí)進(jìn)行封裝,得到第一數(shù)據(jù)包。
[0098]可選的,如圖6所示,該處理器3還包括接收模塊34和解析模塊35。
[0099]接收模塊34,用于接收第二處理器發(fā)送的第三數(shù)據(jù)包;
[0100]解析模塊35,用于解析第三數(shù)據(jù)包,得到第三數(shù)據(jù)包中包含的命令數(shù)據(jù)以及存儲(chǔ)地址,并根據(jù)存儲(chǔ)地址將命令數(shù)據(jù)存儲(chǔ)至所述第一處理器。
[0101]本發(fā)明的實(shí)施例提供的處理器,首先,第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),其中,該命令標(biāo)識(shí)為第二處理器存儲(chǔ)命令的命令數(shù)據(jù)的存儲(chǔ)地址,該存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與命令的命令數(shù)據(jù)的數(shù)據(jù)長度相同;其次,根據(jù)第一傳輸協(xié)議格式將命令的命令數(shù)據(jù)進(jìn)行封裝,得到命令對(duì)應(yīng)的第一數(shù)據(jù)包,其中,第一傳輸協(xié)議的字節(jié)長度是根據(jù)所封裝的命令數(shù)據(jù)的數(shù)據(jù)長度來定的;最后,將第一數(shù)據(jù)包發(fā)送至第二處理器。這樣本方案中的第一處理器獲取命令的命令標(biāo)識(shí)是第二存儲(chǔ)器存儲(chǔ)命令數(shù)據(jù)的存儲(chǔ)地址,由于第二處理器的存儲(chǔ)空間大小與命令數(shù)據(jù)的長度相同,因此,第一處理器將包含命令的命令數(shù)據(jù)和命令的標(biāo)識(shí)發(fā)送到第二處理器,第二處理器在為命令數(shù)據(jù)分配存儲(chǔ)空間時(shí),不會(huì)造成多余空間的浪費(fèi)。
[0102]在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的處理器和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的處理器實(shí)施例僅僅是示意性的,例如,所述處理器中模塊的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)模塊或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的模塊相互之間的耦合或直接耦合或通信連接可以是通過一些接口,第一處理器或第一處理器中的模塊與第二處理器或第二處理器中的模塊的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0103]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一個(gè)處理單元中,也可以是各個(gè)模塊單獨(dú)物理包括,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
[0104]上述以軟件功能模塊的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能模塊可以存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(英文= Read-OnlyMemory,簡稱:ROM)、隨機(jī)存取存儲(chǔ)器(英文:Random Access Memory,簡稱:RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0105]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 第一處理器獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),所述命令標(biāo)識(shí)為第二處理器存儲(chǔ)所述命令的命令數(shù)據(jù)的存儲(chǔ)地址,所述存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與所述命令的數(shù)據(jù)長度相同; 將包含所述命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至所述第二處理器,所述第一數(shù)據(jù)包是所述第一處理器基于第一傳輸協(xié)議格式得到的。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取命令的命令標(biāo)識(shí)具體包括: 獲取第一命令的命令標(biāo)識(shí),所述第一命令的命令標(biāo)識(shí)為所述第二處理器存儲(chǔ)所述第一命令的命令數(shù)據(jù)的第一存儲(chǔ)地址; 根據(jù)所述第一存儲(chǔ)地址以及第二命令的命令數(shù)據(jù)的數(shù)據(jù)長度,確定出所述第二命令在所述第二處理器中的第二存儲(chǔ)地址,所述第一命令的第一存儲(chǔ)地址與所述第二命令的第二存儲(chǔ)地址無縫連接。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將包含所述命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至所述第二處理器之前,所述方法包括: 根據(jù)第一傳輸協(xié)議格式將所述命令的命令數(shù)據(jù)進(jìn)行封裝,得到第二數(shù)據(jù)包;根據(jù)第二傳輸協(xié)議格式將所述第二數(shù)據(jù)包與所述命令的命令標(biāo)識(shí)進(jìn)行封裝,得到第一數(shù)據(jù)包。4.根據(jù)權(quán)利要求1所述的方法,其特征是在于,所述方法還包括: 接收所述第二處理器發(fā)送的第三數(shù)據(jù)包; 解析所述第三數(shù)據(jù)包,得到所述第三數(shù)據(jù)包中包含的命令數(shù)據(jù)以及存儲(chǔ)地址,并根據(jù)所述存儲(chǔ)地址將所述命令數(shù)據(jù)存儲(chǔ)至所述第一處理器。5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述第一傳輸協(xié)議的數(shù)據(jù)長度與所封裝的所述命令的數(shù)據(jù)長度相同。6.一種處理器,其特征在于,包括: 獲取模塊,用于獲取命令的命令標(biāo)識(shí)及對(duì)應(yīng)的命令數(shù)據(jù),所述命令標(biāo)識(shí)為第二處理器存儲(chǔ)所述命令的命令數(shù)據(jù)的存儲(chǔ)地址,所述存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間的大小與所述命令的數(shù)據(jù)長度相同; 發(fā)送模塊,用于將包含所述命令的命令數(shù)據(jù)以及命令標(biāo)識(shí)的第一數(shù)據(jù)包發(fā)送至所述第二處理器,所述第一數(shù)據(jù)包是所述第一處理器基于第一傳輸協(xié)議格式得到的。7.根據(jù)權(quán)利要求6所述的處理器,其特征在于,所述獲取模塊在獲取命令的命令標(biāo)識(shí)時(shí),具體用于: 獲取第一命令的命令標(biāo)識(shí),所述第一命令的命令標(biāo)識(shí)為所述第二處理器存儲(chǔ)所述第一命令的命令數(shù)據(jù)的第一存儲(chǔ)地址; 根據(jù)所述第一存儲(chǔ)地址以及第二命令的命令數(shù)據(jù)的數(shù)據(jù)長度,確定出所述第二命令在所述第二處理器中的第二存儲(chǔ)地址,所述第一命令的第一存儲(chǔ)地址與所述第二命令的第二存儲(chǔ)地址無縫連接。8.根據(jù)權(quán)利要求6或7所述的處理器,其特征在于,所述處理器還包括: 封裝模塊,用于根據(jù)第一傳輸協(xié)議格式將所述命令的命令數(shù)據(jù)進(jìn)行封裝,得到第二數(shù)據(jù)包;根據(jù)第二傳輸協(xié)議格式將所述第二數(shù)據(jù)包與所述命令的命令標(biāo)識(shí)進(jìn)行封裝,得到第一數(shù)據(jù)包。9.根據(jù)權(quán)利要求6所述的處理器,其特征在于,所述處理器還包括: 接收模塊,用于接收所述第二處理器發(fā)送的第三數(shù)據(jù)包; 解析模塊,用于解析所述第三數(shù)據(jù)包,得到所述第三數(shù)據(jù)包中包含的命令數(shù)據(jù)以及存儲(chǔ)地址,并根據(jù)所述存儲(chǔ)地址將所述命令數(shù)據(jù)存儲(chǔ)至所述第一處理器。10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的處理器,其特征在于,所述第一傳輸協(xié)議的數(shù)據(jù)長度與所封裝的所述命令的數(shù)據(jù)長度相同。
【文檔編號(hào)】H04L12/933GK105847190SQ201610153752
【公開日】2016年8月10日
【申請日】2016年3月17日
【發(fā)明人】陳世雷, 李洋, 曾小光, 周導(dǎo)
【申請人】青島海信電器股份有限公司