用AC4830xC和TCM38C17實(shí)現(xiàn)四路語(yǔ)音編解碼系統(tǒng)
關(guān)鍵詞:AC4830xC-C;TCM38C17;語(yǔ)音編解碼
1 引言
AC4830xC-C系列芯片是美國(guó)AudioCodes公司出品的一種語(yǔ)音專用芯片,它可以將PCM語(yǔ)音碼流按照需要壓縮成多種碼率的語(yǔ)音信號(hào),AC4830xC-C具有多通道語(yǔ)音傳輸功能,各通道的操作相互獨(dú)立。該芯片在語(yǔ)音通信,特別是IP電話系統(tǒng)中具有廣泛的應(yīng)用。TCM38C17則可提供A律和U律兩種不同的PCM編碼功能,也具有四路相互獨(dú)立的信道。本文主要介紹這兩種語(yǔ)音芯片的基本性能和工作原理,并給出了基于這兩種芯片實(shí)現(xiàn)四路語(yǔ)音編解碼的系統(tǒng)設(shè)計(jì)方案。
2 AC4830xC-C的功能原理
AC4830xC-C系列器件中包含有AC48301C-C、AC48302C-C和AC48304C-C三種芯片,分別可提供1、2、4個(gè)語(yǔ)音通道,而且多通道芯片中的各通道可獨(dú)立操作,互不干擾。AC4830xC-C的基本工作原理如圖1所示。
在進(jìn)行語(yǔ)音系統(tǒng)設(shè)計(jì)時(shí),利用AC4830xC-C芯片可以將PCM語(yǔ)音碼流根據(jù)實(shí)際需要壓縮成如下多種碼率的語(yǔ)音信號(hào):
(1) G.711 PCM碼率為64kbps;
(2) G.726 ADPCM 碼率為16kbps~40kbps;
(3) G.727 E-ADPCM 碼率為16~40kbps;
(4) G.729 CS-ACELP 碼率為8.0kbps;
(5)G.723.1 MP-MLQ/ACELP碼率為6.3/5.3kbps;
(6) NetCoder 碼率為6.4kbps~9.6kbps。
在接收到語(yǔ)音PCM碼流或者傳真數(shù)據(jù)以后,AC4830xC-C首先進(jìn)行輸入增益控制和回波抵消,然后區(qū)分具體的業(yè)務(wù)類型是語(yǔ)音數(shù)據(jù)還是傳真數(shù)據(jù),如果是語(yǔ)音數(shù)據(jù),則根據(jù)具體的要求對(duì)語(yǔ)音信號(hào)進(jìn)行編碼,并將編碼后的數(shù)據(jù)通過(guò)主機(jī)接口送出;另一方面,AC4830xC-C也將從主機(jī)接口讀入數(shù)據(jù)并加以判斷,如果判斷其為語(yǔ)音數(shù)據(jù),就將其解碼成PCM碼流并通過(guò)PCM接口送出。
AC4830xC-C芯片必須有外圍設(shè)備的支持才能正常工作。它提供了5個(gè)外部接口,即主機(jī)接口(HPI)、PCM接口、時(shí)鐘接口、存儲(chǔ)器以及I/O接口和仿真測(cè)試接口。AC4830xC-C的主機(jī)接口為8位并行接口,可用DSP通過(guò)主機(jī)接口控制AC4830xC-C?并與其交換數(shù)據(jù)。
AC4830xC-C的時(shí)鐘控制部分包括連接在外部的晶體振蕩器和內(nèi)部時(shí)鐘電路,其工作時(shí)鐘一般由外部晶體振蕩器的振蕩頻率和內(nèi)部的PLL值決定。設(shè)計(jì)時(shí),可以通過(guò)改變PLLMUL寄存器的值來(lái)改變其工作時(shí)鐘。
此外,AC4830xC-C還提供了六種可供選擇的工作時(shí)鐘方式,但是要求其工作頻率必須控制在98.304~100MHz之間。
3?。裕茫停常福茫保返墓ぷ髟?/B>
TCM38C17是美國(guó)德州儀器公司(TI)生產(chǎn)的PCM語(yǔ)音編碼芯片,它可提供模擬語(yǔ)音信號(hào)和PCM碼流之間的相互轉(zhuǎn)換功能,同時(shí)集成有A律和U律兩種標(biāo)準(zhǔn)。此外,芯片本身還提供了增益控制等功能。該芯片將4路PCM芯片集成到了一起,相當(dāng)于4片TCM29C13的功能。該器件在工作時(shí),通常需要外部電路為其提供時(shí)鐘信號(hào)PCMCLK、幀同步信號(hào)PCMFS以及每路語(yǔ)音的具體幀同步信號(hào)?其四路協(xié)同工作的工作時(shí)序如圖2所示。
4 系統(tǒng)硬件設(shè)計(jì)
基于上述兩芯片所提供的功能,下面給出一種四路語(yǔ)音編解碼系統(tǒng)的實(shí)現(xiàn)方案,圖3所示是其系統(tǒng)框圖。
在該系統(tǒng)中,當(dāng)信源發(fā)出的模擬語(yǔ)音信號(hào)經(jīng)過(guò)TCM38C17實(shí)現(xiàn)PCM編碼后,該PCM碼流將經(jīng)過(guò)AC4830xC-C壓縮編碼以形成需要的語(yǔ)音碼流,然后通過(guò)DSP處理器進(jìn)行控制、調(diào)頻等后續(xù)處理,最終通過(guò)串/并轉(zhuǎn)換器送出。另一方面,DSP會(huì)將從串/并轉(zhuǎn)換器讀入的數(shù)據(jù)通過(guò)主機(jī)接口寫(xiě)入AC4830xC-C,并由AC4830xC-C對(duì)語(yǔ)音碼流進(jìn)行解碼以生成PCM碼流,然后再經(jīng)過(guò)TCM38C17恢復(fù)成模擬語(yǔ)音信號(hào)。由于AC4830xC-C只提供有一個(gè)幀同步信號(hào),因此,本系統(tǒng)中使用了一個(gè)計(jì)數(shù)器來(lái)產(chǎn)生TCM38C17芯片所需要的其它三路幀同步信號(hào)。
5 系統(tǒng)軟件設(shè)計(jì)
該系統(tǒng)軟件主要用于對(duì)AC4830xC-C進(jìn)行控制,AudioCodes公司規(guī)定了AC4830xC-C的操作方法,并提供了相應(yīng)的初始化內(nèi)核程序和工作程序。工作時(shí),應(yīng)該首先通過(guò)DSP對(duì)AC4830xC-C進(jìn)行復(fù)位,復(fù)位成功后,首先寫(xiě)入內(nèi)核程序,然后寫(xiě)入工作程序,最后再將這些程序通過(guò)AC4830xC-C的主機(jī)接口寫(xiě)入到AC4830xC-C。
在下載完工作程序之后,芯片即可開(kāi)始工作,此時(shí)芯片處于初始化模式,其默認(rèn)的編碼碼率為32kbps的ADPCM編碼,設(shè)計(jì)者可以對(duì)每一路進(jìn)行單獨(dú)的模式設(shè)置,包括啟用哪幾路語(yǔ)音通道、調(diào)節(jié)每一個(gè)語(yǔ)音信號(hào)的幅度、根據(jù)具體的技術(shù)要求選擇相應(yīng)的語(yǔ)音編碼方式等。AC4830xC-C每30ms讀入一幀語(yǔ)音數(shù)據(jù),每一幀語(yǔ)音數(shù)據(jù)均會(huì)被壓縮編碼成一個(gè)語(yǔ)音數(shù)據(jù)包。該數(shù)據(jù)包中包含有語(yǔ)音數(shù)據(jù)和編碼方式的相關(guān)信息,而且傳送數(shù)據(jù)時(shí),這些編碼信息也必須同時(shí)被傳送到接收方。
6 結(jié)束語(yǔ)
AC4830xC-C是一個(gè)功能強(qiáng)大的語(yǔ)音信號(hào)處理專用芯片,它提供了多種語(yǔ)音編解碼功能,操作也很方便。本文就是利用其和TCM38C17協(xié)同工作,構(gòu)建了多路語(yǔ)音通信的編解碼系統(tǒng)。相信在IP電話和多媒體通信領(lǐng)域,AC4830xC-C等芯片會(huì)得到越來(lái)越廣泛的應(yīng)用。