EDA簡易電子琴設(shè)計_第1頁
EDA簡易電子琴設(shè)計_第2頁
EDA簡易電子琴設(shè)計_第3頁
EDA簡易電子琴設(shè)計_第4頁
EDA簡易電子琴設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、合肥工業(yè)大學電子科學與技術(shù)專業(yè)集成電路課程設(shè)計簡易電子琴設(shè)計實驗目的使用 VerilogHDL 語言進行前端設(shè)計,并使用 Quaruts 軟件在GW4 &PK2實驗上實現(xiàn)仿真,實現(xiàn)硬件電子琴。電子琴要求有 8 個音 階,使用外部時鐘信號3MHz 能同步顯示音階。設(shè)計要求、 設(shè)計一個簡易電子琴。要求能演奏的音域為 D 調(diào)的 do 到 E 調(diào) do 。、 用 GW4& PK2 中的 8 個按鍵作為琴鍵。、 GW48- PK2 中有蜂鳴器。、 可以使用 GW4 - PK2 上的 12MHZ 作為輸入時鐘信號設(shè)計思路通過可編程邏輯器件( PLD 和 VHDL 硬件描述語言來實現(xiàn)電子 琴的基本要求。設(shè)計

2、的主體是數(shù)控分頻器,對輸入的頻率按照與每 個音階對應的分頻系數(shù)進行分頻,得到各個音階對應的頻率分別在蜂 鳴器和數(shù)碼管上以聲音和頻率數(shù)值的形式作為輸出。設(shè)計組成與原理下圖為系統(tǒng)的工作原理框圖。五、模塊設(shè)計.音名與頻率的關(guān)系音樂的12平均率規(guī)定:每2個八度音(如簡譜中的中音1與高音1)之間的頻率相差1倍。在2個八度音之間,又可分為12個半音。靈位,音符 A (簡譜中的低音6)的頻率為440Hz音符B到C之間、E到F之間為半音,其余為全音。由此可以 計算出簡譜中所有的音符的頻率,在這我們只需計算出中音 1至搞音1的頻率即可。如下所示:表一簡譜音名與頻率的對應關(guān)系音名中音1中音2中音3中音4中音4中音

3、6中音7高曰1頻率/HZ523.3587.3659.3698.5784880987.81046.5由于各音符對應的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計算得到的分頻數(shù)四舍五入取整。 若分頻器時鐘頻率過低,則由 于分頻系數(shù)過小,四舍 五入取整后的誤差較大;若時鐘頻率過高,雖 然誤差變小,但分頻數(shù)將變大。實 際的設(shè)計應綜合考慮兩方面的因素,在盡量減少頻率誤差的前提下取合適的時鐘頻率。本實驗要求用12MHZ勺時鐘脈沖信號,所以不必考慮這方面的因素。實 際上,只要各個音符間的相對頻率關(guān)系不變,彈奏出來的音調(diào)聽起來是不會走調(diào) 的。.分頻系數(shù)與初始值(預置數(shù))本例設(shè)計的音樂電子琴選取12MHZ

4、勺系統(tǒng)時鐘頻率。在數(shù)控分頻器 模塊中,由于數(shù)控分頻器輸出的波形是脈寬極窄的脈沖波,為了更好 地驅(qū)動揚聲器發(fā)生,減少輸出的偶次諧波分量,在到達揚聲器之前需要均衡占空比,從而生成各音符對應頻率的對稱方波輸出。這個過程 實際上進行了一次二分頻,頻率變?yōu)樵瓉淼亩种?,?6MHZ因此,分頻系數(shù)的計算可以按照下面的方法進行。以中音1為例,對應的頻率值為523.3HZ ,它的分頻系數(shù)應該為:Divider=6MHz/523.3=6*106 /523.3=11466至于其他音符,同樣由上式求出對應的分頻系數(shù),這樣利用程序可以輕松地得到相應的樂聲。各音名對應的分頻系數(shù)如下表:表二各音名對應的分頻系數(shù)音名中音

