《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP雙路音頻信號(hào)實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)
基于DSP雙路音頻信號(hào)實(shí)時(shí)處理系統(tǒng)設(shè)計(jì)
現(xiàn)代電子技術(shù)
袁茹軒,尉 樂,何天璐,高中山
摘要: 基于DSP雙路音頻信號(hào)實(shí)時(shí)處理系統(tǒng)設(shè)計(jì),摘要采用TMS320C5509A作為核心處理器,給出了一種利用DMA結(jié)合多通道緩沖串口McBSP組成的語音信號(hào)采集系統(tǒng)的實(shí)現(xiàn)方法。合理分配了數(shù)據(jù)緩沖空間,可靠穩(wěn)定地實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新,完成雙路立體聲信號(hào)的實(shí)時(shí)采集、處理和
關(guān)鍵詞: DSP TMS320C5509A 雙路音頻
Abstract:
Key words :

摘要 采用TMS320C5509A作為核心處理器,給出了一種利用DMA結(jié)合多通道緩沖串口McBSP組成的語音信號(hào)采集系統(tǒng)的實(shí)現(xiàn)方法。合理分配了數(shù)據(jù)緩沖空間,可靠穩(wěn)定地實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新,完成雙路立體聲信號(hào)的實(shí)時(shí)采集、處理和發(fā)送。闡述了AIC芯片與DSP連接的配置和數(shù)據(jù)接口的設(shè)計(jì)方法,給出CODEC與DSP之間數(shù)據(jù)傳輸?shù)某绦蚴纠?。試?yàn)證明。該系統(tǒng)能夠高精度、高穩(wěn)定地完成音頻信號(hào)的采集處理和發(fā)送任務(wù),適用于個(gè)人便攜式音頻通信設(shè)備的驅(qū)動(dòng)開發(fā)。
關(guān)鍵詞 DSP;DMA;TLV320AIC23B;實(shí)時(shí)采集處理;緩沖更新

    現(xiàn)代音頻信號(hào)處理領(lǐng)域,通常需要采集大量的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,并目逐步從處理單路信號(hào)發(fā)展為處理多路信號(hào)。對(duì)語音信號(hào)而言,采用元音強(qiáng)度與元音間隔作為聽者識(shí)別信號(hào)的基礎(chǔ)參數(shù)。另外音頻信號(hào)處理的器件也從傳統(tǒng)的模/數(shù)、數(shù)/模轉(zhuǎn)換器發(fā)展成為多款高性能專用芯片。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)以工控機(jī)或普通單片機(jī)為核心,整個(gè)系統(tǒng)體積大、功耗高,未考慮語音數(shù)據(jù)實(shí)時(shí)處理和發(fā)送。設(shè)計(jì)的實(shí)時(shí)語音處理系統(tǒng)具有數(shù)據(jù)量大、緩沖更新迅速、穩(wěn)定性高、采集發(fā)送延時(shí)小等特點(diǎn)。該系統(tǒng)利用DSP進(jìn)行數(shù)據(jù)處理,DMA與McBSP實(shí)現(xiàn)雙路音頻信號(hào)的實(shí)時(shí)并行采集發(fā)送,便于實(shí)驗(yàn)室進(jìn)行數(shù)據(jù)分析、算法仿真和過優(yōu)化處理流程等,也可用于個(gè)人便攜式音頻通信設(shè)備的驅(qū)動(dòng)開發(fā)。

