摘要:介紹了TMS320C5402與TLV320AIC23芯片的功能特性,分析了語音信號處理系統中TMS320VC5402與TLV320AIC23的硬件接口設計,給出了TMS320VC5402與TLV320AIC23的硬件接口電路與相關接口配置。
關鍵詞:DSP;C5402;AIC23;接口設計;McBSP
中圖分類號:TP334.7文獻標識碼:A文章編號:1009-3044(2010)11-2789-02
20世紀90年代以來,DSP芯片技術的飛速發展,為語音信號處理奠定了良好的基礎,語音信號處理技術的進步促進了與其關聯的相關學科的發展,尤其是在認知科學和人工智能等研究領域,因此,語音識別技術的DSP實現已成為一個重要的研究方向。目前,語音識別系統都是以高速的數字信號處理器為核心,結合音頻編解碼芯片、存儲器等外圍設備來實現。本文將詳細闡述音效系統中DSP與音頻編解碼芯片的接口設計,其中DSP芯片采用TMS320VC5402 DSP(以下簡稱C5402),它是TI公司針對消費類電子推出一款定點DSP,其性價比高、處理速度快、接口豐富;音頻編解碼芯片則采用TI公司推出的一款高性能立體聲Codec芯片TLV320AIC23(以下簡稱AIC23)。
1 芯片功能特點
C5402是TI公司推出的低功耗16 bit定點DSP芯片,哈佛結構,支持流水線操作,運算速度可達100MI/s(兆指令/秒),指令周期為10 ns;TMS320VC5402片內的16K雙訪問RAM可以保證系統算法程序在片內實時運行、1M的程序擴展空間也可以足夠的保存算法處理的中間數據。此外,C5402具有豐富的片內外設,主要包括通用I/O引腳XF和/BIO、硬件定時器、軟件可編程等待狀態產生器、可編程塊開關模塊、增強型并行主機接口(HPI8/16)、兩個多通道緩沖串口(MCBSP);帶鎖相環PLL的時鐘發生器,DMA控制器,JTAG接口[1]。綜上所述,C5402以其處理能力強、功耗低、功能豐富、性價比高等優點得到廣泛的應用。
AIC23內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式,且對輸入和輸出都具有可編程增益調節。AIC23的模數轉換(A/D)和數模轉換(D/A)部件高度集成在芯片內部,采用了先進的多比特sigma-delta工藝,集成了高采樣率的數字內插濾波器,同時還具有很低的能耗。AIC23通過外圍器件對其內部寄存器進行編程配置,其配置接口支持SPI總線接口和I2C總線接口,數據傳輸格式支持右判斷模式、左判斷模式、I2S模式和DSP模式 4 種方式,其中DSP模式專門針對TI DSP設計。
C5402的多通道緩沖串口McBSP 可以配置為SPI總線接口、其串行數據傳輸格式與AIC23 的 DSP 模式兼容,此外,這兩款芯片的I/O電壓兼容,從而使得二者可以無縫連接,因此,基于C5402和音頻Codec 芯片AIC23的硬件系統是一種非常理想的語音信號處理系統的實現方案。
2 接口硬件電路設計
C5402具有2個多通道緩沖串口McBSP,即McBSP0和McBSP1。多通道緩沖串口McBSP通過6個引腳使其數據通路、控制通路與外部設備相連。數據通過McBSP的DR和DX引腳傳輸,同步信號則由CLKX,CLKR,FSX,FSR 4個引腳實現。McBSP的數據線DR和DX帶有緩存寄存器,幀同步信號FSX,FSR 以及位同步信號CLKX,CLKR 具有可編程性。C5402的多通道緩沖串口 McBSP 可以配置為SPI總線接口,其串行數據傳輸格式與 AIC23的DSP模式兼容,在C5402與AIC23的接口設計中,McBSP1以SPI接口方式與AIC23的控制接口相連,負責對其內部寄存器進行配置[2]。C5402與AIC23硬件接口原理圖如圖1所示。
在語音信號處理系統中, AIC23主時鐘為18.432MHz,A/D和D/A轉換器的抽樣頻率為8kHz,模擬音頻信號由 LLINEIN/MICIN輸入到該芯片,這些參數需要通過 McBSP1 對 AIC23進行配置來實現。模擬音頻信號通過A/D轉換、編碼后, 由數字音頻接口傳送給 DSP 的串口 McBSP0,并接收 DSP 處理后的數據, 收到的數字音頻信號經解碼、D/A轉換后,從 HEADPHO/LINEOUT輸出。
3 接口軟件配置
3.1 AIC初始化配置
語音識別系統只有在完成相關的配置后,才能進行音頻信號的傳輸與算法的運算。由于是利用C5402的McBSP口來控制AIC23芯片, 且2個McBSP口設置成不同的工作方式,McBSP0 配置為I2C模式和McBSP1配置成SPI 模式[3]。AIC23芯片初始化設置時的部分代碼。
void aic23_config(void)
{
WRITE_WORD(0x1E00);//復位aic23
waite_10ns(1000);//等待10ms
WRITE_WORD(0x0C00);//系統上電
WRITE_WORD(0x0017);//左聲道輸入取消靜音,音量0dB
WRITE_WORD(0x0217);//右聲道輸入取消靜音,音量0dB
WRITE_WORD(0x05F6);//左聲道耳機音量0dB
WRITE_WORD(0x07F6);//右聲道耳機音量0dB
WRITE_WORD(0x0929);//選擇耳機旁路輸入, 關閉DAC輸出WRITE_WORD(0x0A04);//關閉DAC靜音
WRITE_WORD(0x0E53);// TLV320AIC23主時鐘為18.432MHz; ADC 8kHz DAC采樣率為8kHz
WRITE_WORD(0x100E);
WRITE_WORD(0x12C1);//激活數字接口
}
3.2 多通道緩沖串口 McBSP0 接口配置
音頻 Codec 芯片 AIC23 的數字音頻接口支持右判斷模式、 左判斷模式、 I2S模式和 DSP 模式 4 種方式。該系統中 C5402 通過多通道緩沖串口 McBSP0 與AIC23 進行音頻數據的收發,McBSP0 分別配置為 I2C 模式,根據 AIC23 在 I2C模式下的接口時序,McBSP0配置如表1所示[4]。
3.3 多通道緩沖串口 McBSP1 接口配置
音頻 Codec 芯片 AIC23 的配置接口支持I2C模式,也支持SPI模式。由于C5402的多通道緩沖串口支持SPI工作方式, 可以與AIC23進行無縫連接, 因此將C5402的McBSP1以SPI接口方式與AIC23連接,對其寫控制字,AIC23的SPI接口時序圖如圖2所示。
根據 AIC23 的接口時序, 需要對 McBSP1 初始化,進行相應的配置, 關鍵參數設置如下。
void McBsp1_init( void )
{*(SPSA1)=SPCR1;
*(SPSD1)=0x0000;
*(SPSA1)=SPCR2;
*(SPSD1)=0x0000;
*(SPSA1)=RCR1;
*(SPSD1)=0x40;
*(SPSA1)=RCR2;
*(SPSD1)=0x00;
*(SPSA1)=XCR1;
*(SPSD1)=0x40;
*(SPSA1)=XCR2;
*(SPSD1)=0x00;
*(SPSA1)=SPCR2;
*(SPSD1)=0x200;
*(SPSA1)=PCR;
*(SPSD1)=0x800d;
*(SPSA1)=SRGR1;
*(SPSD1)=0x0201;
*(SPSA1)=SRGR2;
*(SPSD1)=0xa001;
*(SPSA1)=SPCR2;
*(SPSD1)=0x0201;
*(SPSA1)=SPCR1;
*(SPSD1)=0x2001;}
4 結論
本文結合C5402與AIC23的硬件接口設計,分析了 C5402 的多通道緩沖串口McBSP與AIC23的通信方式,詳細講述了McBSP以及AIC23的配置過程, 并給出了相關參數和實現代碼。本文闡述的硬件接口設計和軟件配置已經在語音處理系統中得到應用。實踐證明,本文闡述的硬件接口設計和軟件配置是正確合理的。
參考文獻:
[1] 尹勇,歐光軍.DSP 集成開發環境CCS開發指南[M].北京:北京航空航天大學出版社,2003.
[2] 戴明楨,周建江.TMS320C54X DSP結構、原理及應用[M].北京:北京航空航天大學出版社,2001.
[3] 徐盛,胡劍凌.數字信號處理器開發與實踐[M].上海:上海交通大學出版社,2003.
[4] 清源科技.TMS320C54x DSP應用程序設計教程[M].北京:機械工業出版社,2003.