摘要:根據(jù)TI公司的TMS320C6713多通道緩沖串口(McBSP) 和音頻解碼芯片AIC23B的工作原理,設(shè)計(jì)了音頻解碼電路。將TMS320C6713多通道緩沖串口直接與AIC23B相連,其優(yōu)點(diǎn)是操作簡單,不占用處理器的總線,不影響其他功能模塊的性能。給出了TMS320C6713 和AIC23B的接口電路和軟件編程實(shí)現(xiàn)。
關(guān)鍵詞: TMS320C6713;AIC23B;音頻解碼;多通道緩沖串口
TMS320C6713(C6713)是業(yè)界流行的一款高性能的32 bit浮點(diǎn)DSP,在255 MHz時(shí)鐘主頻下,其最高執(zhí)行速度可達(dá)1 800 MIPS。C6713擁有豐富的片內(nèi)資源,其多功能串口不僅可以配置成標(biāo)準(zhǔn)串口的全雙工串行通信模式,還能配置成SPI模式,適應(yīng)于多種應(yīng)用。TLV320AIC23B是一款高性能立體聲的編解碼器(簡稱AIC23B),內(nèi)部的ADC和DAC采用Sigma-Delta技術(shù),采樣率支持8 kHz~96 kHz,數(shù)據(jù)傳輸能配置成16、20、24和32 bit。AIC23B還提供了麥克風(fēng)輸入,左右兩通道線性輸入、線性輸出及耳機(jī)輸出。本文詳細(xì)介紹AIC23B的電路連接和軟件設(shè)計(jì)。利用C6713的McBSP1配置AIC23B的內(nèi)部寄存器,利用McBSP0與AIC23B進(jìn)行數(shù)據(jù)傳輸。系統(tǒng)采集外部語音信號(hào),采集數(shù)據(jù)通過C6713處理后送到AIC23B轉(zhuǎn)換成模擬信號(hào)。
1 TLV320AIC23B 原理
AIC23B是TI公司出品的一款高品質(zhì)立體聲音頻編解碼芯片,其與處理器有兩個(gè)連接口:控制口和數(shù)據(jù)口,它們都能與C6713的McBSP(Multichannel Buffered Serial Port)無縫連接。內(nèi)置耳機(jī)輸出放大器,支持MIC 和LINE IN 兩種輸入方式,輸入和輸出都具有可編程增益調(diào)節(jié)。AIC23B 的模數(shù)轉(zhuǎn)換和數(shù)模轉(zhuǎn)換部件高度集成在芯片內(nèi)部,ADC和DAC的信噪比分別可達(dá)到90 dB 和100 dB。同時(shí),AIC23B還具有很低的能耗, 回放模式下功率僅為23 mW,省電模式下更是小于15 μW[1],其特性如下:
·∑-△過采樣技術(shù);
·采樣速率:8 kHz~96 kHz;
·數(shù)據(jù)格式:16 bit、20 bit、24 bit、32 bit;
·信噪比(NSR):90 dBA(96 kHz);
·省電模式設(shè)置;
·包含麥克風(fēng)輸入、立體聲輸入、耳機(jī)輸出(帶耳機(jī)放大器)、立體聲輸出;
·1.42 V~3.6 V內(nèi)核電壓;
·2.7 V~3.6V緩沖器和模擬電路供電電壓;
·兼容TI的McBSP協(xié)議。
AIC23B的引腳圖如圖1所示,主要有模擬輸入輸出通道、芯片控制口、芯片數(shù)據(jù)口、時(shí)鐘接口等。主機(jī)通過控制口(CS、MODE、SDIN、SCLK)配置AIC23B寄存器,控制口根據(jù)MODE可配置成兩種模式:SPI模式和2-Wire模式。本文采用SPI模式,如表1所示。圖2為SPI模式時(shí)控制口的時(shí)序圖,B15~B9為AIC23B內(nèi)部寄存器的7位地址,B8~B0為AIC23B寄存器的9 bit數(shù)據(jù)。主機(jī)通過AIC23B的數(shù)據(jù)口與其交換數(shù)據(jù),數(shù)據(jù)接口有4種模式:右對(duì)齊模式、左對(duì)齊模式、IIS模式、DSP模式,四種模式都是先傳左通道的數(shù)據(jù)后傳右通道的數(shù)據(jù)。本文采用DSP數(shù)據(jù)傳輸模式與C6713的McBSP相連,在這種方式下,AIC23B 可以很方便地與DSP的McBSP接口無縫相接,LRCIN及LRCOUT必須與DSP的McBSP 的幀同步信號(hào)相連。從LRCIN或LRCOUT的下降沿開始傳送數(shù)據(jù),第1個(gè)數(shù)據(jù)字是左聲道的數(shù)據(jù)字,緊跟其后的是右聲道的數(shù)據(jù)字,輸入字長由寄存器IWL設(shè)定[2]。圖3為DSP模式下數(shù)據(jù)傳輸?shù)臅r(shí)序圖[3]。
AIC23B主機(jī)通過寫AIC23B的寄存器來配置AIC23B,AIC23B有十一個(gè)寄存器,表2顯示各寄存器的地址和名稱。
2 C6713的McBSP原理
在DSP嵌入式系統(tǒng)中,多通道緩沖串行接口McBSP是一個(gè)功能強(qiáng)大、連線簡潔的接口,通常用來連接音頻編解碼芯片、串行AD器件、串行DA器件等。McBSP包含一個(gè)數(shù)據(jù)通道和一個(gè)控制通道,互相獨(dú)立的發(fā)送、接收引腳,4個(gè)通信控制信息引腳。DSP器件通過32 bit并行總線訪問McBSP控制和數(shù)據(jù)寄存器。圖4為McBSP組成框圖[4]。
C6713的McBSP模塊具有如下基本特性:
·全雙工通信;
·兩個(gè)數(shù)據(jù)緩沖寄存器;
·獨(dú)立的發(fā)送和接收幀及時(shí)鐘;
·可直接連接工業(yè)標(biāo)準(zhǔn)的CODEC、AIC以及其他串口AD/DA芯片;
·在數(shù)據(jù)傳輸過程中,可設(shè)置為外部移位時(shí)鐘或內(nèi)部可編程的頻率移位;
·可連接AC97標(biāo)準(zhǔn)的接口、IIS接口、SPI接口;
·多達(dá)128通道的發(fā)送和接收;
·多種數(shù)據(jù)格式:8、12、16、20、24、和32 bit;
·8 bit數(shù)據(jù)格式中可設(shè)為低字節(jié)在前或高字節(jié)在前;
·同步幀和數(shù)據(jù)時(shí)鐘的極性可編程;
·高度可編程的內(nèi)部時(shí)鐘和幀產(chǎn)生。
3 C6713與AIC23B的硬件連接
根據(jù)McBSP與AIC23B的原理,無論是控制口還是數(shù)據(jù)口AIC23B都可以與C6713的McBSP無縫連接,本設(shè)計(jì)采用McBSP1連接AIC23B的控制口,用來配置AIC23B的內(nèi)部寄存器。時(shí)鐘CLKX1和幀同步發(fā)送信號(hào)FSX1 由DSP 產(chǎn)生,向AIC23B發(fā)送16 bit的數(shù)據(jù)字, 來初使化AIC23B。每個(gè)16 bit的數(shù)據(jù)字分為兩部分, 第一部分為AIC23B 中寄存器的地址,共7 bit; 第二部分為對(duì)該寄存器的設(shè)置值,共9 bit, 對(duì)應(yīng)著寄存器的每一位(D8~D0) 。用McBSP0與AIC23B數(shù)據(jù)口直接相連,用來與AIC23B交換數(shù)據(jù)。CLKX0、CLKR0和幀同步信號(hào)FSX0、FSR0由AIC23B產(chǎn)生。圖5為C6713與AIC23B的硬件連接示意圖。MODE 引腳接3.3 V高電平, AIC23B配置成SPI模式,McBSP1工作于SPI模式下;McBSP0配置成外部時(shí)鐘、幀信號(hào)驅(qū)動(dòng)接收和發(fā)送。AIC23B 中共有11 個(gè)寄存器, 對(duì)AIC23B進(jìn)行初始化時(shí), 必須由DSP 向它發(fā)送11個(gè)16 bit數(shù)據(jù)字來設(shè)置它的寄存器。
4 系統(tǒng)的軟件設(shè)計(jì)
軟件設(shè)計(jì)分為初始化、數(shù)據(jù)傳輸和數(shù)據(jù)處理3個(gè)部分。如圖6給出了系統(tǒng)的工作流程,初始化完成后,系統(tǒng)進(jìn)入工作狀態(tài)。外部模擬信號(hào)通過AIC23B的AD變換器轉(zhuǎn)換成數(shù)字信號(hào),通過數(shù)據(jù)口傳給DSP,數(shù)據(jù)經(jīng)過DSP處理后傳到AIC23B,經(jīng)過AIC23B的DA變換后放大輸出。
初始化部分包括McBSP的初始化和AIC23B的初始化。該設(shè)計(jì)中AIC23B 工作于主模式, 左右聲道的采樣字寬均為16 bit,數(shù)據(jù)接口為DSP 模式。DSP 通過SPI總線接口對(duì)音頻編解碼芯片AIC23B 的寄存器進(jìn)行設(shè)置, 控制其采樣速率、音頻源、音量等參數(shù)。其初始化步驟為:
(1) 設(shè)置McBSP1為SPI模式,用于配置AIC23B。
(2) 設(shè)置McBSP0為被動(dòng)接收模式,用于與AIC23B交換數(shù)據(jù)。
(3) 用DSP的McBSP1配置AIC23B相關(guān)寄存器,使其工作在主動(dòng)模式。
以下給出配置AIC23B 寄存器的程序:
void initAIC23B( void)
{
//復(fù)位AIC23B、給各功能單元供電
AIC23B_Write(AIC23B_RESET_REG, 0);
AIC23B_Write(AIC23B_POWER_DOWN_CTL, 0);
//設(shè)置音頻信號(hào)源并進(jìn)行音量控制
AIC23B_Write (AIC23B_ANALOG_AUDIO_CTL,ANAP-
CTL_DAC) ;
AIC23B_Write(AIC23B_DIGITAL_AUDIO_CTL, 0);
//左右輸入聲道的音量衰減控制
AIC23B_Write(AIC23B_LT_LINE_CTL, 0x17);
AIC23B_Write(AIC23B_RT_LINE_CTL, 0x17);
//設(shè)置AIC23B 工作在主模式, 48 kHz,
16 bit 數(shù)據(jù)格式
AIC23B_Write (AIC23B_DIGITAL_IF_FORMAT, DIGIF_
FMT_IWL_16|DIGIF_FMT_FOR_DSP) ;
AIC23B_Write (AIC23B_SAMPLE_RATE_CTL, SRC_SR_
44|SRC_BOSR |SRC_MO);
//耳機(jī)音量控制和數(shù)字接口
AIC23B_Write(AIC23B_LT_HP_CTL, 0x79);
AIC23B_Write(AIC23B_RT_HP_CTL, 0x79);
AIC23B_Write (AIC23B_DIG_IF_ACTIVATE, DIGIFACT_
ACT) ;
}
5 實(shí)驗(yàn)結(jié)果
圖7為在CCS開發(fā)軟件下對(duì)1.1 kHz音頻信號(hào)采集的波形圖,其中橫坐標(biāo)為連續(xù)時(shí)間段內(nèi)采樣的序號(hào),縱坐標(biāo)為采樣轉(zhuǎn)換后的數(shù)值。AIC23B工作在USB模式,采樣率為48.8 kHz,所以一個(gè)周期采樣44個(gè)點(diǎn)。信號(hào)經(jīng)過C6713處理后回送到AIC23B,經(jīng)過AIC23B的DA變換器變換為音頻信號(hào)。
本文詳細(xì)介紹了AIC23B與TI公司的32 bit高性能DSP TMS320C6713的接口設(shè)計(jì)和編程實(shí)現(xiàn)。設(shè)計(jì)電路簡潔,編程簡單,可用于語音處理、數(shù)字電話等音頻信號(hào)處理的系統(tǒng)中。
參考文獻(xiàn)
[1] TEXAS INSTRUMENTS,TLV320AIC23B Data Sheet,2006.
[2] 呂衛(wèi)強(qiáng),黃荔.基于短時(shí)能量加過零率的實(shí)時(shí)語音端點(diǎn)檢測方法[J]. 兵工自動(dòng)化,2009,28(9).
[3] 齊敏,王玲,韓韜,劉輝.基于TMS320DM642的實(shí)時(shí)語音處理系統(tǒng)[J]. 電聲技術(shù),2009,33(1):65-67.
[4] 劉向宇.DSP嵌入式常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講[M]. 電子工業(yè)出版社,2009.
[5] 涂水林, 薛正明.TMS320DM642與音頻編解碼器的接口設(shè)計(jì)[J].電聲技術(shù),2006,30(9):26-29.