版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、eda課程設(shè)計(jì)音樂播放器一、前言1、課程的目的與任務(wù) eda課程設(shè)計(jì)(注:eda即電子設(shè)計(jì)自動化,electronics design automation)是繼模擬電子技術(shù)基礎(chǔ)、數(shù)字電子技術(shù)基礎(chǔ)、電子技術(shù)基礎(chǔ)實(shí)驗(yàn)課程后,電氣類、自控類和電子類等專業(yè)學(xué)生在電子技術(shù)實(shí)驗(yàn)技能方面綜合性質(zhì)的實(shí)驗(yàn)訓(xùn)練課程,是電子技術(shù)基礎(chǔ)的一個(gè)部分,其目的和任務(wù)是通過一周的時(shí)間,讓學(xué)生掌握eda的基本方法,熟悉一種eda軟件(maxplus2),并能利用eda軟件設(shè)計(jì)一個(gè)電子技術(shù)綜合問題,并在實(shí)驗(yàn)板上成功下載,為以后進(jìn)行工程實(shí)際問題的研究打下設(shè)計(jì)基礎(chǔ)。2、課程的基本要求1、 通過課程設(shè)計(jì)使學(xué)生能熟練掌握一種eda軟件(
2、maxplus2)的使用方法,能熟練進(jìn)行設(shè)計(jì)輸入、編譯、管腳分配、下載等過程。2、 通過課程設(shè)計(jì)使學(xué)生能利用eda軟件(maxplus2)進(jìn)行至少一個(gè)電子技術(shù)綜合問題的設(shè)計(jì)(內(nèi)容可由老師指定或自由選擇),設(shè)計(jì)輸入可采用圖形輸入法或ahdl硬件描述語言輸入法。3、 通過課程設(shè)計(jì)使學(xué)生初步具有分析尋找和排除電子電路中常見故障的能力。4、 通過課程設(shè)計(jì)使學(xué)生能獨(dú)立寫出嚴(yán)謹(jǐn)?shù)?、有理論根?jù)的、實(shí)事求是的、文理通順的字跡端正的課程設(shè)計(jì)報(bào)告。3、與其他課程的聯(lián)系與分工eda課程設(shè)計(jì)中應(yīng)用了模擬電子技術(shù)基礎(chǔ)、數(shù)字電子技術(shù)基礎(chǔ)中的基礎(chǔ)知識和基本理論,并且利用了電子技術(shù)基礎(chǔ)實(shí)驗(yàn)中的基本實(shí)驗(yàn)方法,在時(shí)間上的安排上應(yīng)
3、該在這些課程之后。eda課程設(shè)計(jì)的后續(xù)課程是微機(jī)原理等其它專業(yè)課程,eda課程設(shè)計(jì)中對學(xué)生綜合設(shè)計(jì)能力的培養(yǎng)將為這些后續(xù)課程的學(xué)習(xí)打下良好基礎(chǔ)。二、 設(shè)計(jì)任務(wù)及要求用vhdl語言設(shè)計(jì)樂音的節(jié)拍與音符產(chǎn)生電路;用vhdl語言設(shè)計(jì)分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;用vhdl語言設(shè)計(jì)可控分頻器電路;理解簡易音樂播放器總體設(shè)計(jì)方案。掌握基本的vhdl語言;理解音樂播放電路設(shè)計(jì)方案。掌握用vhdl語言設(shè)計(jì)節(jié)拍與音符產(chǎn)生電路;掌握用vhdl語言設(shè)計(jì)分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;掌握用vhdl語言設(shè)計(jì)可控分頻器電路。設(shè)計(jì)結(jié)果:原理圖與原程序、電路仿真圖、能在實(shí)訓(xùn)系統(tǒng)上播放悅耳動聽的音樂。三、設(shè)計(jì)原理及總體框
4、圖產(chǎn)生音樂的兩個(gè)因素是音樂頻率和音樂的持續(xù)時(shí)間,以純硬件完成演奏電路比利用微處理器(cpu)來實(shí)現(xiàn)樂曲演奏要復(fù)雜的多如果不借助于功能強(qiáng)大的eda工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡單的演奏電路也難以實(shí)現(xiàn)。根據(jù)6.4.1的設(shè)計(jì)要求,樂曲硬件演奏電路系統(tǒng)主要由數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對fpga的基準(zhǔn)頻率進(jìn)行分頻,得到與各個(gè)音階對應(yīng)的頻率輸出。樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個(gè)樂曲曲譜真值表,由一個(gè)計(jì)數(shù)器來控制此真值表的輸出,而由計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號作為樂曲節(jié)拍控制信號。1、音名與頻率的關(guān)系音樂的十二平均率規(guī)定:每兩個(gè)八度音(如簡譜中的中音
5、與高音)之間的頻率相差一倍在兩個(gè)八度音之間,又可分為十二個(gè)半音,每兩個(gè)半音的頻率比為4。另外,音名(簡譜中的低音)的頻率為440hz,音名b到c之間,e到f之間為半音,其余為全音,由此可以計(jì)算出簡譜中從低音1到高音1之間每個(gè)音名的頻率如表1所示.表1 簡譜中的音名與頻率的關(guān)系音名頻率/hz音名頻率/hz音名頻率/hz低音1261.63中音1532.25高音11046.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31318.51低音4349.23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低
6、音6440中音6880高音61760低音7493.88中音7987.76高音71975.52由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻系數(shù)過小,四舍五入取整后的誤差較大,若基準(zhǔn)頻率過高,雖然誤碼差變小,但分頻結(jié)構(gòu)將變大。實(shí)際的設(shè)計(jì)應(yīng)綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取舍合適的基準(zhǔn)頻率。本例中選取4mhz的基準(zhǔn)頻率,若無4mhz的時(shí)鐘頻率,實(shí)際上,只要各個(gè)音名間的相對品頻率關(guān)系不變,c作1與d作1演奏出的音樂聽起來都不會“走調(diào)”。各音階頻率及相應(yīng)的分頻系數(shù)如表2所示。為了減少輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波形
7、應(yīng)為對稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個(gè)二分頻的分頻器。表2中的分頻系數(shù)就是從4mhz頻率二分頻得到的2mhz頻率基礎(chǔ)上計(jì)算得出的。表2 各音階頻率對應(yīng)的分頻值音名分頻系數(shù)初始值音名分頻系數(shù)初始值音名分頻系數(shù)初始值低音17644547中音138224369高音119116280低音268101381中音234054786高音212706921低音360672124中音330345157高音315176674低音457272464中音428645327高音414326759低音551023089中音525515640高音512566935低音645453646中音622735918高音6113
8、77054低音740504141中音720256166高音710137178由于最大的分頻系數(shù)為7644,故采用13位二進(jìn)制計(jì)數(shù)器已能滿足分頻要求。在表2,除給出了分頻比以外,給出了對應(yīng)于各個(gè)音階頻率時(shí)計(jì)數(shù)器不同的初始值,對于樂曲中的休止符,要將分頻系數(shù)設(shè)為0,即初始值為8191即可,此時(shí)揚(yáng)聲器將不會發(fā)聲。對于不同的分頻系數(shù),加載不同的初始值即可。用加載初始值而不是將分頻輸出譯碼反饋,可以有效地減少本設(shè)計(jì)占用可編程邏輯器件的資源,也是同步計(jì)數(shù)器的一個(gè)常用設(shè)計(jì)技巧。2、控制音長的節(jié)拍發(fā)生器該演奏電路演奏的樂曲是“梁?!逼?,其最小的節(jié)拍為1拍。將1拍的時(shí)長定為0.25秒,則只需要再提供一個(gè)4hz
9、的時(shí)鐘頻率即可產(chǎn)生1拍的時(shí)長,演奏的時(shí)間控制通過rom查表的方式來完成。對于占用時(shí)間較長的節(jié)拍,如全音符為4拍(重復(fù)4),2/4音符為2拍(重復(fù)2),1/4音符為1拍(重復(fù)1)。3、總體框圖:(如圖1) 圖1總體框圖說明:notetabs相當(dāng)于一個(gè)計(jì)數(shù)器,通過計(jì)數(shù)自動加1讀music模塊里的值,然后通過muxa選擇模塊選擇music模塊中不同的輸出,tonetaba模塊根據(jù)muxa模塊不同的輸出選擇相應(yīng)的值,speakera模塊根據(jù)tonetaba的輸出對12mhz的時(shí)鐘信號進(jìn)行分頻,從而得到相信的頻率輸出發(fā)出聲音(音調(diào)),從而實(shí)現(xiàn)播放不同的歌曲。四、程序設(shè)計(jì):1、notetabs模塊:lib
10、rary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity notetabs isport(clk:in std_logic;counter1 :inout std_logic_vector(7 downto 0);end notetabs;architecture a of notetabs isbeginp1:process (clk,counter1)beginif counter1=183 then counter1 = 00000000;elsif clkevent and clk=1 th
11、en counter1 b=0001; index b=0010; index b=0011; index b=0100; index null;end case;end process;end a;創(chuàng)建符號:(如圖3) 圖33、tonetaba模塊:library ieee;use ieee.std_logic_1164.all;entity tonetaba isport(index: instd_logic_vector(3 downto 0);code : out std_logic_vector(3 downto 0);high : out std_logic;tone : out
12、std_logic_vector(10 downto 0);end tonetaba;architecture a of tonetaba isbeginsearch:process (index)begincase index iswhen 0000 = tone = 11111111111;code = 0000;high tone = 01100000101;code = 0001;high tone = 01110010000;code = 0010;high tone = 10000001100;code = 0011;high tone = 10010101101;code = 0
13、101;high tone = 10100001010;code = 0110;high tone = 10101011100;code = 0111;high tone = 10110000010;code = 0001;high tone = 10111001000;code = 0010;high tone = 11000000110;code = 0011;high tone = 11001010110;code = 0101;high tone = 11010000100;code = 0110;high tone = 11011000000;code = 0001;high nul
14、l;end case;end process;end a;創(chuàng)建符號:(如圖4) 圖44、speakera模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity speakera is port( clk : in std_logic; tone : in std_logic_vector(10 downto 0);spks : out std_logic);end speakera;architecture a of speakera issignal preclk : std_log
15、ic;signal fullspks : std_logic;begindivideclk:process (clk)variable count4 : std_logic_vector(3 downto 0);beginpreclk 11 then preclk = 1; count4:=0000;elsif clkevent and clk=1 then count4:=count4+1;end if;end process ;genspks:process (preclk,tone)variable count11 : std_logic_vector(10 downto 0);begi
16、nif preclkevent and preclk=1 then if count11=16#7ff# then count11:=tone;fullspks = 1;else count11:=count11+1;fullspks = 0;end if;end if;end process;delayspks:process (fullspks)variable count2 : std_logic;beginif fullspksevent and fullspks=1 thencount2:=not count2; if count2=1 thenspks = 1;else spks
17、= 0;end if;end if;end process;end a;創(chuàng)建符號:(如圖5) 圖55、music模塊: music1:liangzhu_rom(歌曲名:梁祝) width=4;depth=256;address_radix=dec;data_radix=dec;content begin 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;
18、21:12; 22:10; 23:12; 24: 9; 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;
19、 64:10; 65:10; 66:10; 67:12; 68: 7; 69: 7; 70: 9; 71: 9; 72: 6; 73: 8; 74: 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: 7; 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
20、;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;120: 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;end;創(chuàng)建符號:(如圖6) 圖6music2:shengri_rom(歌曲名:生日快樂)width=4;depth=256;address_radi
21、x=dec;data_radix=dec;content begin 00:13; 01:13; 02:13; 03:13; 04:13; 05:13; 06:13; 07:12; 08:12; 09:10; 10:10; 11:10; 12:10; 13:12; 14:12; 15:12; 16:12; 17:15; 18:15; 19:15; 20:15; 21:13; 22:13; 23:12; 24:12; 25:13; 26:13; 27:13; 28:13; 29:13; 30:13; 31:13; 32:13; 33:10; 34:10; 35:10; 36:10; 37:12;
22、 38:12; 39:13; 40:13; 41:12; 42:12; 43:12; 44:12; 45:10; 46:10; 47:10; 48:10; 49: 8; 50: 8; 51: 6; 52: 6; 53:12; 54:12; 55:10; 56:10; 57: 9; 58: 9; 59: 9; 60: 9; 61: 9; 62: 9; 63: 9; 64: 9; 65: 9; 66: 9; 67: 9; 68: 9; 69: 9; 70: 9; 71:10; 72:10; 73:12; 74:12; 75:12; 76:12; 77:12; 78:12; 79:13; 80:13
23、; 81:10; 82:10; 83:10; 84:10; 85: 9; 86: 9; 87: 9; 88: 9; 89: 8; 90: 8; 91: 8; 92: 8; 93: 8; 94: 8; 95: 8; 96: 8; 97:12; 98:12; 99:12;100:12;101:12;102:12;103:10;104:10;105: 9;106: 9;107: 8;108: 8;109: 6;110: 6;111: 8;112: 8;113: 5;114: 5;115: 5;116: 5;117: 5;118: 5;119: 5;120: 5;121: 5;122: 5;123:
24、5;124: 5;125: 0;126: 0;127: 0;end;創(chuàng)建符號:(如圖7) 圖7music3:yydcb_rom(歌曲名:隱形的翅膀)width=4;depth=256;address_radix=dec;data_radix=dec;content begin00: 10; 01: 10; 02: 12; 03:12; 04:15; 05:15; 06:15; 07:15; 08:15; 09:15; 10:15; 11:15; 12:15; 13:15; 14:15; 15:15; 16:13; 17:13; 18:12; 19:12; 20:13; 21:13; 22:15
25、; 23:15; 24:10; 25:10; 26: 9; 27: 9; 28: 8; 29: 8; 30: 8; 31: 8; 32: 8; 33: 8; 34: 8; 35:8; 36: 8; 37: 8; 38:15; 39:15; 40:15; 41:15; 42:13; 43:13; 44:12; 45:12; 46:10; 47:10; 48:9; 49:9; 50: 8; 51: 9; 52: 9; 53: 9; 54: 9; 55: 9; 56: 9; 57: 9; 58: 9; 59: 9; 60: 10; 61:10; 62:12; 63:12; 64:15; 65:15;
26、 66:15; 67:15; 68:15; 69:15; 70:15; 71:15; 72:15; 73:15; 74:15; 75:15; 76:13; 77:13; 78:12; 79:12; 80:13; 81:13; 82:15; 83:15; 84:10; 85:10; 86:9; 87:9; 88: 8; 89: 8; 90: 8; 91: 8; 92: 8; 93: 8; 94: 8; 95: 8; 96: 8; 97: 8; 98:15; 99:15;100:15;101:15;102:13;103:13;104:12;105:12;106:10;107:10;108: 9;1
27、09: 9;110: 8;111: 8;112: 8;113: 8;114: 8;115: 8;116: 8;117: 8;118: 8;119: 8;120: 10;121:10;122:12;123:12;124:15;125:15;126:15;127:15;128:15;129:15;130:15;131:15;132:14;133:14;134:14;135:14;136:13;137:13;138:12;139:12;140:13;141:13;142:15;143:15;144:10;145:10;146:9;147:9;148:8;149:8;150:8;151:8;152:8
28、;153:8;154:8;155:8;156:8;157:8;158:15;159:15;160:15;161:15;162:13;163:13;164:12;165:12;166:10;167:10;168:9;169:9;170:9;171:9;172:9;173:9;174:9;175:9;176:8;177:8;178:8;179:8;180:8;181:8;182:8;183:8;end;創(chuàng)建符號:(如圖8) 圖8music4:yijianmei_rom(歌曲名:一剪梅)width=4;depth=256;address_radix=dec;data_radix=dec;conten
29、t begin 00: 6; 01: 6; 02: 6; 03: 6; 04:10; 05:10; 06:10; 07:10; 08:10; 09:10; 10: 9; 11: 8; 12: 7; 13: 7; 14: 8; 15: 8; 16: 7; 17: 7; 18: 5; 19: 5; 20: 6; 21: 6; 22: 6; 23: 6; 24: 6; 25: 6; 26: 6; 27: 6; 28: 6; 29: 6; 30: 6; 31: 6; 32: 6; 33: 9; 34: 6; 35: 6; 36: 6; 37: 7; 38: 7; 39: 7; 40: 7; 41: 7
30、; 42: 7; 43: 6; 44: 8; 45: 9; 46: 9; 47: 9; 48: 9; 49:10; 50:12; 51:10; 52: 9; 53:10; 54:10; 55:10; 56:10; 57:10; 58:10; 59:10; 60:10; 61:10; 62:10; 63:10; 64:10; 65:10; 66:10; 67:10; 68:12; 69:13; 70:13; 71:13; 72:13; 73:13; 74:13; 75:12; 76:10; 77: 9; 78: 9; 79: 9; 80: 9; 81: 9; 82: 9; 83: 8; 84:
31、9; 85:10; 86:10; 87:10; 88:10; 89:10; 90:10; 91: 9; 92:10; 93: 6; 94: 6; 95: 6; 96: 6; 97: 6; 98: 6; 99: 6;100: 6;101: 7;102: 7;103: 7;104: 6;105: 5;106: 5;107: 7;108: 7;109: 0;110: 0;111: 5;112: 3;113: 7;114: 7;115: 8;116: 7;117: 6;118: 6;119: 6;120: 6;121: 6;122: 6;123: 6;124: 6;125: 6;126: 6;127: 6;128: 6;129: 0;130: 0;131: 0;end;創(chuàng)建符號:(如圖9) 圖9五、編譯及仿真仿真軟件使用的是max plus ii,max+plus是altera公司提供的fpga/cpld開發(fā)集成環(huán)境,altera是世界上最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2163-2024漆膜劃格器校準(zhǔn)規(guī)范
- 2024年度隔墻板市場推廣與銷售合同
- 2024年企業(yè)合規(guī)管理與風(fēng)險(xiǎn)評估服務(wù)合同
- 2024人工智能在金融服務(wù)中的應(yīng)用合同
- 2024年度品牌授權(quán)合同:知名品牌授權(quán)使用合同
- 句子改寫課件教學(xué)課件
- 2024年度云計(jì)算服務(wù)帶寬擴(kuò)展及維護(hù)合同
- 2024年度吊車保險(xiǎn)合同:保險(xiǎn)責(zé)任與賠償限額
- 2024中小企業(yè)貸款及還款細(xì)節(jié)合同
- 2024年應(yīng)急響應(yīng):消防設(shè)施建設(shè)與維護(hù)合同
- 新課標(biāo)下小學(xué)生運(yùn)算能力的培養(yǎng)研究的開題報(bào)告
- 餐飲行業(yè)初期投資預(yù)算分析
- 遼寧省重點(diǎn)高中沈陽市郊聯(lián)體2023-2024學(xué)年高三上學(xué)期期中生物試題(解析版)
- 剪映:手機(jī)短視頻制作-配套課件
- 西氣東輸二線25標(biāo)段山嶺隧道內(nèi)管道安裝技術(shù)
- 防校園欺凌-課件(共28張PPT)
- 第6章 智能網(wǎng)聯(lián)汽車測評技術(shù)
- 單向板結(jié)構(gòu)設(shè)計(jì)
- 普通高等學(xué)校學(xué)生轉(zhuǎn)學(xué)申請表
- 房租、水、電費(fèi)(專用)收據(jù)Excel模板
評論
0/150
提交評論