版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
-.z.《電子系統(tǒng)設(shè)計》課程課程設(shè)計報告題目:樂曲硬件演奏電路設(shè)計姓名:吳清清院系:電力學(xué)院專業(yè):電子科學(xué)與技術(shù)學(xué)號:201312309指導(dǎo)教師:譚聯(lián)完成時間:2016年12月21日目錄1課程設(shè)計題目、容與要求11.1設(shè)計容11.2具體要求12系統(tǒng)設(shè)計12.1設(shè)計思路12.2系統(tǒng)原理3總體框圖3工作過程3樂曲演奏的原理圖43系統(tǒng)實現(xiàn)43.1.分頻器(FDIV)43.2.計數(shù)器T138T6計數(shù)器T138T的設(shè)計63.3.分頻預(yù)置數(shù)譯碼器F_CODE模塊73.3.1F_CODE模塊的設(shè)計83.4數(shù)字分頻器SPKER模塊10數(shù)字分頻器SPKS模塊設(shè)計103.5選擇器choice123.6.樂譜文件ROM14樂譜文件143.6.2LMP-ROM模塊154系統(tǒng)仿真154.1計數(shù)器T138T的仿真154.2.分頻器FDIV164.3分頻預(yù)置數(shù)F_CODE164.4分頻器SPKER164.5樂曲ROM的數(shù)據(jù)讀取175硬件驗證175.1引腳鎖定185.2硬件連接185.2實驗現(xiàn)象186總結(jié)197參考書目19-.z.1課程設(shè)計題目、容與要求1.1設(shè)計容設(shè)計一個樂曲演奏電路,能夠自動播放編寫好的音樂。要求將音樂通過實驗箱上的喇叭播放出來,用發(fā)光二級管顯示出樂曲的節(jié)拍。(1)完成程序的編程工作。(2)將音樂數(shù)據(jù)制成LMP_ROM文件。(3)將程序在Quartusii軟件中進行編譯和仿真。(4)進行引腳鎖定,然后下載到實驗箱上觀察實驗結(jié)果。1.2具體要求(1)定制音符數(shù)據(jù)ROMMUSIC,檢測音符數(shù)據(jù)已經(jīng)進入ROM中;(2)所有模塊,分別仿真測試;(3)完成系統(tǒng)仿真調(diào)試和硬件驗證;(4)能夠?qū)墒滓魳冯S時切換。2系統(tǒng)設(shè)計2.1設(shè)計思路樂曲中的每一音符對應(yīng)著一個確定的頻率,要想FPGA發(fā)出不同音符的音調(diào),實際上只要控制它輸出相應(yīng)音符的頻率即可。樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應(yīng)的頻,就可以在揚聲器上連續(xù)地發(fā)出各個音符的音調(diào)。而要準(zhǔn)確地演奏出一首樂曲,僅僅讓揚聲器能夠發(fā)生是不夠的,還必須準(zhǔn)確地控制樂曲的節(jié)奏,即樂曲中每個音符的發(fā)生頻率及其持續(xù)時間是樂曲能夠連續(xù)演奏的兩個關(guān)鍵因素。本次設(shè)計主要包括三個部分:(1)音符頻率的獲得;音符頻率的獲得多個不同頻率的信號可通過對*個基準(zhǔn)頻率進行分頻器獲得。由于各個音符的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計算機得到的分頻系數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則分頻系數(shù)過小,四舍五入取整后的誤差較大。若基準(zhǔn)頻率過高,雖然可以減少頻率的相對誤差,但分頻結(jié)構(gòu)將變大。實際上應(yīng)該綜合考慮這兩個方面的因素,在盡量減少誤差的前提下,選取合適的基準(zhǔn)頻率。本設(shè)計中選取1MHz的基準(zhǔn)頻率,數(shù)控分頻器采用11位二進制計數(shù)器。(3)樂曲節(jié)奏的控制一般樂曲最小的節(jié)拍為1/4拍,若將1拍的時間定為1秒,則只需要輸出4Hz的1/4拍的時長(0.25秒),對于其它占用時間較長的節(jié)拍(必為1/4拍的整數(shù)倍)則只需要將該音符連續(xù)輸出相應(yīng)的次數(shù)即可。計數(shù)時鐘信號作為輸出音符快慢的控制信號,時鐘快時輸出節(jié)拍速度就快,演奏的速度也就快,時鐘慢時輸出節(jié)拍的速度就慢,演奏的速度自然降低,因此計數(shù)器的時鐘信號應(yīng)為4Hz。(3)樂譜的發(fā)生本設(shè)計將樂譜中的音符數(shù)據(jù)存儲在LPM-ROM中,若*音在邏輯中停留了4個時鐘節(jié)拍,即1秒的時間,相應(yīng)地,該音符就要在LPM-ROM中連續(xù)的四個地址上都存儲。當(dāng)一個4Hz的時鐘來時,相應(yīng)地就從LPM-ROM中輸出一個音符數(shù)據(jù)。2.2系統(tǒng)原理2.2.1總體框圖數(shù)控分頻器SPKER分頻器FDIV分頻驅(qū)動蜂鳴器時鐘數(shù)控分頻器SPKER分頻器FDIV分頻驅(qū)動蜂鳴器鎖相環(huán)PLL鎖相環(huán)PLL簡譜碼顯示DECL7S譯碼器F_CODE樂譜ROM計數(shù)器簡譜碼顯示DECL7S譯碼器F_CODE樂譜ROM計數(shù)器T138T該工程由是由上圖所示的幾個模塊構(gòu)成①輸入的時鐘20MHZ通過鎖相環(huán)后輸出2KHZ和1KHZ的時鐘分別輸送給分頻器FDIV和計數(shù)器T138;FDIV將1MHZ的時鐘分頻成4HZ的時鐘。②計數(shù)器T138T完成計數(shù)功能,138進制,每來個時鐘沿加一。③樂譜ROM記錄了1首歌的樂譜。根據(jù)上一模塊計數(shù)器所計的數(shù)讀取相應(yīng)地址里的數(shù)據(jù)傳遞給下一模塊。④譯碼器F_CODE將選擇器所選擇的歌曲rom里的地址的數(shù)據(jù)翻譯成可預(yù)置計數(shù)器SPKER和簡譜碼顯示DECL7S所需的數(shù)據(jù)。⑤分頻驅(qū)動器也就是一個數(shù)控分頻器,完成分頻的功能,并驅(qū)動蜂鳴器。2.2.2工作過程當(dāng)一個4Hz的時鐘脈沖來到時,樂譜發(fā)生器模塊輸出一個音符數(shù)據(jù)給分頻系數(shù)模塊,分頻系數(shù)模塊輸出此音符相應(yīng)的分頻系數(shù)所需的初始值,將初始值送給數(shù)控分頻器模塊,當(dāng)1MHz的時鐘脈沖來到時,數(shù)控分頻器就根據(jù)分頻系數(shù)輸出相應(yīng)的頻率(即此音符所對應(yīng)的發(fā)生頻率)給揚聲器,揚聲器就可發(fā)出對應(yīng)音符的聲音來.連續(xù)的4Hz的時鐘脈沖就將樂譜發(fā)生器里所存儲的音符數(shù)據(jù)一個接一個的送給了分頻系數(shù)模塊,再經(jīng)過數(shù)控分頻模塊,最后揚聲器一個接一個的發(fā)出音符數(shù)據(jù)所對應(yīng)的聲音來。曲子也就流暢的播放出來了。同時led數(shù)碼管會隨著音樂顯示相應(yīng)的樂譜。當(dāng)樂曲一遍演奏完成后,樂曲發(fā)生器能自動從頭開始循環(huán)演奏。2.2.3樂曲演奏的原理圖3系統(tǒng)實現(xiàn)3.1.分頻器(FDIV)將鎖相環(huán)的2KHZ的時鐘分頻4Hz的時鐘,供計數(shù)器使用。(1)模塊程序moduleFDIV(CLK,PM); inputCLK; outputPM; reg[8:0]Q1; regFULL; wireRST; always(posedgeCLKorposedgeRST) begin if(RST) begin Q1<=0; FULL<=1; end else begin Q1<=Q1+1; FULL<=0; end end assignRST=(Q1==449); assignPM=FULL; assignDOUT=Q1;endmodule(2)模塊圖形3.2.計數(shù)器T138T它是一個8位二進制計數(shù)器,部設(shè)置計數(shù)最大值為139,作為音符數(shù)據(jù)ROM的地址發(fā)生器。每來一個時鐘信號,計數(shù)器就計數(shù)一次,ROM文件中的地址也隨著增加,音符數(shù)據(jù)ROM中的音符也就一個一個的取出來。3.2.1計數(shù)器T138T的設(shè)計這個計數(shù)器的計數(shù)頻率即為4Hz。即每一計數(shù)值的停留時間為0.25秒,恰為當(dāng)全音符設(shè)為1秒時,四四拍的4分音符持續(xù)時間。例如,“梁祝”樂曲的第一個音符為“3”,此音在邏輯中停留了4個時鐘節(jié)拍,即1秒時間,相應(yīng)地,所對應(yīng)的“3”音符分頻預(yù)置值為11'H40C,在SPKER的輸入端停留了1秒。隨著計數(shù)器T138T按4Hz的時鐘速率作加法計數(shù)時,即隨地址值遞增時,音符數(shù)據(jù)ROM模塊MUSIC中的音符數(shù)據(jù)將從ROM過q[3..0]端口輸向F_CODE模塊,“梁?!睒非烷_始連續(xù)自然地演奏起來了。T138T的節(jié)拍是139,正好等于ROM中的簡譜碼數(shù),所以可以確保循環(huán)演奏。對于其他樂曲,此計數(shù)最大值要根據(jù)情況更改。(1)模塊程序moduleT138T(CLK,T8); inputCLK; output[7:0]T8; reg[7:0]T; wireLD; always(posedgeCLKorposedgeLD) begin if(LD) T<=8'b00000000; else T<=T+1; end assignT8=T; assignLD=(T==138);endmodule (2)模塊圖形3.3.分頻預(yù)置數(shù)譯碼器F_CODE模塊模塊F_CODE的功能首先是為模塊SPKER(11位分頻器)提供決定所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)在SPKER輸入口停留的時間即為此音符的節(jié)拍周期,模塊F_CODE是樂曲簡譜碼對應(yīng)的分頻預(yù)置數(shù)查表電路。3.3.1F_CODE模塊的設(shè)計程序中設(shè)置了“梁?!睒非恳舴鶎?yīng)的分頻預(yù)置數(shù),共14個,每一音符的停留時間則由音樂節(jié)拍和音調(diào)發(fā)生查表模塊MUSIC中簡譜碼和工作時鐘inclock的頻率決定,在此為4Hz。模塊F_CODE的14個值的輸出由對應(yīng)于MUSIC模塊輸出的q[3..0]及4位輸入值IN*[3..0]確定,而IN*[3..0]最多有16種可選值。輸向模塊F_CODE中IN*[3..0]的值在SPKER中對應(yīng)的輸出頻率值與持續(xù)的時間由模塊MUSIC決定。(1)模塊程序moduleF_CODE(IN*,CODE,H,TO); input[3:0]IN*; output[3:0]CODE; outputH; output[10:0]TO; reg[10:0]TO; reg[3:0]CODE; regH; always(IN*) begin case(IN*) 0:beginTO<=11'H7FF;CODE<=0;H<=0;end 1:beginTO<=11'H305;CODE<=1;H<=0;end 2:beginTO<=11'H390;CODE<=2;H<=0;end 3:beginTO<=11'H40C;CODE<=3;H<=0;end 4:beginTO<=11'H45C;CODE<=4;H<=0;end 5:beginTO<=11'H4AD;CODE<=5;H<=0;end 6:beginTO<=11'H50A;CODE<=6;H<=0;end 7:beginTO<=11'H55C;CODE<=7;H<=0;end 8:beginTO<=11'H582;CODE<=1;H<=1;end 9:beginTO<=11'H5C8;CODE<=2;H<=1;end 10:beginTO<=11'H606;CODE<=3;H<=1;end 11:beginTO<=11'H640;CODE<=4;H<=1;end 12:beginTO<=11'H656;CODE<=5;H<=1;end 13:beginTO<=11'H684;CODE<=6;H<=1;end 14:beginTO<=11'H69A;CODE<=7;H<=1;end 15:beginTO<=11'H6C0;CODE<=1;H<=1;end default:beginTO<=11'H6c0;CODE<=1;H<=1;end endcase endendmodule(2)模塊圖形3.4數(shù)字分頻器SPKER模塊音符的頻率由SPKER獲得,這是一個數(shù)控分頻器。3.4.1數(shù)字分頻器SPKS模塊設(shè)計它的CLK端輸入一具有較高頻率(1MHz)的時鐘,由于直接從分頻器中出來的輸出信號是脈寬極窄的信號,為了有利于驅(qū)動揚聲器,需另加一個D觸發(fā)器分頻以均衡其占空比,但這時的頻率將是原來的1/2。SPKER對CLK輸入信號的分頻比由輸入的11位預(yù)置數(shù)TN[10..0]決定。揚聲器的輸出頻率將決定每一音符的音調(diào);這樣,分頻計數(shù)器的預(yù)置值TN[10..0]與輸出頻率就有了對應(yīng)關(guān)系,而輸出的頻率又與音樂音符的發(fā)聲有對應(yīng)關(guān)系,例如在F_CODE模塊中若TN[10..0]=11'H40C,將由揚聲器發(fā)出音符為“3”音的信號頻率。(1)程序模塊1moduleSPKER(CLK,TN,SPKS); inputCLK; input[10:0]TN; outputSPKS; regSPKS; reg[10:0]T11; always(posedgeCLK) begin:T11B_LOAD if(T11==11'h7FF) begin T11=TN; SPKS<=1'b1; end else begin T11=T11+1; SPKS<=1'b0; end endendmodule(2)模塊圖形(2)程序模塊2moduleSPKER(CLK,TN,SPKS); inputCLK; input[2:0]TN; outputSPKS; regSPKS; reg[2:0]T3; always(posedgeCLK) begin if(T3==3'h7) begin T3=TN; SPKS<=1'b1; end else begin T3=T3+1; SPKS<=1'b0; end endendmodule3.5選擇器choice選擇器完成選擇歌曲的功能:當(dāng)a的信號為1時將Q1的信號輸出當(dāng)a的信號為0時將Q2的信號輸出(1)模塊程序modulechoice(a,b,Q1,Q2,IN*);inputa;outputb;input[3:0]Q1;input[3:0]Q2;output[3:0]IN*;regb;reg[3:0]IN*;always(a) begin case(a) 01:beginb<=0;IN*<=Q1;end10:beginb<=1;IN*<=Q2;enddefault:beginb<=10;IN*<=Q2;endendcaseendendmodule(2)模塊圖形3.6.樂譜文件ROMLpmrom0模塊里面放置的是“梁祝”的樂譜,它是利用LPM-ROM來實現(xiàn)的,將樂譜中相應(yīng)的音符放在一個連續(xù)的地址上。他首先是編寫音符數(shù)據(jù)文件,將樂譜中相應(yīng)的音符放在一個連續(xù)的地址上。因為1拍的時間定為1s,提供的是4HZ的時鐘頻率(1/4拍的整數(shù)倍),則需將這個音符存儲在相應(yīng)次數(shù)的連續(xù)的地址上。然后對音符數(shù)據(jù)進行ROM定制,最后對定制好的ROM文件進行測試和仿真。3.6.1樂譜文件(1)“梁?!币魳稺IDTH=4;DEPTH=256;ADDRESS_RADI*=DEC;DATA_RADI*=DEC;CONTENTBEGIN3.6.2LMP-ROM模塊4系統(tǒng)仿真4.1計數(shù)器T138T的仿真由波形可看出,CLK為輸入時鐘信號,八位輸出二進制信號在每個時鐘上升沿加一,當(dāng)計數(shù)至137時,從0開始重新計數(shù)。經(jīng)分析,該模塊功能完全正確。4.2.分頻器FDIV由波形可看出CLK為輸入2KHz的時鐘信號,PM輸出為8Hz的時鐘信號,由于紙有限沒有打印出其全部波形。經(jīng)分析該模塊功能完全正確。4.3分頻預(yù)置數(shù)F_CODE從波形上可以看到,當(dāng)輸入信號IN*=1000時,code顯示的是1,H為1,預(yù)置值為582,查詢程序,發(fā)現(xiàn)功能正確。4.4分頻器SPKER此波形仿真分析比較復(fù)雜,如果由于輸入信號為1MHz,其中的分頻系數(shù)比較大,如果直接用該模塊程序進行仿真可能導(dǎo)致仿真時間過長而失敗,因此更改程序,減小其分頻系數(shù),同樣能說明問題,在此,我將11位的預(yù)置初值改為3位,得到如上的仿
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人心理咨詢與輔導(dǎo)服務(wù)合同3篇
- 2025年度林業(yè)權(quán)屬林權(quán)登記與林業(yè)碳匯項目實施合同4篇
- 2025年福建貨運從業(yè)資格證新政
- 七夕節(jié)趣味活動策劃方案
- 二零二五年度高速鐵路鋁合金門窗安全檢測與安裝合同4篇
- 二零二五年度0號柴油環(huán)保油品居間服務(wù)合同3篇
- 2025年度個人房產(chǎn)交易過戶手續(xù)辦理協(xié)議3篇
- 二零二五年度土地租賃及經(jīng)營權(quán)轉(zhuǎn)讓合同樣本-@-1
- 二零二五年度離婚房產(chǎn)分割與子女醫(yī)療費用承擔(dān)合同3篇
- 二零二五年度企業(yè)員工培訓(xùn)課程版權(quán)購買協(xié)議4篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 家務(wù)分工與責(zé)任保證書
- 消防安全隱患等級
- (新版)國民經(jīng)濟行業(yè)分類代碼表(八大行業(yè))
- 北京地鐵13號線
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 為加入燒火佬協(xié)會致辭(7篇)
- 職業(yè)衛(wèi)生法律法規(guī)和標(biāo)準(zhǔn)培訓(xùn)課件
- 高二下學(xué)期英語閱讀提升練習(xí)(二)
評論
0/150
提交評論