1 硬件概述
    該系統(tǒng)采用美國(guó)Texas Instruments公司TMS320VC55X處理器,其繼承了C54X系列的發(fā)展趨勢(shì),低功耗、低成本,在有限的功率條件下能夠保持優(yōu)良的性能。工作在0.9 V,其核的功率僅為0.05W/MIPS,性能可達(dá)800 MIPS,對(duì)數(shù)字通信、語音處理等便攜式應(yīng)用提出的挑戰(zhàn)提供了有效的解決方案。以TMS320VC5509A為例,該芯片共有3個(gè)多通道緩沖串口,分別為McBSP0、McBSP1、McBSP2,每個(gè)串口接收和發(fā)送數(shù)據(jù)使用獨(dú)立的時(shí)鐘,支持連續(xù)傳送,可直接與多媒體數(shù)字信號(hào)編碼器的工業(yè)接口以及ADC/DAC接口實(shí)現(xiàn)無縫連接,通過CPU或DMA對(duì)16 bit寄存器訪問實(shí)現(xiàn)通信,由DX引腳發(fā)送數(shù)據(jù),RX引腳接收數(shù)據(jù)。通信時(shí)鐘和幀同步有CLKX,CLKR,F(xiàn)SX以及FSR引腳來控制。TMS320VC5509A芯片提供
6個(gè)通道DMA控制器,可獨(dú)立于CPU完成4個(gè)標(biāo)準(zhǔn)接口的數(shù)據(jù)傳輸。每個(gè)通道可從一個(gè)數(shù)據(jù)源地址讀取數(shù)據(jù)后寫入另一個(gè)口或目標(biāo)地址。特別指出5509芯片具有64 kB雙訪問RAM,其結(jié)構(gòu)由8個(gè)4 kB×16位的塊組成,允許兩個(gè)端口同時(shí)訪問,提高了系統(tǒng)速度。
    TLV320AIC23B是TI公司推出的一款高性能立體聲音頻編解碼器,內(nèi)置耳機(jī)輸出放大器,支持MIC和LINE二選一的輸入方式。輸入和輸出都具有可編程的增益調(diào)節(jié)功能。TLV320AIC23B的模/數(shù)轉(zhuǎn)換器(ADC)和數(shù)/模轉(zhuǎn)換器(DAC)集成在芯片內(nèi)部,可以在8~96 kHz的采樣率下,提供16 bit、20 bit、24 bit和32 bit的采樣數(shù)據(jù)。ADC和DAC的輸出信噪比分別可達(dá)90 dB和100 dB。AIC23B通過外圍器件對(duì)其內(nèi)部寄存器進(jìn)行編程配置,其配置接口支持SPI總線接口和I2C總線接口,如表1所示。

a.jpg


    AIC23b數(shù)據(jù)傳輸格式支持右判斷模式、左判斷模式、I2C模式和DSP模式4種方式,其中DSP模式專門針對(duì)TI DSP設(shè)計(jì)。這兩款芯片的I/O電壓兼容,從而使得二者可以無縫連接,因此,基于DSP和音頻Codec芯片AIC23B構(gòu)建的硬件系統(tǒng)是一種理想的語音信號(hào)處理系統(tǒng)。在語音信號(hào)處理系統(tǒng)中,AIC23主頻為12 MHz,A/D和D/A轉(zhuǎn)換器的抽樣頻率為8 kHz,模擬音頻信號(hào)由LINEIN/MICIN輸入到該芯片,這些參數(shù)需要通過McBSP1對(duì)AIC23進(jìn)行配置實(shí)現(xiàn)。模擬音頻信號(hào)通過A/D轉(zhuǎn)換、編碼后,由數(shù)字音頻接口傳送給DSP的串口McBSP0,并接收DSP處理后的數(shù)據(jù),收到的數(shù)字音頻信號(hào)經(jīng)解碼、D/A轉(zhuǎn)換后,從HEADPHO/LINEOUT輸出。本系統(tǒng)采用DSP模式,如圖1所示。

