eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好

上傳人:門**** 文檔編號:59475092 上傳時間:2022-03-03 格式:DOC 頁數(shù):16 大小:146KB
收藏 版權申訴 舉報 下載
eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好_第1頁
第1頁 / 共16頁
eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好_第2頁
第2頁 / 共16頁
eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好_第3頁
第3頁 / 共16頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好》由會員分享,可在線閱讀,更多相關《eda課程設計 音樂播放器樂曲演奏電路 世上只有媽媽好(16頁珍藏版)》請在裝配圖網上搜索。

1、電子信息科學與技術 專業(yè)課程設計任務書學生姓名專業(yè)班級學號題 目樂曲演奏電路課題性質A課題來源D指導教師同組姓名無主要內容根據(jù)設計,樂曲演奏電路應滿足以下基本要求:(1) 用純硬件的方法設計音樂演奏電路。(2) 采用模塊化設計的方法設計樂曲演奏電路(3) 能反復演奏程序中的“世上只有媽媽好”樂曲片段。(4) 當改變時鐘頻率時樂曲播放的快慢節(jié)奏會發(fā)生變化。(5) 數(shù)碼管能顯示當前的簡譜碼。任務要求根據(jù)設計題目要求編寫相應程序代碼對編寫的VHDL程序代碼進行編譯和仿真條件允許,完成硬件驗證(可選)總結設計內容,完成課程設計說明書參考文獻1 焦素敏 EDA課程設計指導書 河南工業(yè)大學 20082 曹

2、昕燕 EDA技術實驗與課程設計 北京清華大學出版社 20043 黃智偉 FPGA系統(tǒng)設計與實踐 電子工業(yè)出版社 20054 焦素敏. EDA技術基礎 清華大學出版社 20055 劉昌華 數(shù)字邏輯EDA設計與實踐 國防工業(yè)出版社 2005審查意見指導教師簽字:教研室主任簽字: 2012年 02月 20日 說明:本表由指導教師填寫,由教研室主任審核后下達給選題學生,裝訂在設計(論文)首頁EDA課程設計報告1 設計任務及要求用VHDL語言設計音樂的節(jié)拍與音符產生電路;用VHDL語言設計分頻系數(shù)、音符顯示數(shù)據(jù)產生電路;用VHDL語言設計可控分頻器電路;理解簡易音樂播放器總體設計方案。掌握基本的VHDL

3、語言,理解簡易音樂播放器總體設計方案。掌握用VHDL語言設計音樂的節(jié)拍與音符產生電路,掌握用VHDL語言設計分頻系數(shù)、音符顯示數(shù)據(jù)產生電路,掌握用VHDL語言設計可控分頻器電路。設計結果及原理圖與原程序、電路仿真圖。能在實訓系統(tǒng)上播放悅耳動聽的音樂。其基本要求及內容如下:一、 用純硬件的方法設計音樂演奏電路。二、 采用模塊化設計的方法設計樂曲演奏電路。三、 能反復演奏程序中的“世上只有媽媽好”樂曲片段。四、 當改變時鐘頻率時樂曲播放的快慢節(jié)奏會發(fā)生變化。五、 數(shù)碼管能顯示當前的簡譜碼。2設計原理及總體框圖產生音樂的兩個因素是音樂頻率和音樂的持續(xù)時間,以純硬件完成演奏電路比利用微處理器來實現(xiàn)樂曲

4、演奏要復雜的多,如果不借助于功能強大的EDA工具和硬件描述語言,憑借傳統(tǒng)的數(shù)字邏輯技術,即使最簡單的演奏電路也難以實現(xiàn)。根據(jù)設計要求,樂曲硬件演奏電路系統(tǒng)主要由數(shù)控分頻器和樂曲存儲模塊組成。數(shù)控分頻器對FPGA的基準頻率進行分頻,得到與各個音階對應的頻率輸出。樂曲存儲模塊產生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個樂曲曲譜真值表,由一個計數(shù)器來控制此真值表的輸出,而由計數(shù)器的計數(shù)時鐘信號作為樂曲節(jié)拍控制信號。其中,樂曲的每個音符的頻率值,即音調,頻率的高低決定了音調的高低。音樂的十二平均率規(guī)定:每兩個八度音(如簡譜中的中音1與高音1)之間的頻率相差一倍。在兩個八度音之間,又可以分為十二個

