EDA樂曲硬件演奏電路設計_第1頁
EDA樂曲硬件演奏電路設計_第2頁
EDA樂曲硬件演奏電路設計_第3頁
EDA樂曲硬件演奏電路設計_第4頁
EDA樂曲硬件演奏電路設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、電子系統(tǒng)設計課程課程I題目:樂曲硬件演奏電路設計題目:樂曲硬件演奏電路設計名:院 系:電力學院 一專 業(yè):電子科學與技術學 號:指導教師:一完成時間:2016 年12月21日目錄 TOC o 1-5 h z HYPERLINK l bookmark2 o Current Document 1課程設計題目、內容與要求1 HYPERLINK l bookmark4 o Current Document 設計內容1 HYPERLINK l bookmark6 o Current Document 具體要求1 HYPERLINK l bookmark8 o Current Document 2系統(tǒng)設計

2、1 HYPERLINK l bookmark10 o Current Document 設計思路1 HYPERLINK l bookmark12 o Current Document 系統(tǒng)原理3總體框圖3工作過程3樂曲演奏的原理圖4 HYPERLINK l bookmark14 o Current Document 3系統(tǒng)實現(xiàn)4 HYPERLINK l bookmark16 o Current Document 分頻器(FDIV) 4 HYPERLINK l bookmark18 o Current Document 計數(shù)器 CNT138T 6 HYPERLINK l bookmark32 o

3、 Current Document 計數(shù)器CNT138T的設計6 HYPERLINK l bookmark20 o Current Document 分頻預置數(shù)譯碼器F_CODE模塊7F_CODE模塊的設計8 HYPERLINK l bookmark22 o Current Document 字分頻器SPKER模塊10數(shù)字分頻器SPKS模塊設計10 HYPERLINK l bookmark26 o Current Document 選擇器 choice 12 HYPERLINK l bookmark28 o Current Document 樂譜文件ROM 14樂譜文件14LMP-ROM 模塊

4、15 HYPERLINK l bookmark30 o Current Document 4系統(tǒng)仿真15計數(shù)器CNT138T的仿真15 HYPERLINK l bookmark34 o Current Document .分頻器 FDIV 16 HYPERLINK l bookmark36 o Current Document 分頻預置數(shù)F_CODE 16 HYPERLINK l bookmark38 o Current Document 分頻器 SPKER 16 HYPERLINK l bookmark40 o Current Document 樂曲ROM的數(shù)據(jù)讀取17 HYPERLINK

5、l bookmark42 o Current Document 5硬件驗證17 HYPERLINK l bookmark44 o Current Document 引腳鎖定18 HYPERLINK l bookmark46 o Current Document 硬件連接18 HYPERLINK l bookmark48 o Current Document 實驗現(xiàn)象18 HYPERLINK l bookmark50 o Current Document 6總結19 HYPERLINK l bookmark52 o Current Document 7參考書目191課程設計題目、內容與要求設計內

6、容設計一個樂曲演奏電路,能夠自動播放編寫好的音樂。要求將音 樂通過實驗箱上的喇叭播放出來,用發(fā)光二級管顯示出樂曲的節(jié)拍。(1)完成程序的編程工作。(2)將音樂數(shù)據(jù)制成LMP_ROM文件。(3)將程序在Quartus ii軟件中進行編譯和仿真。(4)進行引腳鎖定,然后下載到實驗箱上觀察實驗結果。具體要求(1)定制音符數(shù)據(jù)ROM MUSIC,檢測音符數(shù)據(jù)已經(jīng)進入ROM中;(2)所有模塊,分別仿真測試;(3)完成系統(tǒng)仿真調試和硬件驗證;(4)能夠將兩首音樂隨時切換。2系統(tǒng)設計設計思路樂曲中的每一音符對應著一個確定的頻率,要想FPGA發(fā)出不同 音符的音調,實際上只要控制它輸出相應音符的頻率即可。樂曲都

