用Quartus II設計電子琴

上傳人:fgh****35 文檔編號:247643003 上傳時間:2024-10-20 格式:PPT 頁數(shù):29 大小:106KB
收藏 版權(quán)申訴 舉報 下載
用Quartus II設計電子琴_第1頁
第1頁 / 共29頁
用Quartus II設計電子琴_第2頁
第2頁 / 共29頁
用Quartus II設計電子琴_第3頁
第3頁 / 共29頁

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

15 積分

下載資源

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

資源描述:

《用Quartus II設計電子琴》由會員分享,可在線閱讀,更多相關《用Quartus II設計電子琴(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,電子琴設計,設計要求,設計一個八音電子琴。,由鍵盤輸入控制音響,同時可自動演奏樂曲。,用戶可以將自己編制的樂曲存入電子琴,演奏時可選擇鍵盤輸入樂曲或者已存入的樂曲。,系統(tǒng)組成,系統(tǒng)由數(shù)控分頻器和樂曲存儲模塊組成。,數(shù)控分頻器對,FPGA,的基準頻率進行分頻,得到與各個音階對應的頻率輸出。,樂曲存儲模塊產(chǎn)生節(jié)拍控制和音階選擇信號,即在此模塊中可存放一個樂曲曲譜真值表,由一個計數(shù)器來控制此真值表的輸出,而由計數(shù)器的計數(shù)時鐘信號作為樂曲節(jié)拍控制信號。,模塊設計,1.,頂層模塊的設計,2.,自動演奏模塊,(,au

2、tomusic,),的設計,3.,音調(diào)發(fā)生器,(tone),模塊的設計,4.,數(shù)控分頻模塊(,speaker,)的設計,1.,頂層模塊的設計,頂層模塊由樂曲自動演奏(,automusic,),音調(diào)發(fā)生器(,tone,)和數(shù)控分頻器(,speaker,)三個模塊組成。,其中樂曲演奏部分又包括了鍵盤編碼。,設置一個自動演奏,/,鍵盤輸入切換,auto,,即當,auto=“0”,時,選擇自動演奏音樂存儲器里面的樂曲,,auto=“1”,時,選擇鍵盤輸入的信號。,頂層設計原理圖,2.,自動演奏模塊,(,automusic,),的設計,音樂存儲模塊的作用是產(chǎn)生,8,位發(fā)聲控制輸入,index,。,當,a

3、uto,為“,0”,時,由存儲在此模塊中的,8,位二進制數(shù)作為發(fā)聲控制輸入,可自動演奏樂曲。,此模塊的,VHDL,程序中包括兩個進程,首先是對時基脈沖進行分頻得到,4Hz,的脈沖,作為第二個進程的時鐘信號,它用來控制每個音階之間的停頓時間,,1/4=0.25s,;第二個進程是音樂的存儲,可根據(jù)需要編寫不同的樂曲。,3.,音調(diào)發(fā)生器,(tone),模塊的設計,音調(diào)發(fā)生器的作用是產(chǎn)生獲得音階的分頻預置值。,當,8,位發(fā)聲控制輸入,index,中的某一位為高電平時,則對應某一音階的數(shù)值將在端口,tone,輸出,該數(shù)值即為該音階的分頻預置值,分頻預置值控制數(shù)控分頻器來對,4MHz,的脈沖進行分頻,由此

4、可得到每個音階對應的頻率。,例如輸入,index=“00000010”,,即對應的按鍵是,2,,產(chǎn)生的分頻系數(shù)便是,6809,;,code,輸出對應該音階簡譜的顯示數(shù)碼;,high,輸出指示音階高,8,度,低電平有效。,4.,數(shù)控分頻模塊(,speaker,)的設計,數(shù)控分頻模塊對時基脈沖進行分頻,得到與,1,、,2,、,3,、,4,、,5,、,6,、,7,七個音符對應頻率。,該模塊的,VHDL,程序中包含了三個進程。,首先對,FPGA,的,32MHz,的時基脈沖進行分頻得到,8MHz,的脈沖,,然后按照,tone1,輸入的分頻系數(shù)對,8MHz,的脈沖再次分頻,得到所需要的音符頻率。,第三個進

5、程的作用是在音調(diào)輸出時再進行二分頻,將脈沖展寬,使揚聲器有足夠發(fā)聲功率。,電子琴程序設計與仿真,電子琴程序設計與仿真,1.,頂層程序與仿真,2.,音階發(fā)生器程序與仿真,3.,數(shù)控分頻模塊程序與仿真,4.,自動演奏模塊程序與仿真,1.,頂層程序與仿真,-,文件名:,top.vhd,-,功能:頂層文件,-,最后修改日期:,2004.3.20,library IEEE;,use IEEE.STD_LOGIC_1164.ALL;,use IEEE.STD_LOGIC_ARITH.ALL;,use IEEE.STD_LOGIC_UNSIGNED.ALL;,entity top is,Port(clk32

6、MHz :in,std_logic,;-32MHz,系統(tǒng)時鐘,handTOauto,:in,std_logic,;-,鍵盤輸入,/,自動演奏,code1 :out std_logic_vector(6,downto,0);-,音符顯示信號,index1 :in std_logic_vector(7,downto,0);-,鍵盤輸入信號,high1 :out,std_logic,;-,高低音節(jié)信號,spkout,:out,std_logic,);-,音頻信號,end top;,architecture Behavioral of top is,component,automusic,Port(,

7、clk,:in,std_logic,;,Auto:in,std_logic,;,index2:in std_logic_vector(7,downto,0);,index0:out std_logic_vector(7,downto,0);,end component;,component tone,Port(index:in std_logic_vector(7,downto,0);,code:out std_logic_vector(6,downto,0);,high:out,std_logic,;,tone0:out integer range 0 to 2047);,end compo

8、nent;,component speaker,Port(clk1:in,std_logic,;,tone1:in integer range 0 to 2047;,spks,:out,std_logic,);,end component;,signal tone2:integer range 0 to 2047;,signal indx:std_logic_vector(7,downto,0);,begin,u0:automusic port,map(clk,=clk32MHZ,index2=index1,index0=,indx,Auto,=,handtoAuto,);,u1:tone p

9、ort,map(index,=indx,tone0=tone2,code=code1,high=high1);,u2:speaker port map(clk1=clk32MHZ,tone1=tone2,spks=,spkout,);,end Behavioral;,(頂層文件仿真圖),2.,音階發(fā)生器程序與仿真,-,文件名:,tone.vhd,。,-,功能:音階發(fā)生器程序。,-,最后修改日期:,2004.4.13,。,library IEEE;,use IEEE.STD_LOGIC_1164.ALL;,use IEEE.STD_LOGIC_ARITH.ALL;,use IEEE.STD_LO

10、GIC_UNSIGNED.ALL;,entity tone is,Port(index:in std_logic_vector(7,downto,0);-,音符輸入信號,code :out std_logic_vector(6,downto,0);-,音符顯示信號,high :out,std_logic,;-,高低音顯示信號,tone0:out integer range 0 to 2047);-,音符的分頻系數(shù),end tone;,architecture Behavioral of tone is,begin,search:,process(index,),-,此進程完成音符到音符的分頻系

11、數(shù)譯碼,音符的顯示,高低音階,begin,case index is,when 00000001=tone0=773;code=1001111;high tone0=912;code=0010010;high tone0=1036;code=0000110;high tone0=1116;code=1001100;high tone0=1197;code=0100100;high tone0=1290;code=0100000;high tone0=1372;code=0001111;high tone0=1410;code=0000000;high tone0=2047;code=00000

12、01;high=0;,end case;,end process;,end Behavioral;,(音階發(fā)生器仿真圖),3.,數(shù)控分頻模塊程序與仿真,-,文件名:,speaker.vhd,。,-,功 能:實現(xiàn)數(shù)控分頻。,-,最后修改日期:,20004.3.19,。,library IEEE;,use IEEE.STD_LOGIC_1164.ALL;,use IEEE.STD_LOGIC_ARITH.ALL;,use IEEE.STD_LOGIC_UNSIGNED.ALL;,entity speaker is,Port(clk1 :in,std_logic,;-,系統(tǒng)時鐘,tone1:in i

13、nteger range 0 to,2047,;-,音符分頻系數(shù),spks,:out,std_logic,);-,驅(qū)動揚聲器的音頻信號,end speaker;,architecture Behavioral of speaker is,signal,preclk,fullspks:std_logic,;,begin,pulse1:process(clk1),-,此進程對系統(tǒng)時鐘進行,4,分頻,variable,count:integer,range 0 to 8;,begin,if clk1event and clk1=1 then count:=count+1;,if count=2 th

14、en,preclk,=1;,elsif,count=4 then,preclk,=0;count:=0;,end if;,end if;,end process pulse1;,genspks:process(preclk,tone1)-,此進程按照,tone1,輸入的,-,分頻系數(shù)對,8MHz,的脈沖再次分頻,得到所需要的音符頻率,variable count11:integer range 0 to 2047;,Begin,if,preclkevent,and,preclk,=1 then,if count11tone1 then,count11:=count11+1;fullspks=1

15、;,else count11:=0;fullspks=0;,end if;,end if;,end process;,delaysps:process(fullspks,)-,此進程對,fullspks,進行,2,分頻,variable count2:,std_logic,:=0;,begin,if,fullspksevent,and,fullspks,=1 then,count2:=not count2;,if count2=1 then,spks,=1;,else,spks,=0;,end if;,end if;,end process;,end Behavioral,;,(數(shù)控分頻模塊仿

16、真圖),4.,自動演奏模塊程序與仿真,-,文件名:,automusic.vhd,-,功 能:實現(xiàn)自動演奏功能。,-,最后修改日期:,2004.3.19,。,library IEEE;,use IEEE.STD_LOGIC_1164.ALL;,use IEEE.STD_LOGIC_ARITH.ALL;,use IEEE.STD_LOGIC_UNSIGNED.ALL;,entity,automusic,is,Port(,clk,Auto,:in,std_logic,;-,系統(tǒng)時鐘;鍵盤輸入,/,自動演奏,index2:in std_logic_vector(7,downto,0);-,鍵盤輸入信號,index0:out std_logic_vector(7,downto,0);-,音符信號輸出,end,automusic,;,architecture Behavioral of,automusic,is,signal count0:integer range 0 to 31;-change,signal clk2:std_logic;,begin,pulse0:process(clk,Au

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

相關資源

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

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

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


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