摘 要: 提出一個基于title="TMS320VC5402">TMS320VC5402的音頻信號采集與處理系統(tǒng)。介紹了該系統(tǒng)的總體方案和硬軟件設計。討論了模/數(shù)(A/D)和數(shù)/模(D/A)轉(zhuǎn)換電路的設計方法以及如何利用TMS320VC5402的多通道緩沖同步串口(McBSP)和PCM1800及PCM1744芯片接口來實現(xiàn)音頻信號的采集和輸出。實驗證明:所設計的基于DSP的硬件和軟件系統(tǒng)是一個很好的音頻信號采集與處理系統(tǒng)。
關(guān)鍵詞: 多通道緩沖同步串口 音頻信號 TMS320VC5402 采集與處理
近年來,隨著DSP技術(shù)的普及和低價格、高性能DSP芯片的出現(xiàn),DSP已越來越多地被廣大的工程師所接受,并越來越廣泛地被應用于各個領域,例如:語音處理、圖像處理、模式識別及工業(yè)控制等,并且已日益顯示出其巨大的優(yōu)越性。DSP是利用專門或通用的數(shù)字信號處理芯片,以數(shù)字計算的方法對信號進行處理,具有處理速度快、靈活、精確、抗干擾能力強、體積小及可靠性高等優(yōu)點,滿足了對信號快速、精確、實時處理及控制的要求?;赥MS320C5402芯片,筆者研制了一套音頻信號實時采集與處理系統(tǒng),并已作為有關(guān)音效器研制的硬件試驗平臺。
1 系統(tǒng)總體方案
系統(tǒng)總體方案框圖如圖1所示。音頻信號(如:電吉它的單聲道聲音信號是150mV的電信號)經(jīng)過高精度高速的ADC轉(zhuǎn)換后得到一串數(shù)字信號,分幀輸入到波形輸入緩沖區(qū)RAM。然后由手動控制一種或幾種處理算法將音頻信號調(diào)入TMS320C5402的內(nèi)部進行高速運算。經(jīng)過處理的音頻信號,再輸入到高精度高速的DAC轉(zhuǎn)換器中,還原成模擬的聲音信號,經(jīng)音箱功率放大電路放大輸出。
利用緩沖區(qū)的目的是進行音效的實時處理。系統(tǒng)中各模塊是同時進行處理的,一部分信號正在ADC中進行轉(zhuǎn)換,而另一部分信號則在DSP處理器中同時進行算法處理,即整個系統(tǒng)是以流水線的方式進行工作的。
2 硬件電路的設計
高保真的音頻系統(tǒng)應該具有較寬的動態(tài)范圍,選擇16~24位的ADC和DAC能完全捕獲或恢復高保真的音頻信號。系統(tǒng)的核心芯片(DSP)選用美國TI公司的TMS320VC5402[1](以下簡稱’C5402)。
2.1 DSP芯片
作為DSP家族高性價比代表的16位定點DSP芯片,’C5402適用于語音通信等實時嵌入應用場合。與其它’C54X芯片一樣,’C5402具有高度靈活的可操作性和高速的處理能力。其性能特點如下:操作速率可達100MIPS;具有先進的多總線結(jié)構(gòu),三條16位數(shù)據(jù)存儲器總線和一條程序存儲器總線;40位算術(shù)邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;整合維特比加速器,用于提高維特比編譯碼的速度;單周期正規(guī)化及指數(shù)譯碼;8個輔助寄存器及一個軟件棧,允許使用業(yè)界最先進的定點DSP C語言編譯器;數(shù)據(jù)/程序?qū)ぶ房臻g為1M×16bit,內(nèi)置4K×16bit ROM和16K×16bit RAM;內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)(PLL)時鐘產(chǎn)生器、兩個多通道緩沖串口、一個與外部處理器通信的8位并行HPI口、兩個16位定時器以及6通道DMA控制器且低功耗。與’C54X系列的其它芯片相比,’5402具有高性能、低功耗和低價格等特點。它采用6級流水線,且當RPT(重復指令)時,一些多周期的指令就變成了單周期的指令;芯片內(nèi)部RAM和ROM可根據(jù)PMST寄存器中的OVLY和DROM位靈活設置。這些都有利于算法的優(yōu)化。
’C5402采用3.3V和1.8V電源供電,其中I/O采用3.3V電源供電,芯片的核采用1.8V電源供電。而實際常用的只有5V電源,所以必須采用電源轉(zhuǎn)換芯片。選用TPS7301和TPS7333兩塊電源轉(zhuǎn)換芯片(它們都是TI公司為配合DSP而設計的電源轉(zhuǎn)換芯片),分別接上適當?shù)耐鈬娮?構(gòu)成電阻分壓器,即可調(diào)整兩塊芯片的輸出電壓分別為3.3V和1.8V。
2.2 A/D電路
PCM1800是雙聲道單片Δ-Σ型20位ADC,單+5V電源供電,信噪比為95dB,動態(tài)范圍為95dB,其內(nèi)部嵌有高通濾波器,具有PCM音頻接口和四種數(shù)據(jù)格式,分為主控和受控兩種模式,采樣頻率可選為32kHz、44.1kHz和48kHz。
PCM1800構(gòu)成音頻信號采集系統(tǒng)時,主要涉及到BCK(位時鐘信號)、LRCK(采樣時鐘信號)、FSYNC(幀同步信號)、DOUT(數(shù)字信號輸出)、SYSCLK(系統(tǒng)時鐘輸入)這幾個對時序有要求的引腳。通過對引腳MODE0和MODE1進行編程,可讓PCM1800工作于主控模式(Master Mode)。此時,BCK、LRCK、FSYNC均作為輸出,其時序由PCM1800內(nèi)部的時鐘產(chǎn)生電路控制。但SYSCLK只能由外部提供(這里用’C5402的TOUT腳輸出信號提供)。PCM1800的系統(tǒng)時鐘只能是256fs、384fs或者512fs,這里fs是音頻信號采樣頻率。在主控模式時,FSYNC用來指明PCM1800的DOUT輸出的有效數(shù)據(jù),它的上升沿表明一幀數(shù)據(jù)的起始,下降沿表明一幀數(shù)據(jù)的結(jié)束。FSYNC的頻率是采樣時鐘頻率LRCK的2倍。在此模式下,位時鐘信號BCK的頻率是采樣時鐘頻率LRCK的64倍。
通過對PCM1800的FMT0、FMT1兩引腳編程(FMT0=1,FMT1=0),可以設置PCM1800輸出的數(shù)據(jù)格式為20位的IIS格式。為了保證在數(shù)據(jù)處理時不影響新數(shù)據(jù)的接收以及在接收數(shù)據(jù)時不中斷正在進行的數(shù)據(jù)處理過程,采用了多通道緩沖同步串口(McBSP)。 PCM1800與’C5402連接后,’C5402使用緩沖串口0接收數(shù)據(jù),各種同步信號由PCM1800產(chǎn)生,’C5402是被動接收各種信息。PCM1800與’C5402的硬件接線圖如圖2所示。
2.3 D/A電路
PCM1744是雙聲道立體聲DAC,包含數(shù)字濾波器和輸出放大器,動態(tài)范圍為95dB,具有多種采樣頻率可選,最高可達96kHz。采用24位的IIS數(shù)據(jù)輸入格式。PCM1744的操作主要涉及到LRCIN(采樣時鐘信號輸入)、BCKIN(位時鐘信號輸入)、SCKI(系統(tǒng)時鐘輸入)、DIN(數(shù)據(jù)輸入)這幾個對時序有要求的引腳。PCM1744與’C5402連接后,’C5402使用緩沖串口1發(fā)送數(shù)據(jù),各種時鐘信號均由’C5402產(chǎn)生,PCM1744被動接收各種信息。PCM1744的系統(tǒng)時鐘信號(SCKI)由’C5402的TOUT引腳提供,TOUT是’C5402的定時器輸出信號引腳,有較強的驅(qū)動能力,可以驅(qū)動多個芯片。PCM1744的數(shù)據(jù)接收時鐘格式必須是IIS格式,’C5402在緩沖串口寄存器中設置各種時鐘方式時,必須滿足IIS格式的要求。’C5402作為主動工作器件,可以對其緩沖串口輸出信號進行調(diào)整。輸出的采樣時鐘信號、位時鐘信號可以在McBSP寄存器SRGR1和SRGR2中設置,設置遵循圖3的原則。
基本的時鐘信號可以來自CPU時鐘,也可以來自晶振時鐘,這在SRGR2寄存器中的第13位設置?;緯r鐘輸入后,經(jīng)CLKGDV(SRGR1的第7位到第0位)所設置的值進行第一次分頻,得到位時鐘信號(由BCLKX1腳輸出)。值得注意的是,位時鐘信號最高為DSP頻率的一半。位時鐘信號經(jīng)FPER(SRGR2的第11位到第0位)和FWID(SRGR1的第15位到第8位)所設置的值進一步分頻得到采樣時鐘信號(由BFSX1腳輸出),FPER和FWID分別設置采樣時鐘信號的低電平和高電平的時間值。’C5402與PCM1744的硬件接線如圖4所示。
PCM1800完成音頻信號采集后,在DSP的外擴程序存儲器中嵌入相應的處理算法,語音信號經(jīng)處理后,再從PCM1744輸出。
3 軟件設計
軟件部分主要包括DSP編程和PC編程。DSP編程的主要任務是初始化、管理板上的資源和完成音頻的處理算法,可參考有關(guān)資料。PC編程重點則是管理DSP操作和應用層軟件編寫。
3.1 A/D與D/A程序設計
為了在20kHz的音響頻段獲得優(yōu)良的音頻輸出,A/D和D/A的采樣頻率應該達到44.1kHz或48kHz。要正確編寫采樣和輸出音頻信號的程序,必須對’C5402的McBSP相關(guān)寄存器(spcr1,spcr2,rcr1,rcr2,xcr1,xcr2,srgr1,srgr2,mcr1,mcr2,rcera1,rcerb1,xcera,xcerb,pcr1)進行正確的設置[1],以滿足’C5402和PCM1744、PCM1800的各種時序要求(位同步、幀同步、時鐘信號等)。為了使TOUT能給外圍器件提供時鐘信號,應設計到DSP的定時和中斷操作,具體請參考TI提供的Spru302.pdf資料。
3.2 DSP和PC的編程
DSP程序首先初始化’C5402和模擬接口。在分配好相應的緩沖區(qū)和產(chǎn)生相應的中斷之后,進行各項音效處理算法,例如:壓縮、失真、蛙聲、房間噪聲抑制ZNR、放大、均衡、合唱、鑲邊、延時反唱等,或者幾種算法混合進行。
PC的編程包括DSP接口部分和應用層編程部分。在PC程序的開始,與DSP接口部分的程序先調(diào)用初始化函數(shù),將DSP程序下載到DSP(初始化程序在DSP中載入一個很小的自舉程序,然后通過自舉程序一段一段地把全部程序載入DSP)中。初始化完成后,與DSP接口部分程序再按自定義的“通信協(xié)議”在指定位置讀出DSP處理結(jié)果幀或DSP的請求幀,并將它交給上一層(應用程序)處理。應用程序亦通過與DSP接口部分程序向DSP發(fā)出各種命令。上層應用程序是用戶使用系統(tǒng)的界面,它提供語音數(shù)據(jù)庫管理和系統(tǒng)管理等功能。
3.3 基于優(yōu)化工具的程序優(yōu)化
根據(jù)用戶的要求,選擇C程序優(yōu)化器和匯編優(yōu)化器,對編碼器的特定性能如代碼長度、計算速度等進行優(yōu)化。使用方法是在編譯(Built Options)時設定不同的編譯選項來控制優(yōu)化目標。根據(jù)我們的實踐,認為選擇下列幾項進行優(yōu)化對提高計算速度等的影響較大:
(1) -pm:程序級全局優(yōu)化,包括程序的外部訪問、全局變量的優(yōu)化和函數(shù)的外部調(diào)用。
(2) -o3:采用三級優(yōu)化技術(shù)。其中第一級優(yōu)化主要完成消除無用賦值和局部公共表達式等,第二級優(yōu)化主要完成循環(huán)算法的優(yōu)化并將循環(huán)中的數(shù)組訪問轉(zhuǎn)化為指針增量形式、實施循環(huán)展開、消除全局公共子表達式和無用賦值等,第三級優(yōu)化主要完成消除冗余代碼、簡化表達式和語句、使用內(nèi)聯(lián)(inline)函數(shù)并展開等。-o3在上述基礎上還完成消除從未使用的函數(shù)、對函數(shù)聲明進行重排序和對函數(shù)使用內(nèi)聯(lián)形式等。
(3) 使用內(nèi)聯(lián)函數(shù)(intrinsic)。’C5402編譯器提供的intrinsic可以快速優(yōu)化C代碼。Intrinsic是直接映射為內(nèi)聯(lián)的’C5402指令的特殊函數(shù)(ETSI函數(shù))。Intrinsic用前下劃線表示,使用時同函數(shù)的調(diào)用一樣。
實踐表明:選擇上述幾項進行優(yōu)化,只要編譯選項選擇適當,其效果是很顯著的,計算速度可提高5~10倍,當然其代碼長度會有少許增加。
3.4 音頻信號處理算法簡介[2]
在聲音的拾取和傳輸過程中,由于設備和器件的限制,其幅度對頻率的響應并不是一致的,極有可能出現(xiàn)某些頻率成分的增益太大或太小。對于頻率響應特性的這類缺陷,需要進行適當?shù)恼{(diào)整。音頻信號的均衡算法,就是通過軟件設計調(diào)節(jié)某些頻率成分的增益,對其進行提升或衰減。聲音信號經(jīng)均衡處理后,可以彌補頻率響應特性的缺陷,也可以人為地制造一些較好的音響效果。
另外,樂音具有較大的動態(tài)范圍,但音響設備本身允許的信號動態(tài)范圍是有限的。如果對樂音不作處理直接送到音箱,則會產(chǎn)生大信號過載而失真,從而使小信號淹沒在噪聲中的情形,音質(zhì)因而下降。設計算法對音頻信號進行壓縮處理,其目的就是來改變信號的動態(tài)范圍,使大信號的強度變?nèi)?小信號的強度增強,即信號的放大倍數(shù)隨著輸入信號的電平而改變。壓縮算法要保證系統(tǒng)的頻率響應保持平坦。
當然,音頻信號的處理是一個很復雜的過程,例如電吉它音效器還包括調(diào)制、延時混響等算法的處理。
本文設計的音頻信號采集與處理系統(tǒng),已作為電吉他等音效器研制的硬件試驗平臺,并具有如下算法:壓縮模塊、失真模塊、ZNR/AMP模塊、均衡模塊、調(diào)制模塊、延時混響模塊。各個模塊可以單獨使用,也可以串聯(lián)使用,并采用兩個LED數(shù)碼顯示器表示選擇好的混合音效模式。它大大改變了電吉它自身的音色,可產(chǎn)生壓縮、失真、蛙聲、房間噪聲抑制(ZNR)、放大、均衡、合唱、鑲邊、延時反響等多種單獨的音色效果,也可同時使用幾種音色效果,極大地豐富了電吉他現(xiàn)場演奏效果。把相同的電吉它信號分別輸入ZOOM 505 (日本ZOOM公司生產(chǎn))和該系統(tǒng),然后分別把輸出波形在時域與頻域以及幅值與相位上進行分析比較,進行算法的優(yōu)化處理,可以發(fā)現(xiàn)最終音色效果相差無幾。另外,在此系統(tǒng)中,既有A/D又有D/A,構(gòu)成一個閉環(huán),可自發(fā)自收;而算法則集中在DSP芯片內(nèi)進行模塊化處理,這給系統(tǒng)的設計和調(diào)試帶來了很大的方便。所以,如果能在本文提出的以TMS320VC5402 DSP芯片為核心器件的音頻信號采集與處理系統(tǒng)的基礎上,設計出功能及效果與ZOOM 505相媲美的電吉它音效器,可以從根本上改變國內(nèi)目前的電吉它音效器市場基本上被國外產(chǎn)品所壟斷的局面[3],具有很強的實用價值。
參考文獻
1 TMS320VC5402 FixedPoint signal processor. TI Technology document Sprs079e,2000.8
2 姚天任. 數(shù)字語音處理.武漢:華中理工出版社,1999
3 冒 捷.DSP-數(shù)字化音頻領域的未來.西部廣播電視,2000(9)