資源描述:
《基于eda的電子琴設(shè)計(jì).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、EDA電子琴設(shè)計(jì)2009-07-1109:07目錄前??言3一、設(shè)計(jì)要求3二、設(shè)計(jì)目的3三、硬件電路的設(shè)計(jì)31、電子琴整體電路31.1手動(dòng)/自動(dòng)演奏模塊41.2音調(diào)發(fā)生器模塊41.3數(shù)控分頻模塊5四、程序設(shè)計(jì)51、手動(dòng)/自動(dòng)演奏模塊的設(shè)計(jì)62、音調(diào)發(fā)生器模塊的設(shè)計(jì)73、數(shù)控分頻模塊的設(shè)計(jì)7五、組裝調(diào)試下載7六、心得體會(huì)9七、參考文獻(xiàn)9附錄110附錄211前??言EDA技術(shù)是電子設(shè)計(jì)的發(fā)展趨勢(shì),利用EDA工具可以代替設(shè)計(jì)者完成電子系統(tǒng)設(shè)計(jì)中的大部分工作。EDA工具從數(shù)字系統(tǒng)設(shè)計(jì)的單一領(lǐng)域,發(fā)展到今天,應(yīng)用范圍已涉及模擬、
2、微波等多個(gè)領(lǐng)域,可以實(shí)現(xiàn)各個(gè)領(lǐng)域電子系統(tǒng)設(shè)計(jì)的測(cè)試、設(shè)計(jì)方針和布局布線等。設(shè)計(jì)者只要完成對(duì)電子系統(tǒng)的功能描述,就可以利用計(jì)算機(jī)和工具,進(jìn)行設(shè)計(jì)處理,最終得到設(shè)計(jì)結(jié)果。采用可編程邏輯器件通過對(duì)器件內(nèi)部的設(shè)計(jì)來(lái)實(shí)現(xiàn)系統(tǒng)功能,是一種基于芯片的設(shè)計(jì)方法。設(shè)計(jì)者可以根據(jù)定義器件的內(nèi)部邏輯很引出端,將電路板設(shè)計(jì)的大部分工作放在芯片的設(shè)計(jì)中進(jìn)行,通過對(duì)芯片設(shè)計(jì)實(shí)現(xiàn)數(shù)字系統(tǒng)的邏輯功能。用硬件描述語(yǔ)言進(jìn)行電路與系統(tǒng)的設(shè)計(jì)是當(dāng)前EDA技術(shù)的重要特征。硬件描述語(yǔ)言的突出優(yōu)點(diǎn)是:語(yǔ)言的公開可利用性;設(shè)計(jì)與工藝的無(wú)關(guān)性;寬范圍的描述能力;便于組
3、織大規(guī)模系統(tǒng)的設(shè)計(jì);便于設(shè)計(jì)的復(fù)用和繼承等。目前常用的IEEE標(biāo)準(zhǔn)硬件描述語(yǔ)言有VHDL和Verilog-HDL。一、設(shè)計(jì)要求??基于傳統(tǒng)數(shù)字頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而下降,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且在整個(gè)測(cè)頻區(qū)域內(nèi)保持恒定的測(cè)試精度。本系統(tǒng)設(shè)計(jì)的基本指標(biāo)如下:1對(duì)于頻率測(cè)試功能,測(cè)頻范圍為0.1-50MHZ;對(duì)于測(cè)頻全域相對(duì)誤差恒為百萬(wàn)分之一。2對(duì)于脈寬測(cè)試功能,測(cè)試范圍為0.1us-1s,二、設(shè)計(jì)目的⑴熟悉Quartus2軟件的使用。⑵熟悉EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基
4、本使用。⑶學(xué)習(xí)VHDL基本單元電路的設(shè)計(jì)應(yīng)用。進(jìn)一步掌握EDA的多層次設(shè)計(jì)方法。⑷學(xué)習(xí)音樂發(fā)生器的設(shè)計(jì)。三、硬件電路的設(shè)計(jì)1、電子琴整體電路(見附錄1)本設(shè)計(jì)由手動(dòng)/自動(dòng)演奏模塊、音調(diào)發(fā)生器、數(shù)控分頻器3個(gè)模塊組成。手動(dòng)/自動(dòng)演奏模塊的作用是實(shí)現(xiàn)手動(dòng)和自動(dòng)演奏音樂的控制。音調(diào)發(fā)生器tone的作用是產(chǎn)生獲得音階的預(yù)置值。數(shù)控分頻模塊spreker對(duì)時(shí)基鐘脈沖進(jìn)行分頻,得到與1,2,3,4,5,6,7,七個(gè)音符對(duì)應(yīng)的頻率。這3個(gè)模塊如下:1.1手動(dòng)/自動(dòng)演奏模塊1.2音調(diào)發(fā)生器模塊1.3數(shù)控分頻模塊四、程序設(shè)計(jì)(見附錄2)
5、流程圖(如下圖1)?????????????圖11、手動(dòng)/自動(dòng)演奏模塊的設(shè)計(jì)在automusic中設(shè)置了9位二進(jìn)制計(jì)數(shù)器,作為音符數(shù)據(jù)ROM的地址發(fā)生器。這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4HZ,即每一計(jì)數(shù)值的停留時(shí)間為0.25秒,恰為全音符設(shè)為1秒時(shí),四四拍的4分音符持續(xù)時(shí)間。例如,automusic在以下的VHDL邏輯描述中,“梁?!睒非牡谝粋€(gè)音符為“3”,此音在邏輯中停留了4個(gè)時(shí)鐘節(jié)拍,即1秒時(shí)間,相應(yīng)地,所對(duì)應(yīng)的“3”音符分頻預(yù)置數(shù)值為1036,在speaker的輸入端停留了1秒。隨著tone中的計(jì)數(shù)器按4HZ的時(shí)鐘速
6、率作加法計(jì)數(shù)時(shí),即隨地址值遞增時(shí),音符數(shù)據(jù)ROM中的音符數(shù)據(jù)將從ROM中通過index[3..0]端口輸向tone模塊,樂曲就開始連續(xù)自然地演奏起來(lái)了。Index2[7..0]是手動(dòng)音符輸入端,8位分別對(duì)應(yīng)do,re,mi,fa,sol,la,si,!do八個(gè)音符。auto是自動(dòng)/手動(dòng)播放控制端,當(dāng)auto為0時(shí)實(shí)現(xiàn)自動(dòng)演奏功能,為1時(shí)則是手動(dòng)輸入樂曲。2、音調(diào)發(fā)生器模塊的設(shè)計(jì)音符的持續(xù)時(shí)間須根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定,該模塊tone的功能首先是為speaker提供決定所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)在spea
7、ker輸入口停留的時(shí)間即為此音符飛節(jié)拍值。模塊tone是樂曲簡(jiǎn)譜碼對(duì)應(yīng)的分頻預(yù)置數(shù)查表電路,其中設(shè)置了“梁?!睒非恳舴鶎?duì)應(yīng)的分頻預(yù)置數(shù),共13個(gè),每一個(gè)音符的停留時(shí)間由音樂節(jié)拍和音調(diào)發(fā)生器模塊tone的clk的輸入頻率決定,在此為4HZ。這13個(gè)值的輸出由對(duì)應(yīng)于tone的4為index[3..0]確定,而index[3..0]最多有16種可選值。輸向tone中index[3..0]的值index0[3..0]的輸出值與持續(xù)的時(shí)間由模塊tone決定。3、數(shù)控分頻模塊的設(shè)計(jì)音符的頻率可以由speaker獲得,這是一個(gè)
8、數(shù)控分頻器。數(shù)控分頻模塊spreker對(duì)時(shí)基鐘脈沖進(jìn)行分頻,得到與1,2,3,4,5,6,7,七個(gè)音符對(duì)應(yīng)的頻率。由其clk端輸入一具有較高頻率(12MHZ)的信號(hào),通過speaker分頻后由spks輸出,由于直接從數(shù)控分頻器中出來(lái)的輸出信號(hào)是脈寬極窄的脈沖式信號(hào),為了有利于驅(qū)動(dòng)揚(yáng)聲器,需另加一個(gè)D觸發(fā)器以均衡其占空比,但這時(shí)的頻