基于TLV320AIC23和TMS320VC5416的語(yǔ)音系統設計
關(guān)鍵詞:數據采集;DSP;TLV320AIC23;TMS320VC5416
0引言
如今高速發(fā)展的語(yǔ)音信號處理技術(shù)已在音頻信息的處理、傳輸和存儲等方面得到廣泛應用;同時(shí),隨著(zhù)高性能DSP的日益普及,利用DSP對語(yǔ)音信號處理進(jìn)行算法研究和實(shí)時(shí)實(shí)現正成為新的熱點(diǎn)。因此,本文設計并實(shí)現了一種語(yǔ)音采集與處理系統,目的是為語(yǔ)音信號處理的算法研究和實(shí)時(shí)實(shí)現提供一個(gè)通用平臺。
1芯片簡(jiǎn)介
TLV320AIC23(以下簡(jiǎn)稱(chēng)AIC23)是TI公司的一款高性能Codec芯片。主要特性有:內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式(二選一),且對輸入和輸出都具有可編程增益調節;芯片中的A/D轉換器和D/A轉換器采用多位Sigma-Delta技術(shù),數據傳輸字長(cháng)為16、20、24、32bit,采樣率為8kHz~96kHz;在采樣率為96kHz的情況下A/D轉換器信噪比達到90dB,D/A轉換器達到100dB;回放模式下功率為23mW,省電模式下更是小于15uW;只占用25mm2的面積。基于上述優(yōu)點(diǎn),AIC23是可移動(dòng)的數字音頻播放和錄音使用中的模擬輸入輸出等應用系統的理想選擇,例如MP3播放器等。
TMS320VC5416(以下簡(jiǎn)稱(chēng)VC5416)是TI公司的一款16bit定點(diǎn)高性能DSP,是TMS320VC54x系列中的第3代芯片。主要特性有:速率最高達160MI/s;3條16bit數據存儲器總線(xiàn)和1條程序存儲器總線(xiàn);1個(gè)40bit桶形移位器和2個(gè)40bit累加器;1個(gè)1717乘法器和1個(gè)40bit專(zhuān)用加法器;最大8M16bit的擴展尋址空間,內置128k16bit的RAM和16k16bit的ROM;3個(gè)多通道緩沖串口(McBSP);配有PCM3002,可對語(yǔ)音進(jìn)行A/D和D/A轉換。由于VC5416功耗低,性能高,其分開(kāi)的數據和指令空間使該芯片具有高度的并行操作能力,在單周期內允許指令和數據同時(shí)存取,再加上高度優(yōu)化的指令集,使得該芯片具有很高的運算速度并且該芯片本身具有豐富的片內存儲器資源和多種片上外設,因此在工程界得到廣泛應用,尤其是在語(yǔ)音編碼和通信應用方面。
2系統硬件結構
2.1系統硬件結構
語(yǔ)音采集與處理系統主要包括三個(gè)主要部分:以VC5416為核心的數據處理模塊;以AIC23為核心的語(yǔ)音采集與編解碼(CODEC)模塊;用戶(hù)根據需要擴展的存儲器模塊。系統硬件結構如圖1所示。
圖1 系統硬件結構
2.1.1數字信號處理芯片
為滿(mǎn)足語(yǔ)音信號處理的實(shí)時(shí)性要求,語(yǔ)音信號采集與處理系統應具有高速數據處理能力。本系統采用TMS320VC5416芯片作為信號處理芯片。
2.1.2音頻CODEC模塊
本系統的CODEC模塊以TLV320AIC23芯片為核心。
2.1.3電源模塊
VC5416屬于低功耗定點(diǎn)芯片,采用雙電源供電。電源由內核電源(CVdd)和I/O電源(DVdd)兩部分構成,其中內核電源為1.8V,I/O電源為3.3V。內核電源采用1.8V供電可以降低功耗;I/O電源采用3.3V供電使得芯片可以直接與外部低壓器件接口,而不需要額外的電平轉換電路。本系統采用TI公司的TPS73HD318(簡(jiǎn)稱(chēng)HD318)作為電源輸入芯片,HD318提供的兩路輸出電壓一路為1.8V、一路為3.3V。另外該芯片提供的寬度為200ms的低電平復位脈沖還可以用來(lái)作為VC5416的上電復位信號。AIC23芯片具有單電源(5V電源)和雙電源(3V數字電源+5V模擬電源)兩種供電模式,本系統選擇雙電源供電模式,這樣AIC23和VC5416之間就可以直接聯(lián)接而不需要其它電平轉換芯片。
2.1.4 JTAG仿真接口
系統由硬件仿真器XDS510/PP通過(guò)JTAG仿真接口和計算機相連,用戶(hù)可以通過(guò)此接口向VC5416芯片加載程序并觀(guān)察芯片內部存儲器的數據,完成系統仿真及程序調試的任務(wù)。如果系統需要以脫機方式工作,可以用JTAG仿真接口將用戶(hù)程序燒錄到Flash Rom中,再通過(guò)設置啟動(dòng)方式引腳確定系統從片外ROM啟動(dòng)。
2.2硬件接口設計
VC5416有3個(gè)McBSP,可以方便地利用其中2個(gè)McBSP完成對AIC23的控制和通信,其中VC5416的McBSP0與AIC23的數據口相連,McBSP1與AIC23的控制口相連。
AIC23芯片是一個(gè)可編程芯片,內部有11個(gè)16位寄存器,控制接口具有SPI和I2C工作方式,這兩種工作方式由MODE引腳來(lái)選擇,即:MODE=0為I2C模式;MODE=1為SPI模式。
AIC23與VC5416的接口電路見(jiàn)圖2。
圖2 AIC23與VC5416的接口電路
VC5416的2個(gè)多通道緩沖串口McBSP分別配置為I2C模式和SPI模式。McBSP0作為數據的發(fā)送和接收端口;McBSP1對CODEC寫(xiě)控制字,作為控制端口;AIC23作為從設備,因此設置為Slave模式,而VC5416則設置為Master模式,Codec采樣率設置為8kHz。
2.3 BOOTLOADER設計
VC5416片內ROM中有固化的自加載程序(BOOTLOADER),但它對被加載程序的大小有限制。在使用8bit Flash的情況下,只能加載小于16KWord的內容。而三個(gè)速率的SELP算法程序區和數據區的總數據量遠遠超過(guò)16KWord,顯然只使用片內的BOOTLOADER是不能滿(mǎn)足需要的。所以必須自己寫(xiě)加載程序。首先由VC5416片內的BOOTLOADER把自己寫(xiě)的加載程序加載到片內RAM,然后執行這段加載程序,加載其它部分。這里需要解決的一個(gè)主要問(wèn)題就是Flash數據和片內地址空間的映射關(guān)系。由于SELP算法的程序數據總量很大,所以必須用到片內擴展的程序區,也就是說(shuō)MP/MC標志位需要設為0。從此時(shí)的Memory Map中可以看出,VC5416可以訪(fǎng)問(wèn)的每塊連續片外地址空間只有32K,所以Flash數據只能按照每頁(yè)32K的方式分頁(yè)映射到片內地址空間。使用FPGA可以很方便地控制哪頁(yè)Flash數據映射到片內中,這部分的原理框圖如圖3所示。
圖3 BOOTLOADER原理
3接口軟件設計
本系統的軟件采用C語(yǔ)言和匯編語(yǔ)言混合編寫(xiě)。由于是利用VC5416的McBSP口來(lái)控制AIC23芯片,且2個(gè)McBSP口設置成不同的工作方式,所以必須把McBSP初始化為符合AIC23芯片的控制命令時(shí)序和要求的工作模式。由于篇幅本文只列出對VC5416及AIC23芯片初始化設置時(shí)的部分代碼。
3.1 TMS320VC5416初始化
SWWSR=0x7fff;/程序、數據、I/O空間
SWCR=0x0001;/等待周期為72=14
BSCR=0x8006;/按32KW分區,HD[7:0],D[15:0]Hold
CLKMD=PLL_DIV_INIT;
Waitloop(0x0400);
CLKMD=PLL_LOCK_INIT_X(5);
Waitloop(0x0400);
PMST=0x0168;/中斷向量表定位在0X100,MP/MC=1
OVLY=1,DROM=1;
3.2 TLV320AIC23初始化
為使AIC23正常工作并產(chǎn)生預期的音頻效果,必須對其相應的寄存器進(jìn)行配置。首先對VC5416的I2C模塊初始化,將AIC23總線(xiàn)上的地址寫(xiě)入從機地址寄存器ICSAR;再把相應的AIC23內部映射寄存器的地址和待寫(xiě)數據合并為16bit控制字,逐次寫(xiě)入ICDXR,并通過(guò)I2C總線(xiàn)發(fā)送給AIC23,即可完成對AIC23的初始化配置。
AIC23初始化的部分源代碼:
Unsigned int codec_buf[9]={OX1e00,OXOc00,OxO81a,OxOaO4,OxOe01,0x1020,0x1021,0x0117,OxO5f9};
Port_sub_address=(unsigned int*)MCBSP_SPSA_ADDR(1);
Port_sub_index_reg=(unsigned int*)MCBSP_SPAD_ADDR(1);
*Port_sub_address=MCBSP_SPCR2_SUBADDR;
For(i=O;i9;i++){
While(!(*Port_sub_index_reg(MASK_BIT(XRDY))));
Set_codec_cs_low();
MCBSP1_DXR1=codec_buf[i];
While(!(*Port_sub_index_reg(MASK_BIT(XRDY))));
Set_codec_cs_high();}
4結束語(yǔ)
本文的創(chuàng )新點(diǎn)是根據TI公司的DSP芯片TMS320VC5416和語(yǔ)音CODEC芯片TLV320AIC23的特性,設計并實(shí)現了一個(gè)語(yǔ)音采集處理系統。該系統具有很強的處理能力和靈活的外圍接扣電路。實(shí)踐證明它能夠滿(mǎn)足實(shí)時(shí)信號處理的要求,可以作為一種語(yǔ)音信號處理算法研究和實(shí)時(shí)實(shí)現的通用平臺。
參考文獻:
[1]張雄偉,曹鐵勇.DSP芯片的原理與開(kāi)發(fā)應用(第二版)[M].北京:電子工業(yè)出版社,2OO0
[2]任麗香,馬淑芬,李方慧.TMS220600系列DSP的原理與應用[M].北京:電子工業(yè)出版社,2OOO
[3]戴明禎,周建江.TMS320VC54x DSP結構、原理及應用[M].北京:北京航空航天大學(xué)出版社,2001
[4]TMS320VC5416 Bootloader.SPRA602C.Texas Instrument, February 2001
[5]TMS320VC5416 Fixed-Point Digital Signal Processor Data Manual.TI Corporation,2003
[6]Stereo Audio CODEC,8kHz-96kHz,with Integrated Head Phone Amplifier TLV320AIC23.TI Corporation,2001
[7]郝軟層,徐金甫.基于DSP芯片的MELP聲碼器的算法實(shí)現[J].微計算機信息,2006,10-2:62-64
評論