倪啟彥,石建波
(電子工程學院,安徽 合肥 230037)
TMS320C6713(C6713)是業界流行的一款高性能的32 bit浮點DSP,在 255 MHz時鐘主頻下,其最高執行速度可達1 800 MIPS。C6713擁有豐富的片內資源,其多功能串口不僅可以配置成標準串口的全雙工串行通信模式,還能配置成SPI模式,適應于多種應用。TLV320AIC23B是一款高性能立體聲的編解碼器 (簡稱AIC23B),內部的ADC和DAC采用Sigma-Delta技術,采樣率支持8 kHz~96 kHz, 數據傳輸能配置成 16、20、24 和 32 bit。AIC23B還提供了麥克風輸入,左右兩通道線性輸入、線性輸出及耳機輸出。本文詳細介紹AIC23B的電路連接和軟件設計。利用C6713的McBSP1配置AIC23B的內部寄存器,利用McBSP0與AIC23B進行數據傳輸。系統采集外部語音信號,采集數據通過C6713處理后送到AIC23B轉換成模擬信號。
AIC23B是TI公司出品的一款高品質立體聲音頻編解碼芯片,其與處理器有兩個連接口:控制口和數據口,它們都能與C6713的McBSP(Multichannel Buffered Serial Port)無縫連接。內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式,輸入和輸出都具有可編程增益調節。AIC23B的模數轉換和數模轉換部件高度集成在芯片內部,ADC和DAC的信噪比分別可達到90 dB和100 dB。同時,AIC23B還具有很低的能耗,回放模式下功率僅為 23 mW,省電模式下更是小于 15 μW[1],其特性如下:
·∑-△過采樣技術;
·采樣速率:8 kHz~96 kHz;
·數據格式:16 bit、20 bit、24 bit、32 bit;
·信噪比(NSR):90 dBA(96 kHz);
·省電模式設置;
·包含麥克風輸入、立體聲輸入、耳機輸出(帶耳機放大器)、立體聲輸出;
·1.42 V~3.6 V內核電壓;
·2.7 V~3.6V緩沖器和模擬電路供電電壓;
·兼容TI的McBSP協議。
AIC23B的引腳圖如圖1所示,主要有模擬輸入輸出通道、芯片控制口、芯片數據口、時鐘接口等。主機通過控制口(CS、MODE、SDIN、SCLK)配置 AIC23B寄存器,控制口根據MODE可配置成兩種模式:SPI模式和2-Wire模式。本文采用SPI模式,如表1所示。圖2為SPI模式時控制口的時序圖,B15~B9為 AIC23B內部寄存器的 7位地址,B8~B0為AIC23B寄存器的9 bit數據。主機通過AIC23B的數據口與其交換數據,數據接口有4種模式:右對齊模式、左對齊模式、IIS模式、DSP模式,四種模式都是先傳左通道的數據后傳右通道的數據。本文采用DSP數據傳輸模式與C6713的McBSP相連,在這種方式下,AIC23B可以很方便地與DSP的McBSP接口無縫相接,LRCIN及LRCOUT必須與DSP的McBSP的幀同步信號相連。從LRCIN或LRCOUT的下降沿開始傳送數據,第1個數據字是左聲道的數據字,緊跟其后的是右聲道的數據字,輸入字長由寄存器IWL設定[2]。圖3為DSP模式下數據傳輸的時序圖[3]。


表1 MODE的引腳設置


AIC23B主機通過寫AIC23B的寄存器來配置AIC23B,AIC23B有十一個寄存器,表2顯示各寄存器的地址和名稱。
在DSP嵌入式系統中,多通道緩沖串行接口McBSP是一個功能強大、連線簡潔的接口,通常用來連接音頻編解碼芯片、串行AD器件、串行DA器件等。McBSP包含一個數據通道和一個控制通道,互相獨立的發送、接收引腳,4個通信控制信息引腳。DSP器件通過32 bit并行總線訪問McBSP控制和數據寄存器。圖4為McBSP組成框圖[4]。

