verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)

verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)

ID:3140625

大?。?012.50 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2017-11-19

verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)_第1頁(yè)
verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)_第2頁(yè)
verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)_第3頁(yè)
verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)_第4頁(yè)
verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)_第5頁(yè)
資源描述:

《verilog hdl—簡(jiǎn)易電子琴設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、湖北文理學(xué)院簡(jiǎn)易電子琴設(shè)計(jì)專業(yè):自動(dòng)化學(xué)號(hào):2012118064姓名:一天虹影實(shí)驗(yàn)?zāi)康氖褂肰erilogHDL語(yǔ)言進(jìn)行前端設(shè)計(jì),并使用Quaruts軟件在GW48-PK2實(shí)驗(yàn)上實(shí)現(xiàn)仿真,實(shí)現(xiàn)硬件電子琴。電子琴要求有8個(gè)音階,使用外部時(shí)鐘信號(hào)3MHz,能同步顯示音階。設(shè)計(jì)要求1、設(shè)計(jì)一個(gè)簡(jiǎn)易電子琴。要求能演奏的音域?yàn)镈調(diào)的do到E調(diào)do。2、用GW48-PK2中的8個(gè)按鍵作為琴鍵。3、GW48-PK2中有蜂鳴器。4、可以使用GW48-PK2上的12MHz作為輸入時(shí)鐘信號(hào)設(shè)計(jì)思路通過可編程邏輯器件(PLD)

2、和VHDL硬件描述語(yǔ)言來(lái)實(shí)現(xiàn)電子琴的基本要求。設(shè)計(jì)的主體是數(shù)控分頻器,對(duì)輸入的頻率按照與每個(gè)音階對(duì)應(yīng)的分頻系數(shù)進(jìn)行分頻,得到各個(gè)音階對(duì)應(yīng)的頻率分別在蜂鳴器和數(shù)碼管上以聲音和頻率數(shù)值的形式作為輸出。設(shè)計(jì)組成與原理下圖為系統(tǒng)的工作原理框圖。分頻置數(shù)按鍵分頻器12MHZ蜂鳴器數(shù)碼管顯示模塊設(shè)計(jì)1.音名與頻率的關(guān)系音樂的12平均率規(guī)定:每2個(gè)八度音(如簡(jiǎn)譜中的中音1與高音1)之間的頻率相差1倍。在2個(gè)八度音之間,又可分為12個(gè)半音。靈位,音符A(簡(jiǎn)譜中的低音6)的頻率為440HZ,音符B到C之間、E到F之間為半

3、音,其余為全音。由此可以計(jì)算出簡(jiǎn)譜中所有的音符的頻率,在這我們只需計(jì)算出中音1到高音1的頻率即可。如下所示:表一簡(jiǎn)譜音名與頻率的對(duì)應(yīng)關(guān)系音名中音1中音2中音3中音4中音4中音6中音7高音1頻率/HZ523.3587.3659.3698.5784880987.81046.5由于各音符對(duì)應(yīng)的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計(jì)算得到的分頻數(shù)四舍五入取整。若分頻器時(shí)鐘頻率過低,則由于分頻系數(shù)過小,四舍五入取整后的誤差較大;若時(shí)鐘頻率過高,雖然誤差變小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)應(yīng)綜合考慮兩方面的

4、因素,在盡量減少頻率誤差的前提下取合適的時(shí)鐘頻率。本實(shí)驗(yàn)要求用12MHZ的時(shí)鐘脈沖信號(hào),所以不必考慮這方面的因素。實(shí)際上,只要各個(gè)音符間的相對(duì)頻率關(guān)系不變,彈奏出來(lái)的音調(diào)聽起來(lái)是不會(huì)走調(diào)的。1.分頻系數(shù)與初始值(預(yù)置數(shù))本例設(shè)計(jì)的音樂電子琴選取12MHZ的系統(tǒng)時(shí)鐘頻率。在數(shù)控分頻器模塊中,由于數(shù)控分頻器輸出的波形是脈寬極窄的脈沖波,為了更好地驅(qū)動(dòng)揚(yáng)聲器發(fā)生,減少輸出的偶次諧波分量,在到達(dá)揚(yáng)聲器之前需要均衡占空比,從而生成各音符對(duì)應(yīng)頻率的對(duì)稱方波輸出。這個(gè)過程實(shí)際上進(jìn)行了一次二分頻,頻率變?yōu)樵瓉?lái)的二分之一

5、,即6MHZ。因此,分頻系數(shù)的計(jì)算可以按照下面的方法進(jìn)行。以中音1為例,對(duì)應(yīng)的頻率值為523.3HZ,它的分頻系數(shù)應(yīng)該為:Divider=6MHz/523.3=6*106/523.3=11466至于其他音符,同樣由上式求出對(duì)應(yīng)的分頻系數(shù),這樣利用程序可以輕松地得到相應(yīng)的樂聲。各音名對(duì)應(yīng)的分頻系數(shù)如下表:表二各音名對(duì)應(yīng)的分頻系數(shù)音名中音1中音2中音3中音4中音5中音6中音7高音1分頻系數(shù)(divider)1146610216910185907653681860745733由于最大的分頻系數(shù)為11466,故

6、采用14位二進(jìn)制計(jì)數(shù)器已能滿足分頻要求。將分頻系數(shù)設(shè)為0,其初始值為16383(214-1)即可,此時(shí)揚(yáng)聲器不會(huì)發(fā)聲。對(duì)于不同的分頻系數(shù),加載不同的初始值即可。本實(shí)驗(yàn)參考王金明:《VerilogHDL程序設(shè)計(jì)教程》,采用差值法進(jìn)行分頻。把差值作為初始值,為不同音階的發(fā)聲的來(lái)源。各音名對(duì)應(yīng)的初始值如下表:表三各音名對(duì)應(yīng)的初始值音名中音1中音2中音3中音4中音5中音6中音7高音1初始值(origin)49176167728277938730956510309106501.數(shù)控分頻器數(shù)控分頻器是對(duì)基準(zhǔn)頻率進(jìn)行

7、分頻,得到與各個(gè)音階對(duì)應(yīng)的頻率輸出。數(shù)控分頻模塊是由一個(gè)初始值可變的14位加法計(jì)數(shù)器構(gòu)成,該計(jì)數(shù)器的模為214=16384,當(dāng)計(jì)數(shù)器記滿時(shí),產(chǎn)生一個(gè)進(jìn)位信號(hào),該信號(hào)就是用作發(fā)音的頻率信號(hào)。其分為預(yù)分頻和脈沖展寬兩部分。a)預(yù)分頻assignpreclk=(divider==16383)?1:0;always@(posedgeclk)beginif(preclk)divider=origin;elsedivider=divider+1;endb)脈沖展寬(二分頻)always@(posedgepreclk

8、)beginspeaker=~speaker;目的是將預(yù)分頻產(chǎn)生的占空比很小的波形進(jìn)行拓寬,使得波形有足夠長(zhǎng)的高電平來(lái)驅(qū)動(dòng)揚(yáng)聲器。實(shí)驗(yàn)仿真(一)測(cè)試使用的儀器與軟件儀器康芯GW48系列EDA設(shè)備-----GW48-PK2實(shí)驗(yàn)電路圖和適用范圍:本實(shí)驗(yàn)適用模式3,其結(jié)構(gòu)圖如下1.Altera公司的Cyclone系列的EP2C5T144C8芯片2.康芯教學(xué)實(shí)驗(yàn)箱軟件QuartusIIQuartusII是Altera公司的綜合性PLD開發(fā)軟件,支持

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。