專利名稱:一種多路音頻數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多路音頻數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
在語音處理系統(tǒng)中,通常有多路數(shù)據(jù)要送到處理器中處理。而處理器往往只有一條總線,這就需要輸入數(shù)據(jù)控制電路對輸入數(shù)據(jù)進行控制,將輸入數(shù)據(jù)按一定順序通過處理器總線發(fā)送給處理器。
圖1是多路音頻數(shù)據(jù)經(jīng)過輸入數(shù)據(jù)控制模塊送至處理器的示意圖。如圖1所示,4路輸入數(shù)據(jù)輸入數(shù)據(jù)1、輸入數(shù)據(jù)2、輸入數(shù)據(jù)3和輸入數(shù)據(jù)4需要送到處理器中處理,輸入數(shù)據(jù)控制模塊將4路輸入數(shù)據(jù)按照一定的順序通過處理器總線發(fā)送給處理器。
根據(jù)輸入數(shù)據(jù)的特性和處理器對輸入數(shù)據(jù)要求的不同,針對多路數(shù)據(jù)輸入有各種各樣的輸入數(shù)據(jù)控制模塊的實現(xiàn)方法。如果在任一時刻多路輸入數(shù)據(jù)中只有一路有效或處理器在任一時刻只關(guān)心其中某一路數(shù)據(jù),這時輸入數(shù)據(jù)控制就是簡單的多路開關(guān)切換。但是在語音處理系統(tǒng)中,輸入數(shù)據(jù)往往是音頻流,需要連續(xù)不間斷地輸入,而且處理器通常同時需要各路輸入數(shù)據(jù),不允許數(shù)據(jù)的過度延遲,不允許數(shù)據(jù)丟失。為了達到這一目的,往往采用圖2所示的包含多個緩存和緩存控制器的多路音頻數(shù)據(jù)處理系統(tǒng)(圖中略去系統(tǒng)中的其它處理模塊),對多路輸入數(shù)據(jù)進行控制。在圖2中,多路輸入數(shù)據(jù)通過各自的輸入緩存控制器分別存入各自的緩存,當緩存中的數(shù)據(jù)達到一定數(shù)量,如半滿或幾乎滿時,將緩存中的數(shù)據(jù)發(fā)送給處理器進行處理。
如圖2所示的多路音頻數(shù)據(jù)處理系統(tǒng)存在主要不足之處就是浪費了過多的控制邏輯和緩存,這在輸入數(shù)據(jù)源的路數(shù)多的時候尤其明顯。此外,采用這種多路音頻數(shù)據(jù)處理系統(tǒng)對多路輸入數(shù)據(jù)進行處理還存在同步性差的缺點。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)中多路音頻數(shù)據(jù)處理系統(tǒng)的不足,提出一種低成本,設(shè)備復雜度低的多路音頻數(shù)據(jù)處理系統(tǒng),以較小的資源代價將多路輸入數(shù)據(jù)小延遲,不丟失地進行處理。
為了解決上述問題,本發(fā)明提供一種多路音頻數(shù)據(jù)處理系統(tǒng),包含輸入模塊、輸入緩存模塊和處理器,其特征在于,該系統(tǒng)還包含多路數(shù)據(jù)復合模塊,用于從所述輸入模塊接收具有相同輸入采樣率的n路數(shù)據(jù),利用頻率與輸入采樣率相同的第一使能信號和數(shù)據(jù)幀同步信號將上述n路數(shù)據(jù)中的m1路復合成一路復合數(shù)據(jù)輸出;此外,所述輸入緩存模塊包含單一的用于對上述復合數(shù)據(jù)進行接收、緩存控制并將其輸出至所述處理器進行處理的輸入緩存控制單元;所述數(shù)據(jù)幀同步信號為輸入采樣率的k倍;k≥1,n≥m1>1。
此外,所述多路數(shù)據(jù)復合模塊包含第一同步單元、計數(shù)器和多路開關(guān),其中第一同步單元用于從所述輸入模塊接收所述m1路數(shù)據(jù)和所述第一使能信號,將所述m1路數(shù)據(jù)分別轉(zhuǎn)換成m1路同步數(shù)據(jù);計數(shù)器用于接收所述數(shù)據(jù)幀同步信號,并在數(shù)據(jù)幀同步信號為有效時開始重復計數(shù),將計數(shù)值作為開關(guān)控制信號輸出;多路開關(guān)用于接收第一同步單元輸出的m1路同步數(shù)據(jù)和計數(shù)器輸出的開關(guān)控制信號,根據(jù)開關(guān)控制信號依次選通m1路同步數(shù)據(jù)輸出1路復合數(shù)據(jù)。
此外,該系統(tǒng)還包含輸出緩存模塊、多路數(shù)據(jù)處理模塊、輸出選擇模塊和輸出模塊;其中
輸出緩存模塊用于將所述處理器輸出的數(shù)據(jù)進行緩存,并以設(shè)定的輸出采樣率輸出;多路數(shù)據(jù)處理模塊用于將輸出緩存模塊和所述輸入模塊輸出的多路數(shù)據(jù)同步和/或混合處理后輸出;輸出選擇模塊用于接收輸出緩存模塊、多路數(shù)據(jù)處理模塊輸出的數(shù)據(jù),根據(jù)選擇控制信號從中選擇1路或多路輸出;輸出模塊用于接收輸出選擇模塊輸出的數(shù)據(jù),將其轉(zhuǎn)換成模擬信號或串行數(shù)字信號輸出。
此外,所述多路數(shù)據(jù)處理模塊包含第二同步單元和混合器;其中第二同步單元用于從所述輸入模塊接收所述n路數(shù)據(jù)中的m2路數(shù)據(jù),并根據(jù)接收的第二使能信號將m2路數(shù)據(jù)分別轉(zhuǎn)換成m2路同步數(shù)據(jù),并將同步數(shù)據(jù)輸出至混合器或所述輸出選擇模塊;混合器用于將第二同步單元和輸出緩存模塊輸出的多路數(shù)據(jù)中的任意兩路進行混合,將混合后的數(shù)據(jù)輸出;n≥m2。
此外,所述輸出采樣率為所述輸入采樣率的整數(shù)倍;所述第二使能信號的頻率與所述輸出采樣率相同,由所述輸出緩存模塊產(chǎn)生。
此外,所述同步單元包含鎖存器,用于在時鐘信號上升沿和使能信號為高時,鎖存輸入數(shù)據(jù),并將輸入數(shù)據(jù)輸出。
此外,所述第一使能信號由所述輸入模塊產(chǎn)生。
此外,所述多路數(shù)據(jù)復合模塊還包含多路選擇器,用于從所述輸入模塊輸出的n路數(shù)據(jù)中選擇m1路數(shù)據(jù)輸出至所述第一同步單元。
此外,所述多路數(shù)據(jù)處理模塊還包含多路選擇器,用于從所述輸入模塊輸出的n路數(shù)據(jù)中選擇m2路數(shù)據(jù)輸出至所述第二同步單元。
本發(fā)明根據(jù)音頻數(shù)據(jù)的特點,通過將多路輸入數(shù)據(jù)轉(zhuǎn)換成單路復合數(shù)據(jù),僅需要一個輸入緩存控制和一個輸入緩存即可將多路輸入數(shù)據(jù)送至處理器進行處理,降低了設(shè)備成本和復雜度,提高了多路同步數(shù)據(jù)處理的性能,并對輸出數(shù)據(jù)做了較為完備的輸出控制。
圖1是多路音頻數(shù)據(jù)經(jīng)過輸入數(shù)據(jù)控制模塊送至處理器的示意圖;圖2是包含多個緩存和緩存控制器的多路音頻數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖;圖3是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖;圖4是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)中的第一同步單元的結(jié)構(gòu)示意圖;圖5是輸入數(shù)據(jù)、使能數(shù)據(jù)和同步數(shù)據(jù)的波形關(guān)系示意圖;圖6是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)中的多路開關(guān)單元的結(jié)構(gòu)示意圖;圖7是復合數(shù)據(jù)中包含多路數(shù)據(jù)的2個數(shù)據(jù)單元的示意圖。
具體實施例方式
在音頻處理系統(tǒng)中,如果需要處理器同時處理多路輸入數(shù)據(jù),那么這些數(shù)據(jù)通常有一個共同的特點,那就是它們的數(shù)據(jù)采樣率相同,例如采樣率為44K,表示1秒鐘采樣44K次,采樣精度為8比特或16比特等,否則處理器很難對它們同時進行處理。此外,在某些情況下,在對多路數(shù)據(jù)的處理的過程中,如果缺少任何一路數(shù)據(jù),處理器都無法進行處理,需要等待所有數(shù)據(jù)到達后才能開始處理?;诙嗦芬纛l輸入數(shù)據(jù)的以上特點,本發(fā)明將采樣率相同的多路音頻輸入數(shù)據(jù)經(jīng)時鐘同步為同步數(shù)據(jù),并轉(zhuǎn)換成單路復合數(shù)據(jù)送至處理器進行處理。
下面將結(jié)合附圖和實施例對本發(fā)明作進一步地描述。
圖3是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)包含輸入模塊、多路數(shù)據(jù)復合模塊、輸入緩存模塊、處理器、輸出緩存模塊、多路數(shù)據(jù)處理模塊、輸出選擇模塊和輸出模塊。其中輸入模塊用于接收多路數(shù)字或模擬輸入數(shù)據(jù),將其轉(zhuǎn)換為并行數(shù)據(jù)輸出。
本實施例中,輸入模塊包含第一模數(shù)轉(zhuǎn)換器ADC1、第二模數(shù)轉(zhuǎn)換器ADC2和I2S(Inter-IC Sound,英特爾集成電路語音)接收器。
第一模數(shù)轉(zhuǎn)換器ADC1用于接收模擬信號ADC1_IN,將其轉(zhuǎn)換成并行數(shù)據(jù)輸出(記作ADC1_DATA);第二模數(shù)轉(zhuǎn)換器ADC2用于接收模擬信號ADC2_IN,將其轉(zhuǎn)換成并行數(shù)據(jù)輸出(記作ADC2_DATA);I2S接收器用于接收I2S規(guī)格的串行數(shù)據(jù),將其轉(zhuǎn)換成兩路并行數(shù)據(jù)(分別為左右聲道音頻數(shù)據(jù))輸出(分別記作I2S_IN_DATA_L和I2S_IN_DATA_R)。
多路數(shù)據(jù)復合模塊用于從輸入模塊接收多路并行數(shù)據(jù),將其復合成一路復合數(shù)據(jù)輸出。
本實施例中,多路數(shù)據(jù)復合模塊包含第一同步單元、計數(shù)器和多路開關(guān)。
第一同步單元用于從輸入模塊接收多路并行數(shù)據(jù)ADC1_DATA、ADC2_DATA、I2S_IN_DATA_L和I2S_IN_DATA_R,將其分別轉(zhuǎn)換為同步數(shù)據(jù)輸出。
圖4是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)中的第一同步單元的結(jié)構(gòu)示意圖。圖4中的輸入數(shù)據(jù)1、輸入數(shù)據(jù)2、輸入數(shù)據(jù)3和輸入數(shù)據(jù)4分別對應ADC1_DATA、ADC2_DATA、I2S_IN_DATA_L和I2S_IN_DATA_R。
如圖4所示,4路輸入數(shù)據(jù)和4路使能信號使能1、使能2、使能3、使能4(圖3中略去了上述使能信號)同時輸入至第一同步單元進行數(shù)據(jù)同步處理;第一同步單元根據(jù)時鐘信號和上述使能信號將4路輸入數(shù)據(jù)分別轉(zhuǎn)換為同步數(shù)據(jù)1、同步數(shù)據(jù)2、同步數(shù)據(jù)3和同步數(shù)據(jù)4。
上述數(shù)據(jù)同步處理是在時鐘上升沿,且輸入使能信號為高時,鎖存輸入數(shù)據(jù)1、輸入數(shù)據(jù)2、輸入數(shù)據(jù)3和輸入數(shù)據(jù)4,鎖存器的輸出信號就是同步數(shù)據(jù)1、同步數(shù)據(jù)2、同步數(shù)據(jù)3和同步數(shù)據(jù)4。當EN為高并且CLK為上升沿時,Q=D,即同步數(shù)據(jù)為輸入數(shù)據(jù)的值;否則Q保持原值不變。
上述使能信號由數(shù)據(jù)源(即ADC1、ADC2和I2S接收器)產(chǎn)生,用于使鎖存器判斷何時鎖存信號。使能信號的頻率與輸入數(shù)據(jù)的采樣頻率相同,并且由于輸入數(shù)據(jù)的采樣率相同,因此上述使能信號可以由同一數(shù)據(jù)源產(chǎn)生,我們將上述使能1、使能2、使能3和使能4統(tǒng)稱為第一使能信號。輸入數(shù)據(jù)和使能信號的同步關(guān)系由數(shù)據(jù)源保證。
輸入數(shù)據(jù)、使能數(shù)據(jù)和同步數(shù)據(jù)的波形關(guān)系如圖5所示。
計數(shù)器用于接收數(shù)據(jù)幀同步信號和與第一同步單元相同的時鐘信號,并在數(shù)據(jù)幀同步信號為有效時開始重復計數(shù),將計數(shù)值作為開關(guān)控制信號輸出。
數(shù)據(jù)幀同步信號在每一幀開始時將計數(shù)器清零;計數(shù)器以每一時鐘周期的時鐘頻率加1;計數(shù)器根據(jù)計數(shù)值輸出開關(guān)控制信號;數(shù)據(jù)幀同步信號的頻率與輸入數(shù)據(jù)的采樣頻率相同。當每一幀開始時,數(shù)據(jù)幀同步信號將計數(shù)器清零后,隨著時鐘的遞增,計數(shù)器由0增加至1,由1增加至2,……;直至數(shù)據(jù)幀同步信號再次將其清零。
多路開關(guān)用于接收第一同步單元輸出的多路同步數(shù)據(jù)和計數(shù)器輸出的開關(guān)控制信號,根據(jù)開關(guān)控制信號依次選通多路同步數(shù)據(jù)輸出1路復合數(shù)據(jù);圖6是本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)中的多路開關(guān)單元的結(jié)構(gòu)示意圖。如圖6所示,多路開關(guān)單元包含4路輸入端分別接收同步數(shù)據(jù)1、同步數(shù)據(jù)2、同步數(shù)據(jù)3和同步數(shù)據(jù)4;根據(jù)開關(guān)控制信號選擇上述4路輸入端中的一路作為輸出數(shù)據(jù)。當計數(shù)器生成的開關(guān)控制信號值為1時,多路開關(guān)單元輸出同步數(shù)據(jù)1;當開關(guān)控制信號值為2時,多路開關(guān)單元輸出同步數(shù)據(jù)2;當開關(guān)控制信號值為3時,多路開關(guān)單元輸出同步數(shù)據(jù)3;當開關(guān)控制信號值為4時,多路開關(guān)單元輸出同步數(shù)據(jù)4。當開關(guān)控制信號值為其它值時,多路開關(guān)單元可以輸出0或其它值。在這種情況下,開關(guān)控制信號值0僅作為每一幀開始的標志位,可以取消。即開關(guān)控制信號值為0時,多路開關(guān)單元輸出同步數(shù)據(jù)1;當開關(guān)控制信號值為1時,多路開關(guān)單元輸出同步數(shù)據(jù)2;當開關(guān)控制信號值為2時,多路開關(guān)單元輸出同步數(shù)據(jù)3;當開關(guān)控制信號值為3時,多路開關(guān)單元輸出同步數(shù)據(jù)4。
如圖5所示,由于數(shù)據(jù)幀同步信號的頻率與輸入數(shù)據(jù)的采樣頻率和使能信號的頻率相同,因此保證了計數(shù)器被清零并由零開始遞增的頻率與輸入數(shù)據(jù)的采樣頻率相同,從而使多路開關(guān)生成的復合數(shù)據(jù)中包含且僅包含了各路輸入數(shù)據(jù)的一個數(shù)據(jù)單元。當然,數(shù)據(jù)幀同步信號也可以是輸入數(shù)據(jù)采樣頻率的k倍,k為大于等于1的整數(shù)。例如,數(shù)據(jù)幀同步信號為輸入數(shù)據(jù)采樣頻率的2倍時,當開關(guān)控制信號值為1時,多路開關(guān)輸出同步數(shù)據(jù)1;……;當開關(guān)控制信號值為4時,多路開關(guān)輸出同步數(shù)據(jù)4;當開關(guān)控制信號值為5時,多路開關(guān)輸出同步數(shù)據(jù)1;……;當開關(guān)控制信號值為8時,多路開關(guān)輸出同步數(shù)據(jù)4。如圖7所示,在這種情況下,復合數(shù)據(jù)的1幀中包含了4路輸入數(shù)據(jù)的2個數(shù)據(jù)單元,即2幀的數(shù)據(jù)。
輸入緩存模塊用于將多路數(shù)據(jù)復合模塊輸出的復合數(shù)據(jù)進行緩存并輸出。
本實施例中,輸入緩存模塊包含輸入緩存控制單元和第一緩存器。
第一緩存器用于存儲復合數(shù)據(jù);輸入緩存控制單元用于將多路數(shù)據(jù)復合模塊輸出的復合數(shù)據(jù)存儲在第一緩存器中,并當?shù)谝痪彺嫫鞯氖S啻鎯臻g少于設(shè)定值(例如,總存儲空間的四分之一)時將保存在第一緩存器中的復合數(shù)據(jù)輸出至處理器。
處理器用于接收輸入緩存模塊輸出的復合數(shù)據(jù),對其進行噪聲消除、變調(diào)、回聲消除等數(shù)字語音處理任務,并在輸出緩存模塊的剩余存儲空間大于設(shè)定值(例如,總存儲空間的二分之一)時,將處理后的數(shù)據(jù)輸出至輸出緩存模塊。本實施例中,處理器輸出的是兩路并行數(shù)據(jù),分別為左聲道和右聲道的音頻數(shù)據(jù)。
輸出緩存模塊用于將處理器輸出的并行數(shù)據(jù)進行緩存,并以設(shè)定的輸出采樣率輸出。
本實施例中,輸出緩存模塊包含輸出緩存控制單元和第二緩存器。
第二緩存器用于存儲數(shù)據(jù);輸出緩存控制單元用于將處理器輸出的兩路并行數(shù)據(jù)存儲在第二緩存器中,并以設(shè)定的采樣率分別輸出(分別記作OUT_DATA_L和OUT_DATA_R)。
多路數(shù)據(jù)處理模塊用于將輸出緩存模塊和輸入模塊輸出的并行數(shù)據(jù)進行混合等多路數(shù)據(jù)處理并輸出。
本實施例中,多路數(shù)據(jù)處理模塊包含第二同步單元、第一混合器SUM1、第二混合器SUM2、第三混合器SUM3和第四混合器SUM4。
第二同步單元用于根據(jù)輸入的使能信號和時鐘信號將輸入模塊輸出的并行數(shù)據(jù)ADC1_DATA、ADC2_DATA、I2S_IN_DATA_L和I2S_IN_DATA_R轉(zhuǎn)換成同步數(shù)據(jù)ADC1_DATA_S、ADC2_DATA_S、I2S_IN_DATA_L_S和I2S_IN_DATA_R_S輸出至SUM1、SUM2、SUM3和SUM4或輸出至輸出選擇模塊;第二同步單元與圖4所示的第一同步單元的結(jié)構(gòu)相同,其中的輸入數(shù)據(jù)1、輸入數(shù)據(jù)2、輸入數(shù)據(jù)3和輸入數(shù)據(jù)4分別對應ADC1_DATA、ADC2_DATA、I2S_IN_DATA_L和I2S_IN_DATA_R;同步數(shù)據(jù)1、同步數(shù)據(jù)2、同步數(shù)據(jù)3和同步數(shù)據(jù)4分別對應ADC1_DATA_S、ADC2_DATA_S、I2S_IN_DATA_L_S和I2S_IN_DATA_R_S;使能1、使能2、使能3和使能4分別對應使能5、使能6、使能7和使能8。我們將使能5、使能6、使能7和使能8統(tǒng)稱為第二使能信號。
此外,第二同步單元的主要功能除了與第一同步單元一樣,對輸入的多路數(shù)據(jù)進行相位對齊的處理外,還有一個重要的功能即輸入數(shù)據(jù)的采樣率轉(zhuǎn)換。當?shù)诙絾卧妮斎霐?shù)據(jù)的采樣率(輸入采樣率)較低,而設(shè)定的輸出采樣率較高時,第二同步單元需要使用與輸出采樣率頻率相同的使能信號。當使能信號的頻率為輸入采樣率的整數(shù)倍時,通過對輸入數(shù)據(jù)進行多次輸出來成倍提高輸出的同步數(shù)據(jù)的采樣率。因此第二使能信號可以由輸出緩存控制單元產(chǎn)生。
第一混合器SUM1用于將第二同步單元輸出的并行數(shù)據(jù)I2S_IN_DATA_L_S和輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_L進行混合(求和)處理,并將混合后的并行數(shù)據(jù)輸出;第二混合器SUM2用于將第二同步單元輸出的并行數(shù)據(jù)I2S_IN_DATA_R_S和輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_R進行混合(求和)處理,并將混合后的并行數(shù)據(jù)輸出;第三混合器SUM3用于將第二同步單元輸出的并行數(shù)據(jù)ADC1_DATA_S和輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_L進行混合(求和)處理,并將混合后的并行數(shù)據(jù)輸出;第四混合器SUM4用于將第二同步單元輸出的并行數(shù)據(jù)ADC2_DATA_S和輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_R進行混合(求和)處理,并將混合后的并行數(shù)據(jù)輸出。
輸出選擇模塊用于接收輸出緩存模塊、多路數(shù)據(jù)處理模塊輸出的并行數(shù)據(jù),根據(jù)選擇控制信號從中選擇1路或多路輸出。
本實施例中,輸出選擇模塊包含多個多路選擇器第一多路選擇器DAC_MUX_L、第二多路選擇器DAC_MUX_R、第三多路選擇器I2S_MUX_L、第四多路選擇器I2S_MUX_R。
第一多路選擇器DAC_MUX_L用于接收SUM1、SUM3輸出的并行數(shù)據(jù)和I2S_IN_DATA_L_S(圖中略)、ADC1_DATA_S(圖中略),根據(jù)第一選擇控制信號(圖中略)選擇其中的一路輸出;第二多路選擇器DAC_MUX_R用于接收SUM2、SUM4輸出的并行數(shù)據(jù)和I2S_IN_DATA_R_S(圖中略)、ADC2_DATA_S(圖中略),根據(jù)第二選擇控制信號(圖中略)選擇其中的一路輸出;第三多路選擇器I2S_MUX_L用于接收SUM3輸出的并行數(shù)據(jù)、輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_L和ADC1_DATA_S(圖中略),根據(jù)第三選擇控制信號(圖中略)選擇其中的一路輸出;第四多路選擇器I2S_MUX_R用于接收SUM4輸出的并行數(shù)據(jù)、輸出緩存模塊輸出的并行數(shù)據(jù)OUT_DATA_R和ADC2_DATA_S(圖中略),根據(jù)第四選擇控制信號(圖中略)選擇其中的一路輸出。
輸出模塊用于接收輸出選擇模塊輸出的并行數(shù)據(jù),將其轉(zhuǎn)換成模擬信號或串行數(shù)字信號輸出。
本實施例中,輸出模塊包含數(shù)模轉(zhuǎn)換器和I2S發(fā)送器。
數(shù)模轉(zhuǎn)換器用于將DAC_MUX_L和DAC_MUX_R輸出的兩路并行數(shù)據(jù)轉(zhuǎn)換成兩路模擬信號DAC_OUT_L和DAC_OUT_R輸出;I2S發(fā)送器用于將I2S_MUX_L和I2S_MUX_R輸出的兩路并行數(shù)據(jù)按照I2S標準轉(zhuǎn)換成一路串行數(shù)字信號(I2S_OUT)輸出。
在上述實施例的基礎(chǔ)上本發(fā)明的多路音頻數(shù)據(jù)處理系統(tǒng)還可以有各種變換方式,例如,在多路數(shù)據(jù)復合模塊和多路數(shù)據(jù)處理單元中設(shè)置多路選擇器,對輸入模塊輸出的數(shù)據(jù)進行選擇后輸出至第一同步單元或第二同步單元;使得n路輸入數(shù)據(jù)中的m1路數(shù)據(jù)經(jīng)過第一同步單元和多路開關(guān)生成復合數(shù)據(jù)送入處理器進行處理,經(jīng)過處理后的數(shù)據(jù)與由第二同步單元中的多路選擇器選擇輸出的m2路數(shù)據(jù)進行混合等處理。
下面將用一個應用實例來描述本發(fā)明多路音頻數(shù)據(jù)處理系統(tǒng)的工作過程。
輸入數(shù)據(jù)中的ADC1_IN和ADC2_IN為通話雙方的包含噪音的單聲道模擬語音數(shù)據(jù),I2S_IN為雙聲道背景音樂;ADC1_IN和ADC2_IN分別由ADC1和ADC2轉(zhuǎn)換成數(shù)字數(shù)據(jù)ADC1_DATA和ADC2_DATA;I2S_IN被I2S接收器轉(zhuǎn)換成雙聲道數(shù)字數(shù)據(jù)I2S_IN_DATA_L和I2S_IN_DATA_R;ADC1_DATA、ADC2_DATA、I2S_IN_DATA_L和I2S_IN_DATA_R被輸出至多路數(shù)據(jù)復合模塊和多路數(shù)據(jù)處理模塊;其中,ADC1_DATA和ADC2_DATA經(jīng)第一同步單元和多路開關(guān)生成復合數(shù)據(jù);由輸入緩存模塊送入處理器中進行消除噪音的處理后作為兩路數(shù)據(jù)輸出OUT_DATA_L和OUT_DATA_R;I2S_IN_DATA_L和I2S_IN_DATA_R被第二同步單元轉(zhuǎn)換成同步數(shù)據(jù)I2S_IN_DATA_L_S和I2S_IN_DATA_R_S;I2S_IN_DATA_L_S和I2S_IN_DATA_R_S分別與OUT_DATA_L和OUT_DATA_R進行混合后作為包含背景音樂的雙聲道語音數(shù)據(jù)輸出。
權(quán)利要求
1.一種多路音頻數(shù)據(jù)處理系統(tǒng),包含輸入模塊、輸入緩存模塊和處理器,其特征在于,該系統(tǒng)還包含多路數(shù)據(jù)復合模塊,用于從所述輸入模塊接收具有相同輸入采樣率的n路數(shù)據(jù),利用頻率與輸入采樣率相同的第一使能信號和數(shù)據(jù)幀同步信號將上述n路數(shù)據(jù)中的m1路復合成一路復合數(shù)據(jù)輸出;此外,所述輸入緩存模塊包含單一的用于對上述復合數(shù)據(jù)進行接收、緩存控制并將其輸出至所述處理器進行處理的輸入緩存控制單元;所述數(shù)據(jù)幀同步信號為輸入采樣率的k倍;k≥1,n≥m1>1。
2.如權(quán)利要求1所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述多路數(shù)據(jù)復合模塊包含第一同步單元、計數(shù)器和多路開關(guān),其中第一同步單元用于從所述輸入模塊接收所述m1路數(shù)據(jù)和所述第一使能信號,將所述m1路數(shù)據(jù)分別轉(zhuǎn)換成m1路同步數(shù)據(jù);計數(shù)器用于接收所述數(shù)據(jù)幀同步信號,并在數(shù)據(jù)幀同步信號為有效時開始重復計數(shù),將計數(shù)值作為開關(guān)控制信號輸出;多路開關(guān)用于接收第一同步單元輸出的m1路同步數(shù)據(jù)和計數(shù)器輸出的開關(guān)控制信號,根據(jù)開關(guān)控制信號依次選通m1路同步數(shù)據(jù)輸出1路復合數(shù)據(jù)。
3.如權(quán)利要求1所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,該系統(tǒng)還包含輸出緩存模塊、多路數(shù)據(jù)處理模塊、輸出選擇模塊和輸出模塊;其中輸出緩存模塊用于將所述處理器輸出的數(shù)據(jù)進行緩存,并以設(shè)定的輸出采樣率輸出;多路數(shù)據(jù)處理模塊用于將輸出緩存模塊和所述輸入模塊輸出的多路數(shù)據(jù)同步和/或混合處理后輸出;輸出選擇模塊用于接收輸出緩存模塊、多路數(shù)據(jù)處理模塊輸出的數(shù)據(jù),根據(jù)選擇控制信號從中選擇1路或多路輸出;輸出模塊用于接收輸出選擇模塊輸出的數(shù)據(jù),將其轉(zhuǎn)換成模擬信號或串行數(shù)字信號輸出。
4.如權(quán)利要求3所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述多路數(shù)據(jù)處理模塊包含第二同步單元和混合器;其中第二同步單元用于從所述輸入模塊接收所述n路數(shù)據(jù)中的m2路數(shù)據(jù),并根據(jù)接收的第二使能信號將m2路數(shù)據(jù)分別轉(zhuǎn)換成m2路同步數(shù)據(jù),并將同步數(shù)據(jù)輸出至混合器或所述輸出選擇模塊;混合器用于將第二同步單元和輸出緩存模塊輸出的多路數(shù)據(jù)中的任意兩路進行混合,將混合后的數(shù)據(jù)輸出;n≥m2。
5.如權(quán)利要求4所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述輸出采樣率為所述輸入采樣率的整數(shù)倍;所述第二使能信號的頻率與所述輸出采樣率相同,由所述輸出緩存模塊產(chǎn)生。
6.如權(quán)利要求2、4所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述同步單元包含鎖存器,用于在時鐘信號上升沿和使能信號為高時,鎖存輸入數(shù)據(jù),并將輸入數(shù)據(jù)輸出。
7.如權(quán)利要求1所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述第一使能信號由所述輸入模塊產(chǎn)生。
8.如權(quán)利要求2所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述多路數(shù)據(jù)復合模塊還包含多路選擇器,用于從所述輸入模塊輸出的n路數(shù)據(jù)中選擇m1路數(shù)據(jù)輸出至所述第一同步單元。
9.如權(quán)利要求4所述的多路音頻數(shù)據(jù)處理系統(tǒng),其特征在于,所述多路數(shù)據(jù)處理模塊還包含多路選擇器,用于從所述輸入模塊輸出的n路數(shù)據(jù)中選擇m2路數(shù)據(jù)輸出至所述第二同步單元。
全文摘要
一種多路音頻數(shù)據(jù)處理系統(tǒng),包含輸入模塊、輸入緩存模塊和處理器,該系統(tǒng)還包含多路數(shù)據(jù)復合模塊,用于從所述輸入模塊接收具有相同輸入采樣率的n路數(shù)據(jù),利用頻率與輸入采樣率相同的第一使能信號和數(shù)據(jù)幀同步信號將上述n路數(shù)據(jù)中的m1路復合成一路復合數(shù)據(jù)輸出;輸入緩存模塊包含單一的用于對復合數(shù)據(jù)進行接收、緩存控制并將其輸出至處理器進行處理的輸入緩存控制單元;數(shù)據(jù)幀同步信號為輸入采樣率的k倍;k≥1,n≥m1>1。本發(fā)明根據(jù)音頻數(shù)據(jù)的特點,通過將多路輸入數(shù)據(jù)轉(zhuǎn)換成單路復合數(shù)據(jù),僅需要一個輸入緩存控制和一個輸入緩存即可將多路輸入數(shù)據(jù)送至處理器進行處理,降低了設(shè)備成本和復雜度,提高了多路同步數(shù)據(jù)處理的性能。
文檔編號G06F3/16GK101075183SQ20071011817
公開日2007年11月21日 申請日期2007年6月29日 優(yōu)先權(quán)日2007年6月29日
發(fā)明者楊作興 申請人:北京中星微電子有限公司