版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> EDA技術(shù)課程大作業(yè)</p><p> 設(shè)計(jì)題目:樂(lè)曲硬件演奏電路的VHDL設(shè)計(jì)</p><p> 院 系:電子信息與電氣工程學(xué)院</p><p><b> 學(xué)生姓名: </b></p><p><b> 學(xué) 號(hào): </b></p><p
2、> 專(zhuān)業(yè)班級(jí):電氣自動(dòng)化二班</p><p> 2011 年 5 月 20</p><p> 設(shè)計(jì)目標(biāo):了解樂(lè)曲演奏的設(shè)計(jì)原理。掌握利用VHDL實(shí)現(xiàn)樂(lè)曲演奏的設(shè)計(jì)方法。完成樂(lè)曲硬件演奏電路的VHDL設(shè)計(jì),并能實(shí)現(xiàn)以下功能:</p><p> ?。?)能夠播放“梁?!睒?lè)曲。</p><p> ?。?)能夠通過(guò)LED顯示音階。&
3、lt;/p><p> ?。?)具有“播放/停止”功能,并在此基礎(chǔ)上實(shí)現(xiàn)“按鍵演奏”的電子琴功能。</p><p><b> 三、 設(shè)計(jì)原理:</b></p><p><b> 設(shè)計(jì)原理圖</b></p><p> 本設(shè)計(jì)由四個(gè)功能模塊組成:數(shù)控分頻與演奏發(fā)生器模塊,即SPEAKERA;樂(lè)曲簡(jiǎn)譜碼對(duì)
4、應(yīng)的分頻預(yù)置數(shù)查表電路模塊,即TONETABA;音樂(lè)節(jié)拍和音調(diào)發(fā)生器模塊,即NOTETABS;LED音階顯示模塊,即DECL7S。</p><p> SPEAKERA模塊:獲得音符的頻率。這是一個(gè)數(shù)控分頻器,由其clk端輸入一個(gè)4MHz的信號(hào),通過(guò)SPEAKERA分頻后由SPKS輸出。由于直接從數(shù)控分頻器中出來(lái)的輸出信號(hào)是脈寬極窄的脈沖式信號(hào),為了有利于驅(qū)動(dòng)揚(yáng)聲器,須另加一個(gè)D觸發(fā)器以均衡其占空比,但這時(shí)的頻率
5、將是原來(lái)的一半。SPEAKERA對(duì)clk輸入信號(hào)的分頻比由11位預(yù)置數(shù)TONE[10..0]決定。SPKS的輸出頻率將決定每一音符的音調(diào),這樣,分頻計(jì)數(shù)器的預(yù)置值TONE[10..0]與SPKS的輸出頻率就有了對(duì)應(yīng)關(guān)系。</p><p> TONETABA模塊:音符的持續(xù)時(shí)間須根據(jù)樂(lè)曲的速度即每個(gè)音符的節(jié)拍數(shù)來(lái)確定,原理圖中TONETABA的功能首先是為SPEAKERA提供決定所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)在SP
6、EAKERA輸入口的停留時(shí)間即為音符的節(jié)拍值。模塊TONETABA是樂(lè)曲簡(jiǎn)譜碼對(duì)應(yīng)的分頻預(yù)置數(shù)查表電路,其中設(shè)置了梁祝樂(lè)曲全部音符所對(duì)應(yīng)的分頻預(yù)置數(shù),共13個(gè),每一音符的停留時(shí)間由音樂(lè)節(jié)拍和音調(diào)發(fā)生器模塊NOTETABS的clk的輸入頻率決定,在此為4Hz.這13個(gè)數(shù)值的輸出由對(duì)應(yīng)于NOTETABA1的4位輸入值Index[3..0]的輸出值與持續(xù)時(shí)間由模塊NOTETABS決定。</p><p> NOTETA
7、BS模塊:在NOTETABS中設(shè)置了一個(gè)8位二進(jìn)制計(jì)數(shù)器(計(jì)數(shù)最大值為138,因?yàn)楣灿?38個(gè)音符),這個(gè)計(jì)數(shù)器的頻率選為4Hz,即每一個(gè)計(jì)數(shù)值得停留時(shí)間為0.25秒,恰為當(dāng)全音符設(shè)為1秒時(shí),四四拍的4分音符持續(xù)時(shí)間。例如,NOTETABS在以下的VHDL邏輯描述中,梁祝樂(lè)曲的第一個(gè)音符為3,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即1秒時(shí)間,相應(yīng)地,所對(duì)應(yīng)的3音符分頻預(yù)置值為1036,在SPEAKERA的輸入端停留了1秒。隨著NOTETABS
8、中的計(jì)數(shù)器按4Hz的時(shí)鐘速率做加法計(jì)數(shù)時(shí),即隨著地址值遞增時(shí),音符數(shù)據(jù)ROM中的音符數(shù)據(jù)將從ROM中通過(guò)ToneIndex[3..0]端口輸向ToneTaba模塊,梁祝樂(lè)曲就開(kāi)始連續(xù)自然地演奏起來(lái)了。</p><p> DECL7S:為了檢驗(yàn)音階的正確性,在ToneTaba中的輸出端CODE[3..0]端接入LED顯示模塊以顯示其音階。</p><p><b> 設(shè)計(jì)內(nèi)容:&
9、lt;/b></p><p><b> 設(shè)計(jì)的系統(tǒng)框圖:</b></p><p><b> 圖2:系統(tǒng)設(shè)計(jì)框圖</b></p><p> 設(shè)計(jì)內(nèi)容一:定制NoteTabs模塊中的音符數(shù)據(jù)ROM“music”,明確數(shù)據(jù)表中的數(shù)據(jù)位寬、深度和數(shù)據(jù)的表達(dá)類(lèi)型。最后對(duì)ROM仿真,確認(rèn)音符數(shù)據(jù)已經(jīng)全部列入其中。</
10、p><p> 設(shè)計(jì)內(nèi)容二:根據(jù)實(shí)驗(yàn)原理和各功能模塊的VHDL描述,然后在max-plusⅡ上完整各功能模塊的設(shè)計(jì),包括編輯、編譯、綜合和仿真等。獲得原理圖,給出仿真波形,并進(jìn)行分析。</p><p> 設(shè)計(jì)內(nèi)容三:仿真測(cè)試正確無(wú)誤后,將設(shè)計(jì)編程下載到選定的目標(biāo)器件中作進(jìn)一步的硬件測(cè)試,以便最終了解設(shè)計(jì)項(xiàng)目的正確性。鎖定引腳并編譯,編程下載完成硬件測(cè)試。</p><p&g
11、t;<b> 五、仿真結(jié)果</b></p><p><b> 仿真波形圖</b></p><p> 經(jīng)驗(yàn)證,Led顯示音階與music樂(lè)曲演奏數(shù)據(jù)相符合。</p><p> 六、實(shí)驗(yàn)結(jié)果:(程序下載驗(yàn)證是否通過(guò))</p><p> 選定芯片,鎖定引腳,下載,完成樂(lè)曲播放的功能,同時(shí)led顯
12、示相應(yīng)的音階,發(fā)光二極管顯示高低音。</p><p><b> 七、總結(jié)</b></p><p> 在EDA課程設(shè)計(jì)的兩個(gè)星期里,學(xué)到很多,不僅鞏固以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次設(shè)計(jì),進(jìn)一步加深了對(duì)EDA的了解,同時(shí)使我對(duì)該課程有了更加濃厚的興趣。在編寫(xiě)程序時(shí),遇到了不少問(wèn)題,特別是各元件之間的連接總是有錯(cuò)誤,不過(guò)在細(xì)心的檢查
13、和老師的指導(dǎo)下,終于找出了錯(cuò)誤并糾正。在波形仿真時(shí),也遇到了一點(diǎn)困難,想要的結(jié)果不能在波形上得到正確的顯示,因此修改相應(yīng)的頻率,使得輸出結(jié)果能正確的顯示。Lpm模塊是在學(xué)習(xí)時(shí)沒(méi)有學(xué)過(guò)的,通過(guò)老師的指導(dǎo),定制LPM_ROM文件,選擇ROM參數(shù),加入初始化文件music.mif,完成定制。下載時(shí),并不是很順利,lpm模塊要重新定制,引腳鎖定正確后,正確調(diào)試后,完成測(cè)試。</p><p> 通過(guò)這次課程設(shè)計(jì),使我認(rèn)識(shí)
14、理論與實(shí)踐相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),才能真正的理解設(shè)計(jì),才能真正的提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。而且此設(shè)計(jì)并沒(méi)有很深的擴(kuò)展,看到其他同學(xué)的設(shè)計(jì),認(rèn)識(shí)到自己的學(xué)習(xí)和能力與他們的差距,仍然要學(xué)的還有很多。在此非常感謝老師在我做課程設(shè)計(jì)時(shí)給予的耐心的
15、指導(dǎo)。我會(huì)更加努力的學(xué)習(xí),希望自己有更大的提高。</p><p><b> 八、附錄</b></p><p> Led顯示模塊的程序如下:</p><p> Library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> e
16、ntity decl7s is</p><p> port( a:in std_logic_vector(3 downto 0);</p><p> led7s:out std_logic_vector(6 downto 0);</p><p> xuantong: out std_logic); </p><p> end
17、decl7s;</p><p> architecture one of decl7s is</p><p><b> begin</b></p><p> xuantong<='1';</p><p> process(a) </p><p><b>
18、; begin</b></p><p><b> case A is</b></p><p> when "0000"=>led7s<="0111111"; when "0001"=>led7s<="0000110";</p><
19、;p> when "0010"=>led7s<="1011011"; when "0011"=>led7s<="1001111";</p><p> when "0100"=>led7s<="1100110"; when "0101&quo
20、t;=>led7s<="1101101";</p><p> when "0110"=>led7s<="1111101"; when "0111"=>led7s<="0000111";</p><p> when "1000"=&g
21、t;led7s<="1111111"; when "1001"=>led7s<="1101111";</p><p> when "1010"=>led7s<="1110111"; when "1011"=>led7s<="1111100&q
22、uot;;</p><p> when "1100"=>led7s<="0111001"; when "1101"=>led7s<="1011110";</p><p> when "1110"=>led7s<="1111001";
23、 when "1111"=>led7s<="1110001";</p><p> when others=>null; </p><p> end case; </p><p> end process; </p><p><b> end;</b>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂(lè)曲硬件演奏電路的vhdl設(shè)計(jì) eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)---樂(lè)曲硬件演奏電路
- eda課程設(shè)計(jì)--樂(lè)曲硬件演奏電路設(shè)計(jì)
- vhdl課程設(shè)計(jì)---樂(lè)曲演奏電路設(shè)計(jì)
- eda樂(lè)曲硬件演奏電路設(shè)計(jì)
- eda樂(lè)曲硬件演奏電路設(shè)計(jì)
- 基于eda樂(lè)曲硬件演奏電路
- 樂(lè)曲演奏課程設(shè)計(jì)報(bào)告---樂(lè)曲演奏電路的設(shè)計(jì)
- eda_電子琴課程設(shè)計(jì)--樂(lè)曲演奏電路的設(shè)計(jì)
- 樂(lè)曲硬件演奏電路設(shè)計(jì)
- eda樂(lè)曲播放電路課程設(shè)計(jì)報(bào)告
- 基于eda技術(shù)的樂(lè)曲演奏電路設(shè)計(jì)
- 基于fpga的樂(lè)曲演奏電路設(shè)計(jì)課程設(shè)計(jì)
- eda課程設(shè)計(jì)硬件電子琴及自動(dòng)演奏
- eda課程設(shè)計(jì)——基于vhdl語(yǔ)言的數(shù)字時(shí)鐘設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--樂(lè)曲發(fā)生器
- eda秒表電路課程設(shè)計(jì)
- 音樂(lè)樂(lè)曲演奏程序課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告--基于vhdl的數(shù)字鐘的設(shè)計(jì)
- 汽車(chē)尾燈課程設(shè)計(jì)++vhdl++eda
評(píng)論
0/150
提交評(píng)論