近年來,隨著DSP技術的普及和低價格、高性能DSP芯片的出現,DSP已越來越多地被廣大的工程師所接受,并越來越廣泛地被應用于各個領域,例如:語音處理、圖像處理、模式識別及工業控制等,并且已日益顯示出其巨大的優越性。DSP是利用專門或通用的數字信號處理芯片,以數字計算的方法對信號進行處理,具有處理速度快、靈活、精確、抗干擾能力強、體積小及可靠性高等優點,滿足了對信號快速、精確、實時處理及控制的要求。基于TMS320C5402芯片,研制了一套音頻信號實時采集與處理系統,并已作為有關音效器研制的硬件試驗平臺。
1 系統總體方案
系統總體方案框圖如圖1所示。音頻信號(如:電吉它的單聲道聲音信號是150mV的電信號)經過高精度高速的ADC轉換后得到一串數字信號,分幀輸入到波形輸入緩沖區RAM。然后由手動控制一種或幾種處理算法將音頻信號調入TMS320C5402的內部進行高速運算。經過處理的音頻信號,再輸入到高精度高速的DAC轉換器中,還原成模擬的聲音信號,經音箱功率放大電路放大輸出。
利用緩沖區的目的是進行音效的實時處理。系統中各模塊是同時進行處理的,一部分信號正在ADC中進行轉換,而另一部分信號則在DSP處理器中同時進行算法處理,即整個系統是以流水線的方式進行工作的。
2 硬件電路的設計
高保真的音頻系統應該具有較寬的動態范圍,選擇16~24位的ADC和DAC能完全捕獲或恢復高保真的音頻信號。系統的核心芯片(DSP)選用美國TI公司的TMS320VC5402[1](以下簡稱‘C5402)。
2.1 DSP芯片
作為DSP家族高性價比代表的16位定點DSP芯片,’C5402適用于語音通信等實時嵌入應用場合。與其它‘C54X芯片一樣,’C5402具有高度靈活的可操作性和高速的處理能力。其性能特點如下:操作速率可達100MIPS;具有先進的多總線結構,三條16位數據存儲器總線和一條程序存儲器總線;40位算術邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;整合維特比加速器,用于提高維特比編譯碼的速度;單周期正規化及指數譯碼;8個輔助寄存器及一個軟件棧,允許使用業界最先進的定點DSP C語言編譯器;數據/程序尋址空間為1M×16bit,內置4K×16bit ROM和16k×16bit RAM;內置可編程等待狀態發生器、鎖相環(PLL)時鐘產生器、兩個多通道緩沖串口、一個與外部處理器通信的8位并行HPI口、兩個16位定時器以及6通道DMA控制器且低功耗。與‘C54X系列的其它芯片相比,’5402具有高性能、低功耗和低價格等特點。它采用6級流水線,且當RPT(重復指令)時,一些多周期的指令就變成了單周期的指令;芯片內部RAM和ROM可根據PMST寄存器中的OVLY和DROM位靈活設置。這些都有利于算法的優化。
‘C5402采用3.3V和1.8V電源供電,其中I/O采用3.3V電源供電,芯片的核采用1.8V電源供電。而實際常用的只有5V電源,所以必須采用電源轉換芯片。選用TPS7301和TPS7333兩塊電源轉換芯片(它們都是TI公司為配合DSP而設計的電源轉換芯片),分別接上適當的外圍電阻,構成電阻分壓器,即可調整兩塊芯片的輸出電壓分別為3.3V和1.8V。
2.2 A/D電路
PCM1800是雙聲道單片Δ-Σ型20位ADC,單+5V電源供電,信噪比為95dB,動態范圍為95dB,其內部嵌有高通濾波器,具有PCM音頻接口和四種數據格式,分為主控和受控兩種模式,采樣頻率可選為32kHz、44.1KHz和48KHz。
PCM1800構成音頻信號采集系統時,主要涉及到BCK(位時鐘信號)、LRCK(采樣時鐘信號)、FSYNC(幀同步信號)、DOUT(數字信號輸出)、SYSCLK(系統時鐘輸入)這幾個對時序有要求的引腳。通過對引腳MODE0和MODE1進行編程,可讓PCM1800工作于主控模式(Master Mode)。此時,BCK、LRCK、FSYNC均作為輸出,其時序由PCM1800內部的時鐘產生電路控制。但SYSCLK只能由外部提供(這里用’C5402的TOUT腳輸出信號提供)。PCM1800的系統時鐘只能是256fs、384fs或者512fs,這里fs是音頻信號采樣頻率。在主控模式時,FSYNC用來指明PCM1800的DOUT輸出的有效數據,它的上升沿表明一幀數據的起始,下降沿表明一幀數據的結束。FSYNC的頻率是采樣時鐘頻率LRCK的2倍。在此模式下,位時鐘信號BCK的頻率是采樣時鐘頻率LRCK的64倍。
通過對PCM1800的FMT0、FMT1兩引腳編程(FMT0=1,FMT1=0),可以設置PCM1800輸出的數據格式為20位的IIS格式。為了保證在數據處理時不影響新數據的接收以及在接收數據時不中斷正在進行的數據處理過程,采用了多通道緩沖同步串口(McBSP)。 PCM1800與‘C5402連接后,’C5402使用緩沖串口0接收數據,各種同步信號由PCM1800產生,‘C5402是被動接收各種信息。PCM1800與’C5402的硬件接線圖如圖2所示。
2.3 D/A電路
PCM1744是雙聲道立體聲DAC,包含數字濾波器和輸出放大器,動態范圍為95dB,具有多種采樣頻率可選,最高可達96kHz。采用24位的IIS數據輸入格式。PCM1744的操作主要涉及到LRCIN(采樣時鐘信號輸入)、BCKIN(位時鐘信號輸入)、SCKI(系統時鐘輸入)、DIN(數據輸入)這幾個對時序有要求的引腳。PCM1744與‘C5402連接后,’C5402使用緩沖串口1發送數據,各種時鐘信號均由‘C5402產生,PCM1744被動接收各種信息。PCM1744的系統時鐘信號(SCKI)由’C5402的TOUT引腳提供,TOUT是‘C5402的定時器輸出信號引腳,有較強的驅動能力,可以驅動多個芯片。PCM1744的數據接收時鐘格式必須是IIS格式,’C5402在緩沖串口寄存器中設置各種時鐘方式時,必須滿足IIS格式的要求。‘C5402作為主動工作器件,可以對其緩沖串口輸出信號進行調整。輸出的采樣時鐘信號、位時鐘信號可以在McBSP寄存器SRGR1和SRGR2中設置,設置遵循圖3的原則。
基本的時鐘信號可以來自CPU時鐘,也可以來自晶振時鐘,這在SRGR2寄存器中的第13位設置。基本時鐘輸入后,經CLKGDV(SRGR1的第7位到第0位)所設置的值進行第一次分頻,得到位時鐘信號(由BCLKX1腳輸出)。值得注意的是,位時鐘信號最高為DSP頻率的一半。位時鐘信號經FPER(SRGR2的第11位到第0位)和FWID(SRGR1的第15位到第8位)所設置的值進一步分頻得到采樣時鐘信號(由BFSX1腳輸出),FPER和FWID分別設置采樣時鐘信號的低電平和高電平的時間值。’C5402與PCM1744的硬件接線如圖4所示。
PCM1800完成音頻信號采集后,在DSP的外擴程序存儲器中嵌入相應的處理算法,語音信號經處理后,再從PCM1744輸出。
3 軟件設計
軟件部分主要包括DSP編程和PC編程。DSP編程的主要任務是初始化、管理板上的資源和完成音頻的處理算法,可參考有關資料。PC編程重點則是管理DSP操作和應用層軟件編寫。
3.1 A/D與D/A程序設計
為了在20kHz的音響頻段獲得優良的音頻輸出,A/D和D/A的采樣頻率應該達到44.1kHz或48kHz。要正確編寫采樣和輸出音頻信號的程序,必須對‘C5402的McBSP相關寄存器(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和模擬接口。在分配好相應的緩沖區和產生相應的中斷之后,進行各項音效處理算法,例如:壓縮、失真、蛙聲、房間噪聲抑制ZNR、放大、均衡、合唱、鑲邊、延時反唱等,或者幾種算法混合進行。
PC的編程包括DSP接口部分和應用層編程部分。在PC程序的開始,與DSP接口部分的程序先調用初始化函數,將DSP程序下載到DSP(初始化程序在DSP中載入一個很小的自舉程序,然后通過自舉程序一段一段地把全部程序載入DSP)中。初始化完成后,與DSP接口部分程序再按自定義的“通信協議”在指定位置讀出DSP處理結果幀或DSP的請求幀,并將它交給上一層(應用程序)處理。應用程序亦通過與DSP接口部分程序向DSP發出各種命令。上層應用程序是用戶使用系統的界面,它提供語音數據庫管理和系統管理等功能。
3.3 基于優化工具的程序優化
根據用戶的要求,選擇C程序優化器和匯編優化器,對編碼器的特定性能如代碼長度、計算速度等進行優化。使用方法是在編譯(Built Options)時設定不同的編譯選項來控制優化目標。根據我們的實踐,認為選擇下列幾項進行優化對提高計算速度等的影響較大:
(1) -pm:程序級全局優化,包括程序的外部訪問、全局變量的優化和函數的外部調用。
(2) -o3:采用三級優化技術。其中第一級優化主要完成消除無用賦值和局部公共表達式等,第二級優化主要完成循環算法的優化并將循環中的數組訪問轉化為指針增量形式、實施循環展開、消除全局公共子表達式和無用賦值等,第三級優化主要完成消除冗余代碼、簡化表達式和語句、使用內聯(inline)函數并展開等。-o3在上述基礎上還完成消除從未使用的函數、對函數聲明進行重排序和對函數使用內聯形式等。
(3) 使用內聯函數(intrinsic)。 ’C5402編譯器提供的intrinsic可以快速優化C代碼。Intrinsic是直接映射為內聯的‘C5402指令的特殊函數(ETSI函數)。Intrinsic用前下劃線表示,使用時同函數的調用一樣。
實踐表明:選擇上述幾項進行優化,只要編譯選項選擇適當,其效果是很顯著的,計算速度可提高5~10倍,當然其代碼長度會有少許增加。
3.4 音頻信號處理算法簡介
在聲音的拾取和傳輸過程中,由于設備和器件的限制,其幅度對頻率的響應并不是一致的,極有可能出現某些頻率成分的增益太大或太小。對于頻率響應特性的這類缺陷,需要進行適當的調整。音頻信號的均衡算法,就是通過軟件設計調節某些頻率成分的增益,對其進行提升或衰減。聲音信號經均衡處理后,可以彌補頻率響應特性的缺陷,也可以人為地制造一些較好的音響效果。
另外,樂音具有較大的動態范圍,但音響設備本身允許的信號動態范圍是有限的。如果對樂音不作處理直接送到音箱,則會產生大信號過載而失真?從而使小信號淹沒在噪聲中的情形,音質因而下降。設計算法對音頻信號進行壓縮處理,其目的就是來改變信號的動態范圍,使大信號的強度變弱,小信號的強度增強,即信號的放大倍數隨著輸入信號的電平而改變。壓縮算法要保證系統的頻率響應保持平坦。
當然,音頻信號的處理是一個很復雜的過程,例如電吉它音效器還包括調制、延時混響等算法的處理。
本文設計的音頻信號采集與處理系統,已作為電吉他等音效器研制的硬件試驗平臺,并具有如下算法:壓縮模塊、失真模塊、ZNR/AMP模塊、均衡模塊、調制模塊、延時混響模塊。各個模塊可以單獨使用,也可以串聯使用,并采用兩個LED數碼顯示器表示選擇好的混合
音效模式。它大大改變了電吉它自身的音色,可產生壓縮、失真、蛙聲、房間噪聲抑制(ZNR)、放大、均衡、合唱、鑲邊、延時反響等多種單獨的音色效果,也可同時使用幾種音色效果,極大地豐富了電吉他現場演奏效果。把相同的電吉它信號分別輸入Z00M 505 (日本ZOOM公司生產)和該系統,然后分別把輸出波形在時域與頻域以及幅值與相位上進行分析比較,進行算法的優化處理,可以發現最終音色效果相差無幾。另外,在此系統中,既有A/D又有D/A,構成一個閉環,可自發自收;而算法則集中在DSP芯片內進行模塊化處理,這給系統的設計和調試帶來了很大的方便。所以,如果能在本文提出的以TMS320VC5402 DSP芯片為核心器件的音頻信號采集與處理系統的基礎上,設計出功能及效果與ZOOM 505相媲美的電吉它音效器,可以從根本上改變國內目前的電吉它音效器市場基本上被國外產品所壟斷的局面[3],具有很強的實用價值。
責任編輯:gt
-
dsp
+關注
關注
554文章
8059瀏覽量
350441 -
芯片
+關注
關注
456文章
51185瀏覽量
427283 -
dac
+關注
關注
43文章
2309瀏覽量
191569
發布評論請先 登錄
相關推薦
HPI方式自舉在TMS320VC5402 DSP芯片上的實現
跪求 TMS320C5402 的pcb 原理
利用EPLD實現TMS320C5402與SDRAM接口
TMS320C5402,pdf,TMS320C5402 datasheet
TMS320C5402 在電視數字傳輸復用器中的應用
TMS320C5402 DSP 在嵌入式測控系統中的應用
基于TMS320C5402的數據通訊系統的設計
Using the TMS320C5402 DMA Chan
Using the TMS320C5402 DMA Chan
基于TMS320C5402的語音信號壓縮存儲系統設計
TMS320C5402與MAX147的接口設計(部分源程序)
![<b class='flag-5'>TMS320C5402</b>與MAX147的接口設計(部分源程序)](https://file1.elecfans.com//web2/M00/A5/51/wKgZomUMN-GAVM8NAABszZwxan8852.jpg)
基于TMS320C5402的交流采樣裝置設計
![基于<b class='flag-5'>TMS320C5402</b>的交流采樣裝置設計](https://file.elecfans.com/web2/M00/48/DA/pYYBAGKhtCmAFILMAAAF5qm6BE0441.jpg)
基于TMS320C5402與AT89C51的電力諧波監測裝置設計應用
![基于<b class='flag-5'>TMS320C5402</b>與AT89<b class='flag-5'>C</b>51的電力諧波監測裝置設計應用](https://file.elecfans.com/web2/M00/49/D1/pYYBAGKhvGSAD2vlAAAYE-uw-oE586.jpg)
評論