基于TMS320C6713 DSP的音樂噴泉控制系統(tǒng)
引言
音樂噴泉是現(xiàn)代科技與藝術(shù)的綜合,利用噴泉來表現(xiàn)音樂的美,令人賞心悅目。目前許多單位均推出了自己的音樂噴泉,取得了良好的效果。但縱觀這些音控產(chǎn)品,有的利用音樂的時(shí)域變化來控制噴泉,有的將音樂分成幾個(gè)頻段來控制噴泉的花型,且多采用低頻、中頻和高頻三個(gè)頻段來控制。缺點(diǎn)是都沒有在頻域上很好地展現(xiàn)音樂,因此不能很好地體現(xiàn)音樂的內(nèi)涵。本設(shè)計(jì)針對(duì)這些問題,提出了一種新的方法來控制噴泉的變化,通過噴泉水柱的噴射高低來實(shí)時(shí)地展現(xiàn)音樂的頻譜。
總體設(shè)計(jì)
首先對(duì)音頻信號(hào)進(jìn)行放大、濾波、采樣和A/D轉(zhuǎn)換等預(yù)處理,經(jīng)過DSP對(duì)音頻信號(hào)進(jìn)行傅立葉變換,可以得到音頻信號(hào)的頻譜,即各頻率對(duì)應(yīng)聲音信號(hào)的強(qiáng)度,通過變頻控制系統(tǒng)就可以將頻譜圖用噴泉的水柱表現(xiàn)出來,水柱的高低按線性比例反映音頻信號(hào)的幅度。設(shè)每次對(duì)音頻信號(hào)的采樣個(gè)數(shù)為n,系統(tǒng)總的結(jié)構(gòu)如圖(1)所示。
圖1 總體設(shè)計(jì)框圖
具體設(shè)計(jì)
芯片及功能模塊介紹
TLV320AIC23(簡(jiǎn)稱AIC23)是一個(gè)高性能的多媒體數(shù)字語音編解碼器,它的內(nèi)部ADC和DAC轉(zhuǎn)換模塊帶有完整的數(shù)字濾波器。內(nèi)部有11個(gè)16位寄存器,控制接口具有SPI和I2C工作方式。數(shù)據(jù)傳輸寬度可以是16位,20位,24位和32位,采樣頻率范圍支持從8kHz到96kHz。在ADC采集達(dá)到96kHz時(shí)噪音為90-dBA,能夠高保真的保存音頻信號(hào)。在DAC轉(zhuǎn)換達(dá)到96kHz時(shí)噪音為100-dBA,能夠高品質(zhì)的數(shù)字回放音頻。
TMS320C6713是TI公司生產(chǎn)的一種高速數(shù)字信號(hào)處理器(DSP),他采用先進(jìn)的超長指令字(VLIW)結(jié)構(gòu),每時(shí)鐘周期可以執(zhí)行8條32b指令,最高時(shí)鐘頻率可以達(dá)到300MHz,指令周期最小3.3ns。該芯片具有豐富的片內(nèi)存儲(chǔ)器資源和多種片上外設(shè),外部總的存儲(chǔ)器地址空間最大512MB,數(shù)據(jù)寬度為32b,可以支持SBRAM,SDRAM,SRAM,F(xiàn)ALSH和EPROM。
TMS320C6713中有兩個(gè)多通道緩沖串口(McBSP),可以方便地利用這兩個(gè)McBSP完成對(duì)AIC23的控制和通信。
硬件連接
TMS320C6713與TLV320AIC23的連接
TMS320C6713的兩個(gè)多通道緩沖串口分別配置成I2C模式和SPI模式McBSP0作為數(shù)據(jù)的發(fā)送端口,McBSP1作為控制端口,對(duì)AIC23寫控制字TMS320C6713與AIC23的硬件連接圖如圖2所示。
圖2 TMS320C6713與TLV320AIC23的硬件連接
變頻控制系統(tǒng)設(shè)計(jì)
變頻控制系統(tǒng)是由變頻控制器、變頻分配器和變頻器構(gòu)成。對(duì)于8路以下的控制系統(tǒng)變頻控制系統(tǒng)可采用圖3所示的控制方法。
圖3 變頻控制系統(tǒng)
經(jīng)DSP處理后的音樂信號(hào)自動(dòng)轉(zhuǎn)換成變頻調(diào)速器所要求的4~20mA直流電流信號(hào)。輸出直流電流信號(hào)與輸入的音樂信號(hào)大小成線性關(guān)系,使噴泉的噴高隨音樂信號(hào)大小變化。
對(duì)于8路以上的多路噴泉控制可以采用擴(kuò)展音樂噴泉控制器和變頻演示儀功能的方式來滿足要求。DSP作為變頻型音樂噴泉控制系統(tǒng)的控制中心,以后以4路進(jìn)行擴(kuò)展,分別為4路、8路、12路、16路……,以此類推。每路控制一臺(tái)變頻調(diào)速器,將音樂信號(hào)轉(zhuǎn)換成變頻調(diào)速器所能接受的4~20mA直流電流信號(hào),來驅(qū)動(dòng)變頻調(diào)速器,使噴泉的噴高隨音樂信號(hào)的大小而變化。
軟件實(shí)現(xiàn)
總統(tǒng)軟件設(shè)計(jì)
首先初始化McBSP0口和McBSP1口,配置AIC23,然后啟動(dòng)AIC23的A/D轉(zhuǎn)換,將由麥克風(fēng)輸入的模擬音頻信號(hào)進(jìn)行采樣,然后對(duì)采樣到的音頻信號(hào)進(jìn)行傅立葉變換,總體流程框圖如圖4所示。離散傅立葉變換(DFT)的公式見公式1,為了進(jìn)行快速傅立葉變化,采取時(shí)間抽取(DIT)基2FFT算法。
圖4 總體流程框圖
對(duì)N點(diǎn)音頻信號(hào)進(jìn)行FFT變換,由公式1可知對(duì)應(yīng)到頻域上也是N點(diǎn),設(shè)頻域上對(duì)應(yīng)第k點(diǎn)的頻率為fk,則其計(jì)算公式見公式2。其中fs為音頻信號(hào)的采樣頻率,f'k為歸一化頻率,f'k的計(jì)算公式見公式3。因此由公式2和公式3可以得出頻譜圖上每個(gè)采樣點(diǎn)對(duì)應(yīng)的實(shí)際頻率值。
音頻數(shù)據(jù)采集
1、采樣頻率
根據(jù)采樣定理,采用頻率至少應(yīng)該是采樣聲音頻率的2倍。由于人耳所能感受的頻率大約為20Hz~20kHz,所以理論上采用頻率最好取40kHz即可。實(shí)際上由于設(shè)備的原因,采用頻率一般要高出10%,即44kHz。由于AIC23支持44.1kHz,所以本設(shè)計(jì)中采樣頻率選用44.1kHz。
2、樣本大小
樣本大小決定了可能錄制聲音的最低幅度和最高幅度的差距,代表了采樣的量化大小。聲音的強(qiáng)度正比于聲音的幅度。與頻率一樣,人耳對(duì)聲音強(qiáng)度的感受能力不是成線性關(guān)系,而是成對(duì)數(shù)關(guān)系,常用dB(分貝)來表示。dB的定義為:20log(A1/A2),A1,A2為聲音的兩個(gè)幅度。
當(dāng)采用大小為8位時(shí),那么聲音的最大和最小的幅度比為256,則:20log(256)=48dB,當(dāng)采用大小為16位時(shí),那么聲音的最大和最小的幅度比為65536,則:20log(65536)=96dB此時(shí)最大聲強(qiáng)已經(jīng)接近于人耳的極限。本設(shè)計(jì)中樣本大小選用16位。
3、數(shù)據(jù)采集的實(shí)現(xiàn)
程序設(shè)計(jì)步驟如下:
a)初始化多通道緩沖串口0和1。
對(duì)多通道緩沖串口的初始化是通過配置其寄存器來完成的。串口0配置成方式,串口0各寄存器配置如下:串口配置控制寄存器SPCR=0xC30003;接口控制寄存器PCR=0x03;接收控制寄存器RCR=0x0140;發(fā)送控制寄存器XCR=0x0140。串口1配置成SPI方式,串口1各寄存器配置如下:串口配置控制寄存器SPCR=0xC51000;接口控制寄存器PCR=0xa0a;接收控制寄存器RCR=0;發(fā)送控制寄存器XCR=0x10040。
b)配置TLV320AIC23
AIC23內(nèi)部有11個(gè)16位寄存器,這16位控制字中,B[15—9]為寄存器的地址,B[8—0]為要寫入寄存器的數(shù)據(jù)。對(duì)本設(shè)計(jì)寫入這11個(gè)寄存器的數(shù)值如下:左聲道輸入控制=0x17;右聲道輸入控制=0x17;左耳機(jī)通道控制=0x7f;右耳機(jī)通道控制=0x7f;模擬音頻通道控制=0x1c;數(shù)字音頻通道控制=0x1;啟動(dòng)控制=0;數(shù)字音頻格式=0x4f;樣本速率控制=0x3f;數(shù)字界面激活=0x01;初始化寄存器=0。
c)啟動(dòng)轉(zhuǎn)換,進(jìn)行A/D轉(zhuǎn)換,將轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)在DSP的內(nèi)部存儲(chǔ)器中,每次采用128點(diǎn)。
實(shí)例
圖5為在DSP的軟件環(huán)境CCS2.0下仿真輸出的音頻信號(hào)頻譜波形,圖6為音頻信號(hào)的時(shí)域波形。每次采樣數(shù)為128,采樣頻率設(shè)為44.1kHz,樣本大小為16位。
圖5 音頻信號(hào)頻譜圖
圖6 音頻信號(hào)時(shí)域波形
結(jié)束語
本文給出了一種新的音樂噴泉的設(shè)計(jì)方案,提出了通過噴泉水柱的高低變化來展現(xiàn)音樂信號(hào)的頻譜的方法,利用DSP和音頻編解碼芯片在音頻信號(hào)處理中的優(yōu)點(diǎn),將二者很好地應(yīng)用于音樂噴泉系統(tǒng)中。詳細(xì)地闡述了TMS320C6713與音頻codecAIC23接口的軟件編程與硬件系統(tǒng)設(shè)計(jì)。這一方案在Code Composer Studio(CCS2.0)環(huán)境下運(yùn)行仿真器進(jìn)行軟件硬件聯(lián)合調(diào)試時(shí)取得了較好的效果,證實(shí)了設(shè)計(jì)的成功和方案的可用性。本方案不僅可以作為音樂噴泉的前端控制系統(tǒng)設(shè)計(jì),如果加上一個(gè)LCD顯示和一些控制電路,還可以作為便攜式音頻信號(hào)頻譜分析儀的模型。