專利名稱:在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于一種數(shù)據(jù)傳送的方法與裝置,特別是關(guān)于一種于硬件中處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法與裝置。
背景技術(shù):
在傳統(tǒng)的數(shù)據(jù)傳送系統(tǒng)中,一多工子層(multiplex sublayer)具有傳送與接收兩種功能。傳送功能結(jié)合各種來源(例如上層信號(hào)、語音服務(wù)、數(shù)據(jù)服務(wù)等等)的信息以形成服務(wù)數(shù)據(jù)單元(Service Data Units,SDUs)。接收功能分離包含于服務(wù)數(shù)據(jù)單元中的信息,并且將這些信息導(dǎo)引至正確的個(gè)體(例如上層信號(hào)、語音服務(wù)、數(shù)據(jù)服務(wù)等等)。信息位元于一連接服務(wù)或一邏輯通道以及一多工子層之間進(jìn)行交換,其中多工子層于稱為一數(shù)據(jù)區(qū)塊的一單元中。多工子層多工處理一或多個(gè)數(shù)據(jù)區(qū)塊至一多工子層數(shù)據(jù)單元(Multiplex Sublayer Data Unit,MUXPDU),并且結(jié)合一或多個(gè)多工子層數(shù)據(jù)單元(MUXPDU)至服務(wù)數(shù)據(jù)單元(SDUs)。
傳統(tǒng)的多工子層數(shù)據(jù)單元(MUXPDUs)有許多不同的類型,每一傳統(tǒng)多工子層數(shù)據(jù)單元(MUXPDU)通常具有一獨(dú)特的結(jié)構(gòu)且用以針對一特定的目的。一般而言,每一多工子層數(shù)據(jù)單元(MUXPDU)包含一開頭與一數(shù)據(jù)區(qū)塊,這里的開頭具有若干的字段。使用軟件去處理這些數(shù)據(jù)則需要利用大量的每秒幾百萬個(gè)指令(Millions ofInstructions Per Second,MIPS)。此外,特別是當(dāng)數(shù)據(jù)速度高的時(shí)候,以軟件進(jìn)行時(shí)會(huì)產(chǎn)生嚴(yán)重的處理問題。對于精簡指令集計(jì)算(ReducedInstruction Set Computing,RISC)的處理器來說,如此的計(jì)算開銷是別具重大關(guān)系的。
因此,發(fā)展在硬件上處理多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)的系統(tǒng)是有其迫切需要的。
發(fā)明內(nèi)容
本發(fā)明是有關(guān)于一種包含一數(shù)據(jù)單元、一存儲(chǔ)器、一控制單元的裝置。數(shù)據(jù)單元用以針對包含一連串字符的一輸入信號(hào)產(chǎn)生包含一連串訊框的一輸出信號(hào),其中每一訊框具有一開頭與一負(fù)載。存儲(chǔ)器能用以(a)維持輸出信號(hào)以及(b)與一裝置溝通??刂茊卧苡靡蕴峁┮换蚨鄠€(gè)控制信號(hào)來控制數(shù)據(jù)單元與存儲(chǔ)器。
本發(fā)明的目的、特征與優(yōu)點(diǎn)包含提供一種數(shù)據(jù)傳送系統(tǒng),其可用于(1)處理多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù);(2)應(yīng)用在硬件上;(3)減少處理器的運(yùn)算負(fù)載;(4)將多工子層數(shù)據(jù)單元(MUXPDU)的開頭的每一字段儲(chǔ)存至可容易讀取與分析的不同位址;(5)執(zhí)行一分離自開頭的一數(shù)據(jù)區(qū)塊以使數(shù)據(jù)區(qū)塊在不使用移位命令的情況下就可以拷貝;(6)執(zhí)行一不同字符大小的處理數(shù)據(jù)(例如32位元字符)去增加處理數(shù)據(jù)訊框的效率與速度;(7)執(zhí)行一處理與儲(chǔ)存超過一訊框的一多工子層數(shù)據(jù)單元處理器(MUXPDU processor);(8)執(zhí)行二個(gè)可提供更多時(shí)間給處理器去讀取數(shù)據(jù)與延緩反應(yīng)時(shí)間的記憶庫(banks);(9)處理不同類型的多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù);(10)在相同的結(jié)構(gòu)中儲(chǔ)存數(shù)據(jù);以及(11)簡化軟件。
圖1為說明一傳統(tǒng)多工子層數(shù)據(jù)單元(MUXPDU)訊框類型5的一示意圖。
圖2為說明本發(fā)明的一較佳實(shí)施例的一方塊圖。
圖3為說明可用來儲(chǔ)存多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)的存儲(chǔ)器的一示意圖。
圖4為說明從譯碼器接收來的不同信號(hào)的一時(shí)序圖。
圖5為說明數(shù)據(jù)單元的一方塊圖。
圖6為說明存儲(chǔ)器介面的一示意圖。
圖7為說明一第一有限狀態(tài)機(jī)的一流程圖。
圖8為說明一第二有限狀態(tài)機(jī)的一流程圖。
圖中符號(hào)說明10 典型多工子層數(shù)據(jù)單元(MUXPDU)類型5的訊框12a-12n多工子層數(shù)據(jù)單元(MUXPDUs)100電路102處理器部分(或電路)104輸入部分(或電路)106輸出部分(或電路)110輸入112輸入/輸出120數(shù)據(jù)單元122控制單元124,160, 存儲(chǔ)器130,132,140,暫存器134多工器(MUX1)136區(qū)塊(或電路)137轉(zhuǎn)換電路138多工器(MUX2)150暫存區(qū)塊(或電路)152主要控制單元
154計(jì)數(shù)器區(qū)塊156暫存器區(qū)塊(或電路)158定時(shí)器區(qū)塊(或電路)162計(jì)數(shù)器163多工器164,166,168,170,柵極200有限狀態(tài)機(jī)202第一狀態(tài)204,208,212,216,218,222,304,306,312,318,324,判定狀態(tài)206,210,214,220,224,226,228,302,308,310,314,316,320,322,326,狀態(tài)300有限狀態(tài)機(jī)330第三有限狀態(tài)機(jī)具體實(shí)施方式
本發(fā)明能完成一種能包含一或多個(gè)多工子層數(shù)據(jù)單元(MUXPDU)的訊框,每一多工子層數(shù)據(jù)單元(MUXPDU)包含一開頭(header)與一數(shù)據(jù)區(qū)塊(data block)。
圖1說明一典型多工子層數(shù)據(jù)單元(MUXPDU)類型5的訊框10。訊框10具有若干多工子層數(shù)據(jù)單元(MUXPDUs)12a-12n,最后的多工子層數(shù)據(jù)單元12n可以是一填充多工子層數(shù)據(jù)單元(fillMUXPDU)。為了要填滿訊框10的最后未使用的位元,多工子層數(shù)據(jù)單元(MUXPDU)12n包含以“0”位元填滿的一數(shù)據(jù)區(qū)塊。訊框10能包含若干字符。于一實(shí)施例中,訊框10可以具有3840個(gè)位元且字符(字符)大小可以為16位元。然而,也可配合特定裝置的設(shè)計(jì)準(zhǔn)則來實(shí)施不同大小的字符。
本發(fā)明于硬件中處理多工子層數(shù)據(jù)單元(MUXPDU)的數(shù)據(jù)并且將開頭與數(shù)據(jù)(或有效負(fù)載(payload))儲(chǔ)存于不同的位址??赡艿脑?,只有儲(chǔ)存開頭信息。避免數(shù)據(jù)處理大大地減少處理器的每秒幾百萬個(gè)指令(MIPS)與負(fù)擔(dān)。本發(fā)明的多工子層數(shù)據(jù)單元(MUXPDU)處理器可以是彈性的且能被實(shí)施以處理一個(gè)以上的訊框。
參照圖2,為根據(jù)本發(fā)明的一較佳實(shí)施例說明一電路100。電路100通常包含一處理器部分(或電路)102,一輸入部分(或電路)104,與一輸出部分(或電路)106。輸入部分104可以當(dāng)作一渦輪(Turbo)或維特比(Viterbi)譯碼器。輸出部分(或電路)106可以是協(xié)同處理器(co-processor)。處理器部分102能有一輸入110,此輸入110從輸入電路104接收一數(shù)據(jù)信號(hào)(例如DIN)。DIN信號(hào)通常包含一連串的字符,處理器部分102具有與輸出電路106通訊的一輸入/輸出112。
處理器部分102通常包含一數(shù)據(jù)單元120、一控制單元122與一存儲(chǔ)器124。數(shù)據(jù)單元120通常包含一暫存器130、一暫存器132、一多工器(MUX1)134、一區(qū)塊(或電路)136、一多工器(MUX2)138與一暫存器140。暫存器130與暫存器132可以是16位元暫存器。然而,可以使用其它寬度的位元以符合特別裝置的設(shè)計(jì)準(zhǔn)則。暫存器130通常接收輸入信號(hào)DIN。暫存器130的一輸出包含16位元的信號(hào)DIN,且此輸出通常連接至?xí)捍嫫?32的一輸入與多工器134的一第一輸入。多工器134一般接收暫存器130的8個(gè)最高有效位元。區(qū)塊136可以是格式化元件(formatter)(或轉(zhuǎn)換電路)。格式化元件136可以用來從16位元字符轉(zhuǎn)換至32位元字符。暫存器132具有一輸出,此輸出通常連接至多工器134的一第二輸入且通常以16位元的信號(hào)DIN表示。暫存器130與132提供特定位元的信號(hào)DIN給多工器134,多工器134選擇位元(例如從暫存器132來的位元,或是從暫存器130與132來的交錯(cuò)位元)提供給格式化元件136。多工器134可以接收從控制單元122來的一或多位元的控制信號(hào)(例如CTR)。如圖2所示,可經(jīng)由連接不同元件的一總線(bus)來提供控制信號(hào)CTR。多工器134通常經(jīng)由轉(zhuǎn)換電路136連接多工器138。圖5所示為一多工器138的詳細(xì)附圖。多工器138也接收從控制單元122來的控制信號(hào)CTR。多工器138具有一輸出連接至?xí)捍嫫?40,暫存器140也接收一或多位元的控制信號(hào)CTR。
控制單元122通常包含一暫存區(qū)塊(或電路)150、一主要控制單元152、一計(jì)數(shù)器區(qū)塊(Counter)154、一暫存器區(qū)塊(或電路)156以及一定時(shí)器區(qū)塊(或電路,Timer)158。主要控制單元152針對來自輸入電路104、數(shù)據(jù)單元120、暫存器150、計(jì)數(shù)器154、暫存器156以及定時(shí)器158的信號(hào)提供一控制信號(hào)CTR。執(zhí)行控制信號(hào)CTR時(shí)可包含一或多個(gè)控制位元以及/或一或多個(gè)中斷信號(hào)。
電路102可以是多工子層數(shù)據(jù)單元(MUltiplex Sublayer Data Unit,MUXPDU)處理器,其用以(1)處理多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)以及(2)儲(chǔ)存處理后的數(shù)據(jù)在存儲(chǔ)器124中。于一實(shí)施例中,來自譯碼器的字符可以是16位元字符,存儲(chǔ)器124可以以32位元字符來儲(chǔ)存數(shù)據(jù)。利用如此的一個(gè)例子,暫存器130以及132可用來儲(chǔ)存16位元字符,然而,可以變化特別位元寬度的字符以符合特定裝置的設(shè)計(jì)準(zhǔn)則。
電路104(例如一維特比譯碼器(Viterbi Decoder)、一渦輪譯碼器或其它類型的譯碼器)一般提供數(shù)據(jù)字符。于接收一中斷信號(hào)(例如CTR控制信號(hào)的位元之一)之后,電路106一般會(huì)讀取處理過的多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)。利用如此的一個(gè)例子,一或二個(gè)訊框通常于中斷之間進(jìn)行處理,在另一實(shí)施例中,更多的訊框(例如N訊框)可于中斷之間進(jìn)行處理。
電路124通常包含一存儲(chǔ)器與一記憶介面邏輯電路用以儲(chǔ)存處理過的多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)。二記憶庫(詳細(xì)如圖6所示)可以允許較多的時(shí)間給協(xié)同處理器106去讀取處理過的數(shù)據(jù)。舉例來說,當(dāng)寫入一記憶庫時(shí),同時(shí)讀取另一記憶庫。
暫存器130與132可用以儲(chǔ)存從譯碼器104接收的二個(gè)連續(xù)字符。多工器134及138與格式化元件136可用以移位數(shù)據(jù)字符,如此于可擷取出確定位元并儲(chǔ)存于暫存器140中。因?yàn)樽g碼器104可以提供16位元字符,所以為了組合一32位元字符,可能需要高達(dá)三個(gè)字符。舉例來說,可以使用從第一字符來的8位元、從第二字符來的16位元以及從第三字符來的8位元。當(dāng)于暫存器140中準(zhǔn)備好一32位元字符時(shí),字符被儲(chǔ)存至存儲(chǔ)器124中。
暫存器區(qū)塊156包含一些控制暫存器,暫存器區(qū)塊156的控制暫存器可用以配置主要控制單元152。在訊框中可被配置的參數(shù)包含多工子層數(shù)據(jù)單元(MUXPDU)類型、訊框大小、多工子層數(shù)據(jù)單元(MUXPDU)數(shù)據(jù)區(qū)塊數(shù)目等等。暫存器區(qū)塊150中一或多個(gè)的暫存器可用以儲(chǔ)存于多工子層數(shù)據(jù)單元處理期間需要的暫時(shí)信息,例如多工子層數(shù)據(jù)單元開頭(MUXPDU header)。如此的暫時(shí)信息可能只包含于多工子層數(shù)據(jù)單元數(shù)據(jù)區(qū)塊的第一字符中。計(jì)數(shù)器區(qū)塊154包含一或多個(gè)計(jì)數(shù)器。計(jì)數(shù)器區(qū)塊的計(jì)數(shù)器可用以計(jì)算接收到的位元數(shù)目、處理后的多工子層數(shù)據(jù)單元的數(shù)目以及儲(chǔ)存于存儲(chǔ)器中的多工子層數(shù)據(jù)單元的數(shù)目等等。
控制單元122可以處理二個(gè)訊框并且在當(dāng)時(shí)通過產(chǎn)生一中斷信號(hào)(例如CTR信號(hào)的位元之一)來通知協(xié)同處理器106數(shù)據(jù)已經(jīng)準(zhǔn)備好??刂茊卧?22應(yīng)等待第二個(gè)訊框的時(shí)間可以由程序化定時(shí)器158來設(shè)定。若定時(shí)器158達(dá)到0時(shí),控制單元122提供信號(hào)INTERRUPT給協(xié)同處理器106,指示協(xié)同處理器106應(yīng)從存儲(chǔ)器124讀取單一訊框的處理過的數(shù)據(jù)。主要控制單元152包含二個(gè)有限狀態(tài)機(jī)(詳細(xì)如圖7、圖8所示)以提供不同位元的控制信號(hào)CTR給數(shù)據(jù)單元120(與于控制單元122中的元件)。
多工子層數(shù)據(jù)單元數(shù)據(jù)包含可以具有一些字段的一開頭與一數(shù)據(jù)區(qū)塊。多工子層數(shù)據(jù)單元處理器100一般將開頭字段儲(chǔ)存于跟隨數(shù)據(jù)區(qū)塊之后的分離位址中。處理器100可以使用若干第一位址去儲(chǔ)存信息字符。信息字符包含總體信息字符(global information words),其內(nèi)包含對協(xié)同處理器106有用的參數(shù)與數(shù)據(jù)。于如此的一實(shí)施中,一般分派二個(gè)位址,每一訊框都有一個(gè)位址。然而,若提供超過二個(gè)訊框的處理及/或協(xié)同處理器106需要更多的數(shù)據(jù)時(shí),可以分派額外的位址去儲(chǔ)存較多的信息。
參照圖3,為說明存儲(chǔ)器124的一示意圖。圖標(biāo)的配置用以儲(chǔ)存一或二個(gè)訊框的多工子層數(shù)據(jù)單元數(shù)據(jù)。于一例子中,可以依下列的順序?qū)?shù)據(jù)儲(chǔ)存于存儲(chǔ)器124中(但是也可使用其它格式)。第一位址可以包含有關(guān)第一訊框的信息。第一位址包含(1)第一訊框儲(chǔ)存于存儲(chǔ)器124的多工子層數(shù)據(jù)單元的數(shù)目、(2)訊框周期重復(fù)檢測信息(CRC information)及(3)其它信息,例如控制暫存器150以及/或156的一或多個(gè)位元。所示的第一位址具有32數(shù)據(jù)位元(例如[31:0])。數(shù)據(jù)位元D[5:0]可以指示第一訊框儲(chǔ)存在存儲(chǔ)器124的多工子層數(shù)據(jù)單元的數(shù)目。如本例所示,分派6位元給第一訊框。然而,可以改變位元的數(shù)目以配合特定裝置的設(shè)計(jì)準(zhǔn)則。數(shù)據(jù)位元D[29:6]可用來儲(chǔ)存其它信息,例如可用來控制協(xié)同處理器106的控制暫存器150以及/或156的確定位元。數(shù)據(jù)位元D[30]可儲(chǔ)存第一訊框的周期重復(fù)檢測信息(CRC information)(例如0=訊框周期重復(fù)檢測失敗,1=訊框周期重復(fù)檢測通過)以利統(tǒng)計(jì)或其它目的之用。數(shù)據(jù)位元D[31]可以為第一位址中不使用的一保留位元(例如0)。
第二位址可以儲(chǔ)存有關(guān)第二訊框的信息。若于中斷之間處理二訊框時(shí),一般是使用第二位址。所示的第二位址具有32數(shù)據(jù)位元(例如[31:0]),第二位址可以(1)包含二訊框儲(chǔ)存于存儲(chǔ)器中的多工子層數(shù)據(jù)單元的數(shù)目、(2)第二訊框的周期重復(fù)檢測信息(CRCinformation)、(3)已處理過的訊框的數(shù)目以及(4)其它信息,例如從控制暫存區(qū)塊150以及/或156來的一或多個(gè)位元。
數(shù)據(jù)位元D[5:0]可以表示二訊框于存儲(chǔ)器124中所儲(chǔ)存的多工子層數(shù)據(jù)單元的數(shù)目,于本例中所示,分派6位元表示第一與第二訊框。然而,可以改變特定數(shù)目的位元以配合特定裝置的設(shè)計(jì)準(zhǔn)則。數(shù)據(jù)位元D[29:6]可以用來儲(chǔ)存可用以控制協(xié)同處理器106的信息,例如控制暫存器區(qū)塊150以及/或156的確定位元。數(shù)據(jù)位元D[30]可以儲(chǔ)存第二訊框的周期重復(fù)檢測信息(例如0=訊框周期重復(fù)檢測失敗,1=訊框周期重復(fù)檢測通過)。數(shù)據(jù)位元D[31]可以表示于存儲(chǔ)器124中所儲(chǔ)存的訊框數(shù)目(例如0=一個(gè)訊框,1=二個(gè)訊框)。
額外位址包含多工子層數(shù)據(jù)單元數(shù)據(jù)。于本例中所討論的譯碼器104通常提供一連串的字符(例如16位元字符)。數(shù)據(jù)單元120于每一位址中儲(chǔ)存二個(gè)字符(即4位元組)。于每一多工子層數(shù)據(jù)單元區(qū)塊中,第一位址包含開頭。一般而言,開頭使用6位元且沒有使用到的位元填入0。第二位址包含數(shù)據(jù)的長度。根據(jù)多工子層數(shù)據(jù)單元的類型來改變用于儲(chǔ)存長度的位元數(shù)目。在一典型的實(shí)施例中,是使用8位元或16位元。若多工子層數(shù)據(jù)單元沒有一字長字段的話,不需要使用第二位址,在這種情況下,數(shù)據(jù)是不用管理的“don’t_care”(例如協(xié)同處理器106不讀取位址)。
第三位址可包含一10位元延伸開頭或2位元無線電通信連接協(xié)議(Radio Link Protocol,RLP)訊框類型。2位元無線電通信連接協(xié)議(RLP)數(shù)據(jù)可通過其它裝置(例如一系統(tǒng)芯片)所使用的一交付協(xié)議(delivery protocol)來實(shí)現(xiàn)(例如芯片上的系統(tǒng))。未使用的位元填入0,若多工子層數(shù)據(jù)單元數(shù)據(jù)沒有一延伸的開頭字段,就不需要使用第三位址。在這種情況下,數(shù)據(jù)是不用管理的“don’t_care”(例如協(xié)同處理器106不讀取位址)。下一個(gè)位址包含一32位元數(shù)據(jù)字符,最后位址則可以少于32位元,剩余的字符被當(dāng)作不用管理的“don’t_care”型態(tài)。
圖4所示為一時(shí)序圖,說明從譯碼器104接收而來的信號(hào)。信號(hào)DIN表示分成一連串的字符的數(shù)據(jù)。信號(hào)VALID_WD可以是一脈沖,其用以指示一新數(shù)據(jù)字符何時(shí)準(zhǔn)備好。在每一應(yīng)用中,于信號(hào)VALID_WD的脈沖之間的時(shí)脈的周期數(shù)目可以相異。訊框信號(hào)的開始(例如SOF)可以是一脈沖,其用以指示一訊框的開始。訊框結(jié)束信號(hào)(EOF或LAST_WD)可以用以指示最后的有效字符或訊框結(jié)束。信號(hào)FRAME_CRC可以用以指示從譯碼器接收的訊框周期重復(fù)檢測(frame CRC)。
圖5為一具有不同元件大小的數(shù)據(jù)單元120的一詳細(xì)附圖。所示的數(shù)據(jù)單元120包含二個(gè)16位元暫存器130與132、一格式化元件136(formater)、一32位元暫存器140以及多工器134與138。二個(gè)16位元暫存器130與及132儲(chǔ)存從譯碼器104接收的最后二個(gè)連續(xù)字符,如實(shí)施例中所描述,開頭從字符(即15位元)的最高有效位元(MSB)開始。若開頭從最低有效字符(LSB)開始時(shí)可能需要些許修正。對齊開頭的位元組且一般從位元15或位元8開始。
多工器MUX1134提供16位元字符給格式化元件136(formater)。在每一多工子層數(shù)據(jù)單元的開始時(shí),信號(hào)SEL1(CTR控制信號(hào)之一)是確立(asserted)或是未確立(deasserted)的。于一特定的多工子層數(shù)據(jù)單元處理期間,信號(hào)SEL1保持在相同的極性。若多工子層數(shù)據(jù)單元的開頭從位元8開始,信號(hào)SEL1是確立的且多工子層數(shù)據(jù)單元開頭的第一位元位于位元15??刂茊卧?22根據(jù)訊框大小以及多工子層數(shù)據(jù)單元大小提供信號(hào)SEL1??刂茊卧?22使用計(jì)數(shù)器區(qū)塊154去偵測一開頭是否從位元15或位元8開始。根據(jù)上述,計(jì)數(shù)器區(qū)塊154也用來設(shè)定信號(hào)SEL1。
多工器MUX2 138以及格式化元件136(例如一轉(zhuǎn)換電路137)可擷取一或多位元的字符。轉(zhuǎn)換電路137于寫入暫存器140之前可以將數(shù)據(jù)移位至32位元字中的一所需位置。沒有使用的位元填入0。控制單元122通常根據(jù)已處理過的字段提供控制信號(hào)SEL2(例如一4位元信號(hào))。于使用16位元的字符的實(shí)施例中,為了達(dá)到圖3所示的結(jié)構(gòu)可使用11種組合,如下列表一所示表一
然而,可以改變特別數(shù)目的組合以及于每一組合中位元的特別次序以符合特定裝置的設(shè)計(jì)準(zhǔn)則。表一所示為處理多工子層數(shù)據(jù)單元類型為3與5個(gè)訊框的例子,不同的修正也可用來處理其它類型的多工子層數(shù)據(jù)單元。
暫存器140可以分為若干部分,每一部分具有一單一獨(dú)立位元的致能信號(hào)(例如REGWE[4:0])。控制單元122提供信號(hào)REGWE[4:0]且可以用來組合32位元字符。因?yàn)樽g碼器104可以提供16位元字符,所以為了組合成一32位元字符時(shí),于暫存器140中儲(chǔ)存高達(dá)三個(gè)不同的16位元字符的位元。當(dāng)32位元字符于暫存器140準(zhǔn)備好時(shí)就寫入存儲(chǔ)器124中。
圖6所示是一存儲(chǔ)器與一存儲(chǔ)器介面邏輯區(qū)塊124的詳細(xì)附圖。區(qū)塊124通常包含一邏輯部分158與一存儲(chǔ)器160。存儲(chǔ)器160可以是二個(gè)記憶庫(例如BANK#0與BANK#1)。邏輯部分158可以用以控制來回地讀取與寫入至記憶庫BANK#0與BANK#1中。記憶庫BANK#0與BANK#1可以是同步的一端口存儲(chǔ)器(synchronous one-portmemories)。然而可以改變特別的存儲(chǔ)器類型與記憶庫的特定數(shù)目以符合特定的設(shè)計(jì)準(zhǔn)則。使用二個(gè)記憶庫160可允許協(xié)同處理器106有較多的時(shí)間去讀取處理過的數(shù)據(jù)。當(dāng)一記憶庫被寫入時(shí),另一記憶庫則被讀取。信號(hào)BNKOWR選擇記憶庫BANK#0與BANK#1中何者進(jìn)行被讀取且何者進(jìn)行被寫入。
信號(hào)INCCNT可以規(guī)則地遞增計(jì)數(shù)器162以表示到下一位址。信號(hào)RSTCNT可以重新設(shè)定計(jì)數(shù)器162至初始值(例如位址2因?yàn)槲恢?與1是信息字符,所以從位址2開始儲(chǔ)存數(shù)據(jù))。信號(hào)ADDRESS0表示存儲(chǔ)器160的第一位址。信號(hào)ADDRESS1表示存儲(chǔ)器160的第二位址。本發(fā)明是于處理一訊框之后指出ADDRESS0或ADDRESS1,如此可以寫入一信息字符。信號(hào)SEL_ADDR選擇信號(hào)ADDRESS0、信號(hào)ADDRESS1或計(jì)數(shù)器162的輸出以表示數(shù)據(jù)正在寫入至下一位址。信號(hào)CP_RD可以是一協(xié)同處理器讀取致能信號(hào)。信號(hào)CP_MP_SEL可以是一協(xié)同處理器模塊選擇(例如協(xié)同處理器可從數(shù)個(gè)模塊中讀取,這里的每一模塊都有一致能信號(hào))。當(dāng)信號(hào)CP_RD與信號(hào)CP_MP_SEL是主動(dòng)的,協(xié)同處理器106從存儲(chǔ)器160讀取。信號(hào)CP_RD與信號(hào)CP_MP_SEL通常致能存儲(chǔ)器160的記憶庫之一。信號(hào)HW_ADDR可以是多工器163的輸出,其用以于信號(hào)ADDRESS0、信號(hào)ADDRESS1和計(jì)數(shù)器162的輸出之間選擇。信號(hào)ADDR01可以是存儲(chǔ)器160的一寫入操作的一致能信號(hào)。存儲(chǔ)器160通常通過信號(hào)MEMWE或信號(hào)ADDR01的激活(activation)而產(chǎn)生主動(dòng)。當(dāng)于ADDRESS0或ADDRESS1發(fā)生一寫入動(dòng)作時(shí),信號(hào)ADDR01是主動(dòng)的。在某些應(yīng)用中,可以不需要信號(hào)ADDR01。
32位元暫存器140可用以于寫入存儲(chǔ)器160之前組合數(shù)據(jù)。為了在不改變其它位元的情形下能夠?qū)⑽辉膯我徊糠輧?chǔ)存于一確定位置,暫存器140通常具有5個(gè)字段。當(dāng)一32位元字符于暫存器140中已準(zhǔn)備好時(shí),則于存儲(chǔ)器160中寫入字符。由計(jì)數(shù)器162產(chǎn)生一位址。當(dāng)寫入一訊框(或字符)時(shí),迫使位址可以是位址0(例如ADDRESS0)或位址1(例如ADDRESS1)。于此情形中,儲(chǔ)存的數(shù)據(jù)是多工子層數(shù)據(jù)單元計(jì)數(shù)器的內(nèi)容(例如計(jì)數(shù)器區(qū)塊154的部分)、暫存器150與/或156的一部份或全部以及訊框周期重復(fù)檢測信息。
一或多個(gè)其它柵極(例如164、166、168與170)產(chǎn)生一寫入致能信號(hào)WE與一記憶致能信號(hào)ME。當(dāng)一記憶庫是滿的時(shí)候,多工子層數(shù)據(jù)單元模塊產(chǎn)生一中斷給協(xié)同處理器106,協(xié)同處理器106可從選擇的記憶庫去讀取數(shù)據(jù),沒有選到的記憶庫則充滿新的數(shù)據(jù)。
控制單元122通常提供控制信號(hào)給數(shù)據(jù)單元120、存儲(chǔ)器區(qū)塊124以及協(xié)同處理器106。控制單元122包含一或多個(gè)有限狀態(tài)機(jī)(FSM)、計(jì)數(shù)器區(qū)塊154、暫存器區(qū)塊156、暫存器區(qū)塊150以及一定時(shí)器區(qū)塊158。主要控制單元152包含可控制需要處理的訊框的數(shù)目的一個(gè)第一狀態(tài)機(jī)(詳細(xì)如圖7所示)。通常,若訊框是短的時(shí)候(例如5毫秒訊框),為了減少提供給協(xié)同處理器106的中斷數(shù)目,則處理超過一個(gè)訊框。當(dāng)訊框是長的時(shí)候(例如20毫秒訊框),控制單元122可用以處理一個(gè)訊框以及提供一中斷。于此實(shí)施中,協(xié)同處理器106可用以處理一或二個(gè)訊框。除了上述,也可修改本發(fā)明以支持N訊框的處理。
當(dāng)確立來自譯碼器104的訊框信號(hào)SOF開始時(shí),多工子層數(shù)據(jù)單元處理器102通過呼叫一第二有限狀態(tài)機(jī)(詳細(xì)如圖8所示)開始處理一訊框。于處理第一訊框之后寫入第一訊框信息字符。根據(jù)控制暫存器區(qū)塊156,多工子層數(shù)據(jù)單元處理器102可在確立中斷信號(hào)之后進(jìn)入一閑置(idle)狀態(tài),或是等待訊框信號(hào)SOF的一個(gè)第二開始以及處理一第二訊框。于處理第二訊框之后寫入第二訊框信息字符。
在與處理器102通信時(shí),從譯碼器104送出的訊框數(shù)目可以是一奇數(shù)。當(dāng)處理于中斷之間的二個(gè)訊框時(shí),一般在結(jié)束時(shí)處理單一訊框。在發(fā)起階段(initialization phase),協(xié)同處理器106可程序化定時(shí)器區(qū)塊158。于處理第一訊框之后,致能定時(shí)器158。若在從譯碼器104接收訊框信號(hào)SOF的開始之前定時(shí)器158就達(dá)到0,控制單元122寫入一信息字符,此信息字符表示在存儲(chǔ)器160中只有一個(gè)訊框,并且控制單元122提供一中斷給協(xié)同處理器106以表示于存儲(chǔ)器160中只有一個(gè)訊框。
圖7所示為第一有限狀態(tài)機(jī)200的流程圖。有限狀態(tài)機(jī)200可用來處理高達(dá)二個(gè)的訊框。有限狀態(tài)機(jī)200可以一種方法或程序200來加以實(shí)施。方法200通常包含一第一狀態(tài)202、一判定狀態(tài)204、一狀態(tài)206、一判定狀態(tài)208、一狀態(tài)210、一判定狀態(tài)212、一狀態(tài)214、一判定狀態(tài)216、一判定狀態(tài)218、一狀態(tài)220、一判定狀態(tài)222、一狀態(tài)224、一狀態(tài)226以及一狀態(tài)228。狀態(tài)202可以是一開始(START)狀態(tài)。判定狀態(tài)204可以決定是否出現(xiàn)訊框的開始。若出現(xiàn)訊框的開始(SOF),方法200移至狀態(tài)206,若無,方法200持續(xù)去檢查訊框的開始(SOF)。接著,狀態(tài)206通過呼叫一第二有限狀態(tài)機(jī)(詳細(xì)如圖8所示)以處理一訊框。再來,判定狀態(tài)208決定從狀態(tài)206來的處理是否已經(jīng)完成。若有,方法200移至狀態(tài)210,那里儲(chǔ)存信息在一ADDRESS0位址,若處理還未完成,判定狀態(tài)208持續(xù)去決定處理是否已完成。
接著,判定狀態(tài)212決定是否應(yīng)該處理第二訊框,若有,方法200移至狀態(tài)214,若無,方法200移至狀態(tài)226。接著,狀態(tài)214致能一定時(shí)器。接著,狀態(tài)216決定定時(shí)器是否有一數(shù)值等于0,若有,方法200移至狀態(tài)224,若無,方法200移至判定狀態(tài)218。判定狀態(tài)218決定是否出現(xiàn)訊框的開始(SOF)。若無,方法200移至狀態(tài)216。若出現(xiàn)訊框的開始,則方法200移至狀態(tài)220。狀態(tài)220通過呼叫一第二狀態(tài)機(jī)(詳細(xì)如圖8所示)以處理一個(gè)訊框。判定狀態(tài)222決定程序是否已經(jīng)完成。若無,判定狀態(tài)222持續(xù)去檢查處理的狀態(tài)。若程序已經(jīng)完成,方法200移至狀態(tài)224,且狀態(tài)224儲(chǔ)存信息于一ADDRESS1位址。接著,方法200移至出現(xiàn)一中斷的處的狀態(tài)226。最后,方法200于結(jié)束狀態(tài)228結(jié)束。
圖8所示為說明一第二有限狀態(tài)機(jī)的方法300的一示意圖。有限狀態(tài)機(jī)300可以用來處理一訊框。方法300通常包含一狀態(tài)302、一判定狀態(tài)304、一判定狀態(tài)306、一狀態(tài)308、一狀態(tài)310、一判定狀態(tài)312、一狀態(tài)314、一狀態(tài)316、一判定狀態(tài)318、一狀態(tài)320、一狀態(tài)322、一判定狀態(tài)324以及一狀態(tài)326。狀態(tài)308、狀態(tài)310、判定狀態(tài)312以及狀態(tài)314在一起可視為一第三有限狀態(tài)機(jī)330。狀態(tài)機(jī)330可用來處理多工子層數(shù)據(jù)單元數(shù)據(jù)。狀態(tài)302通常開始程序300。判定狀態(tài)304檢查是否是一有效字符,若無有效字符,判定狀態(tài)304持續(xù)去檢查是否是一有效字符。若出現(xiàn)有效字符,方法300移至狀態(tài)306。因?yàn)閿?shù)據(jù)單元120儲(chǔ)存二個(gè)連續(xù)字符,狀態(tài)306亦決定是否出現(xiàn)有效字符。若無,方法300持續(xù)通過重復(fù)狀態(tài)306去檢查是否有一有效字符。若出現(xiàn)有效字符,方法300移至狀態(tài)308。狀態(tài)308可進(jìn)行一擷取與儲(chǔ)存的計(jì)算。狀態(tài)308擷取并儲(chǔ)存一開頭,一封包的長度以及/或延伸的開頭或無線電通信連接協(xié)議(RLP)訊框類型。接著,狀態(tài)310儲(chǔ)存數(shù)據(jù)。接著,狀態(tài)312決定多工子層數(shù)據(jù)單元數(shù)據(jù)處理是否已經(jīng)完成。若無,方法300移至狀態(tài)314,其每次增加一至位址計(jì)數(shù)器且移回狀態(tài)310。若程序已經(jīng)完成,方法300移至狀態(tài)316,狀態(tài)316增加多工子層數(shù)據(jù)單元計(jì)數(shù)器。接著,狀態(tài)318決定訊框處理是否已經(jīng)完成。若有,方法300移至狀態(tài)326,并于那里結(jié)束處理。若無,方法300移至狀態(tài)320,用以增加位址計(jì)數(shù)器。接著,方法300移至狀態(tài)322,以更新控制信號(hào)。接著,判定狀態(tài)324決定開頭是否在暫存器WD1,若有,方法300移至狀態(tài)306,若無,方法300移至狀態(tài)308且重復(fù)多工子層數(shù)據(jù)單元的處理。
主要控制單元152包含一狀態(tài)機(jī)以處理一訊框(例如圖8的第二狀態(tài)機(jī))。主要控制單元152呼叫一狀態(tài)機(jī)以利用狀態(tài)機(jī)300處理多工子層數(shù)據(jù)單元。從譯碼器104接收到二個(gè)字符之后開始訊框的處理。處理于訊框中的每一多工子層數(shù)據(jù)單元直到訊框結(jié)束信號(hào)EOF確立。于每一多工子層數(shù)據(jù)單元的結(jié)束時(shí),多工子層數(shù)據(jù)單元計(jì)數(shù)器154將每次增加并且主要控制單元152更新控制信號(hào)CTR。若下一多工子層數(shù)據(jù)單元的下一開頭已經(jīng)于第二16位元暫存器132中,則會(huì)立即處理多工子層數(shù)據(jù)單元數(shù)據(jù)。否則,多工子層數(shù)據(jù)單元處理器102將等待從譯碼器104來的一新字符。
主要控制單元152包含一狀態(tài)機(jī)用以處理一多工子層數(shù)據(jù)單元。根據(jù)圖3的結(jié)構(gòu),狀態(tài)機(jī)儲(chǔ)存開頭、字長(若一存在)與延伸的開頭或無線電通信連接協(xié)議(RLP)訊框類型欄(若一存在)在不同的位址。根據(jù)開頭,狀態(tài)機(jī)提供控制信號(hào)給多工器MUX2以從16位元字符擷取位元。狀態(tài)機(jī)亦提供致能信號(hào)給32位元暫存器以儲(chǔ)存一些位元于一或多個(gè)暫存器的部分中。
圖7與圖8中的流程圖所達(dá)到的功能,熟悉本領(lǐng)域技術(shù)人員依據(jù)本發(fā)明的內(nèi)容,可使用一傳統(tǒng)通用數(shù)字計(jì)算機(jī)程序來實(shí)施。根據(jù)本發(fā)明所揭露的技術(shù),有經(jīng)驗(yàn)的程序員可準(zhǔn)備適當(dāng)?shù)能浖绦蜃珜懀踩缤煜け绢I(lǐng)域技術(shù)人員一樣,其實(shí)施的效果也是顯而易見的。
本發(fā)明的實(shí)施可通過專用的集成電路(ASICs)、現(xiàn)場可編程門陣列(FPGAs)或相互連接的傳統(tǒng)元件電路的適當(dāng)網(wǎng)絡(luò),如上所述,熟悉此項(xiàng)技藝者可針對上述元件進(jìn)行修飾是顯而易見的。
本發(fā)明也包含一計(jì)算機(jī)產(chǎn)品,例如是包含指令用來程序計(jì)算機(jī)去執(zhí)行處理的一儲(chǔ)存媒體。儲(chǔ)存媒體包含任何類型的盤片,例如軟磁盤(floppy disk)、光盤(optical disk)、光盤只讀存儲(chǔ)器(CD-ROM)、磁性光盤(magneto-optical disks)、只讀存儲(chǔ)器(ROMs)、隨機(jī)存取存儲(chǔ)器(RAMs)、可擦去可編程只讀存儲(chǔ)器(EPROMs)、電可擦可編程只讀存儲(chǔ)器(EEPROMs)、按區(qū)段擦除存儲(chǔ)器(flash memory)、磁或光卡(magnetic or optical cards)或任何類型適合儲(chǔ)存電子指令的媒體,但不限于此。
本發(fā)明的不同信號(hào)通常是“開”(例如一數(shù)字高或1)或“關(guān)”(例如一數(shù)字低或0)。然而,信號(hào)的開(例如確立)與關(guān)(例如不確立)狀態(tài)的特別極性可配合特別裝置的設(shè)計(jì)準(zhǔn)則而調(diào)整。此外,可加入反相器去改變信號(hào)的特別極性。
本發(fā)明可使用在分碼多重存取(Code Division Multiple Access,CDMA)芯片組(chipset)的部分上,本發(fā)明除了對于分碼多重存取的設(shè)計(jì)上是非常有用之外,本發(fā)明還可應(yīng)用在其它的設(shè)計(jì)上。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的申請專利范圍;凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在所述的權(quán)利要求范圍內(nèi)。
權(quán)利要求
1.一種在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,包含一數(shù)據(jù)單元用以針對包含一連串字符的一輸入信號(hào)產(chǎn)生包含一連串訊框的一輸出信號(hào),其中每一該訊框具有一開頭與一負(fù)載;一存儲(chǔ)器用以(a)保持該輸出信號(hào)以及(b)作為一裝置的介面;及一控制單元用以提供一或多個(gè)控制信號(hào)以控制該數(shù)據(jù)單元與該存儲(chǔ)器。
2.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該存儲(chǔ)器用以保持該輸出信號(hào)的該開頭于一第一位址的位置。
3.如權(quán)利要求2所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該存儲(chǔ)器用以保持該輸出信號(hào)的該負(fù)載于一第二位址的位置。
4.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該裝置包含一多工子層數(shù)據(jù)單元處理器。
5.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該裝置包含一協(xié)同處理器。
6.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該數(shù)據(jù)單元包含一第一暫存器用以儲(chǔ)存與提供該復(fù)數(shù)個(gè)字符給一第一多工器的一第一輸出;一第二暫存器用以儲(chǔ)存與提供該復(fù)數(shù)個(gè)字符給該第一多工器的一第二輸出;一格式化元件用以從該第一多工器接收的該復(fù)數(shù)個(gè)字符由一第一大小轉(zhuǎn)換為一第二大?。患耙坏诙喙て饔靡蕴峁┰摰诙笮∽址o一第三暫存器,其中該第一多工器、該第二多工器與該第三暫存器響應(yīng)該一或多個(gè)控制信號(hào)。
7.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該字符包含多工子層數(shù)據(jù)單元。
8.如權(quán)利要求7所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,每一該多工子層數(shù)據(jù)單元包含一或多個(gè)開頭字段與一數(shù)據(jù)部分。
9.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,該裝置可于硬件中實(shí)施。
10.如權(quán)利要求1所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的裝置,其特征是,更包含一定時(shí)器用以追蹤是否在一時(shí)間內(nèi)處理一或二個(gè)字符。
11.一種在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法,其特征是,包含(A)接收于一數(shù)據(jù)單元中的一連串字符,該數(shù)據(jù)單元包含各具有一開頭與一負(fù)載的一連串訊框;(B)接收一第一中斷信號(hào);(C)于接收一第二中斷信號(hào)之前提供一或多個(gè)訊框;及(D)接收該第二中斷信號(hào)。
12.如權(quán)利要求11所述的在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法,其特征是,步驟(A)包含儲(chǔ)存二個(gè)連續(xù)字符于一第一與一第二暫存器。
13.一種在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法,其特征是,包含(A)針對包含一連串字符的一輸入信號(hào)產(chǎn)生包含各具有一開頭與一負(fù)載的一連串訊框的一輸出信號(hào);(B)保持(1)該輸出信號(hào)的該開頭在一存儲(chǔ)器的一第一位址的位置以及(2)該輸出信號(hào)的該負(fù)載在該存儲(chǔ)器的一第二位址的位置;及(C)提供一或多個(gè)控制信號(hào)來控制該步驟(A)的產(chǎn)生以及該步驟(B)的保持。
全文摘要
本發(fā)明為一種在硬件上處理多工子層數(shù)據(jù)單元數(shù)據(jù)的方法與裝置,該裝置包含一數(shù)據(jù)單元、一存儲(chǔ)器以及一控制單元的裝置。該數(shù)據(jù)單元產(chǎn)生一包含各具有一開頭與一負(fù)載的一連串訊框的一輸出信號(hào),以響應(yīng)包含一連串字符的一輸入信號(hào);該存儲(chǔ)器用以保持輸出信號(hào)以及作為一裝置的介面;該控制單元用以提供一或多個(gè)控制信號(hào)來控制數(shù)據(jù)單元與存儲(chǔ)器。本發(fā)明可減少處理器的運(yùn)算負(fù)載,增加處理數(shù)據(jù)訊框的效率與速度以及簡化軟件等功能。
文檔編號(hào)H04L12/56GK1630292SQ20041010020
公開日2005年6月22日 申請日期2004年12月7日 優(yōu)先權(quán)日2004年5月6日
發(fā)明者阿朗·沙多 申請人:開曼群島威睿電通股份有限公司