7、是 由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應 的頻,就可以在揚聲器上連續(xù)地發(fā)出各個音符的音調。而要準確地演 奏出一首樂曲,僅僅讓揚聲器能夠發(fā)生是不夠的,還必須準確地控制 樂曲的節(jié)奏,即樂曲中每個音符的發(fā)生頻率及其持續(xù)時間是樂曲能夠 連續(xù)演奏的兩個關鍵因素。本次設計主要包括三個部分:(1)音符頻率的獲得;音符頻率的獲得多個不同頻率的信號可通過對某個基準頻率進 行分頻器獲得。由于各個音符的頻率多為非整數(shù),而分頻系數(shù)又不能 為小數(shù),故必須將計算機得到的分頻系數(shù)四舍五入取整。若基準頻率 過低,則分頻系數(shù)過小,四舍五入取整后的誤差較大。若基準頻率過 高,雖然可以減少頻率的相對誤差,但

8、分頻結構將變大。實際上應該 綜合考慮這兩個方面的因素,在盡量減少誤差的前提下,選取合適的 基準頻率。本設計中選取1MHz的基準頻率,數(shù)控分頻器采用11位二 進制計數(shù)器。(3)樂曲節(jié)奏的控制一般樂曲最小的節(jié)拍為1/4拍,若將1拍的時間定為1秒,則只 需要輸出4Hz的1/4拍的時長(0.25秒),對于其它占用時間較長的 節(jié)拍(必為1/4拍的整數(shù)倍)則只需要將該音符連續(xù)輸出相應的次數(shù) 即可。計數(shù)時鐘信號作為輸出音符快慢的控制信號,時鐘快時輸出節(jié) 拍速度就快,演奏的速度也就快,時鐘慢時輸出節(jié)拍的速度就慢,演 奏的速度自然降低,因此計數(shù)器的時鐘信號應為4Hz。(3)樂譜的發(fā)生本設計將樂譜中的音符數(shù)據(jù)存儲

9、在LPM-ROM中,若某音在邏輯中 停留了 4個時鐘節(jié)拍,即1秒的時間,相應地,該音符就要在LPM-ROM 中連續(xù)的四個地址上都存儲。當一個4Hz的時鐘來時,相應地就從 LPM-ROM中輸出一個音符數(shù)據(jù)。系統(tǒng)原理總體框圖該工程由是由上圖所示的幾個模塊構成輸入的時鐘20MHZ通過鎖相環(huán)后輸出2KHZ和1KHZ的時鐘分別 輸送給分頻器FDIV和計數(shù)器CNT138; FDIV將1MHZ的時鐘分頻成4HZ 的時鐘。計數(shù)器CNT138T完成計數(shù)功能,138進制,每來個時鐘沿加一。樂譜ROM記錄了 1首歌的樂譜。根據(jù)上一模塊計數(shù)器所計的數(shù) 讀取相應地址里的數(shù)據(jù)傳遞給下一模塊。譯碼器F_CODE將選擇器所選

10、擇的歌曲rom里的地址的數(shù)據(jù)翻 譯成可預置計數(shù)器SPKER和簡譜碼顯示DECL7S所需的數(shù)據(jù)。分頻驅動器也就是一個數(shù)控分頻器,完成分頻的功能,并驅動 蜂鳴器。工作過程當一個4Hz的時鐘脈沖來到時,樂譜發(fā)生器模塊輸出一個音符數(shù) 據(jù)給分頻系數(shù)模塊,分頻系數(shù)模塊輸出此音符相應的分頻系數(shù)所需的 初始值,將初始值送給數(shù)控分頻器模塊,當1MHz的時鐘脈沖來到時,數(shù)控分頻器就根據(jù)分頻系數(shù)輸出相應的頻率(即此音符所對應的發(fā)生 頻率)給揚聲器,揚聲器就可發(fā)出對應音符的聲音來.連續(xù)的4Hz的時 鐘脈沖就將樂譜發(fā)生器里所存儲的音符數(shù)據(jù)一個接一個的送給了分 頻系數(shù)模塊,再經(jīng)過數(shù)控分頻模塊,最后揚聲器一個接一個的發(fā)出音

11、 符數(shù)據(jù)所對應的聲音來。曲子也就流暢的播放出來了。同時led數(shù)碼 管會隨著音樂顯示相應的樂譜。當樂曲一遍演奏完成后,樂曲發(fā)生器 能自動從頭開始循環(huán)演奏。2.2.3樂曲演奏的原理圖3系統(tǒng)實現(xiàn)分頻器(FDIV)將鎖相環(huán)的2KHZ的時鐘分頻4Hz的時鐘,供計數(shù)器使用。(1)模塊程序module FDIV(CLK,PM);input CLK;output PM;reg8:0 Q1;reg FULL;wire RST;always(posedge CLK or posedge RST)beginif(RST)beginQ1=0;FULL=1;endelsebeginQ1=Q1+1;FULL=0;ende

