




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
------------------------------------------------------------------------EDA課程設計—音樂播放器EDA課程設計音樂播放器一、前言1、課程的目的與任務《EDA課程設計》(注:EDA即電子設計自動化,ElectronicsDesignAutomation)是繼《模擬電子技術基礎》、《數(shù)字電子技術基礎》、《電子技術基礎實驗》課程后,電氣類、自控類和電子類等專業(yè)學生在電子技術實驗技能方面綜合性質的實驗訓練課程,是電子技術基礎的一個部分,其目的和任務是通過一周的時間,讓學生掌握EDA的基本方法,熟悉一種EDA軟件(MAXPLUS2),并能利用EDA軟件設計一個電子技術綜合問題,并在實驗板上成功下載,為以后進行工程實際問題的研究打下設計基礎。2、課程的基本要求通過課程設計使學生能熟練掌握一種EDA軟件(MAXPLUS2)的使用方法,能熟練進行設計輸入、編譯、管腳分配、下載等過程。通過課程設計使學生能利用EDA軟件(MAXPLUS2)進行至少一個電子技術綜合問題的設計(內容可由老師指定或自由選擇),設計輸入可采用圖形輸入法或AHDL硬件描述語言輸入法。通過課程設計使學生初步具有分析尋找和排除電子電路中常見故障的能力。通過課程設計使學生能獨立寫出嚴謹?shù)摹⒂欣碚摳鶕?jù)的、實事求是的、文理通順的字跡端正的課程設計報告。3、與其他課程的聯(lián)系與分工《EDA課程設計》中應用了《模擬電子技術基礎》、《數(shù)字電子技術基礎》中的基礎知識和基本理論,并且利用了《電子技術基礎實驗》中的基本實驗方法,在時間上的安排上應該在這些課程之后?!禘DA課程設計》的后續(xù)課程是《微機原理》等其它專業(yè)課程,《EDA課程設計》中對學生綜合設計能力的培養(yǎng)將為這些后續(xù)課程的學習打下良好基礎。二、設計任務及要求用VHDL語言設計樂音的節(jié)拍與音符產(chǎn)生電路;用VHDL語言設計分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;用VHDL語言設計可控分頻器電路;理解簡易音樂播放器總體設計方案。掌握基本的VHDL語言;理解音樂播放電路設計方案。掌握用VHDL語言設計節(jié)拍與音符產(chǎn)生電路;掌握用VHDL語言設計分頻系數(shù)、音符顯示數(shù)據(jù)產(chǎn)生電路;掌握用VHDL語言設計可控分頻器電路。設計結果:原理圖與原程序、電路仿真圖、能在實訓系統(tǒng)上播放悅耳動聽的音樂。三、設計原理及總體框圖產(chǎn)生音樂的兩個因素是音樂頻率和音樂的持續(xù)時間,以純硬件完成演奏電路比利用微處理器(CPU)來實現(xiàn)樂曲演奏要復雜的多如果不借助于功能強大的EDA工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術,即使最簡單的演奏電路也難以實現(xiàn)。根據(jù)6.4.1的設計要求,樂曲硬件演奏電路系統(tǒng)主要由數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對FPGA的基準頻率進行分頻,得到與各個音階對應的頻率輸出。樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個樂曲曲譜真值表,由一個計數(shù)器來控制此真值表的輸出,而由計數(shù)器的計數(shù)時鐘信號作為樂曲節(jié)拍控制信號。1、音名與頻率的關系音樂的十二平均率規(guī)定:每兩個八度音(如簡譜中的中音1與高音1)之間的頻率相差一倍.在兩個八度音之間,又可分為十二個半音,每兩個半音的頻率比為4。另外,音名A(簡譜中的低音6)的頻率為440Hz,音名B到C之間,E到F之間為半音,其余為全音,由此可以計算出簡譜中從低音1到高音1之間每個音名的頻率如表1所示.表1簡譜中的音名與頻率的關系音名頻率/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低音6440中音6880高音61760低音7493.88中音7987.76高音71975.52由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。若基準頻率過低,則由于分頻系數(shù)過小,四舍五入取整后的誤差較大,若基準頻率過高,雖然誤碼差變小,但分頻結構將變大。實際的設計應綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取舍合適的基準頻率。本例中選取4MHz的基準頻率,若無4MHz的時鐘頻率,實際上,只要各個音名間的相對品頻率關系不變,C作1與D作1演奏出的音樂聽起來都不會“走調”。各音階頻率及相應的分頻系數(shù)如表2所示。為了減少輸出的偶次諧波分量,最后輸出到揚聲器的波形應為對稱方波,因此在到達揚聲器之前,有一個二分頻的分頻器。表2中的分頻系數(shù)就是從4MHZ頻率二分頻得到的2MHZ頻率基礎上計算得出的。表2各音階頻率對應的分頻值音名分頻系數(shù)初始值音名分頻系數(shù)初始值音名分頻系數(shù)初始值低音17644547中音138224369高音119116280低音268101381中音234054786高音212706921低音360672124中音330345157高音315176674低音457272464中音428645327高音414326759低音551023089中音525515640高音512566935低音645453646中音622735918高音611377054低音740504141中音720256166高音710137178由于最大的分頻系數(shù)為7644,故采用13位二進制計數(shù)器已能滿足分頻要求。在表2,除給出了分頻比以外,給出了對應于各個音階頻率時計數(shù)器不同的初始值,對于樂曲中的休止符,要將分頻系數(shù)設為0,即初始值為8191即可,此時揚聲器將不會發(fā)聲。對于不同的分頻系數(shù),加載不同的初始值即可。用加載初始值而不是將分頻輸出譯碼反饋,可以有效地減少本設計占用可編程邏輯器件的資源,也是同步計數(shù)器的一個常用設計技巧。2、控制音長的節(jié)拍發(fā)生器該演奏電路演奏的樂曲是“梁?!逼危渥钚〉墓?jié)拍為1拍。將1拍的時長定為0.25秒,則只需要再提供一個4Hz的時鐘頻率即可產(chǎn)生1拍的時長,演奏的時間控制通過ROM查表的方式來完成。對于占用時間較長的節(jié)拍,如全音符為4拍(重復4),2/4音符為2拍(重復2),1/4音符為1拍(重復1)。3、總體框圖:(如圖1)圖圖1總體框圖說明:NOTETABS相當于一個計數(shù)器,通過計數(shù)自動加1讀MUSIC模塊里的值,然后通過MUXA選擇模塊選擇MUSIC模塊中不同的輸出,TONETABA模塊根據(jù)MUXA模塊不同的輸出選擇相應的值,SPEAKERA模塊根據(jù)TONETABA的輸出對12MHZ的時鐘信號進行分頻,從而得到相信的頻率輸出發(fā)出聲音(音調),從而實現(xiàn)播放不同的歌曲。四、程序設計:1、NOTETABS模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYNOTETABSIS PORT(CLK: INSTD_LOGIC; COUNTER1:inoutSTD_LOGIC_vector(7downto0));ENDNOTETABS;ARCHITECTUREaOFNOTeTABsISBEGIN P1:PROCESS(CLK,COUNTER1) BEGIN IFCOUNTER1=183THEN COUNTER1<="00000000"; ELSIFCLK'EVENTANDCLK='1'THEN COUNTER1<=COUNTER1+1; ENDIF; ENDPROCESS;ENDa;創(chuàng)建符號:(如圖2)圖圖22、muxA模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYmuxAIS PORT(a: INSTD_LOGIC_vector(3downto0); b:outSTD_LOGIC_vector(3downto0); INDEX:OUTSTD_LOGIC_vector(3downto0); Q1:INSTD_LOGIC_vector(3downto0); Q2:INSTD_LOGIC_vector(3downto0); Q3:INSTD_LOGIC_vector(3downto0); Q4:INSTD_LOGIC_vector(3downto0));ENDmuxA;ARCHITECTUREaOFmuxAISBEGIN PROCESS(a,Q1,Q2,Q3,Q4) BEGIN CASEaIS WHEN"0001"=> b<="0001"; INDEX<=Q1; WHEN"0011"=> b<="0010"; INDEX<=Q2; WHEN"0010"=> b<="0011"; INDEX<=Q3; WHEN"0110"=> b<="0100"; INDEX<=Q4; WHENOTHERS=> null; ENDCASE; ENDPROCESS;ENDa;創(chuàng)建符號:(如圖3)圖圖33、TONETABA模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYTONETABAIS PORT( INDEX :IN STD_LOGIC_vector(3downto0); CODE :OUTSTD_LOGIC_vector(3downto0); HIGH:OUTSTD_LOGIC; TONE:OUTSTD_LOGIC_vector(10downto0));ENDTONETABA;ARCHITECTUREaOFTONETABAISBEGIN SEARCH: PROCESS(INDEX) BEGIN CASEINDEXIS WHEN"0000"=>TONE<="11111111111";CODE<="0000";HIGH<='0';--2047 WHEN"0001"=>TONE<="01100000101";CODE<="0001";HIGH<='0';--773 WHEN"0010"=>TONE<="01110010000";CODE<="0010";HIGH<='0';--912 WHEN"0011"=>TONE<="10000001100";CODE<="0011";HIGH<='0';--1036 WHEN"0101"=>TONE<="10010101101";CODE<="0101";HIGH<='0';--1197 WHEN"0110"=>TONE<="10100001010";CODE<="0110";HIGH<='0';--1290 WHEN"0111"=>TONE<="10101011100";CODE<="0111";HIGH<='0';--1372 WHEN"1000"=>TONE<="10110000010";CODE<="0001";HIGH<='1';--1410 WHEN"1001"=>TONE<="10111001000";CODE<="0010";HIGH<='1';--1480 WHEN"1010"=>TONE<="11000000110";CODE<="0011";HIGH<='1';--1542 WHEN"1100"=>TONE<="11001010110";CODE<="0101";HIGH<='1';--1622 WHEN"1101"=>TONE<="11010000100";CODE<="0110";HIGH<='1';--1668 WHEN"1111"=>TONE<="11011000000";CODE<="0001";HIGH<='1';--1728 WHENOTHERS=>NULL; ENDCASE; ENDPROCESS;ENDa;創(chuàng)建符號:(如圖4)圖圖44、SPEAKERA模塊:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;useieee.std_logic_unsigned.all;ENTITYSPEAKERAIS PORT(CLK:INSTD_LOGIC; TONE:INSTD_LOGIC_vector(10downto0); SPKS:OUTSTD_LOGIC);ENDSPEAKERA;ARCHITECTUREaOFSPEAKERAIS SIGNALPRECLK:STD_LOGIC; SIGNALFULLSPKS:STD_LOGIC;BEGIN DIVIDECLK: PROCESS(CLK) VARIABLECOUNT4:STD_LOGIC_vector(3downto0); BEGIN PRECLK<='0'; IFCOUNT4>11THEN PRECLK<='1'; COUNT4:="0000"; ELSIFCLK'EVENTANDCLK='1'THEN COUNT4:=COUNT4+1; ENDIF; ENDPROCESS; GENSPKS: PROCESS(PRECLK,TONE) VARIABLECOUNT11:STD_LOGIC_vector(10downto0); BEGIN IFPRECLK'EVENTANDPRECLK='1'THEN IFCOUNT11=16#7FF#THEN COUNT11:=TONE; FULLSPKS<='1'; ELSECOUNT11:=COUNT11+1; FULLSPKS<='0'; ENDIF; ENDIF; ENDPROCESS; DELAYSPKS: PROCESS(FULLSPKS) VARIABLECOUNT2:STD_LOGIC; BEGIN IFFULLSPKS'EVENTANDFULLSPKS='1'THEN COUNT2:=NOTCOUNT2; IFCOUNT2='1'THEN SPKS<='1'; ELSE SPKS<='0'; ENDIF; ENDIF; ENDPROCESS;ENDa;創(chuàng)建符號:(如圖5)圖圖55、MUSIC模塊:Music1:liangzhu_rom(歌曲名:梁祝)WIDTH=4;DEPTH=256;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENTBEGIN00: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;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;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;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_RADIX=DEC;DATA_RADIX=DEC;CONTENTBEGIN00: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;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;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: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;CONTENTBEGIN00: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;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;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;109: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;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;CONTENTBEGIN00: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;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: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五、編譯及仿真仿真軟件使用的是MAXPLUSII,Max+p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)抵押貸款合同樣本參考
- 項目經(jīng)理勞動合同范文
- 足球俱樂部球員轉會合同協(xié)議范本新
- 移動通信設備區(qū)域分銷合同范本
- 道路硬化改造提升施工合同書
- 股權轉讓合同典范解析
- 跨區(qū)域旅游合作:組團社與地接社合同范本
- 塑料擠出機節(jié)能改造技術考核試卷
- 市場營銷與電子支付方式考核試卷
- 廚房用品消費者滿意度調查考核試卷
- 七年級下冊《平行線的判定》課件與練習
- 2025年中考英語時文閱讀 6篇有關電影哪吒2和 DeepSeek的英語閱讀(含答案)
- 修高速土方合同范例
- 2024年形勢與政策復習題庫含答案(綜合題)
- DCMM數(shù)據(jù)管理師練習測試卷
- 油氣行業(yè)人才需求預測-洞察分析
- 檢修安全知識培訓課件
- 學校心理健康教育存在的問題及改進措施
- 2025年品控部工作計劃
- 《交通運輸概論》課件
- 工資調級制度模版(3篇)
評論
0/150
提交評論