基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)_第1頁(yè)
基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)_第2頁(yè)
基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)_第3頁(yè)
基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)_第4頁(yè)
基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于FPGA的音樂(lè)播放控制電路設(shè)計(jì)隨著電子技術(shù)發(fā)展,電子電路的形式趨向復(fù)雜化,面對(duì)這一狀況,人們已經(jīng)清醒地認(rèn)識(shí)到,要分析和設(shè)計(jì)復(fù)雜的電子系統(tǒng)人工的方法已不適用。依靠傳統(tǒng)的實(shí)驗(yàn)教學(xué)已遠(yuǎn)不能滿足社會(huì)對(duì)高新技術(shù)人才的培養(yǎng)需要。本文就一個(gè)綜合性的實(shí)例“音樂(lè)播放控制電路”的設(shè)計(jì)過(guò)程具體說(shuō)明了FPGA在電子電路設(shè)計(jì)中所起的作用。1總體方案的設(shè)計(jì)設(shè)計(jì)一個(gè)具有3個(gè)八度音程的電子音樂(lè)自動(dòng)循環(huán)播放電路,具體曲目可以由設(shè)計(jì)者自由編輯,以簡(jiǎn)譜的二進(jìn)制編碼形式存放在ROM的數(shù)據(jù)文件中。設(shè)計(jì)要求如下:(1)采用5位二進(jìn)制碼表示音高信息,曲譜碼存儲(chǔ)器的地址由時(shí)值計(jì)數(shù)器控制,計(jì)數(shù)頻率按樂(lè)曲的演奏速度選擇,每個(gè)脈沖周期是所選曲譜中最短音符的時(shí)值。存儲(chǔ)器在時(shí)值計(jì)數(shù)脈沖作用下順序輸出音高碼控制分頻器。(2)采用20Hz~20kHz的音頻脈沖信號(hào)控制蜂鳴器,可以使其根據(jù)控制信號(hào)頻率發(fā)出不同的音調(diào)。

欲了解更多信息請(qǐng)登錄電子發(fā)燒友網(wǎng)()音樂(lè)播放控制電路設(shè)計(jì)方案原理框圖如圖1所示。2設(shè)計(jì)任務(wù)分析2.1音高編碼和分頻控制計(jì)數(shù)器模值控制的方法很多,改變預(yù)置數(shù)控制模值是比較簡(jiǎn)單的一種。分頻計(jì)數(shù)器的預(yù)置數(shù)與分頻率和計(jì)數(shù)方式、預(yù)置方式有關(guān)。當(dāng)采用減計(jì)數(shù)器、并以計(jì)數(shù)器的溢出信號(hào)(CarryOut)實(shí)現(xiàn)異步預(yù)置控制時(shí),計(jì)數(shù)器的模(分頻率)等于預(yù)置數(shù)。比如,當(dāng)計(jì)數(shù)脈沖頻率為10MHz時(shí),若希望產(chǎn)生音高“5”,并考慮占空比整形的二分頻作用,分頻系數(shù)(計(jì)數(shù)器的模)應(yīng)該是3188.9,四舍五入后的計(jì)數(shù)器預(yù)置數(shù)應(yīng)該是3189。其溢出信號(hào)的頻率為3135.8Hz,控制蜂鳴器的信號(hào)頻率為1567.9Hz,滿足音高頻率要求。若采用同步預(yù)置方式,則計(jì)數(shù)器的預(yù)置數(shù)應(yīng)該是模減1,為3188。由于計(jì)數(shù)器的溢出信號(hào)可能出現(xiàn)冒險(xiǎn)干擾,采用同步預(yù)置的方法比較安全。分析表1可見(jiàn),表中3個(gè)不同音程相同音名(同一行)的信號(hào)頻率都相差一倍。

即音程升、降8度時(shí),頻率增加或減小一倍。所以,若分頻計(jì)數(shù)器的計(jì)數(shù)脈沖頻率降低一倍時(shí),蜂鳴器發(fā)出的音調(diào)降低8度。比如,當(dāng)分頻率仍為3189,但計(jì)數(shù)脈沖頻率為5MHz時(shí),控制蜂鳴器的信號(hào)頻率為784Hz,為中音“5”。因此若采用模值和輸入脈沖頻率都可控的計(jì)數(shù)器實(shí)現(xiàn)信號(hào)分頻,可根據(jù)音程碼選擇分頻計(jì)數(shù)器的輸入脈沖頻率fs、根據(jù)音名碼控制分頻計(jì)數(shù)器的模值N,如圖2所示。

