TMS320C6727的 音頻采集處理回放系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
數(shù)字信號自從出現(xiàn)以后就以其無與倫比的優(yōu)勢迅速打破了原來模擬信號一統(tǒng)天下的局面。隨著音頻處理技術(shù)的發(fā)展,音頻處理算法越來越復(fù)雜,采用傳統(tǒng)的模擬信號處理的辦法來實(shí)現(xiàn)這些算法不僅難度大,成本高,有的甚至根本無法實(shí)現(xiàn)。然而,由于數(shù)字信號處理器(DSPs)速度的不斷提高,這些復(fù)雜的音頻處理算法可以很容易地通過DSPs實(shí)現(xiàn),因此如今很多音頻處理采用DSPs實(shí)現(xiàn)。然而原始的音頻信號都是模擬的,如果采用數(shù)字信號處理技術(shù)進(jìn)行音頻處理,首先要面對的就是音頻采集、處理和輸出系統(tǒng)問題。
本文介紹了一個(gè)8路模擬音頻輸入、8路模擬音頻輸出、1路數(shù)字信號輸入和1路數(shù)字信號輸出的音頻處理系統(tǒng)。分析系統(tǒng)的硬件連接和功能實(shí)現(xiàn)方法,以及系統(tǒng)的軟件工作原理。
1 設(shè)計(jì)方案
系統(tǒng)設(shè)計(jì)框架如圖1所示。數(shù)字信號處理器選用TI公司的32位浮點(diǎn)DSPs TMS320C6727,A/D轉(zhuǎn)換部分采用2片TI公司的音頻模/數(shù)轉(zhuǎn)換芯片PCM4204,D/A轉(zhuǎn)換部分采用2片TI公司的音頻數(shù)/模轉(zhuǎn)換芯片PCM4104,數(shù)字信號接收部分選用數(shù)字音頻接收接口芯片DIR9001。
TMS320C6727是TI公司推出的一款專門用于音頻信號處理的高速、浮點(diǎn)DSPs。其高達(dá)300 MHz的頻率再加上32位的浮點(diǎn)處理能力,使得它可以輕松運(yùn)行各種復(fù)雜的音頻處理算法,滿足系統(tǒng)實(shí)時(shí)性的要求。另外其本身帶有3個(gè)McASP接口,支持I2S、TDM、S/PDIF等多種音頻傳輸格式,可以實(shí)現(xiàn)與其他音頻設(shè)備的無縫連接。
PCM4204與PCM4104分別是4通道、24位、216kHz采樣頻率的模/數(shù)和數(shù)/模芯片。其中PCM4.204支持左校驗(yàn)、右校驗(yàn)、I2S等數(shù)據(jù)傳輸格式,且主/從模式可以設(shè)置;PCM4104支持左校驗(yàn)、右校驗(yàn)、I2S等數(shù)據(jù)傳輸格式,軟靜音(soft mute)模式,軟/硬兩種控制方式可供選擇。
DIR9001用于接收采樣頻率在24~108 kHz之間的雙相編碼信號,輸出格式為I2S、左校驗(yàn)、右校驗(yàn)等。
2 硬件電路
音頻系統(tǒng)硬件電路分為音頻采集、音頻回放和通信3個(gè)部分。音頻采集部分實(shí)現(xiàn)模擬音頻信號轉(zhuǎn)換成數(shù)字音頻信號并傳入TMS320C6727;音頻回放部分實(shí)現(xiàn)數(shù)字音頻信號從TMS320C6727輸出并轉(zhuǎn)換成模擬音頻信號驅(qū)動揚(yáng)聲器;通信部分實(shí)現(xiàn)與其他音頻設(shè)備間的數(shù)據(jù)傳輸。音頻數(shù)據(jù)的采集傳輸與通信都通過TMS320C6727的McASP口完成。TMS320C6727有3個(gè)McASP口:McASP0、McASPl、McASP2口。其中McASP0口有16個(gè)串行數(shù)據(jù)口AXR0~AXRl5,McASPl有6個(gè)串行數(shù)據(jù)口(共用AXR8~AXRl3),McASP2有2個(gè)串行數(shù)據(jù)口(共用AXRl4、AXRl5)。音頻采集與回放使用McASPO的AXR0~AXR7,音頻數(shù)據(jù)通信發(fā)送采用McASP0的AXRl4,接收采用McASP2口。
PCM4204與PCM4104的時(shí)鐘由PLL1707組成的時(shí)鐘電路產(chǎn)生,時(shí)鐘頻率為24.576 MHz(256fs,fs為采樣頻率)。每個(gè)McASP口的接收數(shù)據(jù)時(shí)鐘和發(fā)送數(shù)據(jù)時(shí)鐘是相互獨(dú)立的,并且都有自己的主時(shí)鐘(AHCLK),當(dāng)McASP接口為I2S提供時(shí)鐘信號時(shí),BCK和LRCK除可以從系統(tǒng)時(shí)鐘得到外還可以從AHCLK分頻得到。
2.1 音頻采集電路
音頻采集電路連線圖由圖2給出。因?yàn)楸疚闹攸c(diǎn)不在前端調(diào)理電路,所以圖中只給出了PCM4204與TMS320C6727的MeASP0口之間的硬件連接關(guān)系。
PCM4204與McASPO口之間的數(shù)據(jù)傳輸格式選用I2S總線。I2S總線有3種主要信號:位時(shí)鐘(BCK)、幀時(shí)鐘(LRCK)和串行數(shù)據(jù)。
PCM4204有Master/Slave(主/從)兩種工作模式:當(dāng)工作在Master模式時(shí),PCM4204產(chǎn)生BCK信號和LRCK信號;當(dāng)工作在Slave模式時(shí),PCM4204接收BCK信號和LRCK信號。TMS320C6727的McASP接口同樣可以接收BCK信號和LRCK信號??紤]到McASP接口的BCK信號和LRCK信號由DSPs的內(nèi)部時(shí)鐘分頻得到,無法得到音頻所需的精確時(shí)鐘信號,因此BCK信號和LRCK信號由PCM4204產(chǎn)生。為了防止2片PCM4204同時(shí)設(shè)為Master模式而造成時(shí)鐘信號混亂,把其中一片設(shè)置為Master模式,另一片設(shè)置為Slave模式。工作在Master模式的PCM4204同時(shí)為McASP0口的接收時(shí)鐘和另一片PCM4204提供BCK信號和LRCK信號。
McASP0口的AXR0~AXR3設(shè)置為接收模式分別與2片PCM4204的信號輸出端相連,用于接收從PCM4204發(fā)出來的串行數(shù)字音頻信號。
2.2 音頻回放電路
音頻回放電路完成數(shù)字信號到模擬信號的轉(zhuǎn)化和播放。音頻回放部分連線圖如圖3所示。
PCM4104只能工作在Slave模式,所以要由McASP口的AFSX0和ACLKX0提供時(shí)鐘信號。為了保證音頻回放的采樣頻率與音頻采集的采樣頻率相同,AFSX0和ACLKX0提供的時(shí)鐘信號從AHCLKX0分頻獲得,AH—CLKXO由時(shí)鐘電路提供24.576 MHz的時(shí)鐘信號。同樣,PCM4104的系統(tǒng)時(shí)鐘也由時(shí)鐘電路提供。
McASP0口的AXR4~AXR7設(shè)置為發(fā)送模式并與PCM4104的信號輸入腳相連,實(shí)現(xiàn)串行數(shù)字音頻信號的回放。
2.3 音頻通信電路
音頻通信電路能夠?qū)崿F(xiàn)音頻系統(tǒng)與其他設(shè)備之間的數(shù)據(jù)傳輸。傳輸格式為S/PDIF,采用雙相標(biāo)識編碼(Biphase—Mark Code,BMC)。McASP接口支持該傳輸方式,可以直接從McASP口輸出。對于信號接收,通過數(shù)字音頻解調(diào)芯片DIR900l把BMC信號轉(zhuǎn)化成I2S格式并傳輸給McASP2口的接收端。硬件連接如圖4所示,McASP2作為接收端,接收經(jīng)DIR9001解調(diào)后的數(shù)字音頻信號。MeASP2的AXRl5端口設(shè)為輸出端口,以BMC格式輸出音頻數(shù)據(jù)。
3 音頻系統(tǒng)硬件配置
3.1 PCM4204設(shè)置
PCM4204的控制引腳用于設(shè)置其工作方式。其中引腳S/M用于選擇主/從模式,F(xiàn)SO、FSl、FS2用于選擇采樣模式(sampling mode),F(xiàn)MTO、FMTl、FMT2用于選擇音頻數(shù)據(jù)格式(audio data format)。2片PCM4204的引腳配置如下:
PCM4204有3種工作模式:Single Rate、Dual Rate和Quad Rate。根據(jù)以上配置信息,PCM4204采樣模式設(shè)置為Dual Rate模式;采樣頻率fs為系統(tǒng)時(shí)鐘的1/256,即96 kHz;數(shù)據(jù)輸出格式為I2S。
3.2 PCM41 04的配置
PCM4104分為軟件配置和硬件配置,本設(shè)計(jì)采用硬件配置。其中引腳FSO、FSl用于配置采樣模式;FMTO、FMTl、FMT2用于選擇接收數(shù)字音頻信號的格式;DEM0、DEMl用于選擇去加重。其配置如下:
PCM4104也有3種工作模式:Single Rate、Dual Rate和Quad Rate。根據(jù)上述配置情況,PCM4104配置為DualRate數(shù)據(jù)接收模式;數(shù)據(jù)接收格式為I2S;無去加重。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件在TI公司的DSP集成開發(fā)環(huán)境CCS3.3下用C語言編寫,其軟件流程如圖5所示。
初始化程序包括DSPs TMS320C6727的時(shí)鐘、中斷、McASP口的配置,以及PCM4204和PCM4104的配置等。初始化結(jié)束后PCM4204開始采樣,數(shù)據(jù)傳輸?shù)組cASP0口的接收緩沖寄存器RBUF[O]~RBUF[3]中。如果有數(shù)字信號傳入,同樣被傳輸?shù)組cASP0口的接收緩沖寄存器RBUF[14]中。
數(shù)據(jù)處理程序可對采樣后的音頻數(shù)據(jù)或來自其他設(shè)備的數(shù)字音頻數(shù)據(jù)進(jìn)行濾波、降噪、音頻編碼和數(shù)據(jù)壓縮等處理。
音頻回放程序能夠?qū)崿F(xiàn)DSP內(nèi)的數(shù)據(jù)到D/A芯片的數(shù)據(jù)傳輸,數(shù)字信號發(fā)送程序用于將DSPs內(nèi)的數(shù)據(jù)轉(zhuǎn)換成BMC格式的信號,并傳給同軸電纜接頭。
結(jié) 論
筆者設(shè)計(jì)的8路音頻采集、處理、回放系統(tǒng),可以實(shí)現(xiàn)高信噪比的音頻采集和回放。在實(shí)際測試過程中,把采入的音頻信號不經(jīng)處理直接回放,聲音效果非常好,感覺不到聲音失真和延遲,并成功實(shí)現(xiàn)了數(shù)字音頻信號loopback模式下的通信。