版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于FPGA的樂(lè)曲發(fā)生器設(shè)計(jì)'現(xiàn)代電子技術(shù)>2003年第18期總第161期基于FPGA的樂(lè)曲發(fā)生器設(shè)計(jì)姜田華(杭州商學(xué)院信息與電子工程學(xué)院浙江杭州310035)摘要:介紹了在MAX+plusI的EDA軟件平臺(tái)上,一種基于FPGA的樂(lè)曲發(fā)生器的設(shè)計(jì)方法,并給出了it-gJ頂層電路圖和底層元件的VI-IDL源程序.談設(shè)計(jì)的正確性已通過(guò)硬件實(shí)驗(yàn)得到驗(yàn)證.關(guān)鍵詞:樂(lè)曲發(fā)生器;電子設(shè)計(jì)自動(dòng)化;現(xiàn)場(chǎng)可縮程門(mén)陣列;VHDL中圈分類號(hào):TP391.72文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1004373X(2003)1806703DesignofMusicGeneratorBasedonFPGAJIA
2、NGTianhua(CollegeofInformationandElectronicEngineering.HangzhouUniversityofCommerce?Hangshou?310035,China)Abstract:ThispaperintroducedadesignbasedonmusicgeneratorbyFPGAwhenMAX+plusl,aEDAsoftwareisused?AndasourceprogramofVHDLofthetopschematicsandthebottomcomponentissupplied?Thecorrectnessofthedesigni
3、sbeenapprovedthroughhardwareexperiment?Keywords:musicgenerator;EDA;FPGA;VHDL1概述隨著EDA技術(shù)的進(jìn)展,基于可編程ASIC的數(shù)字電子系統(tǒng)設(shè)計(jì)的完整方案越來(lái)越受到人們的重視,并且以EDA技術(shù)為核心的能在可編程ASIC上進(jìn)行系統(tǒng)芯片集成的新設(shè)計(jì)方法,也正在快速地取代基于PCB板的傳統(tǒng)設(shè)計(jì)方式.與利用微處理器(CPU或MCU)來(lái)實(shí)現(xiàn)樂(lè)曲演奏相比,以純硬件完成樂(lè)曲演奏電路的邏輯要復(fù)雜得多,如果不借助于功能強(qiáng)大的EDA工具和硬件描述語(yǔ)言,僅憑傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡(jiǎn)單的演奏電路也遍關(guān)心的問(wèn)題,本設(shè)計(jì)在美國(guó)AITERA公司MA
4、X+plusI的EDA軟件平臺(tái)上,使用層次化設(shè)計(jì)方法,實(shí)現(xiàn)了樂(lè)曲發(fā)生器的設(shè)計(jì).樂(lè)曲選取梁祝中化蝶部分,其簡(jiǎn)譜如圖1所示.3165615一17一.2nII?一0I一0一一?'Ii0一.l圖1梁祝中化蝶部分簡(jiǎn)譜收稿日期t2003-06一O22音符與頻率的關(guān)系我們知道,組成樂(lè)曲的每個(gè)音符的發(fā)音頻率值及其持續(xù)的時(shí)間是樂(lè)曲能連續(xù)演奏所需的2個(gè)基本要素,首先讓我們來(lái)了解音符與頻率的關(guān)系.樂(lè)曲的12平均率規(guī)定:每2個(gè)八度音(如簡(jiǎn)譜中音之間,又可分為12個(gè)半音,每2個(gè)半音的頻率比為蠆.另外,音符A(簡(jiǎn)譜中的低音6)的頻率為440Hz,此可以計(jì)算出簡(jiǎn)譜中從低音1至高音1之間每個(gè)音符的頻率,如表1所示.表
5、1簡(jiǎn)譜中音符與頻率的關(guān)系音符頻率/Hz音符頻率/Hz音符頻率/Hz產(chǎn)生各音符所需的頻率可用一分頻器實(shí)現(xiàn),由于各音符對(duì)應(yīng)的頻率多為非整數(shù),而分頻系數(shù)又不能為67姜田華:基于FPGA的樂(lè)曲發(fā)生器設(shè)計(jì)分頻器時(shí)鐘頻率過(guò)低,則由于分頻系數(shù)過(guò)小,四舍五人取整后的誤差較大;若時(shí)鐘頻率過(guò)高,雖然誤差變考慮兩方面的因素,在盡量減小頻率誤差的前提下取的基準(zhǔn)頻率.若無(wú)6MHz的時(shí)鐘頻率,則可以先分頻得到6MHz或換一個(gè)新的基準(zhǔn)頻率.實(shí)際上,只要各個(gè)音符間的相對(duì)頻率關(guān)系不變,演奏出的樂(lè)曲聽(tīng)起來(lái)都不會(huì)"走調(diào)".化蝶簡(jiǎn)譜中各音符對(duì)應(yīng)的分頻系數(shù)如表2所示.為了減小輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波
6、形應(yīng)為對(duì)稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個(gè)大的分頻系數(shù)為9101,故采用14位二進(jìn)制計(jì)數(shù)器已能滿足分頻要求.表2各音階頻率對(duì)應(yīng)的分頻值音符分頻系數(shù)音符分頻系數(shù)低音39101中音25108低音57653中音34551低音66818中音53827低音76074中音63409中音15733高音12867每個(gè)音符持續(xù)的時(shí)間是樂(lè)曲能連續(xù)演奏所需的另一個(gè)基本要素.化蝶的最小的節(jié)拍為1/4拍,將1拍的時(shí)間長(zhǎng)度定為1s,則只需要再提供一個(gè)4Hz的時(shí)鐘頻來(lái)完成,對(duì)于占用時(shí)間較長(zhǎng)的節(jié)拍(一定是1/4拍的整數(shù)倍,如2/4拍),只需將該音符連續(xù)記錄2次即可.3層次化設(shè)計(jì)我們?cè)诿绹?guó)AITERA公司MAX+plusI的
7、EDA軟件平臺(tái)上,使用層次化設(shè)計(jì)手段,實(shí)現(xiàn)了化蝶樂(lè)曲發(fā)生器的設(shè)計(jì).圖2為化蝶樂(lè)曲發(fā)生器的頂層電路.定.輸出為方波信號(hào),其頻率為3000ooo/(1+D13.0),單位為Hz.音符的持續(xù)時(shí)間需根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定,TABLE元件首先是為PULSE元件提供決定所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)停留的時(shí)間即二進(jìn)制計(jì)數(shù)器(計(jì)數(shù)最大值為138),這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4Hz,所以每一計(jì)數(shù)值的停留時(shí)間為0.25s,即四四拍的4分音符持續(xù)時(shí)間.例如,化蝶樂(lè)曲的第一個(gè)音符為"低音3"(1拍),停留的時(shí)間需用4個(gè)計(jì)數(shù)時(shí)鐘節(jié)拍,即1s.相應(yīng)地,所對(duì)應(yīng)的"低音3"
8、;音符分頻預(yù)置值為9100,其值在AF13.0輸?shù)臅r(shí)鐘速率作加法計(jì)數(shù)時(shí),化蝶樂(lè)曲就開(kāi)始連續(xù)自然地演奏起來(lái)了.底層元件的VHDL邏輯描述如下:一-pULSE元件LIBRARYIEEEzUSEIEEE.STD_L0GIC一1164.ALL;UNSIGNED.ALL:ENTITYpulseISPORT(elk:INSTD_LOGIC;一一待分頻時(shí)鐘d:INSTDL0GICVECT0R(13DOWNTOO)'一一分頻預(yù)置數(shù)輸入lout:0UTSTD_LOGIC);一一發(fā)音輸出ENDpulselARCHITECTUREbehavOFpulseISSIGNALcount:STDLOGICVECT0
9、R(13D0WNT0O)'圖2頂層電路音符的頻率可以由PUISE元件的輸出SPEAK獲得,這是一個(gè)數(shù)控分頻器,由其CLK6MHz端輸入6MHz脈沖信號(hào),分頻比由預(yù)置輸入端D13.0決68SIGNALcao.caol,cao2.load:STDLLOGIC:BEGINPR0CESS(elk,load.d)BEGINIFelk'EVENTANDelk一'1'THENIFload一'1'THENcount<=d:ELSEcount<一count一1:ENDIF:ENDIFENDPR0CESS:PR0CESS(count)BE
10、GINIFcount=0THENcao<='1':ELSEcao<='0'ENDIF;load<一cao;ENDPR0CESS:PROCESS(clk)一一去毛刺BEGINIFelk'EVENTANDelk:'1'THENcaol<cao;ENDIF;ENDPR0CESSzPROCESS(cao1)一一2分頻,方波輸出BEGINIFcaol'EVENTANDcao1一'1'THEN'現(xiàn)代電子技術(shù)>2003年第18期總第161期cao2&a
11、mp;lt;=NOTcao2;ENDIF;f0Ut<=cao2;ENDPROCESS;ENDbehav;一一TABLE元件IBRARYIEEE;LOGIC一1164.ALL;ENTITYtableISP0RT(clk:INSTDLOGIC;af:OUTINTEGERRANGEOTO16#3FFF#);一14位二進(jìn)制數(shù)END;ARCHITECTUREoneOFtableISCONSTANT|ow_3:INTEGER:=9100;CONSTANTlow_5:INTEGER:=7652;CONSTANTlow_6:INTEGER:=6817;CONSTANTlOW-7:INTEGER:
12、一6073;CONSTANTmid一1:INTEGER:一5732;C0NSTANTmid_2:INTEGER:=5107;CONSTANTmid一3:INTEGER:=4550;CONSTANTmid一5:INTEGER:一3826;CONSTANTmid_6:INTEGER:一3408;CONSTANThigh1:INTEGER:2866;CONSTANTstop:INTEGER:=0;一一休止符分頻系數(shù)SIGNALcounter:1NTEGERRANGEOTO138;BEGINPROCESS(clk)BEGINIFcounter一138THENcounter<=0;ELSI
13、F(clk'EVENTANDclk='I')THENcounter<.counter+1;ENDIF;ENDPROCESS;PROCESS(counter)BEGINCASEcounterISwHENOO=>af<=lOW一3;一一低音3WHEN01=>af<一lOW-3;WHENO2一>af<=lOW-3;WHENO3一>af<=lOW-3;WHEN04=>af<一lOW-5;WHENO5=>af&am
14、p;lt;一lOW-5;WHENO6=>af<=low_5;WHEN07=>af<=lOW-6;WHEN08一>af<一midI;WHEN09=>af<=midI;WHEN10一>af<=midI;WHEN1I一>af<=mid一2;WHEN134:>af<一low_5;WHEN135:>af<=lOW-5;WHEN136=>af<=stop;一
15、一休止符WHEN137:>af<=stop;WHEN138=>af<=stop;WHENOTHERS:>NULL;ENDCASE;ENDPRoCESS:END;4實(shí)驗(yàn)驗(yàn)證需要說(shuō)明的是不同的數(shù)字系統(tǒng)其引腳鎖定是不一樣的,為了便于在實(shí)驗(yàn)系統(tǒng)上驗(yàn)證設(shè)計(jì)結(jié)果,必須按照采用的是杭州康芯電子生產(chǎn)的Gw48一CK實(shí)驗(yàn)系統(tǒng),FPGA目標(biāo)芯片的型號(hào)為EPF10K10LC84.芯片配置成功后即可進(jìn)行硬件測(cè)試:選擇實(shí)驗(yàn)電路結(jié)構(gòu)圖NO.6,使CLK6MHz與Clock9相接(接受6MHz時(shí)鐘頻率),CLK4Hz與Clock2相接(接受4Hz時(shí)鐘頻率),發(fā)音輸出接SPEAK,當(dāng)樂(lè)曲一遍演奏完成后,樂(lè)曲發(fā)生器能自動(dòng)從頭開(kāi)始循環(huán)演奏.Ell233參考文獻(xiàn)潘松,王國(guó)棟.VHDL實(shí)用教程MI.四川:電子科學(xué)大學(xué)出版社,2001.MI.北京:電子工業(yè)出版
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電池配件沖壓工藝及模具設(shè)計(jì)》教學(xué)大綱
- 玉溪師范學(xué)院《人文地理學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 光纖、光纜、絕緣制品的賬務(wù)處理實(shí)例-記賬實(shí)操
- 2024年茶葉項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2023年有機(jī)肥料及微生物肥料項(xiàng)目成效分析報(bào)告
- 2024屆河北省邢臺(tái)一中、邢臺(tái)二中第二學(xué)期高三調(diào)研測(cè)試數(shù)學(xué)試題試卷
- 草捆離田運(yùn)輸合同書(shū)
- 采藕承包合同范本
- 不再續(xù)簽消防維保合同意見(jiàn)
- 標(biāo)準(zhǔn)離婚協(xié)議書(shū)范本打印
- 砌體結(jié)構(gòu)承載力計(jì)算
- 醫(yī)院科室質(zhì)量與安全管理記錄本精選
- 好餓的小蛇(繪本修改版)
- 4微笑著承受一切
- 叉車活塞連桿組的快速更換技巧
- 接種率監(jiān)測(cè)與評(píng)價(jià)ppt課件
- 高考物理試題庫(kù)-專題3.32-霍爾效應(yīng)(解析版)
- 債轉(zhuǎn)股驗(yàn)資報(bào)告模板
- 小學(xué)五級(jí)綜合實(shí)踐活動(dòng).種植玉米-(16張)ppt
- xx年度中層干部述職指標(biāo)及評(píng)分表
- 初二班家長(zhǎng)會(huì)課件
評(píng)論
0/150
提交評(píng)論