專利名稱:寬帶碼多分址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置及方法
技術領域:
本發(fā)明涉及碼多分址通訊技術領域,尤其是一種寬帶碼多分址(WCDMA)系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置及方法。
背景技術:
標準協(xié)議3GPP TS 25.212和25.427是WCDMA規(guī)定了處理流程和數(shù)據(jù)格式等技術,但目前還沒有實現(xiàn)。在現(xiàn)有技術中的寬帶碼多分址(WCDMA)系統(tǒng)中,無線基站控制器接口(NODEB)下行系統(tǒng)需要接收來自無線基站接口(Iub)的幀協(xié)議數(shù)據(jù)包,并進行信道編碼和調制。由于一個NODEB支持的下行信道數(shù)量非常多,幀協(xié)議數(shù)據(jù)量非常大,幀協(xié)議數(shù)據(jù)的緩存和轉發(fā)的效率影響NODEB下行信道的處理性能。因此,尋找一種有效的緩存幀協(xié)議數(shù)據(jù)的機制顯得非常重要。但現(xiàn)有技術存在處理延時較大,影響下行處理的性能的不足。
發(fā)明內容
為克服現(xiàn)有技術的不足,本發(fā)明的目的在于提供一種寬帶碼分多址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置,包括以下部分一種寬帶碼分多址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置,其特征在于,該裝置包括以下部分一幀協(xié)議數(shù)據(jù)緩存,一端連接數(shù)字信號處理器接口,另一端連接幀協(xié)議數(shù)據(jù)讀取電路,用于緩存數(shù)字信號處理器下發(fā)的下行幀協(xié)議數(shù)據(jù),能同時被前級的數(shù)字信號處理器接口和后級的幀協(xié)議數(shù)據(jù)讀取電路訪問;一幀協(xié)議數(shù)據(jù)讀取電路,連接幀協(xié)議數(shù)據(jù)緩存和至少一個并串轉發(fā)電路,用于響應來自后級并串轉發(fā)電路的讀數(shù)請求,并對這些請求進行排隊,把相應的數(shù)據(jù)從幀協(xié)議數(shù)據(jù)緩存中讀取出來,傳遞給并串轉發(fā)電路;至少一并串轉發(fā)電路,一端連接幀協(xié)議數(shù)據(jù)讀取電路,另一端同與其對應的編碼器連接,用于將幀協(xié)議數(shù)據(jù)讀取電路送來的并行字節(jié)數(shù)據(jù)轉換成串行數(shù)據(jù)并送給編碼器。
所述幀協(xié)議數(shù)據(jù)緩存進一步包括至少一暫存寄存器,用于暫存一個字節(jié)的幀協(xié)議數(shù)據(jù);至少一移位寄存器,用于按位移出暫存寄存器導入的幀協(xié)議數(shù)據(jù)。
所述幀協(xié)議數(shù)據(jù)緩存的數(shù)據(jù)存儲格式為25.427協(xié)議格式。
所述幀協(xié)議數(shù)據(jù)緩存是一個雙口動態(tài)隨機存儲器。
所述幀協(xié)議數(shù)據(jù)讀取電路包括以下部件至少一請求指示寄存器,它連接譯碼器,用于將各路讀數(shù)請求的狀態(tài)寄存并送至譯碼器譯碼;至少一譯碼器,它連接請求指示寄存器和延遲寄存器,用于將各路讀數(shù)請求譯碼并發(fā)送至幀協(xié)議數(shù)據(jù)緩存;兩個延遲寄存器,一個為地址字節(jié)延遲寄存器,一個為脈沖響應延遲寄存器,用于補償幀協(xié)議數(shù)據(jù)緩存從讀地址發(fā)出到數(shù)據(jù)輸出的時間。
一種寬帶碼分多址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置的存儲轉發(fā)方法,數(shù)字信號處理器從無線基站控制器和基站接口接收幀協(xié)議數(shù)據(jù)包和信令,其特征在于,該方法包括以下步驟A、數(shù)字信號處理器接口下發(fā)下行幀協(xié)議數(shù)據(jù)包,并寫入幀協(xié)議數(shù)據(jù)緩存中;B、幀協(xié)議數(shù)據(jù)讀取電路將一個鏈路包含的所有幀協(xié)議數(shù)據(jù)包中的起始地址轉換成一個鏈路所有傳輸信道的起始地址;C、并串轉發(fā)電路向幀協(xié)議數(shù)據(jù)緩存發(fā)出讀數(shù)請求,幀協(xié)議數(shù)據(jù)緩存對讀數(shù)請求進行排隊;
D、幀協(xié)議數(shù)據(jù)讀取電路從幀協(xié)議數(shù)據(jù)緩存中讀取幀協(xié)議數(shù)據(jù)并發(fā)送到并串轉發(fā)電路。
所述步驟A中的幀協(xié)議數(shù)據(jù)緩存的位寬為32比特位。
所述步驟A中的將數(shù)據(jù)寫入幀協(xié)議緩存進一步包括以下步驟所述步驟A中的將數(shù)據(jù)寫入幀協(xié)議數(shù)據(jù)緩存進一步包括判斷數(shù)字信號處理器接收的幀協(xié)議數(shù)據(jù)的時間在可寫入幀協(xié)議數(shù)據(jù)緩存時間的先后,如果數(shù)字信號處理器接收的幀協(xié)議數(shù)據(jù)包時間是在可寫入幀協(xié)議數(shù)據(jù)緩存的最早時間之后,則直接把接收的數(shù)據(jù)搬到芯片內部緩存內,如果數(shù)字信號處理器從無線基站控制器和基站接口接收到的幀協(xié)議數(shù)據(jù)包的時間在可寫入幀協(xié)議數(shù)據(jù)緩存最早時間之前,則把它存儲在片外動態(tài)隨機存儲器中,等到可寫入幀協(xié)議數(shù)據(jù)緩存的最早提前時間滿足后再寫入下行芯片的幀協(xié)議數(shù)據(jù)緩存中。
所述幀協(xié)議數(shù)據(jù)緩存中的幀協(xié)議數(shù)據(jù)按照8位字節(jié)存儲,每個傳輸塊字節(jié)對齊。
所述步驟B中的幀協(xié)議數(shù)據(jù)包的起始地址為幀協(xié)議數(shù)據(jù)包數(shù)據(jù)數(shù)去掉幀頭所占字節(jié)數(shù)。
所述步驟B中的一個鏈路包含的所有幀協(xié)議數(shù)據(jù)包能存儲在幀協(xié)議數(shù)據(jù)緩存中地址不連續(xù)的位置。
所述步驟B中的傳輸信道的起始地址為幀協(xié)議數(shù)據(jù)起始地址加上該信道之前所有信道的字節(jié)長度。
所述步驟B中的將一個鏈路包含的所有幀協(xié)議數(shù)據(jù)起始地址轉換成一個鏈路所有傳輸信道的起始地址進一步包括以下步驟B1、幀協(xié)議數(shù)據(jù)的起始地址加上前面所有傳輸信道占用的字節(jié)數(shù)作為傳輸信道起始地址;B2、根據(jù)緩存大小對傳輸信道起始地址取模。
所述步驟C中的并串轉發(fā)電路根據(jù)傳輸信道幀協(xié)議數(shù)據(jù)的起始地址向幀協(xié)議數(shù)據(jù)緩存發(fā)送讀取數(shù)據(jù)請求。
所述步驟C中的并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)時,如果遇到一個傳輸塊處理完,即不再移出移位寄存器內剩余的比特數(shù)。
所述步驟C中的幀協(xié)議數(shù)據(jù)緩存對讀數(shù)請求的排隊采用優(yōu)先級排隊。
所述步驟D中的從幀協(xié)議數(shù)據(jù)緩存中讀取數(shù)據(jù)采取二級緩存機制。
所述步驟D中的幀協(xié)議數(shù)據(jù)讀取電路從幀協(xié)議數(shù)據(jù)緩存中讀取幀協(xié)議數(shù)據(jù)進一步包括以下步驟D1、幀協(xié)議數(shù)據(jù)讀取電路讀取幀協(xié)議數(shù)據(jù)緩沖區(qū)里一個字節(jié)的數(shù)據(jù)并存放在一暫存寄存器中;D2、幀協(xié)議數(shù)據(jù)讀取電路判斷暫存寄存器標志是否為空,空則發(fā)出一個讀數(shù)請求從幀協(xié)議數(shù)據(jù)緩存中讀取一個字節(jié)數(shù)據(jù)存放到該寄存器中;D3、幀協(xié)議數(shù)據(jù)讀取電路把幀協(xié)議數(shù)據(jù)緩存暫存寄存器中數(shù)據(jù)鎖存到移位寄存器中,并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)。
所述步驟D2中的幀協(xié)議數(shù)據(jù)緩存移位寄存器每8拍從暫存寄存器中讀取一次數(shù)據(jù),并更新暫存寄存器標志為空。
所述步驟D3中的并串轉發(fā)電路中還有一數(shù)據(jù)塊內比特位計數(shù)器,在并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)時,如果計數(shù)器低3比特位的值為0,則停止移出比特流,同時將暫存寄存器中的幀協(xié)議數(shù)據(jù)鎖存到移位寄存器中,否則繼續(xù)移出比特流。
本發(fā)明具有顯著的優(yōu)點和積極效果。
1、數(shù)字信號處理器(DSP)從Iub接口接收幀協(xié)議數(shù)據(jù)包和信令,完成信令處理和對下行處理芯片的參數(shù)配置。對于過早到達的幀協(xié)議數(shù)據(jù)包在數(shù)字信號處理器(DSP)的片外存儲器中進行緩存,在恰當?shù)臅r刻把幀協(xié)議數(shù)據(jù)包搬移到下行處理芯片內部的幀協(xié)議數(shù)據(jù)緩沖區(qū),同時減少了芯片中幀協(xié)議數(shù)據(jù)緩存的大小,減少了下行編碼處理的整體延時,提高了下行處理的性能。
2、幀協(xié)議數(shù)據(jù)緩存的數(shù)據(jù)格式盡量和協(xié)議保持一致,減少了軟件處理的復雜度和數(shù)據(jù)搬移的時間,有助于支持多小區(qū)大容量基站的下行處理。同時幀協(xié)議數(shù)據(jù)緩存支持CPU的大端和小端兩種模式,方便了各種類型的中央處理器CPU和數(shù)字信號處理器(DSP)進行接口。
3、下行芯片完成各個信道的編碼和調制,芯片可以支持多個小區(qū)的下行信道的編碼和調制。下行芯片內部包括幀協(xié)議數(shù)據(jù)緩存讀取電路和并串轉發(fā)電路。幀協(xié)議數(shù)據(jù)緩存完成幀協(xié)議數(shù)據(jù)的緩存,并能夠響應后級幀協(xié)議數(shù)據(jù)讀取電路的幀協(xié)議數(shù)據(jù)讀取請求,從緩沖區(qū)中讀取相應的一個字節(jié)數(shù)據(jù)經(jīng)過并串轉換發(fā)送給編碼器。它能同時響應后級來自不同小區(qū)或者同一小區(qū)的不同編碼器的讀數(shù)請求,進行排隊處理。
本發(fā)明采用下行幀協(xié)議數(shù)據(jù)緩存的多小區(qū)資源共享方法,通過優(yōu)先級排隊,多個小區(qū)共享同一個緩存資源。實現(xiàn)了一個基站多個小區(qū)之間的資源共享,利用單片較小規(guī)模的片內RAM支持多小區(qū)內較多下行鏈路的幀協(xié)議數(shù)據(jù)緩存和處理。效率得到有效提高,具有很大的可擴展性,有助于下行信道容量的升級。
圖1為本發(fā)明的裝置構成圖;圖2為本發(fā)明的主流程圖;圖3為幀協(xié)議數(shù)據(jù)緩存的存儲格式圖;圖4為幀協(xié)議數(shù)據(jù)緩沖機制示意圖;圖5為并串轉換電圖;圖6為幀協(xié)議數(shù)據(jù)讀取電路圖。
具體實施例方式
下面結合說明書附圖來說明本發(fā)明的具體實施方式
。
請參閱圖1,本發(fā)明的裝置構成圖,本發(fā)明的在寬帶碼分多址(WCDMA)系統(tǒng)中的下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置,主要包括以下部分幀協(xié)議數(shù)據(jù)緩存2,它一端連接數(shù)字信號處理器(DSP)接口,另一端連接幀協(xié)議數(shù)據(jù)讀取電路3,用于緩存數(shù)字信號處理器(DSP)下發(fā)的下行幀協(xié)議數(shù)據(jù),能同時被前級的數(shù)字信號處理器(DSP)和后級的幀協(xié)議數(shù)據(jù)讀取電路3訪問;幀協(xié)議數(shù)據(jù)讀取電路3,它連接幀協(xié)議數(shù)據(jù)緩存2和至少一個并串轉發(fā)電路4,用于響應來自后級各并串轉發(fā)電路4的讀數(shù)請求,并對這些請求進行排隊,把相應的數(shù)據(jù)從幀協(xié)議數(shù)據(jù)緩存2中讀取出來,傳遞給并串轉發(fā)電路4;至少一并串轉發(fā)電路4,如4個,它與編碼器5數(shù)量相同,該并串轉發(fā)電路4一端連接幀協(xié)議數(shù)據(jù)讀取電路3,另一端同與其對應的編碼器5連接,用于將幀協(xié)議數(shù)據(jù)讀取電路3送來的并行字節(jié)數(shù)據(jù)轉換成串行數(shù)據(jù)并送給編碼器5;至少一編碼器5,編碼器5與對應的并串轉發(fā)電路4相連,并且數(shù)量相同,用于將并串轉換后的字節(jié)數(shù)據(jù)進行編碼,并串轉發(fā)電路4中有暫存寄存器6和移位寄存器7。
一個幀協(xié)議數(shù)據(jù)包內通常包含一個或多個傳輸信道的數(shù)據(jù)。在幀協(xié)議數(shù)據(jù)包中,每個傳輸信道的數(shù)據(jù)依次存放,并且每個傳輸信道的數(shù)據(jù)是按照字節(jié)對齊的,不足一個字節(jié)的部分填充無效比特。
每個傳輸信道的數(shù)據(jù)通常包括一個或多個傳輸塊(TB),每個傳輸塊的長度是相等。每個傳輸塊的存放也是按照字節(jié)對齊的,不足部分填充無效比特。
本發(fā)明為了提供一種有效幀協(xié)議數(shù)據(jù)緩存機制,達到減少幀協(xié)議數(shù)據(jù)鎖存和處理時間的目的,最終達到減少下行處理延時的目的。盡量用較小規(guī)模的幀協(xié)議數(shù)據(jù)緩存2支持較大的數(shù)據(jù)吞吐量,在實際應用中可以根據(jù)實際的需求選擇合適的緩存2的容量,實現(xiàn)靈活配置。幀協(xié)議數(shù)據(jù)緩存中有一緩沖區(qū),緩沖區(qū)能夠被同一個基站不同小區(qū)共享,支持基站總容量不變的情況下各個小區(qū)之間不同規(guī)格的靈活配置。同時,為了減少因共享引入的排隊延時,盡量減少排隊等待對整個編碼處理延時的負面影響。本發(fā)明的排隊處理機制可以有效的解決這個問題。
由于212編碼的輸入的數(shù)據(jù)流是串行的比特流,而幀協(xié)議數(shù)據(jù)包的數(shù)據(jù)是按字節(jié)存放的,本發(fā)明的裝置需要完成并行數(shù)據(jù)的并串轉換處理,在并串轉換處理過程中,可以順帶添加每個傳輸塊的循環(huán)校驗碼CRC。
在本發(fā)明的裝置中,幀協(xié)議數(shù)據(jù)緩存2用于緩存數(shù)字信號處理器(DSP)下發(fā)的下行幀協(xié)議數(shù)據(jù),是一個雙口隨機存儲器,可以同時被前級數(shù)字信號處理器(DSP)和后級幀協(xié)議數(shù)據(jù)讀取電路3訪問。
幀協(xié)議數(shù)據(jù)讀取電路3響應來自后級各路并串轉發(fā)電路4的讀數(shù)請求,并對這些請求進行排隊,把相應的數(shù)據(jù)從幀協(xié)議數(shù)據(jù)緩存2中讀取出來,傳遞給并串轉發(fā)電路4。
并串轉發(fā)電路4完成字節(jié)數(shù)據(jù)的并串轉換,傳遞給后級編碼器5模塊。同時,為了簡化處理,本發(fā)明的并串轉發(fā)電路4還計算和維護一個鏈路上每個傳輸信道的數(shù)據(jù)讀取的地址,該電路完成各個幀協(xié)議數(shù)據(jù)包起始地址到每個傳輸信道起始地址的轉換。
請參閱圖2本發(fā)明的主流程圖,首先,數(shù)字信號處理器(DSP)從Iub接口接收幀協(xié)議數(shù)據(jù)包和信令,然后,數(shù)字信號處理器(DSP)接口下發(fā)下行幀協(xié)議數(shù)據(jù)包,并寫入幀協(xié)議數(shù)據(jù)緩存2中。幀協(xié)議數(shù)據(jù)緩存2采用循環(huán)存儲方法。數(shù)字信號處理器(DSP)維護一個幀協(xié)議數(shù)據(jù)地址寫指針,當需要寫入幀協(xié)議數(shù)據(jù)的時候從該地址開始寫入幀協(xié)議數(shù)據(jù)包,寫完幀協(xié)議數(shù)據(jù)包后,地址寫指針的值增加幀協(xié)議數(shù)據(jù)長度。
在數(shù)字信號處理器(DSP)內部還需要維護每個幀協(xié)議數(shù)據(jù)的數(shù)據(jù)起始地址,由于編碼是從幀協(xié)議數(shù)據(jù)包的數(shù)據(jù)域開始,幀協(xié)議數(shù)據(jù)起始地址為去掉幀頭所占的字節(jié)數(shù)。在啟動一個鏈路編碼時,把該鏈路所包含的所有幀協(xié)議數(shù)據(jù)的起始地址配置給下行處理芯片,芯片根據(jù)這些起始地址和一些相關參數(shù)計算出每個傳輸信道幀協(xié)議數(shù)據(jù)在緩沖區(qū)中的起始地址。
請參閱圖3,幀協(xié)議數(shù)據(jù)緩沖存儲格式圖,在幀協(xié)議數(shù)據(jù)緩沖區(qū)中存儲的數(shù)據(jù)格式和25.427協(xié)議規(guī)定的幀協(xié)議數(shù)據(jù)格式一致,這樣可以省去數(shù)字信號處理器(DSP)對數(shù)據(jù)格式的轉換過程。幀協(xié)議數(shù)據(jù)包以8比特字節(jié)為單位進行存儲,包括幀頭域、數(shù)據(jù)域和校驗域。對于下行編碼,一般只用到數(shù)據(jù)域的內容。
由于在幀協(xié)議數(shù)據(jù)緩存2中的幀協(xié)議數(shù)據(jù)存放是按字節(jié)對齊的,如果把幀協(xié)議數(shù)據(jù)緩存2的位寬設計成1個字節(jié)即8比特位,幀協(xié)議數(shù)據(jù)讀取的尋址方式可以比較簡單,然而這樣的位寬影響了數(shù)字信號處理器(DSP)傳送幀協(xié)議數(shù)據(jù)包的效率。為了提高數(shù)字信號處理器(DSP)寫入數(shù)據(jù)的吞吐量,需要把幀協(xié)議數(shù)據(jù)緩存2的位寬設計成32比特。
幀協(xié)議數(shù)據(jù)緩存2的深度可以根據(jù)下行系統(tǒng)支持的規(guī)格如信道數(shù)進行調整,本發(fā)明以32K為例,這種大小的幀協(xié)議數(shù)據(jù)緩存2大約可以支持下行3個小區(qū)共300個信道幀協(xié)議數(shù)據(jù)的無覆蓋存儲。要保證寫入的數(shù)據(jù)不被新數(shù)據(jù)覆蓋,必須保證新數(shù)據(jù)寫入時對應空間的歷史數(shù)據(jù)已經(jīng)無效即編碼處理完成,這個條件由幀協(xié)議數(shù)據(jù)緩存2的深度和幀協(xié)議數(shù)據(jù)寫入時間窗共同保證。時間窗是指幀協(xié)議數(shù)據(jù)可以寫入的最早時間,如果數(shù)字信號處理器(DSP)從Iub接口接收到的幀協(xié)議數(shù)據(jù)包早于這個時間,則先把它存放在片外存儲器中,等時間窗滿足后再寫入下行芯片的幀協(xié)議數(shù)據(jù)緩存2中;如果數(shù)字信號處理器(DSP)接收的幀協(xié)議數(shù)據(jù)包在時間窗之內,可以直接把接收的數(shù)據(jù)包搬到芯片內部的幀協(xié)議數(shù)據(jù)緩存2內。本發(fā)明的時間窗設置成10毫秒(ms),如果幀協(xié)議數(shù)據(jù)到達時間早于10ms,先把幀協(xié)議數(shù)據(jù)存放在數(shù)字信號處理器(DSP)的片外空間,等到滿足時間窗后再把數(shù)據(jù)搬移到下行芯片的幀協(xié)議數(shù)據(jù)緩存2;如果幀協(xié)議數(shù)據(jù)到達時間在10ms之內,可以直接把幀協(xié)議數(shù)據(jù)搬移到下行芯片的幀協(xié)議數(shù)據(jù)緩存2中。
如圖4所示,這種存儲機制對每個幀協(xié)議數(shù)據(jù)的存儲位置可以沒有約束,一個鏈路的不同幀協(xié)議數(shù)據(jù)可以存儲在幀協(xié)議數(shù)據(jù)緩存2的不同位置,地址不必連續(xù)。這樣對于幀協(xié)議數(shù)據(jù)的緩存是非常有利的,因為幀協(xié)議數(shù)據(jù)的到達時間是隨機無序的,一個鏈路包含的各個幀協(xié)議數(shù)據(jù)包可能在不同時間到達,數(shù)字信號處理器(DSP)在時間窗內不需要額外地對幀協(xié)議數(shù)據(jù)包進行緩存,這樣既減少了數(shù)據(jù)搬移的時間,又減少了數(shù)字信號處理器(DSP)因幀協(xié)議數(shù)據(jù)處理增加的負荷。
之后,幀協(xié)議數(shù)據(jù)讀取電路3將一個鏈路包含的所有幀協(xié)議數(shù)據(jù)包中的起始地址轉換成一個鏈路所有傳輸信道的起始地址。地址轉換的目標是要能查找到存儲在幀協(xié)議數(shù)據(jù)緩存2中每個比特的數(shù)據(jù)。地址轉換機制和多小區(qū)多編碼器5共享幀協(xié)議數(shù)據(jù)緩存2、幀協(xié)議數(shù)據(jù)在幀協(xié)議數(shù)據(jù)緩存2中的數(shù)據(jù)格式以及幀協(xié)議數(shù)據(jù)緩存機制有關。地址轉換要考慮前級數(shù)據(jù)搬移的效率以及后級幀協(xié)議數(shù)據(jù)讀取請求的響應效率。
本發(fā)明的地址轉換分成3個步驟1、一個鏈路包含的所有幀協(xié)議數(shù)據(jù)的起始地址到一個鏈路所有傳輸信道起始地址的轉換。
如前所述,數(shù)字信號處理器(DSP)在內部維護的是每個幀協(xié)議數(shù)據(jù)包的起始地址,因為數(shù)字信號處理器(DSP)只關心幀協(xié)議數(shù)據(jù)包的搬移,不關心一個鏈路內部傳輸信道的處理,而在鏈路編碼時,是按照每個傳輸信道進行的,需要完成幀協(xié)議數(shù)據(jù)包起始地址到每個傳輸信道起始地址的轉換。
一個幀協(xié)議數(shù)據(jù)包內部可能有一個或多個傳輸信道的幀協(xié)議數(shù)據(jù),如最大支持8個傳輸信道,一個鏈路包含的傳輸信道的數(shù)據(jù)可能承載在一個或多個幀協(xié)議數(shù)據(jù)上,如最多包含8個傳輸信道。這樣幀協(xié)議數(shù)據(jù)起始地址和傳輸信道起始地址的對應關系相對比較復雜。
某個幀協(xié)議數(shù)據(jù)內承載幾個傳輸信道是在鏈路建立時確定的,同樣某個鏈路包含哪幾個幀協(xié)議數(shù)據(jù)以及包含幾個傳輸信道也是在鏈路建立時確定的,這些參數(shù)對于數(shù)字信號處理器(DSP)是可知的。地址轉換需要用到的參數(shù)主要有尋址到字節(jié)的每個幀協(xié)議數(shù)據(jù)的起始地址、每個幀協(xié)議數(shù)據(jù)承載的傳輸信道個數(shù)、一個鏈路包含的傳輸信道的個數(shù)、每個傳輸信道當前傳輸時間間隔(TTI)使用的傳輸格式,包括傳輸塊個數(shù)(tb_num)和傳輸塊大小(tb_len)。
幀協(xié)議數(shù)據(jù)在協(xié)議中定義的格式是按照字節(jié)(8bit)存儲的,每個傳輸塊是字節(jié)對齊的,這意味著如果一個傳輸塊的數(shù)據(jù)長度不是字節(jié)的整數(shù)倍即8比特的整數(shù)倍,則需要填充空比特,補齊到字節(jié)的整數(shù)倍。所以一個傳輸信道占用的字節(jié)數(shù)為[tb_len/8]*tb_num。其中[]為向上取整。
在幀協(xié)議數(shù)據(jù)中第一個傳輸信道的起始地址就是幀協(xié)議數(shù)據(jù)的起始地址;第二個傳輸信道的起始地址為幀協(xié)議數(shù)據(jù)的起始地址+第1個傳輸信道占用的字節(jié)數(shù);第三個傳輸信道的起始地址為第1個傳輸信道的起始地址+第2個傳輸信道占用的字節(jié)數(shù);......。在計算傳輸信道起始地址的時候,要考慮幀協(xié)議數(shù)據(jù)緩存2的大小,需要對運算結果進行按幀協(xié)議數(shù)據(jù)緩存2的大小取模,即如果計算出的結果大于幀協(xié)議數(shù)據(jù)緩存2的大小,需要對結果減去幀協(xié)議數(shù)據(jù)緩存2的大小。
傳輸信道地址計算的順序是先計算第一個傳輸信道的起始地址,再計算第2個傳輸信道的起始地址,直到1個鏈路所有的傳輸信道起始地址都計算完成。
2、一個傳輸信道內部每個字節(jié)的地址維護。
在地址計算完成后,并串轉發(fā)電路4向幀協(xié)議數(shù)據(jù)緩存2發(fā)出讀數(shù)請求,幀協(xié)議數(shù)據(jù)緩存2對讀數(shù)請求進行排隊。并串轉發(fā)電路4每次從幀協(xié)議數(shù)據(jù)緩存2中讀取一個字節(jié)的數(shù)據(jù)進行并串轉換,轉換完成后完成下一個字節(jié)的并串轉換。為了便于整個編碼處理過程中流量的控制,幀協(xié)議數(shù)據(jù)讀取采用由并串轉發(fā)電路4主動發(fā)起讀數(shù)請求,幀協(xié)議數(shù)據(jù)讀取電路3響應請求的機制。
在進行傳輸信道編碼時,并串轉發(fā)電路4首先根據(jù)該傳輸信道幀協(xié)議數(shù)據(jù)的起始地址向前級模塊發(fā)出第一個字節(jié)數(shù)據(jù)的讀取請求。每發(fā)送完一個字節(jié)的請求后,地址增加1。當遇到一個傳輸塊處理完成時,拋棄并串轉發(fā)電路4中移位寄存器7內部剩余的比特,重新發(fā)出一次讀數(shù)請求。這樣處理就符合了一個傳輸塊在緩存2中按字節(jié)對齊存儲的要求。
3、對一個字節(jié)內部每個比特的訪問。
接下來,幀協(xié)議數(shù)據(jù)讀取電路3從幀協(xié)議數(shù)據(jù)緩存2中讀取幀協(xié)議數(shù)據(jù)發(fā)送到并串轉發(fā)電路4。對一個字節(jié)內部每個比特的訪問不需要單獨維護地址,在并串轉發(fā)電路4中從8比特移位寄存器7中依次輸出比特流即可。每次輸出移位寄存器7的最高位,并對移位寄存器7做左移操作。如果遇到一個傳輸塊處理結束,移位寄存器7中的剩余比特被拋棄,這些比特正好是在幀協(xié)議數(shù)據(jù)緩存2中用于每個傳輸塊對齊的無效比特,不需要傳遞給后級編碼處理。
從并串轉發(fā)電路4發(fā)出幀協(xié)議數(shù)據(jù)讀取請求發(fā)出到得到響應,需要幾個時鐘的延時。如果不采取特殊處理,并串轉發(fā)電路4每處理完一個字節(jié)的數(shù)據(jù)后需要插入額外的等待周期,等到讀數(shù)請求得到響應后才能進行下一個字節(jié)的并串轉換處理。插入額外的等待周期會增加整個編碼處理的延時,影響整個下行處理的性能。在惡劣情況下如多個小區(qū)多個編碼器5同時發(fā)出請求,可能使整個編碼的處理延時增加1倍,這個延時是下行處理系統(tǒng)不能接受的。因此,需要采用特殊的方法來保證并串轉換后數(shù)據(jù)流的連續(xù)發(fā)送。
如圖5所示,為了減少由于幀協(xié)議數(shù)據(jù)讀數(shù)延時插入額外的等待周期,幀協(xié)議數(shù)據(jù)讀取采取二級緩存機制,提前為并串轉換準備好一個字節(jié)的幀協(xié)議數(shù)據(jù)。每發(fā)送一次讀取請求,就從前級的幀協(xié)議數(shù)據(jù)緩存2里讀取一個字節(jié)的數(shù)據(jù)。讀取的幀協(xié)議數(shù)據(jù)鎖存在暫存寄存器6中。在編碼處理啟動后,只要發(fā)現(xiàn)暫存寄存器6為空時,就會發(fā)出一次讀數(shù)請求,直到暫存寄存器6中存放著沒有進行并串轉換的數(shù)據(jù)為止。并串轉發(fā)電路4的移位寄存器7每完成一個字節(jié)的處理后把暫存寄存器6中的數(shù)據(jù)鎖存到移位寄存器7中。當然在鎖存數(shù)據(jù)的時候需要判斷暫存寄存器6中存放的是否是一個更新的數(shù),如果不是,需要等待寄暫存寄存器6數(shù)據(jù)更新后,即讀數(shù)請求得到響應,再把數(shù)據(jù)鎖存。這個等待發(fā)生的概率很小,通常只有在第一個讀數(shù)請求發(fā)出后,后面的數(shù)據(jù)會自動的連續(xù)起來,暫存寄存器6會提前發(fā)讀數(shù)請求和更新數(shù)據(jù),為下一個字節(jié)并串轉換準備好數(shù)據(jù)。每次讀數(shù)請求的地址是用傳輸信道的起始地址fp_beg_addr和當前得到響應的個數(shù)req_cnt相加的結果,該結果還需要對幀協(xié)議數(shù)據(jù)緩存2的大小進行取模。
在圖5的并串轉發(fā)電路4中,并串轉發(fā)電路4內部用一個比特計數(shù)器對一個傳輸塊內處理的比特進行計數(shù)。在比特計數(shù)器低3比特的值為0的時候即需要更新移位寄存器7時把暫存寄存器6中的數(shù)據(jù)鎖存到8比特的移位寄存器7,同時對暫存寄存器6的標志清零,這表示暫存寄存器6的數(shù)據(jù)被取走,無更新的數(shù)據(jù)。在暫存寄存器6標志為空的時候就會發(fā)出一個讀數(shù)請求脈沖,讀數(shù)請求的地址是傳輸信道的起始地址加上字節(jié)計數(shù)器的值。當收到讀數(shù)請求響應時,字節(jié)計數(shù)器加1,同時把數(shù)據(jù)鎖存到暫存寄存器6中,并置位暫存寄存器6的標志,這表示數(shù)據(jù)已經(jīng)更新。在一個傳輸塊處理完成后,對下一個傳輸塊進行處理,在處理之前需要對比特計數(shù)器進行清零。比特計數(shù)器清零后,移位寄存器7中如果存在剩余數(shù)據(jù)沒有發(fā)送,就進行拋棄,因為這些數(shù)據(jù)是用于傳輸塊字節(jié)對齊的無效數(shù)據(jù)。
由于幀協(xié)議數(shù)據(jù)緩存2是被多個編碼處理單元共享的,對于某個編碼單元來說是非獨占資源,幀協(xié)議數(shù)據(jù)讀取模塊需要同時處理后級多路處理模塊發(fā)出的讀數(shù)請求,多路請求的排隊和響應機制會影響整個下行處理的延時。如果從請求發(fā)出到得到響應的時間比較長,可能會導致整個下行處理延時的增加。
幀協(xié)議數(shù)據(jù)讀取電路3的核心問題是如何響應后級的多路讀數(shù)請求,其主要的電路是排隊電路。通用的排隊電路有兩種1、優(yōu)先級排隊;2、輪循排隊。由于輪循排隊需要插入一定的等待拍數(shù),可能會使請求不能及時處理,所以,對于請求路數(shù)不多的情況下如8路以內則采用優(yōu)先級排隊機制。如果后級編碼器5個數(shù)較多,為了減少各個編碼處理單元的相關性,相互之間的處理延時性能不受影響,可以考慮采用輪循排隊機制。
采用優(yōu)先級排隊的一個副面效果是如果存在高優(yōu)先級別的通路一直發(fā)送請求,低優(yōu)先級別的通路可能永遠得不到響應。但是在本發(fā)明中不存在這樣的問題,因為后級并串轉發(fā)電路4每得到一次響應需要8個周期才能把數(shù)據(jù)處理完,兩次讀數(shù)請求的間隔通常為8拍。所以不存在高優(yōu)先級的通路一直占用幀協(xié)議數(shù)據(jù)讀數(shù)電路的情況。
本發(fā)明以4套編碼處理單元對應4套并串轉發(fā)電路4共享一個幀協(xié)議數(shù)據(jù)緩存2為例,說明采用優(yōu)先級排隊的實現(xiàn)方法。幀協(xié)議數(shù)據(jù)讀取模塊響應4套并串轉發(fā)電路4的幀協(xié)議數(shù)據(jù)讀取請求,從幀協(xié)議數(shù)據(jù)緩存2中讀取相應的數(shù)據(jù)提供給并串轉發(fā)電路4。由于可能存在4個并串轉發(fā)電路4同時發(fā)出幀協(xié)議數(shù)據(jù)讀取請求的情況,因此在幀協(xié)議數(shù)據(jù)讀取模塊內部需要對4個請求進行排隊,依次響應每個并串轉發(fā)電路4發(fā)出的請求。
每次響應幀協(xié)議數(shù)據(jù)讀取請求要從幀協(xié)議數(shù)據(jù)緩存2中讀取一個字節(jié)的數(shù)據(jù)發(fā)送給并串轉發(fā)電路4。對于32比特位寬的幀協(xié)數(shù)據(jù)議緩存2,是按照字尋址的,因此,用請求地址的高比特,除去低2比特以外的比特作為地址,首先從幀協(xié)議數(shù)據(jù)緩存2中讀取一個字的數(shù)據(jù),然后根據(jù)請求地址的低2比特從1個字中選擇1個字節(jié)的內容發(fā)送給并串轉發(fā)電路4。為了支持CPU不同的大、小端模式,在字節(jié)選擇時可以根據(jù)不同的模式進行相應的處理。如果為小端模式,字節(jié)從一個字的低位開始,即字節(jié)地址為0、1、2、3分別選擇一個字中的7~0比特、15~8比特、23~16比特和31~24比特。如果為大端模式,字節(jié)的選擇次序需要顛倒一下,字節(jié)選擇從字的高位開始,即字節(jié)地址為0、1、2、3分別選擇一個字中的31~24比特、23~16比特、15~8比特和7~0比特。
請參閱圖6,本發(fā)明的幀協(xié)議數(shù)據(jù)讀取中的排隊電路圖。在該圖中,本發(fā)明設置4個指示寄存器分別寄存4路請求的狀態(tài),當收到請求時,寄存器置位,當對應通路的請求得到響應時,寄存器清零。各路指示寄存器的標志送到譯碼器進行優(yōu)先級譯碼。當?shù)谝宦返臉酥緸?時,譯碼響應第一路的請求;當?shù)诙返臉酥緸?時且前一路沒有請求時,響應第二路的請求;......。如果某一路請求得到響應,幀協(xié)議數(shù)據(jù)讀數(shù)電路會選擇對應通路的讀地址,并用這個地址的高位進行幀協(xié)議數(shù)據(jù)緩存2的按字尋址,用低2位進行字節(jié)選擇。在進行字節(jié)選擇和輸出響應脈沖的時候要考慮到讀緩存2的流水拍數(shù),圖中的延遲寄存器就是為了補償緩存2從讀地址發(fā)出到數(shù)據(jù)輸出的流水如2拍。
最后,并串轉發(fā)電路4將讀取的數(shù)據(jù)串行發(fā)送至各信道編碼器5。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的權利要求范圍之內。
權利要求
1.一種寬帶碼分多址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置,其特征在于,該裝置包括以下部分一幀協(xié)議數(shù)據(jù)緩存,一端連接數(shù)字信號處理器接口,另一端連接幀協(xié)議數(shù)據(jù)讀取電路,用于緩存數(shù)字信號處理器下發(fā)的下行幀協(xié)議數(shù)據(jù),能同時被前級的數(shù)字信號處理器接口和后級的幀協(xié)議數(shù)據(jù)讀取電路訪問;一幀協(xié)議數(shù)據(jù)讀取電路,連接幀協(xié)議數(shù)據(jù)緩存和至少一個并串轉發(fā)電路,用于響應來自后級并串轉發(fā)電路的讀數(shù)請求,并對這些請求進行排隊,把相應的數(shù)據(jù)從幀協(xié)議數(shù)據(jù)緩存中讀取出來,傳遞給并串轉發(fā)電路;至少一并串轉發(fā)電路,一端連接幀協(xié)議數(shù)據(jù)讀取電路,另一端同與其對應的編碼器連接,用于將幀協(xié)議數(shù)據(jù)讀取電路送來的并行字節(jié)數(shù)據(jù)轉換成串行數(shù)據(jù)并送給編碼器。
2.如權利要求1所述的裝置,其特征在于,所述幀協(xié)議數(shù)據(jù)緩存進一步包括至少一暫存寄存器,用于暫存一個字節(jié)的幀協(xié)議數(shù)據(jù);至少一移位寄存器,用于按位移出暫存寄存器導入的幀協(xié)議數(shù)據(jù)。
3.如權利要求1所述的裝置,其特征在于,所述幀協(xié)議數(shù)據(jù)緩存的數(shù)據(jù)存儲格式為25.427協(xié)議格式。
4.如權利要求1所述的裝置,其特征在于,所述幀協(xié)議數(shù)據(jù)緩存是一個雙口動態(tài)隨機存儲器。
5.如權利要求1所述的裝置,其特征在于,所述幀協(xié)議數(shù)據(jù)讀取電路包括以下部件至少一請求指示寄存器,它連接譯碼器,用于將各路讀數(shù)請求的狀態(tài)寄存并送至譯碼器譯碼;至少一譯碼器,它連接請求指示寄存器和延遲寄存器,用于將各路讀數(shù)請求譯碼并發(fā)送至幀協(xié)議數(shù)據(jù)緩存;兩個延遲寄存器,一個為地址字節(jié)延遲寄存器,一個為脈沖響應延遲寄存器,用于補償幀協(xié)議數(shù)據(jù)緩存從讀地址發(fā)出到數(shù)據(jù)輸出的時間。
6.一種寬帶碼分多址系統(tǒng)下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置的存儲轉發(fā)方法,數(shù)字信號處理器從無線基站控制器和基站接口接收幀協(xié)議數(shù)據(jù)包和信令,其特征在于,該方法包括以下步驟A、數(shù)字信號處理器接口下發(fā)下行幀協(xié)議數(shù)據(jù)包,并寫入幀協(xié)議數(shù)據(jù)緩存中;B、幀協(xié)議數(shù)據(jù)讀取電路將一個鏈路包含的所有幀協(xié)議數(shù)據(jù)包中的起始地址轉換成一個鏈路所有傳輸信道的起始地址;C、并串轉發(fā)電路向幀協(xié)議數(shù)據(jù)緩存發(fā)出讀數(shù)請求,幀協(xié)議數(shù)據(jù)緩存對讀數(shù)請求進行排隊;D、幀協(xié)議數(shù)據(jù)讀取電路從幀協(xié)議緩存中讀取幀協(xié)議數(shù)據(jù)并發(fā)送到并串轉發(fā)電路。
7.如權利要求6所述的方法,其特征在于,所述步驟A中的幀協(xié)議數(shù)據(jù)緩存的位寬為32比特位。
8.如權利要求6所述的方法,其特征在于,所述步驟A中的將數(shù)據(jù)寫入幀協(xié)議數(shù)據(jù)緩存進一步包括以下步驟所述步驟A中的將數(shù)據(jù)寫入幀協(xié)議數(shù)據(jù)緩存進一步包括判斷數(shù)字信號處理器接收的幀協(xié)議數(shù)據(jù)的時間在可寫入幀協(xié)議數(shù)據(jù)緩存時間的先后,如果數(shù)字信號處理器接收的幀協(xié)議數(shù)據(jù)包時間是在可寫入幀協(xié)議數(shù)據(jù)緩存的最早時間之后,則直接把接收的數(shù)據(jù)搬到芯片內部緩存內,如果數(shù)字信號處理器從無線基站控制器和基站接口接收到的幀協(xié)議數(shù)據(jù)包的時間在可寫入幀協(xié)議數(shù)據(jù)緩存最早時間之前,則把它存儲在片外動態(tài)隨機存儲器中,等到可寫入幀協(xié)議數(shù)據(jù)緩存的最早提前時間滿足后再寫入下行芯片的幀協(xié)議數(shù)據(jù)緩存中。
9.如權利要求8所述的方法,其特征在于,所述幀協(xié)議數(shù)據(jù)緩存中的幀協(xié)議數(shù)據(jù)按照8位字節(jié)存儲,每個傳輸塊字節(jié)對齊。
10.如權利要求6所述的方法,其特征在于,所述步驟B中的幀協(xié)議數(shù)據(jù)包的起始地址為幀協(xié)議數(shù)據(jù)包數(shù)據(jù)數(shù)去掉幀頭所占字節(jié)數(shù)。
11.如權利要求6所述的方法,其特征在于,所述步驟B中的一個鏈路包含的所有幀協(xié)議數(shù)據(jù)包能存儲在幀協(xié)議數(shù)據(jù)緩存中地址不連續(xù)的位置。
12.如權利要求6所述的方法,其特征在于,所述步驟B中的傳輸信道的起始地址為幀協(xié)議數(shù)據(jù)起始地址加上該信道之前所有信道的字節(jié)長度。
13.如權利要求6所述的方法,其特征在于,所述步驟B中的將一個鏈路包含的所有幀協(xié)議數(shù)據(jù)起始地址轉換成一個鏈路所有傳輸信道的起始地址進一步包括以下步驟B1、幀協(xié)議數(shù)據(jù)的起始地址加上前面所有傳輸信道占用的字節(jié)數(shù)作為傳輸信道起始地址;B2、根據(jù)緩存大小對傳輸信道起始地址取模。
14.如權利要求6所述的方法,其特征在于,所述步驟C中的并串轉發(fā)電路根據(jù)傳輸信道幀協(xié)議數(shù)據(jù)的起始地址向幀協(xié)議數(shù)據(jù)緩存發(fā)送讀取數(shù)據(jù)請求。
15.如權利要求14所述的方法,其特征在于,所述步驟C中的并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)時,如果遇到一個傳輸塊處理完,即不再移出移位寄存器內剩余的比特數(shù)。
16.如權利要求6所述的方法,其特征在于,所述步驟C中的幀協(xié)議數(shù)據(jù)緩存對讀數(shù)請求的排隊采用優(yōu)先級排隊。
17.如權利要求6所述的方法,其特征在于,所述步驟D中的從幀協(xié)議數(shù)據(jù)緩存中讀取數(shù)據(jù)采取二級緩存機制。
18.如權利要求6所述的方法,其特征在于,所述步驟D中的幀協(xié)議數(shù)據(jù)讀取電路從幀協(xié)議數(shù)據(jù)緩存中讀取幀協(xié)議數(shù)據(jù)進一步包括以下步驟D1、幀協(xié)議數(shù)據(jù)讀取電路讀取幀協(xié)議數(shù)據(jù)緩沖區(qū)里一個字節(jié)的數(shù)據(jù)并存放在一暫存寄存器中;D2、幀協(xié)議數(shù)據(jù)讀取電路判斷暫存寄存器標志是否為空,空則發(fā)出一個讀數(shù)請求從幀協(xié)議數(shù)據(jù)緩存中讀取一個字節(jié)數(shù)據(jù)存放到該寄存器中;D3、幀協(xié)議數(shù)據(jù)讀取電路把幀協(xié)議數(shù)據(jù)緩存暫存寄存器中數(shù)據(jù)鎖存到移位寄存器中,并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)。
19.如權利要求18所述的方法,其特征在于,所述步驟D2中的幀協(xié)議數(shù)據(jù)緩存移位寄存器每8拍從暫存寄存器中讀取一次數(shù)據(jù),并更新暫存寄存器標志為空。
20.如權利要求18所述的方法,其特征在于,所述步驟D3中的并串轉發(fā)電路中還有一數(shù)據(jù)塊內比特位計數(shù)器,在并串轉發(fā)電路從幀協(xié)議數(shù)據(jù)緩存移位寄存器中移出比特流數(shù)據(jù)時,如果計數(shù)器低3比特位的值為0,則停止移出比特流,同時將暫存寄存器中的幀協(xié)議數(shù)據(jù)鎖存到移位寄存器中,否則繼續(xù)移出比特流。
全文摘要
本發(fā)明涉及寬帶碼分多址系統(tǒng)中下行幀協(xié)議數(shù)據(jù)共享存儲轉發(fā)裝置及方法。該裝置包括連接數(shù)字信號處理器接口(1)和幀協(xié)議數(shù)據(jù)讀取電路(3)用于緩存下行幀協(xié)議數(shù)據(jù)的能同時被數(shù)字信號處理器和幀協(xié)議數(shù)據(jù)讀取電路訪問的幀協(xié)議數(shù)據(jù)緩存(2);連接幀協(xié)議數(shù)據(jù)緩存和至少一個并串轉發(fā)電路(4)用于響應來自各并串轉發(fā)電路讀數(shù)請求并對這些請求進行排隊和把相應數(shù)據(jù)從幀協(xié)議數(shù)據(jù)緩存中讀出傳遞給并串轉發(fā)電路(4)的幀協(xié)議數(shù)據(jù)讀取電路(3);和連接幀協(xié)議數(shù)據(jù)讀取電路和編碼器(5)的用于將幀協(xié)議數(shù)據(jù)讀取電路送來的并行字節(jié)數(shù)據(jù)轉換成串行數(shù)據(jù)并送給編碼器的至少一并串轉發(fā)電路。本發(fā)明實現(xiàn)了一個基站多個小區(qū)間的資源共享,效率高,可擴展性大。
文檔編號H04J13/00GK1870565SQ20051007105
公開日2006年11月29日 申請日期2005年5月23日 優(yōu)先權日2005年5月23日
發(fā)明者張家佶 申請人:華為技術有限公司