《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于SPI總線的DSP與音頻編解碼芯片的接口設計
基于SPI總線的DSP與音頻編解碼芯片的接口設計
來源:電子技術應用2013年第6期
張 瑋1,2,劉 宇2,薛志遠1,2,張鐵軍2,王東輝2
1.中國科學院大學,北京100049; 2.中國科學院聲學研究所,北京100190
摘要: 語音信號處理系統中,DSP與音頻編解碼芯片存在數據格式與速度不匹配的問題,使接口成為設計的關鍵。針對該問題提出了一種基于SPI總線的DSP與音頻編解碼芯片的接口設計方法,介紹了接口的關鍵組成部分。此方法在FPGA上進行了實現,已應用于SuperV DSP處理器的音頻處理系統中。
中圖分類號: 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

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

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

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

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

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

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

 

 

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

    本文提出了一種基于SPI總線的DSP與音頻編解碼芯片的接口設計方法,介紹了接口的關鍵組成單元,并將此設計實現并應用于語音信號處理系統里SuperV DSP處理器與AIC23的通信中。經驗證,此設計可實現兩者之間的通信并且具有一定程度的通用性,可方便音頻處理系統中DSP與音頻采樣芯片的通信。
參考文獻
[1] 王嘉,歐建平.利用I2C總線實現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設計與實現[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.

此內容為AET網站原創(chuàng),未經授權禁止轉載。