專利名稱:碼分多址聲碼器時間片資源的分配方法和裝置的制作方法
技術(shù)領域:
本發(fā)明涉及一種碼分多址(CDMA)系統(tǒng)中的碼分多址(CDMA)聲碼器時間片資源的分配方法和裝置。
背景技術(shù):
在碼分多址系統(tǒng)中,位于基站收發(fā)信機(BTS)側(cè)的信道單元(CE)有著嚴格的時間對齊要求,以20毫秒的固定時間片間隔收發(fā)業(yè)務幀,這樣,使得位于基站控制器(BSC)側(cè)的聲碼器單元(VE)收發(fā)業(yè)務幀時有一定的時序要求,必須在20毫秒的固定時間窗內(nèi)接收來自信道單元的反向業(yè)務幀和將前向業(yè)務幀發(fā)往信道單元。同時,聲碼器資源板上的主控CPU和數(shù)字信號處理器(DSP)之間存在著大量的數(shù)據(jù)交互,尤其是資源板處于滿負荷工作時,如何使得主控CPU的負荷均分,減輕主控CPU的開銷,均衡各路聲碼器編解碼的延時便成為了迫切需要解決的問題?,F(xiàn)代公司的美國專利US5724610中,聲碼器資源板上的主控CPU和數(shù)字信號處理器之間的數(shù)據(jù)交互是采用中斷的方式,利用一個具有精確傳輸定時的中斷控制器來完成數(shù)字信號處理器的前向業(yè)務幀上報和反向業(yè)務幀的分發(fā)。但上述技術(shù)方案在聲碼器資源板處于滿負荷工作時,有可能出現(xiàn)業(yè)務幀漏報的情況。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服已有技術(shù)的缺陷,提供一種CDMA聲碼器時間片資源的分配方法及裝置。
本發(fā)明的技術(shù)解決方案是采用多偏置的時間片資源分配方法來調(diào)度聲碼器單元的編解碼模塊,將多個數(shù)字信號處理器的負載分開,減輕主控CPU的開銷,由主控CPU定時去讀取各個數(shù)字信號處理器需上報的前向業(yè)務幀,并同時在指定地址寫入反向業(yè)務幀由數(shù)字信號處理器自動定時讀取,以及還將各路話音編解碼的時延降低到最小,滿足信道單元的定時要求。
為了達到本發(fā)明的上述的目的,本發(fā)明的方法充分考慮到碼分多址聲碼器資源板上主控CPU和數(shù)字信號處理器的處理時間以及網(wǎng)絡的傳輸延時,均勻地分配每一個聲碼器單元編解碼的起始時間,并與信道單元的幀偏置關聯(lián)起來,其步驟包括第一步,在20毫秒的固定時間窗內(nèi),分配給資源板上主控CPU 16個幀偏置時刻,每個時刻之間的間隔為1.25毫秒,主控CPU在20毫秒的固定時間窗內(nèi)僅在這16個時刻主動發(fā)起與數(shù)字信號處理器的數(shù)據(jù)交互;第二步,同時,在20毫秒的固定時間窗內(nèi),分配給資源板上數(shù)字信號處理器n個時刻,這里n表示每片數(shù)字信號處理器能夠?qū)崿F(xiàn)聲碼器的個數(shù),通常n≤20,每片數(shù)字信號處理器上的n個聲碼器單元依次順序選取所述n個時刻的其中一個作為編碼的起始時間,并且每片數(shù)字信號處理器上的第0路聲碼器的編碼起始時刻依次延時1.25毫秒;第三步,在20毫秒的固定時間窗內(nèi),每片數(shù)字信號處理器上的聲碼器單元的編解碼模塊按編碼、解碼交錯調(diào)度操作。每個編碼模塊按照第二步選取的時刻開始編碼,每個解碼模塊接收到解碼所需的反向語音包后開始解碼。
更具體地,每片數(shù)字信號處理器上的聲碼器單元的編解碼模塊在每一個20毫秒的固定時間窗內(nèi)的調(diào)度次序為首先第0路聲碼器單元編碼,隨后第((n-1)MOD(n))路聲碼器單元解碼,第1路聲碼器單元編碼→第((n)MOD(n))路聲碼器單元解碼,第2路聲碼器單元編碼,第((n+1)MOD(n))路聲碼器單元解碼……,直到第((n-1))路聲碼器單元編碼,最后第((2n+1)MOD(n))聲碼器單元解碼,這里MOD表示取模。
根據(jù)上述的本發(fā)明方法制成的本發(fā)明的碼分多址聲碼器時間片資源分配裝置,其包括安裝在資源板上的主控CPU和若干只數(shù)字信號處理器,每一只數(shù)字信號處理器設有聲碼器單元編解碼模塊,其特點是還有a、設有與該若干只同數(shù)字信號處理器相對應的若干個數(shù)據(jù)緩沖區(qū),且每一數(shù)據(jù)緩沖區(qū)分成一個前向業(yè)務幀緩沖區(qū)和一個反向業(yè)務幀緩沖區(qū);b、設有分別為該主控CPU和該每一數(shù)字信號處理器提供時間標志中斷的控制邏輯部件;c、該主控CPU與該若干個數(shù)據(jù)緩沖區(qū)成雙向聯(lián);該若干只數(shù)字信號處理器與相對應的該若干個數(shù)據(jù)緩沖區(qū)成一一對應的雙向聯(lián)結(jié);而該控制邏輯部件則分別與該主控CPU、該若干個數(shù)據(jù)緩沖區(qū)和該若干只數(shù)字信號處理器成雙向聯(lián)結(jié)。
明顯可見,主控CPU與該若干只數(shù)字信號處理器之間存在著大量的數(shù)據(jù)交互,每個數(shù)據(jù)緩沖區(qū)中的前向業(yè)務幀緩沖區(qū)存放由對應的一個從語言處理器發(fā)往主控CPU的業(yè)務數(shù)據(jù)幀,而反向業(yè)務幀緩沖區(qū)則存放由CPU發(fā)往對應的一個數(shù)字信號處理器的業(yè)務數(shù)據(jù)幀,并且根據(jù)控制邏輯部件所提供的時間標志中斷,主控CPU僅在固定時刻主動發(fā)起與該若干只從語言處理器的有序的數(shù)據(jù)交互,所以即使聲碼器系統(tǒng)在滿負荷運轉(zhuǎn)的情況下,仍然能夠滿足信道單元與聲碼器單元的定時關系,并且減輕主控CPU的開銷。
本發(fā)明的積極效果將結(jié)合后面的實施例予以闡述。
圖1是本發(fā)明在一塊聲碼器資源板上實現(xiàn)主控CPU和各數(shù)字信號處理器之間進行數(shù)據(jù)交互的裝置框圖。
圖2本發(fā)明在一塊聲碼器資源板上主控CPU處理各路聲碼器單元的前、反向語音包的時間片資源策略示意圖。
圖3是本發(fā)明在每一個數(shù)字信號處理器(DSP)上實現(xiàn)3路聲碼器,各個聲碼器單元的時間片資源的分配策略示意圖。
圖4是本發(fā)明按照上述時間片資源的分配策略,每一個數(shù)字信號處理器(DSP)上3路聲碼器單元(SVE)的調(diào)度模塊流程圖。
具體實施方式
下面我們根據(jù)圖1——圖4給出本發(fā)明一個較好實施例,以使本領域的技術(shù)人員更易理解本發(fā)明的上述特點,實施例中一片從語音處理器(DSP)上實現(xiàn)的聲碼器數(shù)為n=3。
請參閱圖1所示,一塊聲碼器資源板10上含有主控CPU101和若干只數(shù)字信號處理器104,該主控CPU101和板上各數(shù)字信號處理器104之間存在著大量的數(shù)據(jù)交互,它們之間設有若干個數(shù)據(jù)緩沖區(qū)102,每個數(shù)據(jù)緩沖區(qū)102又分為前向業(yè)務幀緩沖區(qū)1021和反向業(yè)務幀緩沖區(qū)1022,前向業(yè)務幀緩沖區(qū)1021存放的是由數(shù)字信號處理器104發(fā)往主控CPU101的業(yè)務數(shù)據(jù)幀,反向業(yè)務幀緩沖區(qū)1022存放的是由主控CPU101發(fā)往數(shù)字信號處理器104的業(yè)務數(shù)據(jù)幀。并設有控制邏輯部件103分別為主控CPU101和各個數(shù)字信號處理器104提供時間標志中斷,使得主控CPU101只在固定的時刻主動發(fā)起與數(shù)字信號處理器104的數(shù)據(jù)交互,從前向業(yè)務幀緩沖區(qū)1021中讀取前向業(yè)務幀,往反向業(yè)務幀緩沖區(qū)1022寫入反向業(yè)務幀;而各個數(shù)字信號處理器104也只在指定的時刻往前向業(yè)務幀緩沖區(qū)1021寫入前向業(yè)務幀,從反向業(yè)務幀緩沖區(qū)1022中讀取反向業(yè)務幀。
請參閱圖2,圖中顯示了在一塊聲碼器資源板上主控CPU101和5個數(shù)字處理器104上的共15路聲碼器的時間片資源分配情況。時間片線201中,20ms內(nèi)共有16個幀偏置,間隔為1.25ms。資源分配狀態(tài)線202-206分別表示每一個數(shù)字處理器104上的相應三路聲碼器單元(SVE)的編碼起始時間。參考時間片線201和資源分配狀態(tài)線202,主控CPU101在幀偏置5的時刻讀取聲碼器單元SVE0的前向語音包并傳遞給該路聲碼器解碼所需的反向語音包,在幀偏置10的時刻讀取聲碼器單元SVE5的前向語音包并寫入相應的反向語音包,在幀偏置0的時刻讀取聲碼器單元SVE10的前向語音包并寫入相應的反向語音包。這樣一來,主控CPU便可利用16個幀偏置中的15個,來定時讀取15路聲碼器單元的前向語音包,與此同時返回相應的反向語音包。當整個聲碼器資源板處于滿負荷工作時,在時間上主控CPU是均勻處理這些任務的,起到了負荷平衡的作用。
請參閱圖3所示,ΔT值為6.25ms,則聲碼單元時間片資源分配線301、302與303表示了在一個數(shù)字處理器104中實現(xiàn)的3路聲碼器單元的時延分布示意圖。t01、t11、t21分別對應3路聲碼器單元的編碼起始時間。為了使每一路的時延都達到最小。當一個數(shù)字信號處理器104中的3路聲碼器單元均處于工作狀態(tài)時,t01與t02時刻之間的時間片分配給第0路聲碼器單元的編碼器完成一幀語音數(shù)據(jù)的編碼生成前向語音碼包,t02與t03時刻之間的時間片分配給第2路聲碼器單元的解碼器完成反向語音碼包的解碼得到語音數(shù)據(jù)。同理,t11與t12時刻之間的時間片分配給第1路聲碼器單元的編碼器,t12與t13時刻之間的時間片分配給第0路聲碼器單元的解碼器。t21與t22時刻之間的時間片分配給第2路聲碼器單元的編碼器,t22與t23時刻之間的時間片分配給第1路聲碼器單元的解碼器。由于復用子層只有接收到某一路的聲碼器單元編碼器編碼得到的前向語音包,才會反還給該路聲碼器單元解碼器所需要的反向語音包。而復用子層也需要一定的時間完成這一處理。考慮現(xiàn)在一般100MIPS數(shù)字信號處理器104的處理能力,一般能夠在4-5ms內(nèi)完成一幀語音信號的編碼,在1.25ms內(nèi)完成一幀語音碼包的解碼。因此按照圖2的時間片分配方法,某一路聲碼器在完成前向語音包的生成約6ms后才會開始該路的反向語音包的解碼。
按照上述時間片資源的分配策略,我們通過圖4來簡要闡述一下每一個數(shù)字信號處理器104上3路聲碼器單元的調(diào)度流程。調(diào)度模塊是通過事件驅(qū)動調(diào)度,每一事件設定一定的標志,通過判斷事件標志來判定要執(zhí)行的操作。如果數(shù)字信號處理器104上三路聲碼器單元全部工作,那么主流程為第0路聲碼器單元編碼→第2路聲碼器單元解碼→第1路聲碼器單元編碼→第0路聲碼器單元解碼→第2路聲碼器單元編碼→第1路聲碼器單元解碼。主程序的流程圖只是畫出了一部分的流程,對于編解碼部分是作為一個循環(huán),一直判斷是否符合條件,如果符合,則調(diào)用相應的模塊,這樣實現(xiàn)了程序的調(diào)度。這些全部利用20ms和HW接收進行定時。啟動后,執(zhí)行步驟401,檢測第0路聲碼器單元的幀偏置到達標志,如果幀偏置到達,則執(zhí)行步驟402,檢測第0路聲碼器開始編碼,如允許開始編碼便執(zhí)行步驟403,檢測第0路聲碼器語音信號是否成幀,進行20ms語音信號的成幀處理,即檢測是否收滿指定時隙的160個8-bit的PCM采樣點,如果成幀則執(zhí)行步驟404,完成對第0路聲碼器的語音信號的編碼工作。編碼得到的語音包送往復用子層完成相應的處理。主調(diào)度程序利用HW的接收對解碼的起始進行定時。上述步驟401如第0路聲碼器幀偏置時間未到達,則執(zhí)行步驟410;又若步驟402,如第0路聲碼器未開始編碼,或若步驟403,如第0路聲碼器語言信號未成幀,均執(zhí)行步驟405。步驟405檢測第2路聲碼器單元的解碼起始時間是否到達,如果時間到達,則執(zhí)行步驟406,如允許開始解碼,便執(zhí)行步驟407,檢測解碼所需的反向語音包是否達到,如果沒有達到(網(wǎng)絡延時或?qū)崟r操作系統(tǒng)任務調(diào)度的問題),則執(zhí)行步驟408,作為刪除幀處理,接著執(zhí)行步驟409,完成第2路聲碼器單元的反向語音包的解碼工作。接下來,執(zhí)行步驟410,檢測第1路聲碼器單元的幀偏置到達標志,按照上述流程進行循環(huán),實現(xiàn)語音處理器(DSP)上三路聲碼器單元的編、解碼模塊的完全調(diào)度,保證各路話音編解碼的時延降低到最小。
綜上所述,本發(fā)明的優(yōu)點是較好地實現(xiàn)了聲碼器時間片資源的分配,將多個數(shù)字信號處理器的負載分開,減輕主控CPU的開銷,同時將各路話音編解碼的時延降低到最小。
權(quán)利要求
1.一種碼分多址聲碼器時間片資源的分配方法,其步驟包括第一步,在20毫秒的固定時間窗內(nèi),分配給資源板上主控CPU 16個幀偏置時刻,每個時刻之間的間隔為1.25毫秒,主控CPU在20毫秒的固定時間窗內(nèi)僅在這16個時刻主動發(fā)起與數(shù)字信號處理器的數(shù)據(jù)交互;第二步,同時,在20毫秒的固定時間窗內(nèi),分配給資源板上數(shù)字信號處理器n個時刻,這里n表示每片數(shù)字信號處理器能夠?qū)崿F(xiàn)聲碼器的個數(shù),每片數(shù)字信號處理器上的n個聲碼器單元依次順序選取所述n個時刻的其中一個作為編碼的起始時間,并且每片數(shù)字信號處理器上的第0路聲碼器的編碼起始時刻依次延時1.25毫秒;第三步,在20毫秒的固定時間窗內(nèi),每片數(shù)字信號處理器上的n個聲碼器單元的編解碼模塊按編碼、解碼交錯調(diào)度操作,每個編碼模塊按照第二步選取的時刻開始編碼,每個解碼模塊接收到解碼所需的反向語音包后開始解碼。
2.根據(jù)權(quán)利要求
1所述的碼分多址聲碼時間片資源的分配方法,其特征在于,每片數(shù)字信號處理器上的聲碼器單元的編解碼模塊在每一個20毫秒的固定時間窗內(nèi)的調(diào)度次序依次為首先第0路聲碼器單元編碼,隨后第((n-1)MOD(n))路聲碼器單元解碼,第1路聲碼器單元編碼,第((n)MOD(n))路聲碼器單元解碼,第2路聲碼器單元編碼,第((n+1)MOD(n))路聲碼器單元解碼……,直到第((n-1))路聲碼器單元編碼,最后第((2n+1)MOD(n))聲碼器單元解碼,這里MOD表示取模。
3.根據(jù)權(quán)利要求
1或2所述的碼分多址聲碼器時間片資源的分配方法,其特征在于,表示每片數(shù)字信號處理器能夠?qū)崿F(xiàn)的聲碼器個數(shù)n≤20
4.一種根據(jù)權(quán)利要求
1所述的碼分多址聲碼器時間片資源的分配方法制成的碼分多址聲碼器時間片資源分配裝置,包括安裝在資源板(10)上的主控CPU(101)和若干只數(shù)字信號處理器(104),每一只數(shù)字信號處理器(104)設有聲碼器單元編解碼模塊,其特征在于還有a、設有與該若干只同數(shù)字信號處理器相對應的若干個數(shù)據(jù)緩沖區(qū)(102),且每一數(shù)據(jù)緩沖區(qū)(102)分成一個前向業(yè)務幀緩沖區(qū)(1021)和一個反向業(yè)務幀緩沖區(qū)(1022);b、設有分別為該主控CPU(101)和該每一數(shù)字信號處理器(104)提供時間標志中斷的控制邏輯部件(103);c、該主控CPU(101)與該若干個數(shù)據(jù)緩沖區(qū)(102)成雙向聯(lián);該若干只數(shù)字信號處理器(104)與相對應的該若干個數(shù)據(jù)緩沖區(qū)(102)成一一對應的雙向聯(lián)結(jié);而該控制邏輯部件(103)則分別與該主控CPU(101)、該若干個數(shù)據(jù)緩沖區(qū)(102)和該若干只數(shù)字信號處理器(104)成雙向聯(lián)結(jié)。
專利摘要
一種碼分多址聲碼器時間中資源的分配方法和裝置,其主要是采用多偏置分配來調(diào)度聲碼單元的編解碼模塊,由主控CPU定時讀取各數(shù)字信號處理器需上報的前向業(yè)務幀和在指定地址寫入反向業(yè)務幀由數(shù)字信號處理器自動定時讀取,制成的裝置包括主控CPU和若干只數(shù)字信號處理器,并增設若干個數(shù)據(jù)緩沖區(qū)和一分別對主控CPU、數(shù)據(jù)緩沖區(qū)和數(shù)字信號處理器提供時間標志中斷的控制邏輯部件,以及在主控CPU中駐留資源分配調(diào)度程序,從而達到將多個數(shù)字信號處理器的負載分開,減輕主控CPU開銷的目的。
文檔編號H04W72/04GKCN1310453SQ01126868
公開日2007年4月11日 申請日期2001年9月26日
發(fā)明者辛勤, 張詩壯, 王立軍, 肖榮建, 夏紅兵, 馬文光, 何偉 申請人:中興通訊股份有限公司導出引文BiBTeX, EndNote, RefMan專利引用 (4),