基于TMS320C6713的多路CVSD語音編解碼
64 Kb/s的A律或μ律的對(duì)數(shù)壓擴(kuò)PCM編碼在大容量的光纖通信系統(tǒng)和數(shù)字微波系統(tǒng)中已得到廣泛應(yīng)用,但由于占用較大的傳輸帶寬和具有復(fù)雜的成幀結(jié)構(gòu)。連續(xù)可變斜率增量(Continuously Variable Slope Delta,CVSD)調(diào)制以其較低的應(yīng)用難度、成本和編碼速率,較好的語音質(zhì)量廣泛應(yīng)用于戰(zhàn)術(shù)通信網(wǎng)、衛(wèi)星通信、藍(lán)牙等無線語音傳輸領(lǐng)域。于是不同碼制的網(wǎng)絡(luò)之間的互連對(duì)兩種碼制之間的轉(zhuǎn)換提出了更高的要求。針對(duì)近年來FPGA、DSP技術(shù)的不斷發(fā)展,本文提出了一種滿足此需求的設(shè)計(jì)方案,以適應(yīng)通信技術(shù)日新月異的發(fā)展。
1 多路數(shù)據(jù)信號(hào)的收發(fā)
1.1 McASP(Multichannel Audio Serial Port)
McASP在C5000系列DSP處理器基礎(chǔ)上新增加的一個(gè)專門用來實(shí)現(xiàn)多通道音頻應(yīng)用的通用串行端口,它包括收/發(fā)兩個(gè)功能部件,二者問即可完全同步也可各自采用完全獨(dú)立的主時(shí)鐘、位時(shí)鐘和幀同步時(shí)鐘,具備不同的數(shù)據(jù)傳輸模式和位碼流格式。支持多種數(shù)據(jù)協(xié)議:I2S,S/PDIF,IEC60958-1,AES-3等格式碼流,支持時(shí)分復(fù)用(TDM碼流),多達(dá)32個(gè)通道進(jìn)行收發(fā)傳輸?shù)淖珠L可以是8位/12位/16位120位/24位/32位等。
1.2 多路數(shù)據(jù)收發(fā)的實(shí)現(xiàn)
1.2.1 TDM模式
本文討論的是音頻數(shù)據(jù)的傳輸,當(dāng)MCASP工作于TDM格式時(shí)可以用于DSP和多個(gè)ADC及DAC直接相連接。數(shù)據(jù)的多路傳輸取決于每一收(發(fā))幀多達(dá)32個(gè)時(shí)隙的傳輸模式。圖1顯示了6個(gè)SLOT的傳輸模式。
TMS320C6713的多路數(shù)據(jù)輸出/輸入需經(jīng)過一個(gè)數(shù)據(jù)組合和分離的時(shí)序控制單元,這一任務(wù)由一塊FPGA完成,其功能是接收所有來自DSP的數(shù)據(jù),將相同的時(shí)隙組合在一起后根據(jù)相應(yīng)的連接設(shè)備的時(shí)序送出,同時(shí)將來自不同的設(shè)備的數(shù)據(jù)組合后以TDM的方式送入DSP,如圖2所示。
1.2.2 時(shí)鐘和幀同步
通過設(shè)置DSP的收發(fā)幀同步控制寄存器可以設(shè)置TDM的具體模式,而相應(yīng)的位時(shí)鐘、幀同步時(shí)鐘可由編程控制由外部產(chǎn)生或直接由內(nèi)部產(chǎn)生,圖3是時(shí)鐘的相關(guān)控制關(guān)系。高頻時(shí)鐘AHCLKX可由高頻時(shí)鐘控制寄存器設(shè)置為內(nèi)部產(chǎn)生或外部輸入,ACLKX可由時(shí)鐘控制寄存器設(shè)置為內(nèi)部產(chǎn)生或外部輸入。如果采用內(nèi)部高頻時(shí)鐘,則由AUXCLK經(jīng)分頻后得到,分頻數(shù)值由高頻時(shí)鐘控制寄存器的0~11 b決定;高頻時(shí)鐘分頻后得到位時(shí)鐘,分頻數(shù)值由時(shí)鐘控制寄存器的0~4 b決定。
1.3 AD采樣和語音信號(hào)的回放
TLV320AIC23B是輸入輸出模擬音頻接口編解碼器,該編解碼器采用了Sigma-Delta技術(shù)進(jìn)行數(shù)模和模數(shù)轉(zhuǎn)換,并和McBSP直接相連,AIC23還提供了麥克風(fēng)輸入、線性輸入、線性輸出和耳機(jī)輸出4個(gè)模擬接口。TLV320AIC23B的控制字可通過SPI方式或者I2C方式寫入。圖4是I2C方式控制字的讀寫時(shí)序圖。設(shè)定控制寄存器的工作方式后即可利用TLV320AIC23B對(duì)語音信號(hào)進(jìn)行高精度的采樣和回放。
2 CVSD編解碼
CVSD也叫數(shù)字檢測音節(jié)壓擴(kuò)增量調(diào)制,進(jìn)入實(shí)用階段已有十多年的歷史。數(shù)字CVSD編譯碼器中音節(jié)平滑濾波器及編譯碼器中的主積分器的轉(zhuǎn)移函數(shù)如下:
音節(jié)平滑濾波器:
編碼器雙積分器:
譯碼器主積分器:
圖5是編譯碼器的流程圖。對(duì)上述公式做Z的反變換可以得到三個(gè)差分方程,按照相應(yīng)的差分方程實(shí)現(xiàn)相應(yīng)的編解碼器代碼編寫。
3 PCM碼與CVSD碼的轉(zhuǎn)換
PcM碼采樣頻率是8 kHz,CVSD編碼的采樣頻率是16 kHz,把PCM碼轉(zhuǎn)化為CVSD碼先要把PCM碼轉(zhuǎn)換成線性PCM,然后加2倍內(nèi)插低通濾波器以使采樣頻率從8 kHz變換到16 kHz,之后送入CVSD編碼器生成16 Kb/s的CVSD碼;CVSD碼轉(zhuǎn)化成PCM碼則是一個(gè)相反的過程,即將CVSD碼送入譯碼器即可得到線性的PCM碼,與此時(shí)的PCM碼相對(duì)應(yīng)的采樣頻率為16 kHz,而不是8 kHz。為使采樣頻率從16 kHz變換到8 kHz,需要加2倍抽取低通濾波器,把線性PCM變換成A律PCM。而濾波器可以選擇FIR濾波器。
4 結(jié) 語
本文提出的多路音頻數(shù)據(jù)的輸入/輸出設(shè)計(jì),利用了6000系列DSP的高速數(shù)據(jù)處理功能,同時(shí)處理多路數(shù)據(jù)的CVSD編解碼、PCM碼與CVSD碼的相互轉(zhuǎn)換,對(duì)于不同碼制的網(wǎng)絡(luò)之間的互連具有重要的應(yīng)用意義。