《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于SPI總線的DSP與音頻編解碼芯片的接口設(shè)計
基于SPI總線的DSP與音頻編解碼芯片的接口設(shè)計
來源:電子技術(shù)應(yīng)用2013年第6期
張 瑋1,2,劉 宇2,薛志遠(yuǎn)1,2,張鐵軍2,王東輝2
1.中國科學(xué)院大學(xué),北京100049; 2.中國科學(xué)院聲學(xué)研究所,北京100190
摘要: 語音信號處理系統(tǒng)中,DSP與音頻編解碼芯片存在數(shù)據(jù)格式與速度不匹配的問題,使接口成為設(shè)計的關(guān)鍵。針對該問題提出了一種基于SPI總線的DSP與音頻編解碼芯片的接口設(shè)計方法,介紹了接口的關(guān)鍵組成部分。此方法在FPGA上進行了實現(xiàn),已應(yīng)用于SuperV DSP處理器的音頻處理系統(tǒng)中。
中圖分類號: TN7
文獻識別碼: A
文章編號: 0258-7998(2013)06-0031-03
Design of the interface between DSP and audio CODEC based on SPI
Zhang Wei1,2,Liu Yu2,Xue Zhiyuan1,2,Zhang Tiejun2,Wang Donghui2
1.University of Chinese Academy of Sciences,Beijing 100049,China; 2.Institute of Acoustics,Chinese Academy of Sciences,Beijing 100190,China
Abstract: In audio signal processing system, interface design is critical to the implementation of the communication because the data format and speed don’t match between the DSP and CODEC. To solve this problem, this paper presents an interface design method based on SPI bus, and gives the main part of the interface. This method has implemented in FPGA, and applied to the audio processing system based on the SuperV DSP processor.
Key words : SPI;audio CODEC;interface;SuperV processor

    在語音信號處理系統(tǒng)中,DSP要完成信號的采集和運算處理任務(wù),必須有前端語音信號A/D、D/A轉(zhuǎn)換接口電路的配合[1]。由于兩者之間存在數(shù)據(jù)格式與速度不匹配的問題,所以接口設(shè)計成為通信實現(xiàn)的關(guān)鍵。針對這一問題,本文提出了一種基于SPI總線的DSP與音頻編解碼芯片接口設(shè)計方法,介紹了接口的關(guān)鍵組成部分,即控制模塊和數(shù)據(jù)通信模塊??刂颇K由SPI總線實現(xiàn)DSP對音頻編解碼芯片的配置與控制;數(shù)據(jù)通信模塊采用串/并、并/串轉(zhuǎn)換和共享FIFO的結(jié)構(gòu)解決數(shù)據(jù)格式與速度不匹配的問題。此方法在FPGA上得以實現(xiàn),并已成功應(yīng)用在基于SuperV DSP處理器的音頻處理系統(tǒng)中。

1 總體結(jié)構(gòu)
    TLV320AIC23(簡稱AIC23)是TI公司專為音頻處理應(yīng)用定做的單片接口電路。該器件中A/D和D/A變換器采用具有集成過取樣數(shù)字內(nèi)插濾波器的多位Σ-△技術(shù),數(shù)字傳輸字長可為16 bit、20 bit、24 bit和32 bit,采樣率為8 kHz~96 kHz[2],出色的性能使該芯片廣泛應(yīng)用于音頻處理系統(tǒng)中。本文以此芯片為例作闡述。接口電路的功能框圖如圖1所示。

    音頻輸入、輸出為模擬信號,通過AIC23芯片轉(zhuǎn)換為數(shù)字信號。FPGA中的SPI控制模塊接收DSP寫入的對AIC23的配置信息并通過配置接口編程AIC23芯片,以使之正常工作。AIC23芯片與DSP之間的數(shù)據(jù)通信則通過讀寫FIFO以及串/并、并/串?dāng)?shù)據(jù)格式轉(zhuǎn)換接口實現(xiàn)。
2 SPI控制器
2.1 SPI工作原理

    SPI串行通信接口是一種常用的標(biāo)準(zhǔn)接口,由于其使用簡單方便且節(jié)省系統(tǒng)資源,很多芯片都支持該接口,應(yīng)用相當(dāng)廣泛[3]。標(biāo)準(zhǔn)SPI是高速、全雙工、異步通信總線[4],具有傳輸速率高、易于應(yīng)用和管腳少的優(yōu)點。
    SPI接口有4根信號線:設(shè)備選擇(CS)、時鐘(SCLK)、串行主出從入數(shù)據(jù)線(MOSI)、串行主入從出數(shù)據(jù)線(MISO)。設(shè)備選擇線CS用于選擇并激活從設(shè)備,由工作在主模式下的SPI控制器驅(qū)動輸出。當(dāng)CS為低電平時,對應(yīng)從設(shè)備的SPI接口才處于工作狀態(tài)。串行同步時鐘SCLK用來同步主從設(shè)備的數(shù)據(jù)傳輸,由Master輸出,Slave設(shè)備按SCLK的步調(diào)接收或發(fā)送數(shù)據(jù)。另外2條串行數(shù)據(jù)線分別承擔(dān)Master到Slave、Slave到Master的數(shù)據(jù)傳輸。
    此外,根據(jù)輸出串行同步時鐘(SCLK)極性(CPOL)和相位(CPHA)的不同,SPI總線有4種工作方式。為了與外設(shè)進行數(shù)據(jù)交換,需根據(jù)外設(shè)工作要求對輸出串行同步時鐘極性和相位進行配置。配置信息及不同模式下的時序如圖2所示。

    時鐘控制模塊與SPI控制模塊一起產(chǎn)生SCLK,作為數(shù)據(jù)傳輸?shù)臅r鐘;SPI控制模塊是最重要的部分,其產(chǎn)生的控制信號用來控制數(shù)據(jù)的發(fā)送、接收等;SPI控制寄存器實現(xiàn)DSP對一些寄存器的配置,進而啟動或者控制一些傳輸模式(主從模式、傳輸模式選擇等),實現(xiàn)主從SPI之間的數(shù)據(jù)傳輸;從設(shè)備選擇寄存器在主SPI連接多個從SPI時啟用,主SPI根據(jù)需求分別產(chǎn)生各從設(shè)備的CS信號;SPI狀態(tài)寄存器用于存儲模塊在工作過程中的一些狀態(tài),DSP可以通過查看這些狀態(tài)進行下一步的操作;移位控制邏輯模塊根據(jù)SPI控制模塊產(chǎn)生移位控制信號,數(shù)據(jù)的發(fā)送和接收都是通過移位寄存器一位一位地進行傳輸?shù)?,移位過程在數(shù)據(jù)移位寄存器中進行。