5、半音,每兩個半音的頻率比為21/12 1.12246 。音名A(簡譜中的低音6)的頻率為440Hz,音名B到C之間,E到F之間為半音,其余為全音。持續(xù)的時間為音長,音符的持續(xù)時間須根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)來確定。本實驗演奏的世上只有媽媽好片斷,最短的音符為四分音符,如果全音符的持續(xù)時間設為1s,則四分音符的持續(xù)時間為0.25s。反饋預置計數(shù)器對基準頻率12MHz進行分頻,產生分頻后的輸出時鐘信號。再經過2分頻器,成為方波信號,以驅動揚聲器發(fā)聲。 音名顯示電路顯示樂曲演奏時對應的音符。樂譜產生電路用來根據(jù)高音、中音和低音的值決定分頻計數(shù)器的預置數(shù)的值。反饋預置數(shù)2分頻器樂譜產生電路音符顯

6、示12MHZ4HZ揚聲器數(shù)碼管系統(tǒng)整體框圖系統(tǒng)的頂層設計如下所示LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SONGER IS PORT(CLK12MHZ : IN STD_LOGIC; CLK8HZ: IN STD_LOGIC; CODE1 : OUT INTEGER RANGE 0 TO 15 ; HIGH1: OUT STD_LOGIC; SPKOUT: OUT STD_LOGIC );END;ARCHITECTURE ONE OF SONGER IS COMPONENT NOTETABS PORT(CLK:IN STD_LOGIC;

7、TONEINDEX: OUT INTEGER RANGE 0 TO 15); END COMPONENT; COMPONENT TONETABA PORT(INDEX: IN INTEGER RANGE 0 TO 15 ; CODE: OUT INTEGER RANGE 0 TO 15 ; HIGH: OUT STD_LOGIC; TONE: OUT INTEGER RANGE 0 TO 16#7FF#); END COMPONENT; COMPONENT SPEAKERA PORT(CLK:IN STD_LOGIC; TONE:IN INTEGER RANGE 0 TO 16#7FF#; S

8、PKS:OUT STD_LOGIC); END COMPONENT;SIGNAL TONE: INTEGER RANGE 0 TO 16#7FF#;SIGNAL TONEINDEX: INTEGER RANGE 0 TO 15;BEGIN U1:NOTETABS PORT MAP(CLK=CLK8HZ,TONEINDEX=TONEINDEX);U2:TONETABA PORT MAP(INDEX=TONEINDEX,TONE=TONE,CODE=CODE1,HIGH=HIGH1);U3:SPEAKERA PORT MAP(CLK=CLK12MHZ,TONE=TONE,SPKS=SPKOUT);

9、END;3 程序設計樂曲演奏電路有3個模塊組成,分別為:樂曲簡譜碼對應的分頻預置數(shù)查表模塊tonetaba、數(shù)控分頻器模塊speakera以及音樂節(jié)拍和音調發(fā)生器模塊notebabs。以下介紹各模塊的詳細設計。3.1樂曲簡譜碼對應的分頻預置數(shù)查表模塊tonetaba 模塊tonetaba 是樂曲簡碼對應的分頻預置數(shù)查表電路,其中設置了“世上只有媽媽好”樂曲對應的分頻預置數(shù)。每一個音符的停留時間由音樂節(jié)拍和音調發(fā)生器模塊notetabs的clk輸入頻率決定,在此為4hz.這13個值的輸出由對應于tonetaba的4位輸入值index3.0確定,而index3.0最多有16種可選值。輸向tonet