5、1中音2中音3中音4中音5中音6中音7局首1分頻系數(shù)(divider )1146610216910185907653681860745733由于最大的分頻系數(shù)為11466,故采用14位二進制計數(shù)器已能滿 足分頻要求將分頻系數(shù)設(shè)為0,其初始值為16383(214 -1 )即可,此時揚聲器不會發(fā)聲。對于不同的分頻系數(shù),加載不同的初始值即可。本實驗參考王金明:Verilog HDL程序設(shè)計教程,采用差值法進行 分頻。把差值作為初始值,為不同音階的發(fā)聲的來源。各音名對應的初始值如下表:表三各音名對應的初始值音名中音1中音2中音中音中音345中音中音7 高音16初始值(origin)4917616772

6、8277938730956510309106503.數(shù)控分頻器數(shù)控分頻器是對基準頻率進行分頻,得到與各個音階對應的頻率輸出。數(shù)控分頻模塊是由一個初始值可變的14位加法計數(shù)器構(gòu)成,該計數(shù)器的模為214=16384,當計數(shù)器記滿時,產(chǎn)生一個進位信號,該信號就是用作發(fā)音的頻率信號。其分為預分頻和脈沖展寬兩部分。a)預分頻assign preclk=(divider=16383)?1:0;always(posedge clk)begi nif(preclk)divider=orig in;elsedivider 二 divider+1;endb)脈沖展寬(二分頻)always(posedge prec

7、lk)begi nspeaker=speaker;目的是將預分頻產(chǎn)生的占空比很小的波形進行拓寬,使得波形有足夠長的高電平來驅(qū)動揚聲器六、實驗仿真(一)測試使用的儀器與軟件儀器康芯 GW48 系列 EDA 設(shè)備-GW48-PK2實驗電路圖和適用范圍:本實驗適用模式3,其結(jié)構(gòu)圖如下譯碼器什揚聲器PIO19-PIO16PIO23-PIO20PIO27-PIO24PIO31-PIO28PIO35-PIO32PIO39-PIO36PIO43-PIO40D8D7D4D3D2-DIPIO15 PIO141 PIO12FPGA/CPLD目標芯片PIO11 PIO10PIO9PIO8PIO15-PIO8PIO7

8、PIO6CLOCK0PIO5CLOCK2PIO4PIO3CLOCK5CLOCK9II llllll llllll II1 1 1 1 fIrr11 1nTroil鍵8鍵7鍵6鍵5鍵4鍵3鍵2鍵1實驗電路結(jié)構(gòu)PlO4O命44. Altera 公司的 Cyclone 系列的 EP2c5T144C 芯片PIO2PIO1D16D15 HD14? D12 D11D10 D9PIO0.康芯教學實驗箱軟件Quartus IIQuartus II是Altera公司的綜合性PLD開發(fā)軟件)支持原理圖、VHDLVerilogHDL 以及 AHDLAltera Hardware Description Langua

9、ge )計輸入等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)到硬件配置的完整 PLD設(shè)計流程Quartus II 軟件得到的 RTL 級視圖Me十*IT t: 3 * J見 b 陳廿4 pf一 j-f(二)測試方法注:選擇模式3,此模式下按鍵為琴鍵式,適合本實驗演奏.打開 Quartus H 軟件)file-NewProjectWizard-選擇程序 e_pia no2. Assignment-Device- 設(shè)置芯片為 Cyclone H 系列的 EP2c5T144C83.定義管腳如下clkPIN_128in dex2PIN_3code0PIN_39in dex3PIN_4co

