專利名稱:一種實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,特別是涉及一種該領(lǐng)域中數(shù)據(jù)從數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)發(fā)的方法,實現(xiàn)不同數(shù)據(jù)模式之間的數(shù)據(jù)轉(zhuǎn)發(fā)。
背景技術(shù):
在通信系統(tǒng)中,不同的芯片存在不同的數(shù)據(jù)傳輸模式,歸結(jié)起來有兩種一種是基于包傳輸,另一種是基于信元幀傳輸。這兩種模式最大的區(qū)別在于數(shù)據(jù)包(Data Packet)模式有專用信號指示,包括包開始信號SOP(Start OfPackage)、包結(jié)束信號EOP(End Of Package)和數(shù)據(jù)有效信號ENA(Enable)(如圖1所示);而信元幀(Cell Framer)模式將完整的包拆分成為更小的單位信元(Cell)傳輸,信元幀由信元頭CH(Cell Header)和信元載荷CP(Cell Payload)組成(如圖2所示),幀信息加入CH中,標(biāo)志該信元在包中所處的位置、包的性質(zhì)、信元長度和信元通道,CH主要由Type(信元類型)和Length(信元長度)組成,接收側(cè)根據(jù)CH恢復(fù)出完整的數(shù)據(jù)包。
目前,實現(xiàn)數(shù)據(jù)從數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的現(xiàn)有方法采用兩個FIFO(First-In First-Out,先進(jìn)先出)隊列實現(xiàn),一個FIFO隊列用來存信元幀的CP,另一個用來存CH部分,該方法首先要分別生成CH和CP,并存入各自對應(yīng)的FIFO中,在接收側(cè)能接收信元的時候,發(fā)送側(cè)首先要讀取信元頭CH,再分析CH,根據(jù)CH的內(nèi)容去讀取CP。該方法需要兩個FIFO,系統(tǒng)復(fù)雜,操作繁瑣,影響系統(tǒng)穩(wěn)定性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置及其方法,用于克服現(xiàn)有技術(shù)中存在的系統(tǒng)復(fù)雜,操作繁瑣,影響系統(tǒng)穩(wěn)定性等問題和缺陷。
為了實現(xiàn)上述目的,本發(fā)明提供了一種實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,適用于通訊領(lǐng)域,其特征在于,包括一數(shù)據(jù)包接收模塊,用于接收外部網(wǎng)絡(luò)傳過來的數(shù)據(jù)包,在該數(shù)據(jù)包的頭和尾填寫標(biāo)志,并存入一數(shù)據(jù)包FIFO中;一信元幀生成模塊,用于讀取所述數(shù)據(jù)包FIFO中的數(shù)據(jù)包并根據(jù)系統(tǒng)設(shè)定的信元幀大小組裝成一信元幀,并存入一SRAM模塊中;一信元幀F(xiàn)IFO模塊,用于實現(xiàn)所述信元幀的緩沖,并對SRAM狀態(tài)進(jìn)行管理,將所述SRAM模塊虛擬成一FIFO存儲器;及一信元幀發(fā)送模塊,用于從所述信元幀F(xiàn)IFO模塊讀取信元幀并發(fā)送到下一級系統(tǒng)。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其中,所述數(shù)據(jù)包接收模塊又包括一數(shù)據(jù)包總線接口、一數(shù)據(jù)包生成模塊和所述數(shù)據(jù)包FIFO;所述數(shù)據(jù)包總線接口用作數(shù)據(jù)包進(jìn)入FPGA的數(shù)據(jù)通道;所述數(shù)據(jù)包生成模塊用于根據(jù)所述數(shù)據(jù)包總線接口的SOP、EOP和ENA信號接收數(shù)據(jù),并在數(shù)據(jù)包中加入數(shù)據(jù)包頭和數(shù)據(jù)包尾標(biāo)志,生成適宜于下一級處理的數(shù)據(jù)包格式,再將生成的數(shù)據(jù)包存入所述數(shù)據(jù)包FIFO中;所述SOP為包開始信號,所述EOP為包結(jié)束信號,所述ENA為數(shù)據(jù)有效信號。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其中,所述信元幀生成模塊又包括一信元生成模塊和一寫SRAM地址控制模塊;所述信元生成模塊用于從所述數(shù)據(jù)包FIFO中讀取數(shù)據(jù)包,將該數(shù)據(jù)包分割,生成信元頭和信元載荷,組裝成一個完整的信元幀,并在每個所述信元幀的起始和結(jié)束打上標(biāo)志,再將所述信元幀存入所述SRAM模塊中;所述寫SRAM地址控制模塊用于配合所述信元生成模塊生成信元頭和信元載荷的寫SRAM地址。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其中,所述信元幀F(xiàn)IFO模塊又包括所述SRAM模塊和一SRAM管理模塊;其中所述SRAM模塊用作一個FPGA內(nèi)部SRAM,具有作為信元幀的起始標(biāo)志的數(shù)據(jù)校驗位;所述SRAM管理模塊用于將所述SRAM模塊虛擬成一個FIFO存儲器,生成讀SRAM地址、FIFO空滿標(biāo)志和讀寫SRAM允許標(biāo)志。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其中,所述信元幀發(fā)送模塊又包括一信元幀讀取模塊和一信元總線接口;所述信元幀讀取模塊用于根據(jù)所述信元幀F(xiàn)IFO模塊的讀寫SRAM允許標(biāo)志一次性讀取一個完整的信元幀;所述信元總線接口用于將所述完整的信元幀發(fā)送到下一級芯片。
為了實現(xiàn)上述目的,本發(fā)明提供了一種利用所述裝置實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,適用于通訊領(lǐng)域,其特征在于,包括步驟步驟610,數(shù)據(jù)包接收模塊接收外部網(wǎng)絡(luò)傳過來的數(shù)據(jù)包,在該數(shù)據(jù)包的頭和尾填寫標(biāo)志,并存入數(shù)據(jù)包FIFO中;步驟620,信元幀生成模塊讀取所述數(shù)據(jù)包FIFO中的數(shù)據(jù)包,根據(jù)系統(tǒng)設(shè)定的信元幀大小組裝成信元幀,并存入SRAM模塊中;步驟630,信元幀F(xiàn)IFO模塊實現(xiàn)所述信元幀緩沖,并對SRAM狀態(tài)進(jìn)行管理,將所述SRAM模塊虛擬成FIFO存儲器;及步驟640,信元幀發(fā)送模塊從所述信元幀F(xiàn)IFO模塊讀取信元幀并發(fā)送到下一級系統(tǒng)。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟610中,根據(jù)SOP和EOP信號在該數(shù)據(jù)包的頭和尾填寫標(biāo)志;所述SOP為包開始信號,所述EOP為包結(jié)束信號。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟620中,還包括判斷所述信元生成模塊是否繼續(xù)查詢所述數(shù)據(jù)包FIFO和所述SRAM管理模塊的步驟;若所述數(shù)據(jù)包FIFO包含一個或多個完整的數(shù)據(jù)包且所述SRAM管理模塊允許向所述SRAM模塊寫入數(shù)據(jù)時,則停止查詢,若否繼續(xù)查詢。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟620中,還包括所述信元生成模塊從所述數(shù)據(jù)包FIFO中按字不斷讀取數(shù)據(jù)包,按所述SRAM地址控制模塊生成的SRAM地址存入所述SRAM模塊,并對信元長度計數(shù)的步驟。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟620中,還包括將該數(shù)據(jù)包分割,生成信元頭和信元載荷的步驟。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟620中,還包括在所述信元頭定義整個信元的類型、長度及設(shè)置信元起始標(biāo)志位及將該信元頭寫入SRAM模塊的步驟。
所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其中,所述步驟640中,所述信元幀發(fā)送模塊根據(jù)所述信元頭的信息讀出信元幀。
本發(fā)明提供的一種簡單地址控制實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法和裝置,解決了現(xiàn)有技術(shù)中存在的系統(tǒng)復(fù)雜,操作繁瑣,影響系統(tǒng)穩(wěn)定性等問題和缺陷;與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于采用本發(fā)明所述方法和裝置,取得了使用地址控制直接對信元幀F(xiàn)IFO模塊中的SRAM操作,實現(xiàn)將信元頭CH和信元載荷CP放在同一FIFO中的進(jìn)步,達(dá)到了快速數(shù)據(jù)轉(zhuǎn)發(fā)和簡化系統(tǒng)設(shè)計效果,節(jié)省了FPGA(FieldProgrammable Gate Array,現(xiàn)場可編程邏輯陣列)內(nèi)部SRAM(Static RandomAccess Memory,靜態(tài)隨機存儲器)資源,提高了系統(tǒng)資源利用率。
以下結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖1為數(shù)據(jù)包傳輸模式的時序圖;圖2為信元幀傳輸模式的時序圖;圖3為本發(fā)明的模塊結(jié)構(gòu)圖;圖4為本發(fā)明的數(shù)據(jù)標(biāo)志位說明圖;圖5為本發(fā)明的數(shù)據(jù)處理流程圖。
具體實施例方式
下面結(jié)合附圖對簡單地址控制實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法和裝置的實施作進(jìn)一步的詳細(xì)描述。
請參閱圖3所示,為本發(fā)明的模塊結(jié)構(gòu)圖。結(jié)合圖4所示,該模塊結(jié)構(gòu)為本發(fā)明簡單地址控制實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,包括以下模塊數(shù)據(jù)包接收模塊301,用于接收外部網(wǎng)絡(luò)傳過來的數(shù)據(jù),并在數(shù)據(jù)包的頭和尾填寫標(biāo)志,存入數(shù)據(jù)包FIFO中,其包括數(shù)據(jù)包總線接口302、數(shù)據(jù)包生成模塊303和數(shù)據(jù)包FIFO304。其中,數(shù)據(jù)包總線接口302是數(shù)據(jù)包進(jìn)入FPGA的數(shù)據(jù)通道,數(shù)據(jù)包生成模塊303根據(jù)數(shù)據(jù)包總線接口302的SOP、EOP和ENA信號接收數(shù)據(jù),并在數(shù)據(jù)包中加入數(shù)據(jù)包頭和數(shù)據(jù)包尾標(biāo)志,生成適宜于下一級處理的數(shù)據(jù)包格式(如圖4所示),然后將生成的數(shù)據(jù)包存入數(shù)據(jù)包FIFO304中。
信元幀生成模塊305,用于讀取數(shù)據(jù)包FIFO304中的數(shù)據(jù)包并根據(jù)系統(tǒng)設(shè)定的信元大小組裝信元,存入SRAM中,其包括信元生成模塊306和寫SRAM(靜態(tài)存儲器)地址控制模塊307。其中,信元生成模塊306從數(shù)據(jù)包FIFO304中讀取數(shù)據(jù)包,將數(shù)據(jù)包分割,生成信元頭CH和信元載荷CP,組裝成一個完整的信元幀,并在每個信元幀的起始和結(jié)束打上標(biāo)志位(標(biāo)志位定義與數(shù)據(jù)包的起始和結(jié)束標(biāo)志位定義相同,參見圖4所示),然后將信元幀存入SRAM模塊309中;寫SRAM地址控制模塊307配合信元生成模塊306生成信元頭CH和信元載荷CP的寫SRAM地址。
信元幀F(xiàn)IFO模塊308,用于實現(xiàn)信元幀緩沖,并對SRAM狀態(tài)進(jìn)行管理,將SRAM虛擬成一個FIFO存儲器,其包括SRAM模塊309和SRAM管理模塊310。信元幀F(xiàn)IFO模塊308是一個虛擬的FIFO,對于信元幀生成模塊305來說,信元幀F(xiàn)IFO模塊308是一個SRAM,寫地址可以控制;而對于信元幀發(fā)送模塊311來說,信元幀F(xiàn)IFO模塊308是一個標(biāo)準(zhǔn)的FIFO,讀地址不可控制。其中,SRAM模塊309是一個FPGA內(nèi)部SRAM,具有數(shù)據(jù)校驗位,可以作為信元幀的起始標(biāo)志;SRAM管理模塊310是將SRAM模塊309虛擬成一個FIFO,它完成生成讀SRAM地址、FIFO空滿標(biāo)志和讀寫SRAM允許標(biāo)志等功能。
信元幀發(fā)送模塊311,用于從信元幀F(xiàn)IFO模塊308讀取信元幀并發(fā)送到下一級系統(tǒng),其包括信元幀讀取模塊312和信元總線接口313。其中,信元幀讀取模塊312是根據(jù)信元幀F(xiàn)IFO模塊308的讀寫SRAM標(biāo)志一次性讀取一個完整的信元幀,信元總線接口313是將完整的信元幀發(fā)送到下一級芯片。
請參閱圖4所示,為本發(fā)明的數(shù)據(jù)標(biāo)志位說明圖。在該圖中,數(shù)據(jù)標(biāo)志位包括標(biāo)志數(shù)據(jù)包的頭和尾,由bit16、bit17組成,其定義為00表示數(shù)據(jù)包中間字,01表示數(shù)據(jù)包起始字,10表示數(shù)據(jù)包結(jié)束字,11表示數(shù)據(jù)包結(jié)束而且有誤。
請參閱圖5所示,為本發(fā)明的數(shù)據(jù)處理流程圖。該流程圖包括如下步驟步驟1,首先,查詢ENA信號;步驟2,判斷ENA信號是否等于1,若否,返回步驟1;若是,繼續(xù)步驟3;步驟3,判斷SOP信號是否等于1,若否,則轉(zhuǎn)步驟5;若是,繼續(xù)步驟4;步驟4,將標(biāo)志位設(shè)置為01,并轉(zhuǎn)步驟8;步驟5,判斷EOP信號是否等于1,若否,則轉(zhuǎn)步驟7;若是,繼續(xù)步驟6;步驟6,將標(biāo)志位設(shè)置為10,并轉(zhuǎn)步驟8;步驟7,將標(biāo)志位設(shè)置為00;步驟8,接收數(shù)據(jù)并與標(biāo)志位組成新的數(shù)據(jù)存入緩存器,繼續(xù)步驟9或步驟10;步驟9,返回步驟1;步驟10,查詢FIFO的狀態(tài);步驟11,判斷是否有一個完整包?若否,返回步驟10;若是,繼續(xù)步驟12;步驟12,進(jìn)行寫SRAM地址處理;步驟13,從FIFO中讀取一個字并存入SRAM,寫地址加1;步驟14,進(jìn)一步判斷包結(jié)束標(biāo)志是否為1?若是,轉(zhuǎn)步驟16;若否,繼續(xù)步驟15;步驟15,進(jìn)一步判斷是否達(dá)到最大長度?若否,返回步驟13;若是,繼續(xù)步驟16;步驟16,組裝信元頭并存入SRAM;步驟17,進(jìn)一步判斷是否讀完一個數(shù)據(jù)包?若否,返回步驟13;若是,返回步驟10。
下面進(jìn)一步詳細(xì)描述并分析圖5中對于進(jìn)入本發(fā)明的數(shù)據(jù)包處理的步驟,同時結(jié)合圖3所示,具體包括步驟1接收數(shù)據(jù)包,數(shù)據(jù)包接收模塊301檢測到ENA信號為高時,開始接收總線上的數(shù)據(jù),并根據(jù)SOP和EOP信號對存入數(shù)據(jù)包FIFO304的數(shù)據(jù)進(jìn)行標(biāo)記,當(dāng)EOP為1的時候,標(biāo)志位為2’b10,當(dāng)SOP為1的時候,標(biāo)志位為2’b01,否則其他數(shù)據(jù)的標(biāo)志位都為2’b00。數(shù)據(jù)包FIFO304收到一個完整數(shù)據(jù)包后,設(shè)置標(biāo)志信號,向信元幀生成模塊305發(fā)出通知讀取數(shù)據(jù)包進(jìn)行處理。
步驟2,信元生成模塊306不斷查詢數(shù)據(jù)包FIFO304和SRAM管理模塊310,如果數(shù)據(jù)包FIFO304中至少有一個完整的數(shù)據(jù)包并且SRAM管理模塊310允許向SRAM模塊309寫入數(shù)據(jù)則進(jìn)入步驟3處理,否則繼續(xù)查詢狀態(tài)。
步驟3,將SRAM地址控制模塊307當(dāng)前的地址值存到一個頭地址變量中,SRAM地址控制模塊307對SRAM地址進(jìn)行加1操作。
步驟4,信元生成模塊306從數(shù)據(jù)包FIFO304中按字不斷讀取,按SRAM地址控制模塊307生成的SRAM地址存入SRAM模塊309,并對信元長度計數(shù)Counter(計數(shù)器),直到當(dāng)Counter值達(dá)到系統(tǒng)設(shè)置的最大信元長度或者檢測到包標(biāo)志位為2’b10停止,并在最后一個字加上標(biāo)志位(標(biāo)志位定義與數(shù)據(jù)包標(biāo)志位定義相同)2’b10,進(jìn)入步驟5處理。同時SRAM地址控制模塊307不斷對SRAM地址進(jìn)行加1操作,生成寫SRAM地址。在讀取數(shù)據(jù)的時候,如果檢測到包標(biāo)志位為2’b01,則設(shè)置頭標(biāo)志Packet_Head(包頭)為1,否則置0。
步驟5,SRAM地址控制模塊307將當(dāng)前的地址值存到一個尾地址變量中,并將當(dāng)前地址設(shè)置為頭地址變量值。
步驟6,信元生成模塊306生成信元頭CH,信元頭CH的Type字段根據(jù)從數(shù)據(jù)包FIFO304讀取的最后一個字的標(biāo)志位和Packet_Head填充,信元頭CH的Length字段根據(jù)Counter值填充,在信元頭CH字的標(biāo)志位設(shè)置為2’b01,然后將整個信元頭CH字按SRAM地址控制模塊307提供的地址寫入SRAM模塊309中。
步驟7,SRAM地址控制模塊307將當(dāng)前的地址值設(shè)置為尾地址變量值。進(jìn)入步驟2,繼續(xù)查詢數(shù)據(jù)包FIFO304和SRAM管理模塊310。
步驟8,SRAM管理模塊310對SRAM模塊309進(jìn)行管理,記錄SRAM模塊309中字空間和信元數(shù),當(dāng)收到一個完整的信元幀后,設(shè)置標(biāo)志位等待信元幀讀取模塊312查詢,當(dāng)信元幀讀取模塊312讀取信元幀的時候生成讀取SRAM模塊309地址。
步驟9,信元幀讀取模塊312不斷查詢SRAM管理模塊310,當(dāng)查詢到SRAM模塊309中有一個完整的信元幀時,讀取SRAM模塊309,直到檢測到信元標(biāo)志位為2’b01停止。將信元幀通過信元總線接口313發(fā)送到下一級系統(tǒng)。完成整個數(shù)據(jù)包到信元幀的轉(zhuǎn)發(fā)。
采用本發(fā)明所述方法和裝置,取得了使用地址控制直接對信元幀F(xiàn)IFO模塊中的SRAM操作,實現(xiàn)將信元頭CH和信元載荷CP放在同一FIFO中的進(jìn)步,達(dá)到了快速數(shù)據(jù)轉(zhuǎn)發(fā)和簡化系統(tǒng)設(shè)計效果,節(jié)省了FPGA內(nèi)部SRAM資源,提高了系統(tǒng)資源利用。
當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,適用于通訊領(lǐng)域,其特征在于,包括一數(shù)據(jù)包接收模塊,用于接收外部網(wǎng)絡(luò)傳過來的數(shù)據(jù)包,在該數(shù)據(jù)包的頭和尾填寫標(biāo)志,并存入一數(shù)據(jù)包FIFO中;一信元幀生成模塊,用于讀取所述數(shù)據(jù)包FIFO中的數(shù)據(jù)包并根據(jù)系統(tǒng)設(shè)定的信元幀大小組裝成一信元幀,并存入一SRAM模塊中;一信元幀F(xiàn)IFO模塊,用于實現(xiàn)所述信元幀的緩沖,并對SRAM狀態(tài)進(jìn)行管理,將所述SRAM模塊虛擬成一FIFO存儲器;及一信元幀發(fā)送模塊,用于從所述信元幀F(xiàn)IFO模塊讀取信元幀并發(fā)送到下一級系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其特征在于,所述數(shù)據(jù)包接收模塊又包括一數(shù)據(jù)包總線接口、一數(shù)據(jù)包生成模塊和所述數(shù)據(jù)包FIFO;所述數(shù)據(jù)包總線接口用作數(shù)據(jù)包進(jìn)入FPGA的數(shù)據(jù)通道;所述數(shù)據(jù)包生成模塊用于根據(jù)所述數(shù)據(jù)包總線接口的SOP、EOP和ENA信號接收數(shù)據(jù),并在數(shù)據(jù)包中加入數(shù)據(jù)包頭和數(shù)據(jù)包尾標(biāo)志,生成適宜于下一級處理的數(shù)據(jù)包格式,再將生成的數(shù)據(jù)包存入所述數(shù)據(jù)包FIFO中;所述SOP為包開始信號,所述EOP為包結(jié)束信號,所述ENA為數(shù)據(jù)有效信號。
3.根據(jù)權(quán)利要求1或2所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其特征在于,所述信元幀生成模塊又包括一信元生成模塊和一寫SRAM地址控制模塊;所述信元生成模塊用于從所述數(shù)據(jù)包FIFO中讀取數(shù)據(jù)包,將該數(shù)據(jù)包分割,生成信元頭和信元載荷,組裝成一個完整的信元幀,并在每個所述信元幀的起始和結(jié)束打上標(biāo)志,再將所述信元幀存入所述SRAM模塊中;所述寫SRAM地址控制模塊用于配合所述信元生成模塊生成信元頭和信元載荷的寫SRAM地址。
4.根據(jù)權(quán)利要求1所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其特征在于,所述信元幀F(xiàn)IFO模塊又包括所述SRAM模塊和一SRAM管理模塊;其中所述SRAM模塊用作一個FPGA內(nèi)部SRAM,具有作為信元幀的起始標(biāo)志的數(shù)據(jù)校驗位;所述SRAM管理模塊用于將所述SRAM模塊虛擬成一個FIFO存儲器,生成讀SRAM地址、FIFO空滿標(biāo)志和讀寫SRAM允許標(biāo)志。
5.根據(jù)權(quán)利要求4所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置,其特征在于,所述信元幀發(fā)送模塊又包括一信元幀讀取模塊和一信元總線接口;所述信元幀讀取模塊用于根據(jù)所述信元幀F(xiàn)IFO模塊的讀寫SRAM允許標(biāo)志一次性讀取一個完整的信元幀;所述信元總線接口用于將所述完整的信元幀發(fā)送到下一級芯片。
6.一種利用權(quán)利要求1所述裝置實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,適用于通訊領(lǐng)域,其特征在于,包括步驟步驟610,數(shù)據(jù)包接收模塊接收外部網(wǎng)絡(luò)傳過來的數(shù)據(jù)包,在該數(shù)據(jù)包的頭和尾填寫標(biāo)志,并存入數(shù)據(jù)包FIFO中;步驟620,信元幀生成模塊讀取所述數(shù)據(jù)包FIFO中的數(shù)據(jù)包,根據(jù)系統(tǒng)設(shè)定的信元幀大小組裝成信元幀,并存入SRAM模塊中;步驟630,信元幀F(xiàn)IFO模塊實現(xiàn)所述信元幀緩沖,并對SRAM狀態(tài)進(jìn)行管理,將所述SRAM模塊虛擬成FIFO存儲器;及步驟640,信元幀發(fā)送模塊從所述信元幀F(xiàn)IFO模塊讀取信元幀并發(fā)送到下一級系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟610中,根據(jù)SOP和EOP信號在該數(shù)據(jù)包的頭和尾填寫標(biāo)志;所述SOP為包開始信號,所述EOP為包結(jié)束信號。
8.根據(jù)權(quán)利要求6或7所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟620中,還包括判斷所述信元生成模塊是否繼續(xù)查詢所述數(shù)據(jù)包FIFO和所述SRAM管理模塊的步驟;若所述數(shù)據(jù)包FIFO包含一個或多個完整的數(shù)據(jù)包且所述SRAM管理模塊允許向所述SRAM模塊寫入數(shù)據(jù)時,則停止查詢,若否繼續(xù)查詢。
9.根據(jù)權(quán)利要求6或7所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟620中,還包括所述信元生成模塊從所述數(shù)據(jù)包FIFO中按字不斷讀取數(shù)據(jù)包,按所述SRAM地址控制模塊生成的SRAM地址存入所述SRAM模塊,并對信元長度計數(shù)的步驟。
10.根據(jù)權(quán)利要求6或7所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟620中,還包括將該數(shù)據(jù)包分割,生成信元頭和信元載荷的步驟。
11.根據(jù)權(quán)利要求10所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟620中,還包括在所述信元頭定義整個信元的類型、長度及設(shè)置信元起始標(biāo)志位及將該信元頭寫入SRAM模塊的步驟。
12.根據(jù)權(quán)利要求11所述的實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的方法,其特征在于,所述步驟640中,所述信元幀發(fā)送模塊根據(jù)所述信元頭的信息讀出信元幀。
全文摘要
本發(fā)明公開了一種實現(xiàn)數(shù)據(jù)包模式到信元幀模式轉(zhuǎn)換的裝置及其方法,適用于通訊領(lǐng)域,該裝置包括數(shù)據(jù)包接收模塊,用于接收外部網(wǎng)絡(luò)傳來的數(shù)據(jù)包,在該數(shù)據(jù)包的頭和尾填寫標(biāo)志,并存入數(shù)據(jù)包FIFO中;信元幀生成模塊,用于讀取數(shù)據(jù)包FIFO中的數(shù)據(jù)并根據(jù)系統(tǒng)設(shè)定的信元幀大小組裝成信元幀,并存入SRAM模塊中;信元幀F(xiàn)IFO模塊,用于實現(xiàn)所述信元幀緩沖,并對SRAM狀態(tài)進(jìn)行管理,將所述SRAM模塊虛擬成FIFO存儲器;及信元幀發(fā)送模塊,用于從所述信元幀F(xiàn)IFO模塊讀取信元幀并發(fā)送到下一級系統(tǒng)。采用本發(fā)明達(dá)到了快速數(shù)據(jù)轉(zhuǎn)發(fā)和簡化系統(tǒng)設(shè)計效果,節(jié)省了FPGA內(nèi)部SRAM資源,提高了系統(tǒng)資源利用率。
文檔編號H04L12/56GK1984031SQ20051013060
公開日2007年6月20日 申請日期2005年12月14日 優(yōu)先權(quán)日2005年12月14日
發(fā)明者鄭斌儒, 周廣水, 俞嘉 申請人:中興通訊股份有限公司