10、aba中index3.0的值toneindex3.0的輸出值與持續(xù)時間由模塊notetabs決定。樂曲簡碼對應的分頻預置數(shù)查表電路模塊由VHDL程序來實現(xiàn),程序代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Tonetaba IS PORT(index : IN INTEGER RANGE 0 TO 15; code : OUT INTEGER RANGE 0 TO 15; high : OUT STD_LOGIC ; tone : OUT INTEGER RANGE 0 TO 16#7FF# );END;ARCHITECTURE on

11、e OF Tonetaba ISBEGIN SEARCH: PROCESS(index) BEGIN CASE index IS WHEN 0 = tone=2047;code=0;high tone=773;code=1;high tone=912;code=2;high tone=1036;code=3;high tone=1197;code=5;high tone=1290;code=6;high tone=1372;code=7;high tone=1410;code=1;high tone=1480;code=2;high tone=1542;code=3;high tone=162

12、2;code=5;high tone=1668;code=6;high tone=1728;code=1;high NULL; END CASE; END PROCESS;END;3.2 數(shù)控分頻器模塊speakera這是一個數(shù)控分頻器,有其clk端口輸入一個有較高頻率的信號,通過其分頻后有spkout輸出。由于直接從數(shù)控分頻器中出來的輸出信號是脈寬極窄的脈沖式信號,為了有利于揚聲器驅動,需要另加一個D觸發(fā)器來均衡其占空比,但這時的頻率將是原來的二分之一。數(shù)控分頻器模塊speakera由VHDL程序來實現(xiàn),程序代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.

13、ALL;ENTITY speakera IS PORT(clk :IN STD_LOGIC; tone:IN INTEGER RANGE 0 TO 16#7FF#; spks: OUT STD_LOGIC);END;ARCHITECTURE one OF speakera IS SIGNAL preclk:STD_LOGIC; SIGNAL fullspks:STD_LOGIC;BEGIN divideclk:PROCESS(clk) VARIABLE count4:INTEGER RANGE 0 TO 15; BEGINpreclk11 THEN preclk=1;count4:=0; EL

14、SIF clkEVENT AND clk=1 THEN count4:=count4+1; END IF; END PROCESS; genspks:PROCESS(preclk,tone) VARIABLE count11: INTEGER RANGE 0 TO 16#7FF#; BEGIN IF 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; d

15、elaysks:PROCESS(fullspks) VARIABLE count2:STD_LOGIC; BEGIN IF fullspks EVENT AND fullspks=1 THEN count2:= NOT count2; IF count2=1 THEN spks=1; ELSE spks=0; END IF; END IF; END PROCESS;END;3.3音樂節(jié)拍和音調發(fā)生器模塊notebabs 在notetabs中設置了一個8位二進制計數(shù)器,這個計數(shù)器的技術頻率選為4hz,即每一計數(shù)值的停留時間為0.25s,恰為當全音符設為1s時,四四拍的4分音符持續(xù)時間。音樂節(jié)拍和

16、音調發(fā)生器模塊notebabs由VHDL程序來實現(xiàn),程序代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY notetabs IS PORT(clk :IN STD_LOGIC; toneindex: OUT INTEGER RANGE 0 TO 15);END;ARCHITECTURE one OF notetabs IS SIGNAL counter:INTEGER RANGE 0 TO 127; BEGIN CNT8:PROCESS(clk) BEGIN IF counter=127 THEN counter=0; ELSIF(clk

17、EVENT AND clk=1) THEN counter toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex

18、toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex

19、toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex

20、toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex

21、toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindex toneindexNULL; END CASE; END PROCESS;END;4 編譯及仿真4.1樂曲簡譜碼對應的分頻預置數(shù)查表模塊tonetaba模塊仿真及分析VHDL程序實現(xiàn)后,對其進行編譯仿真,其仿真圖如圖4.1所示。圖4.1 分頻模塊仿真圖對仿真圖進行仿真分析:如圖所示,譯碼電路分頻預置值查表并輸出控制音調的預置數(shù),同時由code輸出顯示對應的簡譜碼,由high輸出顯示音調高低。4.2

22、數(shù)控分頻器模塊speakeraVHDL程序實現(xiàn)后,其仿真圖如圖4.2所示。圖4.2主控模塊時序仿真圖對時序仿真圖進行分析:將clk進行11分頻,若計數(shù)已滿,在時鐘的上升沿將預置數(shù)鎖入11位計數(shù)器并使fullspks輸出高電平,否則繼續(xù)計數(shù)輸出低電平。最后再將輸出進行二分頻,將脈沖展寬以使揚聲器有足夠功率發(fā)音。 4.3音樂節(jié)拍和音調發(fā)生器模塊notebabs VHDL程序實現(xiàn)后,進行編譯仿真其仿真圖如圖4.3所示。圖4.3左邊燈控制模塊時序仿真圖對時序仿真圖進行分析:先是譯碼器,查歌曲的樂普表,查表結果為音調表,把索引值輸入,看幾個時鐘節(jié)拍以及節(jié)拍的時長。上圖為開始的樂譜表。4.4整個系統(tǒng)仿真及

23、分析仿真圖如下所示。圖4.5 整個系統(tǒng)仿真圖對時序仿真圖進行分析:時鐘信號輸入之后,按照音調表的的音調順序及時長,依次進行每個音符的進入及輸出,一直持續(xù)到所有的音符全部播放完畢。整個系統(tǒng)仿真結果顯示此次設計從原理來說是成功的。5 硬件調試與結果分析頂層文件編譯仿真好之后進行引腳鎖定,然后通過電腦連接到試驗箱上,下載頂層文件到FPGA里,下載完畢之后選擇模式,然后選擇按鍵播放歌曲,歌曲會一直循環(huán)播放,并且數(shù)碼管也會顯示對應的簡譜碼。硬件調試的結果證明此設計是可以硬件調試并成功運行的。6 參考文獻1 焦素敏 EDA課程設計指導書 河南工業(yè)大學 20082 曹昕燕 EDA技術實驗與課程設計 北京清華

24、大學出版社 20043 黃智偉 FPGA系統(tǒng)設計與實踐 電子工業(yè)出版社 20054 焦素敏. EDA技術基礎 清華大學出版社 20055 劉昌華 數(shù)字邏輯EDA設計與實踐 國防工業(yè)出版社 2005 心得體會這次的課程設計,使我對EDA以及VHDL語言有了一定的了解。同時,也培養(yǎng)和鍛煉了我們的實際動手能力,使我們的理論知識與實踐充分地結合。在編譯、調試的過程中,出現(xiàn)了各種各樣的錯誤,通過對這些錯誤的修改,我又學到了不少的東西,學到了解決一些問題的方法,以及知道了產生這些問題的原因。發(fā)現(xiàn)問題,并一步步解決問題的過程不禁讓我對EDA有了更深的了解與更加嫻熟的應用,也讓我的邏輯思維能力得到很大的提高。從課程設計初始,我就一點點的查閱資料,編程過程中,亦是不停的修改程序以求能達到精簡,完整和更多的改進。同時,我也特別留意了與我的實驗題目相仿的VHDL語言程序的設計,讓我在做完自己的程序的同時有了更加深刻的理解與應用,總之,本次課程設計大大提高了我的編程能力、動手能力、獨立思考的能力以及發(fā)現(xiàn)問題并解決問題的能力。當自己親自一步步編完,仿真完,硬件驗證完的時候,仍會有不小的激動,長達兩個星期的EDA課程設計落下帷幕,但我會印象深刻??梢哉f,這次綜合性的實驗讓我受益匪淺。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!