文獻(xiàn)識(shí)別碼: A
文章編號(hào): 0258-7998(2013)06-0031-03
在語(yǔ)音信號(hào)處理系統(tǒng)中,DSP要完成信號(hào)的采集和運(yùn)算處理任務(wù),必須有前端語(yǔ)音信號(hào)A/D、D/A轉(zhuǎn)換接口電路的配合[1]。由于兩者之間存在數(shù)據(jù)格式與速度不匹配的問(wèn)題,所以接口設(shè)計(jì)成為通信實(shí)現(xiàn)的關(guān)鍵。針對(duì)這一問(wèn)題,本文提出了一種基于SPI總線的DSP與音頻編解碼芯片接口設(shè)計(jì)方法,介紹了接口的關(guān)鍵組成部分,即控制模塊和數(shù)據(jù)通信模塊。控制模塊由SPI總線實(shí)現(xiàn)DSP對(duì)音頻編解碼芯片的配置與控制;數(shù)據(jù)通信模塊采用串/并、并/串轉(zhuǎn)換和共享FIFO的結(jié)構(gòu)解決數(shù)據(jù)格式與速度不匹配的問(wèn)題。此方法在FPGA上得以實(shí)現(xiàn),并已成功應(yīng)用在基于SuperV DSP處理器的音頻處理系統(tǒng)中。
1 總體結(jié)構(gòu)
TLV320AIC23(簡(jiǎn)稱(chēng)AIC23)是TI公司專(zhuān)為音頻處理應(yīng)用定做的單片接口電路。該器件中A/D和D/A變換器采用具有集成過(guò)取樣數(shù)字內(nèi)插濾波器的多位Σ-△技術(shù),數(shù)字傳輸字長(zhǎng)可為16 bit、20 bit、24 bit和32 bit,采樣率為8 kHz~96 kHz[2],出色的性能使該芯片廣泛應(yīng)用于音頻處理系統(tǒng)中。本文以此芯片為例作闡述。接口電路的功能框圖如圖1所示。
音頻輸入、輸出為模擬信號(hào),通過(guò)AIC23芯片轉(zhuǎn)換為數(shù)字信號(hào)。FPGA中的SPI控制模塊接收DSP寫(xiě)入的對(duì)AIC23的配置信息并通過(guò)配置接口編程AIC23芯片,以使之正常工作。AIC23芯片與DSP之間的數(shù)據(jù)通信則通過(guò)讀寫(xiě)FIFO以及串/并、并/串?dāng)?shù)據(jù)格式轉(zhuǎn)換接口實(shí)現(xiàn)。
2 SPI控制器
2.1 SPI工作原理
SPI串行通信接口是一種常用的標(biāo)準(zhǔn)接口,由于其使用簡(jiǎn)單方便且節(jié)省系統(tǒng)資源,很多芯片都支持該接口,應(yīng)用相當(dāng)廣泛[3]。標(biāo)準(zhǔn)SPI是高速、全雙工、異步通信總線[4],具有傳輸速率高、易于應(yīng)用和管腳少的優(yōu)點(diǎn)。
SPI接口有4根信號(hào)線:設(shè)備選擇(CS)、時(shí)鐘(SCLK)、串行主出從入數(shù)據(jù)線(MOSI)、串行主入從出數(shù)據(jù)線(MISO)。設(shè)備選擇線CS用于選擇并激活從設(shè)備,由工作在主模式下的SPI控制器驅(qū)動(dòng)輸出。當(dāng)CS為低電平時(shí),對(duì)應(yīng)從設(shè)備的SPI接口才處于工作狀態(tài)。串行同步時(shí)鐘SCLK用來(lái)同步主從設(shè)備的數(shù)據(jù)傳輸,由Master輸出,Slave設(shè)備按SCLK的步調(diào)接收或發(fā)送數(shù)據(jù)。另外2條串行數(shù)據(jù)線分別承擔(dān)Master到Slave、Slave到Master的數(shù)據(jù)傳輸。
此外,根據(jù)輸出串行同步時(shí)鐘(SCLK)極性(CPOL)和相位(CPHA)的不同,SPI總線有4種工作方式。為了與外設(shè)進(jìn)行數(shù)據(jù)交換,需根據(jù)外設(shè)工作要求對(duì)輸出串行同步時(shí)鐘極性和相位進(jìn)行配置。配置信息及不同模式下的時(shí)序如圖2所示。
時(shí)鐘控制模塊與SPI控制模塊一起產(chǎn)生SCLK,作為數(shù)據(jù)傳輸?shù)臅r(shí)鐘;SPI控制模塊是最重要的部分,其產(chǎn)生的控制信號(hào)用來(lái)控制數(shù)據(jù)的發(fā)送、接收等;SPI控制寄存器實(shí)現(xiàn)DSP對(duì)一些寄存器的配置,進(jìn)而啟動(dòng)或者控制一些傳輸模式(主從模式、傳輸模式選擇等),實(shí)現(xiàn)主從SPI之間的數(shù)據(jù)傳輸;從設(shè)備選擇寄存器在主SPI連接多個(gè)從SPI時(shí)啟用,主SPI根據(jù)需求分別產(chǎn)生各從設(shè)備的CS信號(hào);SPI狀態(tài)寄存器用于存儲(chǔ)模塊在工作過(guò)程中的一些狀態(tài),DSP可以通過(guò)查看這些狀態(tài)進(jìn)行下一步的操作;移位控制邏輯模塊根據(jù)SPI控制模塊產(chǎn)生移位控制信號(hào),數(shù)據(jù)的發(fā)送和接收都是通過(guò)移位寄存器一位一位地進(jìn)行傳輸?shù)模莆贿^(guò)程在數(shù)據(jù)移位寄存器中進(jìn)行。
2.3 控制模塊
控制模塊的主要功能是控制SCLK時(shí)鐘、CS選擇信號(hào)以及產(chǎn)生有關(guān)收發(fā)的一系列狀態(tài)信號(hào)。在發(fā)送或者接收數(shù)據(jù)之前,須配置SPI控制模塊的控制寄存器。在控制寄存器中,需要設(shè)定SPI的工作模式、一次傳輸數(shù)據(jù)的長(zhǎng)度、數(shù)據(jù)傳輸?shù)姆较蛞约笆鼓軘?shù)據(jù)傳輸。在控制寄存器的傳輸使能位有效之前,SPI控制器一直處于IDLE狀態(tài);當(dāng)傳輸使能位有效之后,SPI控制器等待SCLK的上升沿或下降沿出現(xiàn) (具體情況根據(jù)工作模式而定),之后才會(huì)開(kāi)始傳輸指定長(zhǎng)度與位寬的數(shù)據(jù)。
2.4 數(shù)據(jù)移位模塊
圖4是主SPI向從SPI發(fā)送數(shù)據(jù)時(shí)的內(nèi)部線路圖。圖中主從SPI連接,實(shí)線為主發(fā)送從接收數(shù)據(jù)通路,虛線為從發(fā)送主接收數(shù)據(jù)通路。主SPI中的8 bit移位寄存器通過(guò)MOSI和MISO引腳與從SPI中的8 bit移位寄存器相連接。連接后,主從SPI的移位寄存器共同組成了一個(gè)16 bit的移位寄存器。SPI傳送過(guò)程中,在時(shí)鐘SCLK的控制下,主SPI中發(fā)送數(shù)據(jù)寄存器中的數(shù)據(jù)一位一位地移進(jìn)從SPI中的接收數(shù)據(jù)寄存器。
AIC23在幀同步信號(hào)下降沿到來(lái)時(shí)開(kāi)始傳輸數(shù)據(jù);在時(shí)鐘信號(hào)BCLK下降沿時(shí),DIN和DOUT同時(shí)變化,雙向傳輸數(shù)據(jù),先傳輸左聲道信號(hào),后傳輸右聲道信號(hào)。
3.2 數(shù)據(jù)通信接口設(shè)計(jì)
通信接口由同步信號(hào)檢測(cè)及控制信號(hào)生成模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)發(fā)送模塊、標(biāo)志控制模塊和數(shù)據(jù)緩存模塊5部分組成,這些模塊完成數(shù)據(jù)的接收和發(fā)送。此外,格式轉(zhuǎn)換模塊用于DSP和CODEC的數(shù)據(jù)格式和速度的匹配。其功能框圖如圖6所示。
讀寫(xiě)FIFO是DSP與音頻CODEC的共享存儲(chǔ),按照“先進(jìn)去的數(shù)據(jù)先被讀出”的原則讀寫(xiě)。兩者可獨(dú)立對(duì)FIFO進(jìn)行操作,因此讀寫(xiě)速度不一致也不會(huì)造成影響。
4 功能驗(yàn)證
本接口設(shè)計(jì)方法應(yīng)用于SuperV DSP與AIC23的通信中,使設(shè)計(jì)得到了功能驗(yàn)證。驗(yàn)證過(guò)程中,DSP首先對(duì)AIC23進(jìn)行初始化配置,配置信息表如表1所示。DSP通過(guò)SPI總線將控制字寫(xiě)入對(duì)應(yīng)的寄存器,確定AIC23的工作方式;之后兩者進(jìn)行數(shù)據(jù)通信,AIC23采集音頻信號(hào)并轉(zhuǎn)換為數(shù)字信號(hào)通過(guò)接口傳給DSP,DSP對(duì)數(shù)字語(yǔ)音信號(hào)進(jìn)行識(shí)別、增強(qiáng)等處理后,將信號(hào)重新回傳給AIC23播放。經(jīng)驗(yàn)證,該設(shè)計(jì)方法可以實(shí)現(xiàn)兩者之間的有效通信。
本文提出了一種基于SPI總線的DSP與音頻編解碼芯片的接口設(shè)計(jì)方法,介紹了接口的關(guān)鍵組成單元,并將此設(shè)計(jì)實(shí)現(xiàn)并應(yīng)用于語(yǔ)音信號(hào)處理系統(tǒng)里SuperV DSP處理器與AIC23的通信中。經(jīng)驗(yàn)證,此設(shè)計(jì)可實(shí)現(xiàn)兩者之間的通信并且具有一定程度的通用性,可方便音頻處理系統(tǒng)中DSP與音頻采樣芯片的通信。
參考文獻(xiàn)
[1] 王嘉,歐建平.利用I2C總線實(shí)現(xiàn)DSP與音頻采樣芯片TLV320AIC23的接口控制[J].微處理機(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è)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(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.