10、de1PIN_40in dex4PIN_5code2PIN_41in dex5PIN_6codePIN_42in dex 6PIN_7dPIN_47in dex7PIN_10in dex0PIN_1spkPIN_129L Jin dex1PIN_21LWStOertsriOLMCraLcbtAuEEyiflIB EF1-J -HKK-rUHtQfACIUfiLOU HFI.LiallFriUidfUSChtdnntnlB aal -M (rieht? e徉屈p ratup.jOQC4Wh#%a BdtS:ttr2B0U丘 dfc-JM,下圖為管腳定義界面1 QmtIus JI - L/Stud

11、AMadLlSirVEkpIceLfidncJ - 亡)51 j1 y R? j8EysZ. *CE?a 心.代 日 l.-fp A 呼二 Jl Wywo 11 孔1 口?八丹甲 TO It Ik =5iEf ADHeLA.位為 sit小村* p?J? Pin PlAnnvr - FA&tadjAWa 如 arn.maflEpla ? M_punc2 - nAa-cJMaws 4. JE義元成后再次編譯)再執(zhí)行 Programmer ,選中e_piano.sof,開始下載。下圖為編譯下載界面* Pvtbufi Mef(e *州 hteddiriMfdU RfTLihtwtiUJMiUAMMw*

12、5.下載完成后控制按鍵,觀察音調(diào)準確,聲音清晰,數(shù)碼管能夠正常顯示音調(diào)。七、實驗總結(jié)根據(jù)老師的要求,我們先一起通過所學知識討論了設(shè)計原理, 不懂的 問了下其他同學,最后定制出了大致計劃。在具體設(shè)計過程中,我們根據(jù)步驟逐次檢驗,查閱了有關(guān)資料,主要包括王金明: Verilog HDL程序設(shè)計教 程以及潘松,黃繼業(yè),潘明的EDA技術(shù)實用教程在初次編寫分頻模塊時候,使用的是比較基本的計數(shù)器分頻法,編寫程序后在modelsim軟件中進行了仿真,發(fā)現(xiàn)無法觀察到分頻情 況。經(jīng)過分析, 原因是由于分頻比過大,因此在波形圖中很難觀察到。 而且由于預分頻的占空比很小, 更難以觀察到高電平。在原因找到后, 為了考

13、察程序的性能,我們將輸入頻率減小。同時適當縮小分頻比,這樣就得到了模塊仿真中的分頻波形。通過此次實驗,我們不僅學會了 Quartus II 軟件的使用方法, 還對集成電路設(shè)計有了更深的認識, 對專業(yè)知識得到了加強。 同時認 識到了自己的不足,比如有些知識已經(jīng)模糊,所以有待于復習,所謂 “溫故而知新”,我們要學習的東西還很多。這次的學習將對自己以 后的研究生學習和將來的工作有很大的幫助,也是一次實踐的鍛煉! 參考文獻王金明:Verilog HDL 程序設(shè)計教程潘松,黃繼業(yè),潘明 EDA 技術(shù)實用教程其他網(wǎng)上資料附錄:程序源代碼/信號定義與說明:/clk:用于產(chǎn)生各種音階頻率的基準頻率;/key:

14、電子琴音符輸入端口 ;/speaker:用于激勵揚聲器的輸出信號,本例中為方 波信號;/med,high:分別用于顯示中音,高音音符,各驅(qū)動 一個數(shù) 碼顯示管和LED來顯示;/origin:為數(shù)控分頻模塊提供音符頻率的初始值;moduledianziqin(clk,key,speaker,med,high);input clk; input 7:0/12MHZkey; output speaker;output high; output3:0 med; reg 13:0高音顯示divider; reg 13:0中音顯示origin; reg speaker; /分頻系數(shù)和初始值reg high

15、; reg 3:0 med; wire preclk;assign preclk=(divider=16383)?1:0;/14位,對時鐘頻率進行預分頻always(posedge clk)beginif(preclk)divider=origin;elsedivider=divider+1;endalways(posedge preclk)beginspeaker=speaker;/ 進行 2 分頻,拓寬波形,產(chǎn)生方波信號endparameter do=8b00000001,re=8b00000010,mi=8b00000100,fa=8b00001000,so=8b00010000,la=8b00100000, xi=8b01000000,do_=8b10000000;/ 狀態(tài)編碼,采用獨熱碼編碼方式always(key) / 分頻比預置case(key)do: beginorigin=4917;med=1; high=0; end re: beginendmi: beginorigin=7282;med=3;high=0;endfa:

溫馨提示

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

評論

0/150

提交評論