這樣,分頻系數(shù)表只需考慮7個(gè)音高。由于計(jì)數(shù)脈沖只能分頻降低,所以表中應(yīng)該存儲(chǔ)高音程7個(gè)不同音名對(duì)應(yīng)的計(jì)數(shù)器預(yù)置值,其他兩個(gè)音程可通過(guò)降低分頻計(jì)數(shù)器的脈沖頻率實(shí)現(xiàn)。3個(gè)8度音程的21個(gè)音高至少需要5位二進(jìn)制碼表示。為了控制方便,考慮將音名和音程分別編碼:7個(gè)音名和休止符采用3位二進(jìn)制碼表示,控制分頻器計(jì)數(shù)器的預(yù)置數(shù)實(shí)現(xiàn)模值N修改;3個(gè)音程用2位二進(jìn)制碼表示,控制分頻器的計(jì)數(shù)脈沖頻率fs。2.2音長(zhǎng)控制曲譜存儲(chǔ)單元的數(shù)據(jù)輸出時(shí)間是時(shí)值計(jì)數(shù)脈沖的一個(gè)周期,決定了該單元音符的持續(xù)時(shí)間。所以,與計(jì)數(shù)脈沖周期相同時(shí)值的音符為音長(zhǎng)的度量單位,其音符碼占1個(gè)存儲(chǔ)單元。其他音符根據(jù)其時(shí)值長(zhǎng)短占據(jù)不同數(shù)量的存儲(chǔ)單元。比如,若以8分音符的時(shí)值作為存儲(chǔ)器地址計(jì)數(shù)器的脈沖周期,則8分音符碼占1個(gè)存儲(chǔ)單元,4分音符占2個(gè)存儲(chǔ)單元,2分音符占4個(gè)存儲(chǔ)單元,以此類推。因此,可以所選曲譜的最短音符作為時(shí)值的度量單位。比如,圖3所示的《梁?!非V中最短的音符為8分音,若其編碼存放1個(gè)存儲(chǔ)單元,則時(shí)值計(jì)數(shù)脈沖周期為一個(gè)8分音長(zhǎng)時(shí)間,可選O.5s。曲譜中的四分音符碼需要存放2個(gè)單元,一拍延長(zhǎng)音也需要2個(gè)單元。該段曲譜有8個(gè)音節(jié),每個(gè)音節(jié)是一個(gè)全音(8個(gè)8分音),演奏總時(shí)值為8×8個(gè)8分音。所以,存儲(chǔ)曲譜編碼的存儲(chǔ)器需要64個(gè)存儲(chǔ)單元。

2.3音強(qiáng)控制音的強(qiáng)度也稱音的力度,體現(xiàn)了樂(lè)曲的情感元素。由于本設(shè)計(jì)實(shí)現(xiàn)的是簡(jiǎn)單的電子音樂(lè)播放,無(wú)法表現(xiàn)音強(qiáng)的不同。而且,參考方案還不能區(qū)別相同音高的音符連續(xù)與否。比如,兩個(gè)八分音符“11”的總時(shí)值與一個(gè)四分音符“1”的時(shí)值相同,但體現(xiàn)的樂(lè)聲是不同的。前者是兩個(gè)強(qiáng)8分音,而后者可以認(rèn)為是一個(gè)強(qiáng)8分音和一個(gè)弱8分音構(gòu)成。為了解決這個(gè)問(wèn)題,可以在連續(xù)的相同強(qiáng)音間加一個(gè)極短促的間斷區(qū)別兩者的不同,間斷時(shí)間可以是幾個(gè)毫秒。這樣,在音符編碼中應(yīng)該有一位碼控制。如果間斷音碼單獨(dú)占1個(gè)存儲(chǔ)單元,可設(shè)置間斷音標(biāo)志,控制時(shí)值計(jì)數(shù)器狀態(tài)為間斷信息單元地址時(shí)計(jì)數(shù)頻率改變,使間斷碼輸出的時(shí)間為間斷音長(zhǎng);如果間斷音碼與強(qiáng)音碼存放同一單元,可觸發(fā)數(shù)字單穩(wěn)態(tài)電路產(chǎn)生問(wèn)斷控制信號(hào)EN。2.4樂(lè)曲的循環(huán)播放控制為了實(shí)現(xiàn)樂(lè)曲的循環(huán)播放,應(yīng)該在樂(lè)曲結(jié)束時(shí)使曲譜表的查表地址回到初始值??稍谇V表的最后一個(gè)單元中存放一個(gè)結(jié)束符,結(jié)束符的編碼可以利用音程碼的冗余碼。電路采用邏輯門對(duì)音程碼進(jìn)行判斷,當(dāng)出現(xiàn)結(jié)束符碼時(shí)控制時(shí)值計(jì)數(shù)器復(fù)位,樂(lè)曲重新開(kāi)始演奏。2.5曲譜編碼舉例設(shè)音符的6位二進(jìn)制編碼中,最高位為間斷音控制,中間2位為音程碼,最低3位為音名碼。每個(gè)8分音存放于1個(gè)存儲(chǔ)單元,四分音符碼占2個(gè)存儲(chǔ)單元。若音名碼用其簡(jiǎn)譜數(shù)符對(duì)應(yīng)的二進(jìn)制碼表示,而低、中、高三個(gè)音程分別用"01”,“00",“10”三組碼表示,“11”為結(jié)束符碼,則圖3曲譜碼存儲(chǔ)表如表2所示。表中6位二進(jìn)制音符碼用2位八進(jìn)制數(shù)表示。

3電路的實(shí)現(xiàn)根據(jù)設(shè)計(jì)電路原理框圖,曲譜碼以分頻數(shù)編碼,音高信號(hào)分頻由一個(gè)可預(yù)置的模N計(jì)數(shù)器實(shí)現(xiàn)。分頻系數(shù)表和曲譜表都存儲(chǔ)在ROM中。若希望控制蜂鳴器的信號(hào)占空比為50%,分頻器的輸出信號(hào)采用二分頻電路實(shí)現(xiàn)占空比整形,但注意信號(hào)頻率被降低一半。電路原理框圖中M分頻器的作用是產(chǎn)生合適的時(shí)值計(jì)數(shù)脈沖頻率。電路的頂層原理圖如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論