表2 顯示各寄存器的地址和名稱
C6713的McBSP模塊具有如下基本特性:
·全雙工通信;
·兩個數據緩沖寄存器;
·獨立的發送和接收幀及時鐘;
·可直接連接工業標準的CODEC、AIC以及其他串口AD/DA芯片;
·在數據傳輸過程中,可設置為外部移位時鐘或內部可編程的頻率移位;
·可連接AC97標準的接口、IIS接口、SPI接口;
·多達128通道的發送和接收;
·多種數據格式:8、12、16、20、24、和 32 bit;
·8 bit數據格式中可設為低字節在前或高字節在前;
·同步幀和數據時鐘的極性可編程;
·高度可編程的內部時鐘和幀產生。

根據McBSP與AIC23B的原理,無論是控制口還是數據口AIC23B都可以與C6713的McBSP無縫連接,本設計采用McBSP1連接AIC23B的控制口,用來配置AIC23B的內部寄存器。時鐘CLKX1和幀同步發送信號FSX1由DSP產生,向AIC23B發送16 bit的數據字,來初使化AIC23B。每個16 bit的數據字分為兩部分,第一部分為AIC23B中寄存器的地址,共7 bit;第二部分為對該寄存器的設置值,共9 bit,對應著寄存器的每一位 (D8~D0)。用McBSP0與AIC23B數據口直接相連,用來與 AIC23B交換數據。CLKX0、CLKR0和幀同步信號FSX0、FSR0由AIC23B產生。圖5為C6713與AIC23B的硬件連接示意圖。MODE引腳接3.3 V高電平,AIC23B配置成SPI模式,McBSP1工作于SPI模式下;McBSP0配置成外部時鐘、幀信號驅動接收和發送。AIC23B中共有11個寄存器,對AIC23B進行初始化時,必須由DSP向它發送11個16 bit數據字來設置它的寄存器。

圖5 C6713與AIC23B的硬件接口
軟件設計分為初始化、數據傳輸和數據處理3個部分。如圖6給出了系統的工作流程,初始化完成后,系統進入工作狀態。外部模擬信號通過AIC23B的AD變換器轉換成數字信號,通過數據口傳給 DSP,數據經過 DSP處理后傳到 AIC23B,經過AIC23B的DA變換后放大輸出。
初始化部分包括McBSP的初始化和AIC23B的初始化。該設計中AIC23B工作于主模式,左右聲道的采樣字寬均為16 bit,數據接口為DSP模式。DSP通過SPI總線接口對音頻編解碼芯片AIC23B的寄存器進行設置,控制其采樣速率、音頻源、音量等參數。其初始化步驟為:
(1)設置McBSP1為SPI模式,用于配置AIC23B。

圖6 AIC23B的工作流程
(2)設置McBSP0為被動接收模式,用于與AIC23B交換數據。
(3)用DSP的McBSP1配置AIC23B相關寄存器,使其工作在主動模式。
以下給出配置AIC23B寄存器的程序:

圖7為在CCS開發軟件下對1.1 kHz音頻信號采集的波形圖,其中橫坐標為連續時間段內采樣的序號,縱坐標為采樣轉換后的數值。AIC23B工作在USB模式,采樣率為48.8 kHz,所以一個周期采樣44個點。信號經過C6713處理后回送到AIC23B,經過AIC23B的DA變換器變換為音頻信號。

本文詳細介紹了AIC23B與TI公司的32 bit高性能DSP TMS320C6713的接口設計和編程實現。設計電路簡潔,編程簡單,可用于語音處理、數字電話等音頻信號處理的系統中。
[1]TEXAS INSTRUMENTS,TLV320AIC23B Data Sheet,2006.
[2]呂衛強,黃荔.基于短時能量加過零率的實時語音端點檢測方法[J].兵工自動化,2009,28(9).
[3]齊敏,王玲,韓韜,劉輝.基于 TMS320DM642的實時語音處理系統[J].電聲技術,2009,33(1):65-67.
[4]劉向宇.DSP嵌入式常用模塊與綜合系統設計實例精講[M].電子工業出版社,2009.
[5]涂水林,薛正明.TMS320DM642與音頻編解碼器的接口設計[J].電聲技術,2006,30(9):26-29.