b.jpg


    I2C總線協(xié)議是由Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備,該協(xié)議已廣泛地應(yīng)用于數(shù)字通信系統(tǒng)硬件電路設(shè)計(jì)中。
    AIC23B與微處理器的接口有兩個(gè),一個(gè)是控制口,用于設(shè)置MC23B的工作參數(shù),另一個(gè)是數(shù)據(jù)口,用于傳輸AIC23B的A/D、D/A數(shù)據(jù)。用I2C總線與AIC23B的控制口接口,對(duì)AIC23B的各個(gè)控制寄存器進(jìn)行設(shè)置。McBSP的發(fā)送與接收時(shí)鐘均由AIC23B提供。
    在DMA應(yīng)用中,可以賦予每個(gè)通道的bit流高低的優(yōu)先級(jí)。每個(gè)DMA通道的同步事件為MCBSP串口收發(fā)事件,同時(shí)每個(gè)通道某個(gè)事件完成后可向CPU發(fā)送一個(gè)中斷。用戶可以編寫代碼修改寄存器配置,當(dāng)DMA在進(jìn)行數(shù)據(jù)傳輸時(shí),只要用戶使能該通道,就可將配置寄存器復(fù)制到工作寄存器中。另外DMA支持自動(dòng)初始化模式,可以在塊傳輸過程中反復(fù)復(fù)制,連接示意圖如圖2所示。

c.jpg



2 軟件系統(tǒng)設(shè)計(jì)
    方案中兩路麥克風(fēng)輸入數(shù)據(jù),兩路耳機(jī)輸出數(shù)據(jù)。在此給出一路信號(hào)的接收處理發(fā)送過程,另一路信號(hào)設(shè)計(jì)思路相同。
    在DARAM中開辟緩沖和處理單元,數(shù)據(jù)傳輸均采用DMA獨(dú)立于CPU的方式。CPU只有在接收DMA觸發(fā)中斷后對(duì)數(shù)據(jù)進(jìn)行處理,并將處理后數(shù)據(jù)拷貝到DMA發(fā)送緩沖。為保證整個(gè)傳輸過程中無數(shù)據(jù)丟失,DMA接收端采用半幀中斷的方式接收數(shù)據(jù)。在數(shù)據(jù)載入過程中,可以選擇兩個(gè)區(qū)域進(jìn)行操作,將數(shù)據(jù)區(qū)分為receive1與receive2用于保存載入的數(shù)據(jù),同時(shí)開辟程序運(yùn)行區(qū)process1和process2用于運(yùn)行程序。當(dāng)receive區(qū)域觸發(fā)半幀中斷,CPU讀取receive1中的數(shù)據(jù)并將其復(fù)制到process1中,調(diào)用處理函數(shù)proc1,在CPU進(jìn)行相關(guān)信號(hào)處理時(shí),DMA繼續(xù)將數(shù)據(jù)載入receive2,其滿時(shí)觸發(fā)整幀中斷,DMA自動(dòng)初始化將receive1覆蓋。CPU此時(shí)即可將receive2中的數(shù)據(jù)復(fù)制到process2中,調(diào)用處理函數(shù)proc 2,這樣receive區(qū)域交替更新,即可實(shí)現(xiàn)程序的不間斷運(yùn)行。
    每次中斷服務(wù)程序的運(yùn)行時(shí)間必須小于半幀中斷的間隔時(shí)間。此方案可以保證系統(tǒng)的延時(shí)足夠小。在使用該方案時(shí),用戶必須根據(jù)自己的需要設(shè)計(jì)合適的采樣頻率和緩沖數(shù)據(jù)區(qū)的大小。為提高系統(tǒng)穩(wěn)定性,實(shí)驗(yàn)可以根據(jù)要求設(shè)計(jì)中斷的優(yōu)先級(jí)。系統(tǒng)軟件設(shè)計(jì)如圖3所示。

d.jpg



3 結(jié)束語
    系統(tǒng)采用DSPVC5509作為核心處理器,充分利用了DSP片上資源,采用獨(dú)立于CPU的DMA實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)采集處理以及發(fā)送,降低了總線占用率。設(shè)計(jì)的可更新緩沖區(qū)不僅符合DMA傳輸要求而且避免了數(shù)據(jù)丟失,實(shí)時(shí)更新減少了數(shù)據(jù)空間的浪費(fèi)。另外該系統(tǒng)具有低功耗、穩(wěn)定性高的特點(diǎn),可以根據(jù)用戶需求進(jìn)一步擴(kuò)展。

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