12、ndassign RST=(Q1=449);assign PM=FULL;assign DOUT=Q1;endmodule(2)模塊圖形計數(shù)器 CNT138T它是一個8位二進制計數(shù)器,內部設置計數(shù)最大值為139,作為 音符數(shù)據(jù)ROM的地址發(fā)生器。每來一個時鐘信號,計數(shù)器就計數(shù)一次, ROM文件中的地址也隨著增加,音符數(shù)據(jù)ROM中的音符也就一個一個 的取出來。計數(shù)器CNT138T的設計這個計數(shù)器的計數(shù)頻率即為4Hz。即每一計數(shù)值的停留時間為 0.25秒,恰為當全音符設為1秒時,四四拍的4分音符持續(xù)時間。 例如,“梁?!睒非牡谝粋€音符為“3”,此音在邏輯中停留了 4個 時鐘節(jié)拍,即1秒時間,相應

13、地,所對應的“3”音符分頻預置值為 11H40C,在SPKER的輸入端停留了 1秒。隨著計數(shù)器CNT138T按4Hz 的時鐘速率作加法計數(shù)時,即隨地址值遞增時,音符數(shù)據(jù)ROM模塊 MUSIC中的音符數(shù)據(jù)將從ROM中通過q3.0端口輸向F_CODE模塊, “梁?!睒非烷_始連續(xù)自然地演奏起來了。CNT138T的節(jié)拍是139, 正好等于ROM中的簡譜碼數(shù),所以可以確保循環(huán)演奏。對于其他樂曲, 此計數(shù)最大值要根據(jù)情況更改。(1)模塊程序module CNT138T(CLK,CNT8);6input CLK;output 7:0 CNT8;reg7:0 CNT;wire LD;always(posed

14、ge CLK or posedge LD) beginif (LD)CNT=8b00000000;elseCNT=CNT+1;endassign CNT8=CNT;assign LD=(CNT=138);endmodule模塊圖形?,YCLK CMTB7.O;: f CNfiisfff:;CLK CMTB7.OX :inst分頻預置數(shù)譯碼器F_CODE模塊模塊F_CODE的功能首先是為模塊SPKER(11位分頻器)提供決 定所發(fā)音符的分頻預置數(shù),而此數(shù)在SPKER輸入口停留的時間即為此 音符的節(jié)拍周期,模塊F_CODE是樂曲簡譜碼對應的分頻預置數(shù)查表 電路。F_CODE模塊的設計程序中設置了

15、“梁?!睒非恳舴鶎姆诸l預置數(shù),共 14個,每一音符的停留時間則由音樂節(jié)拍和音調發(fā)生查表模塊MUSIC 中簡譜碼和工作時鐘inclock的頻率決定,在此為4Hz。模塊F_CODE 的14個值的輸出由對應于MUSIC模塊輸出的q3.0及4位輸入值 INX3.0確定,而INX3.0最多有16種可選值。輸向模塊F_CODE 中INX3.0的值在SPKER中對應的輸出頻率值與持續(xù)的時間由模塊 MUSIC決定。(1)模塊程序module F_CODE(INX,CODE,H,TO);input3:0 INX;output 3:0 CODE;output H;output 10:0 TO;reg10

16、:0 TO;reg3:0 CODE;reg H;always(INX)begincase(INX)0:begin TO=11H7FF;CODE=0;H=0;end1:begin TO=11H305;CODE=1;H=0;end2:begin TO=11H390;CODE=2;H=0;end3:begin TO=11H40C;CODE=3;H=0;end4:begin TO=11H45C;CODE=4;H=0;end5:begin TO=11H4AD;CODE=5;H=0;end6:begin TO=11H50A;CODE=6;H=0;end7:begin TO=11H55C;CODE=7;H=

