TLC320AIC23在音頻處理中的應(yīng)用
關(guān)鍵詞:DSP?音頻處理?編解碼
1?。裕蹋郑常玻埃粒桑茫玻承酒喗?/B>
TLV320AIC23是TI公司生產(chǎn)的一種高性能立體聲音頻編解碼器?該芯片同時高度集成了模擬電路功能。TLV320AIC23中的模數(shù)與數(shù)模轉(zhuǎn)換器使用了多比特sigma-delta工藝,并在內(nèi)部集成了高采樣率的數(shù)字內(nèi)插濾波器。該器件的數(shù)字傳輸字長可以是16、20、24、32Bit,它支持8~96kHz的采樣率。模數(shù)轉(zhuǎn)換器的sigma-delta調(diào)制器決定了其三階多比特結(jié)構(gòu),這種結(jié)構(gòu)在采樣率為96kHz的情況下,能夠達(dá)到90dB信噪比,從而可在小型低功耗設(shè)計(jì)中實(shí)現(xiàn)高保真錄音。同樣?在數(shù)模轉(zhuǎn)換器中的二階多比特結(jié)構(gòu)還可在采樣率為96kHz的情況下使信躁比達(dá)到100dB,從而使得高質(zhì)量的數(shù)字音頻回放成為可能。該芯片在回放中的功率消耗小于23mW。因此,對于可移動的數(shù)字音頻播放和錄音使用中的模擬輸入輸出等應(yīng)用系統(tǒng),TLV320AIC23無疑是十分理想的選擇。該芯片主要有如下特性:
●是一種高性能的立體聲編解碼器;
●通過軟件控制能與TI的MCBSP相兼容;
●音頻數(shù)據(jù)可以通過與TI MCBSP相兼容的可編程音頻接口輸入輸出;
●內(nèi)部集成了駐極體話筒的偏置電壓和緩沖器;
●帶有立體聲線路輸入;
●具有模數(shù)轉(zhuǎn)換器的多種輸入(立體聲線路輸入和麥克風(fēng)輸入);
●具有立體聲線路輸出;
●內(nèi)含靜音功能的模擬音量控制功能;
●帶有高效率線性耳機(jī)放大器;
●在總的軟件控制下,電源可彈性管理;
●采用工業(yè)級最小封裝;
●適合于可移動固態(tài)音頻播放器錄音器。
2?。裕蹋郑常玻埃粒桑茫玻车氖褂?/B>
2.1 控制接口
TLV320AIC23有許多可編程特性??赏ㄟ^控制接口來編輯該器件的控制寄存器,而且能夠編譯SPI、I2C兩種規(guī)格的接口(見表1)。該器件的模式終端狀態(tài)決定了控制接口的形式。這個模式管腳必須連接到需要的電平。
表1 SPI和I2C接口控制
MODE | 接口 |
0 | I2C |
1 | SPI |
表2 寄存器控制模式
地 址 | 寄 存 器 |
0000000 | 左輸入聲道音量控制 |
0000001 | 右輸入聲道音量控制 |
0000010 | 耳機(jī)左入聲道音量控制 |
0000011 | 耳機(jī)右入聲道音量控制 |
0000100 | 模擬音頻路徑控制 |
0000101 | 數(shù)字音頻路徑控制 |
0000110 | 電源控制 |
0000111 | 數(shù)字音頻接口格式 |
0001000 | 采樣率控制 |
0001001 | 數(shù)字接口激活 |
0001111 | 復(fù)位寄存器 |
2.2 控制寄存器的使用
TLV320AIC23用表2所列的寄存器來控制芯片的工作模式。
設(shè)計(jì)時,可以通過數(shù)據(jù)的串行傳輸來控制TLV320AIC23。這串?dāng)?shù)據(jù)的前半部分用于控制寄存器的地址,接下來的部分對應(yīng)于該寄存器所要寫入的值。對于這種串行傳輸?shù)目刂茢?shù)據(jù),可以分為兩個8Bit進(jìn)行處理??紤]到實(shí)際情況,使用匯編語言既直觀又方便,因此,對于I2C寫入模塊,可使用匯編語言。下面是以DSP TMS320VC5509芯片為例列出的通過匯編語言對TLV320AIC23的控制寄存器進(jìn)行設(shè)置的具體代碼:
.data; TLV320AIC23 控制寄存器數(shù)據(jù)
Register0
.word 0x01;控制地址:0000000
.word 0x17;控制數(shù)據(jù):左聲道輸入音量控制0dB,開啟左右聲道同步更新
Register1
.word 0x03;控制地址:0000001
.word 0x17;控制數(shù)據(jù):右聲道輸入音量控制0dB,開啟左右聲道同步更新
Register2
.word 0x05;控制地址:0000010
.word 0xff;控制數(shù)據(jù):左耳機(jī)輸出音量控制+6dB,開啟左右耳機(jī)聲道同步更新
Register3
.word 0x07;控制地址:0000011
.word 0xff;控制數(shù)據(jù):右耳機(jī)輸出音量控制+6dB,開啟右左耳機(jī)聲道同步更新
Register4
.word 0x08;控制地址:0000100
.word 0x14;控制數(shù)據(jù):關(guān)閉旁路直通,輸入選用Microphone,使DAC處于有效狀態(tài)
Register5
.word 0x0a;控制地址:0000101
.word 0x05;控制數(shù)據(jù):數(shù)字音頻通道選用ADC高通濾波器,關(guān)閉DAC軟靜音
Register6
.word 0x0c;控制地址:0000110
.word 0x01;控制數(shù)據(jù):開啟ADC、DAC,開啟Mi-crophone輸入端,關(guān)閉Line輸入端
Register7
.word 0x0e;控制地址:0000111
.word 0x53;控制數(shù)據(jù):DSP數(shù)字接口格式,芯片采用主式,數(shù)據(jù)字長16bit,LRP=1
Register8
.word 0x10;控制地址:0001000
.word 0x20;控制數(shù)據(jù):采樣率控制,時鐘為正常模式
Register9
.word 0x12;控制地址:0001001
.word 0x01;控制數(shù)據(jù):激活數(shù)字接口
Register10
.word 0x1e;控制地址:0001111
.word 0x00;控制數(shù)據(jù):復(fù)位TLV320AIC23
2.3 數(shù)字音頻接口
TLV320AIC23芯片與數(shù)字系統(tǒng)的接口有右判斷模式、左判斷模式、I2S模式和DSP模式四種。這四種數(shù)據(jù)傳送模式都是從MSB(最高位)開始,字長范圍從16Bits到32Bits(除了在右判斷模式下不支持32Bits外)。數(shù)字音頻接口由時鐘信號BCLK、數(shù)據(jù)信號DIN和DOUT、同步信號LRCIN和LRCOUT組成。應(yīng)當(dāng)說明:BCLK在主動方式下是輸出,而在從動方式下是輸入。
由于接下來的介紹將主要圍繞該芯片與DSP相結(jié)合的應(yīng)用,因此現(xiàn)對第四種模式,即DSP模式進(jìn)行說明。
由于DSP模式與TI公司 DSP的MCBSP口相兼容,因此,LRCIN與LRCOUT必須與MCBSP的幀同步信號相連接。在LRCIN或LRCOUT的下降沿開始數(shù)據(jù)傳輸。左通道數(shù)據(jù)組成了首先傳送的數(shù)據(jù)字,緊接著傳送右通道的數(shù)據(jù)。傳送字長由IWL寄存器決定。圖1說明了LRP為1時的傳送情況(可通過Register7來進(jìn)行設(shè)置)。
3 TLV320AIC23與DSP的接口設(shè)計(jì)
3.1 硬件設(shè)計(jì)
TLV320AIC23是TI公司推出的一款高性能、集成有模擬功能的立體聲編解碼音頻芯片。它能在數(shù)字和模擬電壓下工作,與TMS320C55x DSP的I/O電壓相兼容,因而能夠?qū)崿F(xiàn)與C55x DSP的MCBSP(多通道緩沖串口)端口的無縫連接,從而使系統(tǒng)設(shè)計(jì)更加簡單。所以,為了初步驗(yàn)證TLV320AIC23的工作性能,這里選用TMS320VC5509作為與TLV320AIC23相搭配的DSP芯片。其接口原理框圖如圖2所示。
系統(tǒng)中TLV320AIC23的主時鐘11.2896MHz直接由DSP時鐘產(chǎn)生,MODE接數(shù)字地表示利用I2C控制接口來對TLV320AIC23數(shù)據(jù)進(jìn)行傳輸控制。SCLK和SDIN是TLV320AIC23控制端口的移位時鐘和數(shù)據(jù)輸入端,它們分別與TMS320VC5509的I2C模塊端口SCL和SDA相連。TMS320VC5509的MCBSP1應(yīng)工作在SPI模式下,以便使MCBSP1的接收器和發(fā)送器同步。收發(fā)時鐘信號CLKX1和CLKR1由TLV320AIC23的串行數(shù)據(jù)傳輸時鐘BCLK提供,并由TLV320AIC23的幀同步信號LRCIN、LRCOUT啟動串口數(shù)據(jù)傳輸,DX1和DR1分別與TLV320AIC23的DIN和DOUT相連,可用于完成DSP與TLV320AIC23之間的數(shù)字通信。
3.2 通過I2C對TLV320AIC23進(jìn)行編程控制
I2C模塊接口由串行數(shù)據(jù)SDA和串行時鐘SCL組成,SDA和SCL均為雙向接口。連接在同一總線上的I2C設(shè)備可以工作在多主線(MultiMaster)工作模式下。包括TMS320C55x DSP在內(nèi)的每個I2C設(shè)備都有唯一的設(shè)備地址可供軟件尋址。其中,主設(shè)備用于發(fā)送時鐘并啟動數(shù)據(jù)傳輸,被主設(shè)備尋址的則為從設(shè)備。這些設(shè)備根據(jù)各自的功能,既可以作為發(fā)送器,也可以作為接收器。
設(shè)計(jì)時,可根據(jù)具體需要,使用如下代碼來對TLV320AIC23進(jìn)行寄存器寫操作:
T0=0x1a; T0=從寫地址,根據(jù)電路設(shè)計(jì)應(yīng)為0011010b(見表2)
call Init I2C
T1=#0x02
XAR0=#0h
AR0=Register ; AR0=所要寫入的寄存器的
地址和對應(yīng)于該地址的值
call write I2C
NOP
return
這里應(yīng)注意以下三點(diǎn):
(1) 在寫過一次I2C地址后,只能對一個寄存器進(jìn)行寫操作,而不能一次性對所有寄存器進(jìn)行寫操作。也就是說,對每個寄存器寫之前都要按部就班的寫一遍I2C地址。
(2) I2C模式下,數(shù)據(jù)是分為三個8Bit寫入的。而TLV320AIC23有7位地址和9位數(shù)據(jù),也就是說,需要把數(shù)據(jù)項(xiàng)上面的最高位補(bǔ)充到第二個8Bit中的最后一位。
(3) 在對控制寄存器的編程過程中,對應(yīng)于每一次工作狀態(tài)的改變,不能僅僅修改某個寄存器的值,而是要對這十個寄存器都重新寫入一遍,否則系統(tǒng)將無法正常工作,而且應(yīng)首先寫Register10,同時還應(yīng)對所有寄存器進(jìn)行復(fù)位處理。
3.3 DSP的多通道緩沖串口(MCBSP)設(shè)置
由于TLV320AIC23采樣輸出的是串行數(shù)據(jù),因此需要協(xié)調(diào)好與之相配的DSP的串行傳輸協(xié)議。所以必須對DSP的串口進(jìn)行正確設(shè)置。
MCBSP串口一般通過六個引腳使數(shù)據(jù)通路和控制通路與外部設(shè)備相連。數(shù)據(jù)經(jīng)MCBSP串口與外設(shè)的通信一般通過DR和DX引腳傳輸,控制同步信號則由CLKX、CLKR、FSX、FSR等四個引腳實(shí)現(xiàn)。
由于MCBSP串口的數(shù)據(jù)線DR和DX帶有緩存寄存器,而幀同步信號FSX、FSR以及時鐘信號CLKX、CLKR具有可編程性,因此,它與TLV320AIC23之間的接口設(shè)計(jì)非常靈活。從這些特點(diǎn)可以看到:將MCBSP串口設(shè)置為SPI工作模式,然后使串口的接收器和發(fā)送器同步,并且由TLV320AIC23的幀同步信號LRCIN、LRCOUT啟動串口傳輸,同時將發(fā)送接收的數(shù)據(jù)字長設(shè)定為32Bit(左聲道16Bit,右聲道16Bit)單幀模式,就可以方便地實(shí)現(xiàn)與TLV320AIC23之間的無縫連接。
4 結(jié)束語
通過上述步驟對硬件系統(tǒng)進(jìn)行設(shè)計(jì)編程,就可使TLV320AIC23正常工作,從而實(shí)現(xiàn)AD、DA以及與之相連接的DSP的正常數(shù)據(jù)通信,同時實(shí)現(xiàn)對語音的采集與回放等基本音頻處理功能。通過在Code Composer Studio V2上的實(shí)際編程以及在硬件系統(tǒng)中的實(shí)際聯(lián)調(diào),證明:這種設(shè)計(jì)是合理和正確的。另外,如果把G.723.1的編解碼算法移植到DSP算法處理中,則完全可以把該模塊嵌入到網(wǎng)絡(luò)會議的可視電話中作為語音處理模塊。這種設(shè)想在DSP具體的算法實(shí)現(xiàn)上已經(jīng)仿真試驗(yàn)通過。而對于實(shí)際嵌入到可視電話中,進(jìn)而與H.324相結(jié)合來對視頻音頻數(shù)據(jù)的混合處理等一系列問題,則是今后進(jìn)一步探索研究的方向。