![基于FPGA的音樂彩燈控制器設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/463d30d21a3e0b244943e646b1e2e7c2/463d30d21a3e0b244943e646b1e2e7c21.gif)
![基于FPGA的音樂彩燈控制器設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/463d30d21a3e0b244943e646b1e2e7c2/463d30d21a3e0b244943e646b1e2e7c22.gif)
![基于FPGA的音樂彩燈控制器設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/463d30d21a3e0b244943e646b1e2e7c2/463d30d21a3e0b244943e646b1e2e7c23.gif)
![基于FPGA的音樂彩燈控制器設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/463d30d21a3e0b244943e646b1e2e7c2/463d30d21a3e0b244943e646b1e2e7c24.gif)
![基于FPGA的音樂彩燈控制器設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/463d30d21a3e0b244943e646b1e2e7c2/463d30d21a3e0b244943e646b1e2e7c25.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)論文設(shè)計(jì)任務(wù)書院(系) 電信工程系 專業(yè)班級(jí) 電子信息工程076班 學(xué)生姓名 一、畢業(yè)論文設(shè)計(jì)題目 基于FPGA的音樂彩燈控制器 二、畢業(yè)論文設(shè)計(jì)工作自 2011 年 3 月 7 日 起至 2011 年 6 月 25 日止三、畢業(yè)論文設(shè)計(jì)進(jìn)行地點(diǎn): 陜西理工學(xué)院 四、畢業(yè)論文設(shè)計(jì)的內(nèi)容要求: 1設(shè)計(jì)任務(wù)及要求 (1)了解FPGA的結(jié)構(gòu)與工作原理,學(xué)習(xí)VHDL設(shè)計(jì)的基本語(yǔ)句; (2)設(shè)計(jì)基于FPGA的硬件演奏電路,并進(jìn)行軟件仿真; (3)建立與彩燈有關(guān)的硬件電路搭建,進(jìn)行系統(tǒng)聯(lián)調(diào),實(shí)現(xiàn)音樂彩燈控制; (4)撰寫設(shè)計(jì)論文 2成果形式 (1)設(shè)計(jì)報(bào)告(要求畫出原理電路圖、主程序流程圖及仿真結(jié)果等
2、,寫出調(diào)試過程) (2)硬件電路實(shí)物 3知識(shí)準(zhǔn)備 VHDL語(yǔ)言程序設(shè)計(jì)、EDA技術(shù)、數(shù)字電子技術(shù)、模擬電子技術(shù)等。 5時(shí)間安排 3月 7 日3月20日:設(shè)計(jì)準(zhǔn)備(領(lǐng)任務(wù)書、收集資料、完成開題報(bào)告)。 3月21日4月30日:理論準(zhǔn)備,VHDL編程、仿真。 5月 1 日5月20日:硬件連接、調(diào)試 。 5月21日6月15日:撰寫設(shè)計(jì)報(bào)告。 6月16日6月20日:整理說(shuō)明書;準(zhǔn)備答辯報(bào)告、進(jìn)行答辯。 指 導(dǎo) 教 師 電子技術(shù) 系(教研室主任簽名 批準(zhǔn)日期 學(xué)生簽名 基于FPGA的音樂彩燈控制器XX(陜西理工學(xué)院 電信工程系 電子信息工程專業(yè) 07X 班,陜西 漢中 723000)指導(dǎo)教師:XXX 摘
3、要 設(shè)計(jì)一種利用FPGA以及VHDL硬件描述語(yǔ)言實(shí)現(xiàn)的音樂彩燈控制器,實(shí)現(xiàn)了樂曲播放的同時(shí),彩燈隨音樂閃爍,可以根據(jù)需要配置不同的音樂,最后在EDA實(shí)驗(yàn)開發(fā)箱上硬件實(shí)現(xiàn)。關(guān)鍵詞 FPGA;VHDL;彩燈;EDA實(shí)驗(yàn)開發(fā)箱The Music Coloured Lights Controller Based on FPGAXXXXXXX(Grade07,ClassX,Major Electronics and Information Engineering,Electronics Engineering Dept.,Shaanxi University of Technology,Hanzhong
4、 723000,Shaanxi)tutor:XXXXXXXX Abstract: Design a use of FPGA and VHDL hardware description language realization of music coloured lights controller, realized the music played at the same time, with music flashing lights, can according to need to configure the music, and the last in different experi
5、ment development box on EDA hardware implementation. Keywords: FPGA;VHDL;coloured lamp;EDA hardware implementation目錄TOC o 1-3 h u HYPERLINK l _Toc256000001 引言播萜綸柄有嘧戒羔蕉賾钚 PAGEREF _Toc256000001 h 1 HYPERLINK l _Toc256000002 1 系統(tǒng)設(shè)計(jì)方案溉暄衤腭堅(jiān)斥枝委蔥淄跳 PAGEREF _Toc256000002 h 1 HYPERLINK l _Toc256000003 踢得譖剖肪煳
6、倉(cāng)翳烴胤蜍 PAGEREF _Toc256000003 h 1 HYPERLINK l _Toc256000004 (1)分頻主要是通過一個(gè)可控分頻器實(shí)現(xiàn)的。采用時(shí)鐘的頻率越高,分頻系數(shù)越大,分頻后的音階頻率就越準(zhǔn)確。但同時(shí)由于分頻系數(shù)大,使用的計(jì)數(shù)單元就會(huì)增加,從而耗費(fèi)更多的硬件邏輯單元,因此可以采取一個(gè)較為適中的時(shí)鐘頻率12MHz。 (2)經(jīng)過分頻后的信號(hào)是一個(gè)脈寬極窄的時(shí)鐘信號(hào),必須對(duì)其進(jìn)行脈沖寬度調(diào)整,增大占空比,才能有效地驅(qū)動(dòng)蜂鳴器。在脈沖寬度調(diào)整時(shí)會(huì)對(duì)此信號(hào)再次二分頻,所以在計(jì)算時(shí),以樂音音階的二倍頻率去求取在特定時(shí)鐘信號(hào)下的分頻系數(shù),以便在調(diào)整占空比后得到正確的音階頻率。 (3)
7、樂曲的頻率變化多端,對(duì)應(yīng)的分頻系數(shù)也不斷變化,因此需要將播放的樂曲的分頻系數(shù)事先存放在ROM中便于讀取。如果將分頻系數(shù)直接作為存儲(chǔ)碼存放在寄存器中,勢(shì)必會(huì)占有更大的容量。因此在這里選取索引值來(lái)作為存儲(chǔ)碼以減小容量。 (4)使用開發(fā)平臺(tái)上的LED燈模擬彩燈,不同音調(diào)對(duì)應(yīng)不同的花形,根據(jù)節(jié)奏閃爍,實(shí)現(xiàn)音樂彩燈控制器。笙咧屑瘃濘饔詬飾停諉劫 PAGEREF _Toc256000004 h 1 HYPERLINK l _Toc256000005 童獄杉罡絕洞楦蘅芡鐐歟 PAGEREF _Toc256000005 h 2 HYPERLINK l _Toc256000006 旯泉棹嗜減膘痱哚污副雒 PAG
8、EREF _Toc256000006 h 2 HYPERLINK l _Toc256000007 CLK 輸出絕女榆杠孔珧嘶堊璀烀悝 PAGEREF _Toc256000007 h 2 HYPERLINK l _Toc256000008 弟樣笫悱鈽拾占癌仉琦攀 PAGEREF _Toc256000008 h 2 HYPERLINK l _Toc256000009 蘞衤鋮騫唣鍇筻嗉酹鍬嗆 PAGEREF _Toc256000009 h 2 HYPERLINK l _Toc256000010 廨綺旨坯灞羧號(hào)稽覃黧礱 PAGEREF _Toc256000010 h 2 HYPERLINK l _To
9、c256000011 2 軟件設(shè)計(jì)淌琊倥凍啥矩挎旖硪堋務(wù) PAGEREF _Toc256000011 h 2 HYPERLINK l _Toc256000012 弟抑般個(gè)彌淑誚羼崩闞銨 PAGEREF _Toc256000012 h 2 HYPERLINK l _Toc256000013 兗圍芐芡蟆稗節(jié)傳餅睇癍 PAGEREF _Toc256000013 h 4 HYPERLINK l _Toc256000014 (1)頂層電路模塊圖嚅啼鳘蜣綈斛苔荏廊髑習(xí) PAGEREF _Toc256000014 h 4 HYPERLINK l _Toc256000015 垅昝胤紐駙勢(shì)電堤樞猞簡(jiǎn) PAGER
10、EF _Toc256000015 h 5 HYPERLINK l _Toc256000016 櫬倫倪背幼灬廑傘元喪涑 PAGEREF _Toc256000016 h 6 HYPERLINK l _Toc256000017 2.2.3音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊 倩剜皓袱丨孵斧滯佰炔槳 PAGEREF _Toc256000017 h 7 HYPERLINK l _Toc256000018 嗒渝懋入嗖煤寡圾瘓蓋醴 PAGEREF _Toc256000018 h 7 HYPERLINK l _Toc256000019 迪矛姆泌池褶啵沱殲萇雌 PAGEREF _Toc2560000
11、19 h 8 HYPERLINK l _Toc256000020 2.2.5樂曲演奏音符數(shù)據(jù)文件music梁祝咀哌恭骶樣弁蕾伏代英慢 PAGEREF _Toc256000020 h 11 HYPERLINK l _Toc256000021 嚷簦絢梨癩鰱咴宀蕃搭紗 PAGEREF _Toc256000021 h 11 HYPERLINK l _Toc256000022 島肘詮豆賒俊廂砰頸椿脈 PAGEREF _Toc256000022 h 13 HYPERLINK l _Toc256000023 圖2.5 ROM模塊戒蹁兆酥涸銹始專袱贍棼 PAGEREF _Toc256000023 h 13 H
12、YPERLINK l _Toc256000024 婭竺橘幄題鹵阮試鍋妻硯 PAGEREF _Toc256000024 h 13 HYPERLINK l _Toc256000025 2.3 VHDL程序的仿真與調(diào)試譏借允璽都嗟烹騸闌噼廣 PAGEREF _Toc256000025 h 13 HYPERLINK l _Toc256000026 2.3.1 音樂節(jié)拍和音調(diào)發(fā)生器NOTETABS模塊的仿真本祭賕嗒撂鍋彪蠹轱賣疋 PAGEREF _Toc256000026 h 13 HYPERLINK l _Toc256000027 音樂節(jié)拍和音調(diào)發(fā)生器NOTETABS模塊仿真波形如圖2.6。松底癖綬亓
13、骸錙謁瘍峪丸 PAGEREF _Toc256000027 h 13 HYPERLINK l _Toc256000028 騮攫甙痦援八罘耵不勒敵 PAGEREF _Toc256000028 h 13 HYPERLINK l _Toc256000029 宓犁掄螺蝗衲貍傲暑躬諉 PAGEREF _Toc256000029 h 13 HYPERLINK l _Toc256000030 2.3.2 音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊的仿真勛伊剩瑰肩箔璀桕訾醅丨 PAGEREF _Toc256000030 h 14 HYPERLINK l _Toc256000031 音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表
14、電路TONETABA模塊仿真波形如圖2.7。檔礎(chǔ)顢訟敫奈募頗促駒艘 PAGEREF _Toc256000031 h 14 HYPERLINK l _Toc256000032 薨襤瀝蹲棉蓯詣非閹霍糟 PAGEREF _Toc256000032 h 14 HYPERLINK l _Toc256000033 錁洱筌萘探颮埔耖捅戲眼 PAGEREF _Toc256000033 h 14 HYPERLINK l _Toc256000034 2.3.3 音樂符數(shù)控11分頻SPEAKERA模塊的仿真亳跨氫窖坑駒耙囟曹東嵯 PAGEREF _Toc256000034 h 14 HYPERLINK l _Toc
15、256000035 音樂符數(shù)控11分頻SPEAKERA模塊仿真波形如圖2.8。腮磊昭雌苫猻骯嚴(yán)旰吆肼 PAGEREF _Toc256000035 h 14 HYPERLINK l _Toc256000036 絕甓塍梆謹(jǐn)賚窩拍鞋楷放 PAGEREF _Toc256000036 h 14 HYPERLINK l _Toc256000037 乍查鵠淚年鐠僧扣幟鴻雪 PAGEREF _Toc256000037 h 14 HYPERLINK l _Toc256000038 2.3.4 完整電路仿真莠勇憨奐濃椋盥鍤媳軛忒 PAGEREF _Toc256000038 h 14 HYPERLINK l _To
16、c256000039 完整電路仿真波形如圖2.9。鶴仨孳菱陀鷂刑蛟驢囅冱 PAGEREF _Toc256000039 h 14 HYPERLINK l _Toc256000040 嘟鴣鰲擴(kuò)窘注掣興鼻菹慕 PAGEREF _Toc256000040 h 14 HYPERLINK l _Toc256000041 3 硬件設(shè)計(jì)砣黝嫘楸齠亭犀綃綦瞬猴 PAGEREF _Toc256000041 h 16 HYPERLINK l _Toc256000042 錐稀惺宋郎獐沿鷯運(yùn)沼廄 PAGEREF _Toc256000042 h 17 HYPERLINK l _Toc256000043 本設(shè)計(jì)使用GEXI
17、N.FPGA/P844實(shí)驗(yàn)箱,箱體內(nèi)部配有48MHz晶振作為系統(tǒng)的時(shí)鐘源,如圖3.3所示,為得到一個(gè)穩(wěn)定而精確的時(shí)鐘頻率,有源晶振的供電電源經(jīng)過LC濾波。可以實(shí)現(xiàn)最小1Hz輸出。嫠掾淀根嘯忒杪桿滸闊勾 PAGEREF _Toc256000043 h 17 HYPERLINK l _Toc256000044 銑陽(yáng)磷握麓有檁崗彳萆煙 PAGEREF _Toc256000044 h 17 HYPERLINK l _Toc256000045 8餿塏蟬掎杠磊糴芭啦痢男 PAGEREF _Toc256000045 h 17 HYPERLINK l _Toc256000046 島怦殳映洱肱苒搖俄教嗯 PAG
18、EREF _Toc256000046 h 17 HYPERLINK l _Toc256000047 圖3.4 LED電路圖8餛螭壟版人蜿銚矢毒帽秸 PAGEREF _Toc256000047 h 18 HYPERLINK l _Toc256000048 蜂鳴器電路如圖3.5所示,蜂鳴器用PNP三極管進(jìn)行驅(qū)動(dòng)控制,并使用交流蜂鳴器。當(dāng)在BEEP輸入一定頻率的脈沖時(shí),蜂鳴器蜂鳴,改變輸入頻率可以改變蜂鳴器的響聲。逞賴蹲脾庫(kù)噶鞔堯痼弒莊 PAGEREF _Toc256000048 h 18 HYPERLINK l _Toc256000049 扦痊冼廈沂徑縱患鼯膦餛 PAGEREF _Toc25600
19、0049 h 18 HYPERLINK l _Toc256000050 8葚喙哳找放吸薰岳曼戈皺 PAGEREF _Toc256000050 h 18 HYPERLINK l _Toc256000051 最后,本設(shè)計(jì)的最終硬件展示見附錄II硬件實(shí)物圖。苛畀鐿結(jié)徵協(xié)駙塥璽埯貼 PAGEREF _Toc256000051 h 18 HYPERLINK l _Toc256000052 心得體會(huì)全猙腫諗湎飆頻姥冒碭懦 PAGEREF _Toc256000052 h 19 HYPERLINK l _Toc256000053 致謝勾彌嫜受刷培稗膜刨低慫 PAGEREF _Toc256000053 h 19
20、 HYPERLINK l _Toc256000054 參考文獻(xiàn)摳蘑賄鯨醅毿鳧剎璀捱邗 PAGEREF _Toc256000054 h 20 HYPERLINK l _Toc256000055 附錄A 完整程序懵尷呂潮純龍釩胖锃寮距 PAGEREF _Toc256000055 h 21 HYPERLINK l _Toc256000056 附錄B 硬件電路實(shí)物圖羌縑盧輝鈐默璋價(jià)氰愎瞞 PAGEREF _Toc256000056 h 27引言 FPGA(FieldProgrammable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。
21、它是作為HYPERLINK :/baike.baidu /view/380272.htm專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)5。通過FPGA實(shí)現(xiàn)音樂彩燈控制器,實(shí)質(zhì)上就是將不同音階與特定頻率的方波信號(hào)對(duì)應(yīng)起來(lái),以方波信號(hào)驅(qū)動(dòng)蜂鳴器發(fā)出聲音,再根據(jù)不同音階來(lái)控制彩燈閃爍。與借助微處理器(CPU或MCU)來(lái)實(shí)現(xiàn)樂曲演奏相比,以純硬件方式完成樂曲演奏電路邏輯要復(fù)雜的多,僅憑傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡(jiǎn)單的演奏電路也難以實(shí)現(xiàn),所以要借助功能強(qiáng)大的EDA工具和硬件描述語(yǔ)言,提供了設(shè)計(jì)可能性,使得硬件演奏電路看起來(lái)更直觀。
22、本設(shè)計(jì)在EDA開發(fā)平臺(tái)上利用VHDL語(yǔ)言設(shè)計(jì)數(shù)控分頻器電路,利用數(shù)控分頻的原理設(shè)計(jì)音樂硬件演奏電路,并定制LPM-ROM存儲(chǔ)音樂數(shù)據(jù),以“梁?!睘槔瑢⒁魳窋?shù)據(jù)存儲(chǔ)到LPM-ROM,就達(dá)到了以純硬件的手段來(lái)實(shí)現(xiàn)樂曲的演奏效果。只要修改LPM-ROM所存儲(chǔ)的音樂數(shù)據(jù),將其換成其他樂曲的音樂數(shù)據(jù),再重新定制LPM-ROM,連接到程序中就可以實(shí)現(xiàn)演奏。將演奏的高音和樂譜顯示分別作為輸出連接到LED彩燈上,彩燈將隨音樂閃爍出不同花型。1 系統(tǒng)設(shè)計(jì)方案隨著經(jīng)濟(jì)的迅速發(fā)展,人們需要進(jìn)一步提高生活質(zhì)量、美化生活環(huán)境,利用各種彩燈裝飾已成為一種時(shí)尚。音樂彩燈的出現(xiàn),更好的滿足了人們的追求,音樂的播放和彩燈有節(jié)
23、奏地閃爍,同時(shí)達(dá)到聽覺和視覺的完美結(jié)合,成為構(gòu)成其必不可少的條件。要了解如何產(chǎn)生不同音階的音樂,首先要對(duì)樂音的特性有所了解。樂音實(shí)際上是有固定頻率的信號(hào)。在樂曲的構(gòu)成中,樂音的頻率和持續(xù)的時(shí)間是其構(gòu)成的要素。音階的頻率可以通過高頻時(shí)鐘進(jìn)行分頻得到。音頻的高低可以通過外部的LED燈的閃爍來(lái)顯示,這樣在音樂和流水燈的配合下可以使人產(chǎn)生強(qiáng)烈的節(jié)奏感。 (1)分頻主要是通過一個(gè)可控分頻器實(shí)現(xiàn)的。采用時(shí)鐘的頻率越高,分頻系數(shù)越大,分頻后的音階頻率就越準(zhǔn)確。但同時(shí)由于分頻系數(shù)大,使用的計(jì)數(shù)單元就會(huì)增加,從而耗費(fèi)更多的硬件邏輯單元,因此可以采取一個(gè)較為適中的時(shí)鐘頻率12MHz。 (2)經(jīng)過分頻后的信號(hào)是一個(gè)
24、脈寬極窄的時(shí)鐘信號(hào),必須對(duì)其進(jìn)行脈沖寬度調(diào)整,增大占空比,才能有效地驅(qū)動(dòng)蜂鳴器。在脈沖寬度調(diào)整時(shí)會(huì)對(duì)此信號(hào)再次二分頻,所以在計(jì)算時(shí),以樂音音階的二倍頻率去求取在特定時(shí)鐘信號(hào)下的分頻系數(shù),以便在調(diào)整占空比后得到正確的音階頻率。 (3)樂曲的頻率變化多端,對(duì)應(yīng)的分頻系數(shù)也不斷變化,因此需要將播放的樂曲的分頻系數(shù)事先存放在ROM中便于讀取。如果將分頻系數(shù)直接作為存儲(chǔ)碼存放在寄存器中,勢(shì)必會(huì)占有更大的容量。因此在這里選取索引值來(lái)作為存儲(chǔ)碼以減小容量。 (4)使用開發(fā)平臺(tái)上的LED燈模擬彩燈,不同音調(diào)對(duì)應(yīng)不同的花形,根據(jù)節(jié)奏閃爍,實(shí)現(xiàn)音樂彩燈控制器。軟件部分共分五個(gè)模塊,音樂節(jié)拍和音調(diào)發(fā)生器NOTETA
25、BS模塊、音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊、音樂符數(shù)控11分頻SPEAKERA模塊、樂曲演奏音符數(shù)據(jù)文件music梁祝和ROM模塊,其中,Music模塊存放樂曲中的音符數(shù)據(jù),地址發(fā)生器模塊作為music模塊中所定制的音符數(shù)據(jù)ROM的地址發(fā)生器,分頻預(yù)制數(shù)模塊提供分頻預(yù)制數(shù)即給數(shù)控分頻模塊提供計(jì)數(shù)初值,十六進(jìn)制模塊對(duì)12MHz的時(shí)鐘脈沖進(jìn)行16分頻,得到750KHz的頻率,給數(shù)控分頻模塊提供時(shí)鐘脈沖,數(shù)控分頻模塊根據(jù)分頻預(yù)制數(shù)輸出各個(gè)音符所對(duì)應(yīng)的頻率,軟件組成框圖如圖1.1。音樂符數(shù)控11分頻SPEAKERA音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABS音樂符數(shù)控11分頻SPEAK
26、ERA音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABS音樂節(jié)拍和音調(diào)發(fā)生器NOTETABSCLK輸出圖1.1 軟件組成框圖用MAXPlusII把軟件部分編譯仿真結(jié)束后,下載到試驗(yàn)箱上,外接電源、信號(hào)發(fā)生器、LED燈和蜂鳴器,調(diào)試后實(shí)現(xiàn)音樂彩燈控制器。如圖1.2硬件原理框圖。EPF10K10LC84-4(將軟件部分下載到該芯片) 蜂鳴器時(shí)鐘信號(hào)8Hz蜂鳴器時(shí)鐘信號(hào)8HzLED燈時(shí)鐘信號(hào)12MHzLED燈時(shí)鐘信號(hào)12MHz2 軟件設(shè)計(jì) (1)音樂硬件演奏電路基本原理6 硬件電路的發(fā)聲原理,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制FPGA芯片某個(gè)引腳輸出一定頻率的矩形波,接上蜂鳴器就能發(fā)出相
27、應(yīng)頻率的聲音。樂曲中的每個(gè)音符對(duì)應(yīng)著一個(gè)確定的頻率,要想FPGA發(fā)出不同音符的音調(diào),實(shí)際上只要控制它輸出相應(yīng)音符的頻率即可。樂曲都是由一連串的音符組成的,因此按照樂曲的樂譜依次輸出相應(yīng)音符所對(duì)應(yīng)的頻率,就可以在蜂鳴器上連續(xù)地發(fā)出各個(gè)音符的音調(diào)。而要準(zhǔn)確地演奏出一首樂曲,僅僅讓蜂鳴器能夠發(fā)聲是不夠的,還必須準(zhǔn)確地控制樂曲的節(jié)奏,即樂曲中每個(gè)音符的發(fā)聲頻率及其持續(xù)時(shí)間是樂曲能連續(xù)演奏的兩個(gè)關(guān)鍵因素。 (2)音符頻率的獲得多個(gè)不同頻率的信號(hào)可通過對(duì)某個(gè)基準(zhǔn)頻率進(jìn)行分頻獲得。由于各個(gè)音符的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計(jì)算機(jī)得到的分頻系數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則分頻系數(shù)過小,
28、四舍五入取整后的誤差較大。若基準(zhǔn)頻率過高,雖然可以減少頻率的相對(duì)誤差,但分頻結(jié)構(gòu)將變大。實(shí)際上應(yīng)該綜合考慮這兩個(gè)方面的因素,在盡量減少誤差的前提下,選取合適的基準(zhǔn)頻率。4。表2.1 各音符的頻率及其對(duì)應(yīng)的分頻系數(shù)音符名 頻率(Hz) 分頻系數(shù) 計(jì)數(shù)初值 音符名 頻率(Hz) 分頻系數(shù) 計(jì)數(shù)初值休止符低音1低音2低音3低音4低音5低音6低音7中音1中音2中音33750000127411351011970950757675637587505204777391210361077119712901372141014801542中音4中音5中音6中音7高音1高音2高音3高音4高音5高音6高音746842
29、537933031927724823320818516515791622166817171728177017991814183918621882 (3)樂曲節(jié)奏的控制 本設(shè)計(jì)中的梁祝樂曲,最小節(jié)拍為四一拍,若將一拍的時(shí)間定為1秒,則只需要提供一個(gè)4Hz的時(shí)鐘頻率即可產(chǎn)生四一拍的時(shí)長(zhǎng)(0.25秒),對(duì)于其它占用時(shí)間較長(zhǎng)的節(jié)拍(必為四一拍的整數(shù)倍)則只需要將該音符連續(xù)輸出相應(yīng)的次數(shù)即可。計(jì)數(shù)時(shí)鐘信號(hào)作為輸出音符快慢的控制信號(hào),時(shí)鐘快時(shí)輸出節(jié)拍速度就快,演奏的速度也就快,時(shí)鐘慢時(shí)輸出節(jié)拍的速度就慢,演奏的速度自然低。 (4)樂譜發(fā)生器本文將樂譜中的音符數(shù)據(jù)存儲(chǔ)在LPM-ROM中,如梁祝樂曲中的第一個(gè)
30、音符為“3”,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即1秒的時(shí)間,相應(yīng)地,音符“3”就要在LPM-ROM中連續(xù)的四個(gè)地址上都存儲(chǔ)。當(dāng)一個(gè)4Hz的時(shí)鐘到來(lái)時(shí),相應(yīng)的從LPM-ROM中輸出第一個(gè)音符“3”。 (5)彩燈將樂譜發(fā)生器的輸出端接上LED燈模擬彩燈,LED燈會(huì)隨著音樂的變化開始閃爍,因?yàn)閷?shí)驗(yàn)箱上的燈是低電平亮,所以LED燈滅的是輸出音調(diào),而燈的閃爍速度則是按照音樂節(jié)奏。 (1)頂層電路模塊圖 (2)頂層電路VHDL程序 LIBRARY IEEE;-硬件演奏電路頂層設(shè)計(jì) USE IEEE.STD_LOGIC_1164.ALL; ENTITY Songer IS PORT(CLK12MHZ:IN
31、STD_LOGIC;-音調(diào)頻率信號(hào) CLK8HZ:IN STD_LOGIC;-節(jié)拍頻率用于控制音長(zhǎng)(節(jié)拍)的時(shí)鐘頻率 CODE1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-簡(jiǎn)譜碼輸出顯示 HIGH1:OUT STD_LOGIC;-高8度指示 SPKOUT:OUT STD_LOGIC);-聲音輸出 END; ARCHITECTURE one OF Songer IS COMPONENT NoteTabs-原件U1例換化 PORT(clk:IN STD_LOGIC; ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO O); END COMPO
32、NENT; COMPONENT ToneTaba-元件U2例換化 PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO O); CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO O); HIGH:OUT STD_LOGIC; Tone:OUT STD_LOGIC_VECTOR(10 DOWNTO O); END COMPONENT; COMPONENT Speakera-元件U3例換化 PORT(clk:IN STD_LOGIC; Tone:IN STD_LOGIC_VECTOR(10 DOWNTO 0); SpkS:OUT STD_LOGIC);
33、 END COMPONENT; SIGNAL Tone:STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL ToneIndex:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN u1:NoteTabs PORT MAP(clk=CLK8HZ,ToneIndex=ToneIndex);-參數(shù) 傳遞映射語(yǔ)句 u2:ToneTaba PORT MAP(Index=ToneIndex,Tone=Tone,COED=CODE1,HIGH=HIGH1); u3:Speakera PORT MAP(clk=CLK12MHZ,Tone=Tone,SpkS=SPKO
34、UT); END; 在NOTETABS中設(shè)置了一個(gè)8位二進(jìn)制計(jì)數(shù)器,作為音符數(shù)據(jù)ROM的地址發(fā)生器。這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4Hz,即每一計(jì)數(shù)器的停留時(shí)間為0.25秒,恰為當(dāng)全音符設(shè)為1秒時(shí),四四拍的4分音符持續(xù)時(shí)間。例如,NOTETABS在以下VHDL邏輯描述中,梁祝樂曲的第一個(gè)音符為“3”,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即1秒時(shí)間。 (2)音樂節(jié)拍和音調(diào)發(fā)生器NOTETABS模塊VHDL程序設(shè)計(jì) LIBRARY IEEE;-音樂節(jié)拍和音調(diào)發(fā)生器模塊 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY N
35、oteTabs IS PORT(clk:IN STD_LOGIC;-音樂節(jié)拍時(shí)鐘4HZ ToneIndex:OUT STD_LOGIC_VECTOR (3 DOWNTO O); END; ARCHITECTURE one OF NoteTabs IS COMPONENT music -音符數(shù)據(jù)ROM PORT(address:IN STD_LOGIC_VECTOR(7 DOWNTO O); clock:IN STD_LOGIC; q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT; SIGNAL Counter:STD_LOGIC_VECTOR
36、 (7 DOWNTO 0);-8位二進(jìn)制計(jì)數(shù)器 BEGIN CNT8:PROCESS(clk,Counter,sel,rst) BEGIN IF(clkEVENT AND clk=1)and(Counter=256 or rst=0) then Counter=00000000;Counter=Counter+1; END IF; IF(clkEVENT AND clk=1)and(sel=0)then Counter=10010000;CounterCounter,q=ToneIndex,clock=clk); END (1)音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊生成圖,如圖音符的
37、持續(xù)時(shí)間需根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定,模塊TONETABA的功能首先是為SPEAKERA提供決定所發(fā)音符的分頻預(yù)制數(shù),而此數(shù)在SPEAKERA輸入口停留的時(shí)間即為此音符的節(jié)拍值。模塊TONETABA是樂譜簡(jiǎn)譜碼對(duì)應(yīng)的分頻預(yù)制數(shù)查表電路,其中設(shè)置了梁祝樂曲全部音符所對(duì)應(yīng)的分頻預(yù)制數(shù),共13個(gè),每一音符的停留時(shí)間由音樂節(jié)拍和音調(diào)發(fā)生器模塊NOTETABS的clk的輸入頻率決定,在此為4Hz。這13個(gè)值的輸出,由對(duì)應(yīng)于TONETBAB的4位輸入值Index3.0確定,而Index3.0最多有16種可選值。輸向TONETABA中Index3.0的值ToneIndex3.0的輸出值與持續(xù)的時(shí)
38、間由模塊NOTETABS決定。 (2)音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊VHDL程序設(shè)計(jì) LIBRARY IEEE;-音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路模塊 USE IEEE.STD_LOGIC_1164.ALL; ENTITY ToneTaba IS PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO O);-4位預(yù)制數(shù)查表 CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH:OUT STD_LOGIC;-音樂高8度指示 Tone:OUT STD_LOGIC_VECTOR(10 DOWNTO 0);-音樂符對(duì)應(yīng)分頻11位
39、 END; ARCHITECTURE one OF ToneTaba IS BEGIN Search:PROCESS(Index) BEGIN CASE Index IS-譯碼電路,查表方式,控制音調(diào)的預(yù)制數(shù)13組頻率 WHEN0001=Tone=01100000101;CODE=0001;HIGHTone=01110010000;CODE=0010;HIGHNULL; END CASE; END PROCESS; END; (1)音樂符數(shù)控11分頻SPEAKERA模塊生成圖,如圖 音符的頻率可由SPEAKERA獲得,這是一個(gè)數(shù)控分頻器,由其clk端輸入一具有較高頻率(本設(shè)計(jì)為12MHz)的信
40、號(hào),通過SPEAKERA分頻后由SPKOUT輸出,由于直接從數(shù)控分頻器中出來(lái)的輸出信號(hào)是脈寬極窄的脈沖式信號(hào),為了有利于驅(qū)動(dòng)揚(yáng)聲器,需另加一個(gè)D觸發(fā)器以均衡其占空比,但這時(shí)的頻率將是原來(lái)的1/2。SPEAKERA對(duì)clk輸入信號(hào)的分頻比由11位預(yù)制數(shù)Tone10.0決定。SPKOUT的輸出頻率將決定每一個(gè)音符的音調(diào),這樣,分頻計(jì)數(shù)器的預(yù)制值Tone10.0與SPKOUT的輸出頻率就有了對(duì)應(yīng)關(guān)系。例如,在TONETABA模塊中若取Tone10.0=1036,將發(fā)出音符為“3”音的信號(hào)頻率。 (2)音樂符數(shù)控11分頻SPEAKERA電路模塊VHDL程序設(shè)計(jì) LIBRARY IEEE;-音樂符數(shù)控分
41、頻電路模塊 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Speakera IS PORT(clk:IN STD_LOGIC;-音調(diào)頻率信號(hào)12MHZ Tone:IN STD_LOGIC_VECTOR(10 DOWNTO 0);-音樂符對(duì)應(yīng)分頻11位 SpkS:OUT STD_LOGIC);-音樂輸出 END; ARCHITECTURE one OF Speakera IS SIGNAL PreCLK,FullSpkS:STD_LOGIC; BEGIN DivideCLK:PROCESS(clk) VA
42、RIABLE Count4:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PreCLK11 THEN PreCLK=1;Count4:=0000; ELSIF clkEVENT AND clk=1THEN Count4:=Count4+1; END IF; END PROCESS; GenSpkS:PROCESS(PreCLK,Tone)-11位可預(yù)置計(jì)數(shù)器 VARIABLE Count11:STD_LOGIC_VECTOR(10 DOWNTO 0); BEGIN IF PreCLKEVENT AND PreCLK=1THEN IF Count11=16#7FF# T
43、HEN Count11:=Tone;FullSpkS=1; ELSE Count11:=Count11+1;FullSpkS=0;END IF; END IF; END PROCESS; DelaySpkS:PROCESS(FullSpkS)-將輸出再2分頻,展寬脈沖,使揚(yáng)聲器有足夠功率發(fā)音 VARIABLE Count2:STD_LOGIC; BEGIN IF FullSpkSEVENT AND FullSpkS=1THEN Count2:=NOT Count2; IF Count2=1THEN SpkS=1; ELSE SpkS=0;END IF; END IF; END PROCESS;
44、 END;2.2.5樂曲演奏音符數(shù)據(jù)文件music梁祝 WIDTH=4;-樂曲演奏數(shù)據(jù),輸出位寬4 DEPTH=256;-256個(gè)4位數(shù)據(jù)點(diǎn) Address_radix=dec;-地址信號(hào)用十進(jìn)制數(shù)表示 Data_radix=dec;-輸出數(shù)據(jù)是十進(jìn)制數(shù) CONTENT CEGIN 00:3; 01:3; 02:3; 03:3; 04:5; 05:5; 06:5; 07:6; 08:8; 09:8; 10:8; 11:9; 12:6; 13:8; 14:5; 15:5; 16:12; 17:12; 18:12; 19:15; 20:13; 21:12; 22:10; 23:12; 24:9;
45、25:9; 26:9; 27:9; 28:9; 29:9; 30:9; 31:0; 32:9; 33:9; 34:9; 35:10; 36:7; 37:7; 38:6; 39:6; 40:5; 41:5; 42:5; 43:6; 44:8; 45:8; 46:9; 47:9; 48:3; 49:3; 50:8; 51:8; 52:6; 53:5; 54:6; 55:8; 56:5; 57:5; 58:5; 59:5; 60:5; 61:5; 62:5; 63:5; 64:10; 65:10; 66:10; 67:12; 68:7; 69:7; 70:9; 71:9; 72:6; 73:8; 7
46、4:5; 75:5; 76:5; 77:5; 78:5; 79:5; 80:3; 81:5; 82:3; 83:3; 84:5; 85:6; 86:7; 87:9; 88:6; 89:6; 90:6; 91:6; 92:6; 93:6; 94:5; 95:6; 96:8; 97:8; 98:8; 99:9; 100:12;101:12; 102:12; 103:10; 104:9; 105:9; 106:10; 107:9; 108:8; 109:8; 110:6; 111:5; 112:3; 113:3; 114:3; 115:3; 116:8; 117:8; 118:8; 119:8; 1
47、20:6; 121:8; 122:6; 123:5; 124:3; 125:5; 126:6; 127:8; 128:5; 129:5; 130:5; 131:5; 132:5; 133:5; 134:5; 135:5; 136:0; 137:0; 138:0; 139:0; END; 其中WIDTH=4,表示數(shù)據(jù)輸出寬度為4;DEPTH=256,表示共有256個(gè)4位數(shù)據(jù)點(diǎn);ADDRESS-RADIX=DEC,表示地址信號(hào)用十進(jìn)制;DATA-RADIX=DEC,表示輸出數(shù)據(jù)是十進(jìn)制。形成ROM中的配置數(shù)據(jù)(初始化數(shù)據(jù))文件的方法如下:打開MAX+PlusII編輯器中,在File菜單下的New菜
48、單上選擇Text Editor File命令,進(jìn)入文本編輯器,然后輸入以上格式的數(shù)據(jù)文件,以后綴.mif保存,記住保存路徑,本設(shè)計(jì)中的路徑為“”。 (1)LPM-ROM定制的基本步驟3 EQ oac(,1)進(jìn)入MAX+PlusII,選菜單File MegaWizard Plug-In Manager,選擇“ Creat a new .”,然后按“Next”鍵,選擇LPM-ROM,最后在Browse下的欄中鍵入路徑與輸出文件名“”。 EQ oac(,2)單擊“Next”鍵,選擇ROM數(shù)據(jù)為寬度為4,地址線寬度為256,。 EQ oac(,3)通過“Browse”鈕,找到ROM中的加載文件路徑與輸
49、出文件名:“”。 (2)定制好的ROM文件VHDL程序如下 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY music IS PORT(address:IN STD_LOGIC_VECTOR(7 DOWNTO O); inclock:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO O); END music; ARCHITECTURE SYN OF music IS SIGNAL sub_wire0:STD_LOGIC_VECTOR(3 DOWNTO O); COMPONENT lpm_rom GE
50、NERIC(lpm_width :NATURAL; lpm_widthad :NATURAL; lpm_address_control:STRING; lpm_outdata :STRING; lpm_file :STRING); PORT(address:IN STD_LOGIC_VECTOR(7 DOWNTO O); inclock:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT; BEGIN q4; LPM_WIDTHAD=8; LPM_ADDRESS_CONTROL=REGISTERED; LPM_OUTD
51、ATA=UNREGISTERED; LPM_FILE=e:/zw/music_data.mif); PORT MAP(address=address; inclock=inclock; q=sub_wire0); END SYN; (3)ROM模塊生成圖,如圖圖2.5 ROM模塊 例如:NOTETABS在上述的VHDL邏輯描述中,梁祝樂曲的第一個(gè)音符為“3”此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即1秒的時(shí)間,相應(yīng)地,所對(duì)應(yīng)的“3”音符分頻預(yù)制數(shù)值為1036,在SPEAKERA的輸入端停留了1秒。隨著NOTETABS中的計(jì)數(shù)器按4Hz的時(shí)鐘速率作加法計(jì)數(shù)時(shí),即隨地址遞增時(shí),音符數(shù)據(jù)模塊ROM中的音符數(shù)
52、據(jù)將從ROM中通過ToneIndex3.0端口輸向TONETABA模塊,梁祝樂曲就開始連續(xù)自然地演奏起來(lái)。2.3 VHDL程序的仿真與調(diào)試 在MAX+PlusII仿真環(huán)境中,將各個(gè)模塊的程序分別編譯,然后分別建立波形文件,選擇FLEX10K系列EPF10K10LC84-4型號(hào)為目標(biāo)芯片分別進(jìn)行仿真,仿真波形圖如下。2.3.1 音樂節(jié)拍和音調(diào)發(fā)生器NOTETABS模塊的仿真 音樂節(jié)拍和音調(diào)發(fā)生器NOTETABS模塊仿真波形如圖2.6。2.3.2 音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊的仿真 音樂譜對(duì)應(yīng)分頻預(yù)制數(shù)查表電路TONETABA模塊仿真波形如圖2.7。2.3.3 音樂符數(shù)控11分
53、頻SPEAKERA模塊的仿真 音樂符數(shù)控11分頻SPEAKERA模塊仿真波形如圖2.8。因?yàn)闀r(shí)鐘信號(hào)為12MHz,很密,為了能看見SpkS的輸出波形,將整個(gè)仿真圖縮放,故clk與Tone變成色帶。2.3.4 完整電路仿真 完整電路仿真波形如圖2.9。 給CLK12MHz賦值83.33ns,CLK8Hz賦值125ms,因?yàn)榈谝粋€(gè)音“3”占了4個(gè)時(shí)鐘節(jié)拍,為了能看出效果,將END TIME設(shè)置為1s,仿真結(jié)果如上圖。3 硬件設(shè)計(jì)本設(shè)計(jì)硬件分為三大部分:EPF10K10LC84-4芯片1、LED燈、蜂鳴器,其中,芯片實(shí)物圖見圖3.1,芯片管腳圖見圖3.2。 圖3.1 EPF10K10LC84-4實(shí)物
54、圖 圖3.2 EPF10K10LC84-4管腳圖 (1)本設(shè)計(jì)使用FLEX10K系列的EPF10K10LC84-4芯片,將編譯仿真成功的程序下載到芯片中,使其實(shí)現(xiàn)音樂演奏。其中,自行鎖定管腳,7、8、9、10為CODE輸出,即為簡(jiǎn)譜碼顯示;11管腳為HIGH輸出,表示高音;16管腳為SPKOUT輸出,連接蜂鳴器;1管腳為時(shí)鐘信號(hào)8Hz,提供節(jié)奏頻率;43管腳為時(shí)鐘信號(hào)12MHz,提供音調(diào)頻率。 (2)LED燈分別連在7、8、9、10、11管腳上,用來(lái)表示輸出音調(diào)的簡(jiǎn)譜碼以及標(biāo)記高音,可以實(shí)現(xiàn)隨音調(diào)變化閃爍。 (3)蜂鳴器連接到16管腳,實(shí)現(xiàn)樂曲輸出。 (4)給整體電路加上+5V電源,使整個(gè)電路
55、工作,實(shí)現(xiàn)音樂輸出的同時(shí),LED燈隨之閃爍。本設(shè)計(jì)輸入端給芯片EPF10K10LC84-4接入時(shí)鐘信號(hào),分別為12MHz和8Hz,用來(lái)提供音調(diào)發(fā)聲頻率頻率和樂曲節(jié)奏,其中,12MHz時(shí)鐘信號(hào)由數(shù)字信號(hào)發(fā)生器提供,8Hz時(shí)鐘信號(hào)由實(shí)驗(yàn)箱提供。本設(shè)計(jì)使用GEXIN.FPGA/P844實(shí)驗(yàn)箱,箱體內(nèi)部配有48MHz晶振作為系統(tǒng)的時(shí)鐘源,如圖3.3所示,為得到一個(gè)穩(wěn)定而精確的時(shí)鐘頻率,有源晶振的供電電源經(jīng)過LC濾波??梢詫?shí)現(xiàn)最小1Hz輸出。8本設(shè)計(jì)通過蜂鳴器和LED燈輸出,12MHz時(shí)鐘信號(hào)經(jīng)過分頻,D/A轉(zhuǎn)換,最后驅(qū)動(dòng)蜂鳴器來(lái)演奏音樂;LED燈模擬彩燈,將輸出的CODE信號(hào)以及HIGH信號(hào)接入,實(shí)現(xiàn)
56、燈隨音樂閃爍的效果,其中,時(shí)鐘信號(hào)8Hz用來(lái)提供節(jié)奏信號(hào),燈閃爍的快慢也由其決定。LED燈及蜂鳴器均由實(shí)驗(yàn)箱提供,LED電路如圖3.4。圖3.4 LED電路圖8 蜂鳴器電路如圖3.5所示,蜂鳴器用PNP三極管進(jìn)行驅(qū)動(dòng)控制,并使用交流蜂鳴器。當(dāng)在BEEP輸入一定頻率的脈沖時(shí),蜂鳴器蜂鳴,改變輸入頻率可以改變蜂鳴器的響聲。8 最后,本設(shè)計(jì)的最終硬件展示見附錄II硬件實(shí)物圖。心得體會(huì)本次設(shè)計(jì)選題為“基于FPGA的音樂流水燈控制系統(tǒng)”,剛拿到這個(gè)題目時(shí),由于對(duì)FPGA及VHDL語(yǔ)言不甚了解,看到題目后有些茫然。跟指導(dǎo)老師xxx老師溝通后,決定先收集關(guān)于該題目的相關(guān)資料,以了解設(shè)計(jì)的大體方向,同時(shí)找出E
57、DA課本,加深對(duì)FPGA及VHDL語(yǔ)言的認(rèn)識(shí)和了解。經(jīng)過一段時(shí)間的努力,有了初步的成效,構(gòu)建了整體設(shè)計(jì)框架。由于考研中途耽誤了一段時(shí)間,四月末才開始著手于軟件仿真。因?yàn)楸驹O(shè)計(jì)中有音樂播放器,故編程時(shí)需要生成ROM塊以便儲(chǔ)存音樂數(shù)據(jù)文件music。而就是這個(gè)ROM塊的建立,使得我的設(shè)計(jì)進(jìn)度停滯不前,因?yàn)殡m然編寫出了要求的.mif文件以及ROM塊驅(qū)動(dòng)程序,但編譯總是提示錯(cuò)誤,找不到music文件。開始以為是數(shù)據(jù)文件music的寬度和數(shù)據(jù)點(diǎn)位數(shù)設(shè)置不符合要求,更改后,編譯仍然通不過,幾經(jīng)修改,都不成功,后來(lái)在同學(xué)的幫助下,發(fā)現(xiàn)問題,是頭文件大小寫不統(tǒng)一,因?yàn)閂HDL語(yǔ)言的程序編寫是不區(qū)分大小寫的,所
58、以一直沒往這方面想,原來(lái).mif文件要統(tǒng)一大小寫。這個(gè)問題一解決,整體編譯、仿真就通過了,于是就開始搭建硬件電路。本來(lái)此設(shè)計(jì)的硬件非常簡(jiǎn)單,只需幾根線連上信號(hào)源及蜂鳴器和LED燈就可以實(shí)現(xiàn),可是當(dāng)程序下載到片子里的時(shí)候,整個(gè)電路就不工作,檢測(cè)過芯片及蜂鳴器和LED燈都是可以正常工作的,考慮到可能是給同一個(gè)芯片上同時(shí)加了兩個(gè)時(shí)鐘信號(hào)導(dǎo)致片子無(wú)法識(shí)別用哪個(gè)信號(hào),于是又多加了一個(gè)分頻器模塊,將12MHz進(jìn)行1500000倍分頻得出8Hz,可是仍然不能過工作,請(qǐng)教過老師,說(shuō)芯片可以同時(shí)加兩個(gè)時(shí)鐘信號(hào)的,那么出問題的就只剩信號(hào)源了。果真,檢測(cè)了數(shù)字信號(hào)源后發(fā)現(xiàn)它工作不正常,輸入12MHz根本不夠,功率太
59、小,所以驅(qū)動(dòng)不了芯片工作,換了一個(gè)信號(hào)源后,終于成功實(shí)現(xiàn)了音樂流水燈。通過本次設(shè)計(jì),我也獲益匪淺,對(duì)FPGA及VHDL語(yǔ)言有了進(jìn)一步的認(rèn)識(shí),也學(xué)會(huì)要以積極地態(tài)度發(fā)現(xiàn)問題,解決問題,相信只要自己努力就一定會(huì)有結(jié)果。致謝在此論文完成之際,首先向?qū)焫xx老師致以衷心的感謝。本次設(shè)計(jì)是在王老師悉心指導(dǎo)下完成的。從開題、定稿、軟件仿真、硬件調(diào)試及在論文撰寫期間,王老師在百忙當(dāng)中給予了我全面而細(xì)致的指導(dǎo),尤其是在論文的方案、實(shí)施和撰寫等各個(gè)方面。研究過程中所取得的每一個(gè)成果都凝聚了導(dǎo)師的心血。在學(xué)術(shù)上,老師對(duì)待科學(xué)的嚴(yán)謹(jǐn)態(tài)度及實(shí)事求是的作風(fēng)使我深受教益。在思想上,老師謙遜和無(wú)私的精神使我受益匪淺。在我完
60、成論文期間,我的父母給予了大力支持,在此,我表示我的深深謝意。還要感謝所有曾經(jīng)給予我?guī)椭耐瑢W(xué)們。最后,再次向所有幫助、關(guān)心過我的老師、同學(xué)和朋友們表示衷心的感謝!本文參考了大量的文獻(xiàn)資料,在此,向?qū)W術(shù)界的前輩們致敬。參考文獻(xiàn)1任愛鋒,初秀琴,常存基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)M西安:西安電子科技大學(xué)出版社,20042陳國(guó)軍,萬(wàn)明康,王大鳴,等乘除法和開方運(yùn)算的FPGA串行實(shí)現(xiàn)J微計(jì)算機(jī)信息,2008,,2(2):167-1683潘明,許勇基于加減交替法除法器的FPGA設(shè)計(jì)與實(shí)現(xiàn)J微計(jì)算機(jī)信息,2008,24(26):141-1434全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì)全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品精選
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石英玻璃材料及制品合作協(xié)議書
- 2025年多媒體集成合作協(xié)議書
- 《基礎(chǔ)會(huì)計(jì)》繼續(xù)教育考試題及答案
- 2025年代保管檔案協(xié)議參考模板(三篇)
- 2025年二年級(jí)期末工作總結(jié)模版(二篇)
- 2025年中間人傭金協(xié)議(2篇)
- 2025年產(chǎn)品租賃協(xié)議標(biāo)準(zhǔn)樣本(2篇)
- 2025年二手車市場(chǎng)汽車買賣協(xié)議(三篇)
- 2025年中外來(lái)件裝配合同標(biāo)準(zhǔn)樣本(2篇)
- 2025年五年級(jí)下學(xué)期語(yǔ)文教學(xué)工作總結(jié)(2篇)
- 走新型城鎮(zhèn)化道路-實(shí)現(xiàn)湘潭城鄉(xiāng)一體化發(fā)展
- 江蘇中國(guó)中煤能源集團(tuán)有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫(kù)附帶答案詳解
- 北郵工程數(shù)學(xué)試卷
- 2024版冷水機(jī)組安裝合同
- 北師版七年級(jí)數(shù)學(xué)下冊(cè)第二章測(cè)試題及答案
- GB/T 21369-2024火力發(fā)電企業(yè)能源計(jì)量器具配備和管理要求
- 2025年全體員工安全意識(shí)及安全知識(shí)培訓(xùn)
- 2025警察公安派出所年終總結(jié)工作匯報(bào)
- 年新增1萬(wàn)噸SQ-06Li鋰吸附材料技改擴(kuò)能項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 機(jī)動(dòng)車檢測(cè)站新?lián)Q版20241124質(zhì)量管理手冊(cè)
- 智研咨詢發(fā)布-2025年中國(guó)少兒編程行業(yè)市場(chǎng)競(jìng)爭(zhēng)格局、行業(yè)政策及需求規(guī)模預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論