2.3 控制模塊
    控制模塊的主要功能是控制SCLK時鐘、CS選擇信號以及產(chǎn)生有關(guān)收發(fā)的一系列狀態(tài)信號。在發(fā)送或者接收數(shù)據(jù)之前,須配置SPI控制模塊的控制寄存器。在控制寄存器中,需要設(shè)定SPI的工作模式、一次傳輸數(shù)據(jù)的長度、數(shù)據(jù)傳輸?shù)姆较蛞约笆鼓軘?shù)據(jù)傳輸。在控制寄存器的傳輸使能位有效之前,SPI控制器一直處于IDLE狀態(tài);當(dāng)傳輸使能位有效之后,SPI控制器等待SCLK的上升沿或下降沿出現(xiàn) (具體情況根據(jù)工作模式而定),之后才會開始傳輸指定長度與位寬的數(shù)據(jù)。
2.4 數(shù)據(jù)移位模塊
    圖4是主SPI向從SPI發(fā)送數(shù)據(jù)時的內(nèi)部線路圖。圖中主從SPI連接,實線為主發(fā)送從接收數(shù)據(jù)通路,虛線為從發(fā)送主接收數(shù)據(jù)通路。主SPI中的8 bit移位寄存器通過MOSI和MISO引腳與從SPI中的8 bit移位寄存器相連接。連接后,主從SPI的移位寄存器共同組成了一個16 bit的移位寄存器。SPI傳送過程中,在時鐘SCLK的控制下,主SPI中發(fā)送數(shù)據(jù)寄存器中的數(shù)據(jù)一位一位地移進從SPI中的接收數(shù)據(jù)寄存器。

    AIC23在幀同步信號下降沿到來時開始傳輸數(shù)據(jù);在時鐘信號BCLK下降沿時,DIN和DOUT同時變化,雙向傳輸數(shù)據(jù),先傳輸左聲道信號,后傳輸右聲道信號。
3.2 數(shù)據(jù)通信接口設(shè)計
    通信接口由同步信號檢測及控制信號生成模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)發(fā)送模塊、標(biāo)志控制模塊和數(shù)據(jù)緩存模塊5部分組成,這些模塊完成數(shù)據(jù)的接收和發(fā)送。此外,格式轉(zhuǎn)換模塊用于DSP和CODEC的數(shù)據(jù)格式和速度的匹配。其功能框圖如圖6所示。

 

 

    讀寫FIFO是DSP與音頻CODEC的共享存儲,按照“先進去的數(shù)據(jù)先被讀出”的原則讀寫。兩者可獨立對FIFO進行操作,因此讀寫速度不一致也不會造成影響。
4 功能驗證
    本接口設(shè)計方法應(yīng)用于SuperV DSP與AIC23的通信中,使設(shè)計得到了功能驗證。驗證過程中,DSP首先對AIC23進行初始化配置,配置信息表如表1所示。DSP通過SPI總線將控制字寫入對應(yīng)的寄存器,確定AIC23的工作方式;之后兩者進行數(shù)據(jù)通信,AIC23采集音頻信號并轉(zhuǎn)換為數(shù)字信號通過接口傳給DSP,DSP對數(shù)字語音信號進行識別、增強等處理后,將信號重新回傳給AIC23播放。經(jīng)驗證,該設(shè)計方法可以實現(xiàn)兩者之間的有效通信。

    本文提出了一種基于SPI總線的DSP與音頻編解碼芯片的接口設(shè)計方法,介紹了接口的關(guān)鍵組成單元,并將此設(shè)計實現(xiàn)并應(yīng)用于語音信號處理系統(tǒng)里SuperV DSP處理器與AIC23的通信中。經(jīng)驗證,此設(shè)計可實現(xiàn)兩者之間的通信并且具有一定程度的通用性,可方便音頻處理系統(tǒng)中DSP與音頻采樣芯片的通信。
參考文獻
[1] 王嘉,歐建平.利用I2C總線實現(xiàn)DSP與音頻采樣芯片TLV320AIC23的接口控制[J].微處理機,2003(4):10-12.
[2] Texas Instruments.TLV320AIC23,stereo audio CODEC,8- to 96-kHz,with integrated headphone amplifier[R].Houston:Texas Instruments,2001.
[3] 華卓立,姚若河.一種通用SPI總線接口的FPGA設(shè)計與實現(xiàn)[J].微計算機信息,2008,24(6):212-213.
[4] OUDJIDA A K,BERRANDJIA M L,LIACHA A,et al. Design and test of general-purpose SPI Master/Slave IPs  on OPB bus[C].International Multi-Conference on Systems  Signals and Devices(SSD),Amman,Jordan,2010:27-30.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。