17、0;end8:begin TO=11H582;CODE=1;H=1;end9:begin TO=11H5C8;CODE=2;H=1;end10:begin TO=11H606;CODE=3;H=1;end11:begin TO=11H640;CODE=4;H=1;end12:begin TO=11H656;CODE=5;H=1;end13:begin TO=11H684;CODE=6;H=1;end14:begin TO=11H69A;CODE=7;H=1;end15:begin TO=11H6C0;CODE=1;H=1;enddefault:begin TO=11H6c0;CODE=1;H=

18、1;end endcaseendendmodule(2)模塊圖形;口工。工工口安:X: : F_CODE工/;口工/;口,*工0:/丁工仁口二門;口工方丁.數(shù)字分頻器SPKER模塊音符的頻率由SPKER獲得,這是一個數(shù)控分頻器。數(shù)字分頻器SPKS模塊設計它的CLK端輸入一具有較高頻率(1MHz)的時鐘,由于直接從 分頻器中出來的輸出信號是脈寬極窄的信號,為了有利于驅動揚聲 器,需另加一個D觸發(fā)器分頻以均衡其占空比,但這時的頻率將是 原來的1/2。SPKER對CLK輸入信號的分頻比由輸入的11位預置數(shù) TN10.0決定。揚聲器的輸出頻率將決定每一音符的音調;這樣,分 頻計數(shù)器的預置值TN10.0

19、與輸出頻率就有了對應關系,而輸出的 頻率又與音樂音符的發(fā)聲有對應關系,例如在F_CODE模塊中若 TN10.0=11H40C,將由揚聲器發(fā)出音符為“3”音的信號頻率。(1)程序模塊1module SPKER(CLK,TN,SPKS);input CLK;input10:0 TN;output SPKS;reg SPKS;reg10:0 CNT11;10always(posedge CLK)begin :CNT11B_LOADif(CNT11=11h7FF)beginCNT11=TN;SPKS=1b1;endelsebeginCNT11=CNT11+1;SPKS:y:y:j .:f之,SPHSR

20、L LK口CLThl心孑*?:i:;:ft:yT!yr:!y及左*(2)程序模塊2module SPKER(CLK,TN,SPKS);input CLK;11input2:0 TN;output SPKS;reg SPKS;reg2:0 CNT3;always(posedge CLK)beginif(CNT3=3h7)beginCNT3=TN;SPKS=1b1;endelsebeginCNT3=CNT3+1;SPKS=1b0;endendendmodule選擇器choice選擇器完成選擇歌曲的功能:當a的信號為1時將Q1的信號輸出當a的信號為0時將Q2的信號輸出12(1)模塊程序module

21、choice (a,b,Q1,Q2,INX);input a;output b;input3:0 Q1;input3:0 Q2;output3:0INX;reg b;reg3:0 INX;always(a)begincase(a)01:begin b=0;INX=Q1;end10:begin b=1;INX=Q2;enddefault:begin b=10;INXM 7:巴.X TaEl*E5BK 同從波形上可以看到,當輸入信號INX=1000時,code顯示的是1,H為1,預置值為582,查詢程序,發(fā)現(xiàn)功能正確。分頻器SPKER16過長而失敗,因此更改程序,減小其分頻系數(shù),同樣能說明問題,在

22、 此,我將n位的預置初值改為3位,得到如上的仿真波形圖,可發(fā) 現(xiàn)在TN給出不同的預置初值時的分頻效果,仔細細數(shù)一下,發(fā)現(xiàn)數(shù) 控分頻功能完全正確。5 ps 5. L2 us 10.2 us L5.36 us 20. 4S g 25. B us 30.12 us 35.84 us 40.花 us .09 us15. 65 ns. LJ, .x. ,L . X . . .-V . . .X. . pj. . . M.1.工.Lf.;通過對仿真后的時序波形的觀察,當TN=6時,系統(tǒng)有最小的分 頻N=4,隨著TN的減小,系統(tǒng)的分頻數(shù)逐漸增大。e Quartwa rt - XUEQU - ilr Srrtrn Mernrry Cntrn: Edlor4.5樂曲ROMe Quartwa rt - XUEQU - ilr Srrtrn Mernrry Cntrn: Edlor5硬件驗證17引腳鎖定ToLocationEnabled1 GLK2DMHZPIN_G21Yes2_/ HI

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論