【正文】
自動演奏模塊樂曲自動演奏模塊的作用是產(chǎn)生8位發(fā)生控制輸入信號。預(yù)頌圣鉉儐歲齦訝驊糴買闥齙絀鰒現(xiàn)。除了含有許多具有硬件特征的語句外,VHDL的結(jié)構(gòu)特點是將設(shè)計實體的內(nèi)部功能和算法完成部分?,F(xiàn)在對EDA的概念或范疇用得很寬,包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。 EDA技術(shù) EDA是電子設(shè)計自動化(Electronic Design Automation)縮寫,是90年代初從CAD、CAM、CAT和CAE的概念發(fā)展而來的。謀蕎摶篋飆鐸懟類蔣薔點鉍雜簍鰩驅(qū)。彈貿(mào)攝爾霽斃攬磚鹵廡詒爾膚億鰾簡。本課程設(shè)計目的在于靈活運用EDA技術(shù)編程實現(xiàn)一個簡易電子琴的樂曲演奏,它要求在實驗箱上構(gòu)造一個電子琴電路,不同的音階對應(yīng)不同頻率的正弦波。釅錒極額閉鎮(zhèn)檜豬訣錐顧葒鈀詢鱈驄。 課程設(shè)計目的 本課程設(shè)計主要是基于VHDL文本輸入法設(shè)計樂曲演奏電路,該系統(tǒng)基于計算機(jī)中時鐘分頻器的原理,采用自頂向下的設(shè)計方法來實現(xiàn),通過按鍵輸入來控制音響或者自動演奏已存入的歌曲。其中電子技術(shù)的核心便是電子設(shè)計自動化EDA(Electronic Design Automatic)技術(shù)。 VHDL。程序通過調(diào)試運行,時序仿真,電路功能驗證,順利地實現(xiàn)了設(shè)計目標(biāo)?;赩HDL文本輸入法的樂曲演奏電路的設(shè)計摘 要本課程設(shè)計主要采用EDA技術(shù)設(shè)計一個簡易的八音符電子琴,它可通過按鍵輸入來控制音響從而演奏出已存入的樂曲。關(guān)鍵詞電子琴;EDA;VHDL;音階;頻率AbstractThe main use of this curriculum design EDA technology to design a simple eightnote organ, it can be key to control the audio input so as to have been deposited in a concert of music. In the course design, system development platform for Windows 2000, the procedures VHDL design language, platform for running MAX + plus Ⅱ. And then program to achieve the various functions of the organ, so that different scale corresponds to a different frequency sine wave, press different keys when the voice of the corresponding frequency. Running through the debugging process, timing simulation, functional verification circuit, successfully achieved the goal of the 。 scale。EDA是指以計算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計算機(jī)技術(shù)、智能化技術(shù)的最新成果而開發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語言HDL完成的設(shè)計文件,自動完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局布線及仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。系統(tǒng)由樂曲自動演奏模塊、音調(diào)發(fā)生模塊和數(shù)控分頻模塊三個部分組成。 課程設(shè)計內(nèi)容(1)設(shè)計一個簡易的八音符電子琴,它可通過按鍵輸入來控制音響。按下每個代表不同音階的按鍵時,能夠發(fā)出對應(yīng)頻率的聲音。圖11系統(tǒng)的整體組裝設(shè)計原理圖由于設(shè)計分模塊組成,每個單獨的模塊都是一個完整的源程序,分別實現(xiàn)不同性質(zhì)的功能,但是每個模塊又是緊密關(guān)聯(lián)的,前一個模塊的輸出很可能是后一模塊的輸入。2 EDA、VHDL簡介EDA技術(shù)是以計算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動設(shè)計。EDA技術(shù)是電子設(shè)計的發(fā)展趨勢,利用EDA工具可以代替設(shè)計者完成電子系統(tǒng)設(shè)計中的大部分工作。目前EDA主要輔助進(jìn)行三個方面的設(shè)計工作:IC設(shè)計、電子電路設(shè)計和PCB設(shè)計?;[叢媽羥為贍僨蟶練淨(jìng)櫧撻曉養(yǎng)鰲頓。3 簡易電子琴的設(shè)計過程根據(jù)系統(tǒng)設(shè)計要求,系統(tǒng)該系統(tǒng)基于計算機(jī)中時鐘分頻器的原理,設(shè)計采用自頂向下的設(shè)計方法,通過按鍵輸入來控制音響或者自動演奏已存入的歌曲。當(dāng)進(jìn)行自動演奏時,由存儲在此模塊的8位二進(jìn)制數(shù)作為發(fā)聲控制輸入,從而自動演奏樂曲。部分源程序如下:擁締鳳襪備訊顎輪爛薔報贏無貽鰓閎。139。 計數(shù)器值指0,時鐘信號為0壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚躋馱釣繢鯨鎦。)THEN 時鐘輸入信號為1 COUNT:=COUNT+1。部分源程序如下:蠟變黲癟報倀鉉錨鈰贅籜葦繯頹鯛潔。 3 WHEN 4=INDEX0=00010000。當(dāng)8位發(fā)聲控制輸入信號中的某一位為高電平時,則對應(yīng)某一音階的數(shù)值將輸出,該數(shù)值即為該音階的分頻預(yù)置值,分頻預(yù)置值控制數(shù)控分頻模塊進(jìn)行分頻,由此得到每個音階對應(yīng)的頻率。部分源程序如下:驅(qū)躓髏彥浹綏譎飴憂錦諑瓊針嚨鯤鏵。139。HIGH=39。CODE=0000001。顯然,該模塊最主要的作用就是給音符輸入預(yù)設(shè)頻率值,因為,電子琴最終實現(xiàn)樂曲演奏就是輸出不同頻率的正弦波,此模塊就是將二進(jìn)制發(fā)聲信號轉(zhuǎn)化為對應(yīng)的頻率。堯側(cè)閆繭絳闕絢勵蜆贅瀝紕縭墾鯇換。部分源程序如下:識饒鎂錕縊灩筧嚌儼淒儂減攙蘇鯊運。139。 計數(shù)加1,揚(yáng)聲器音頻為1 ELSE COUNT11:=0。部分源程序如下:凍鈹鋨勞臘鍇癇婦脛糴鈹賄鶚驥鯀戲。)THEN 揚(yáng)聲器音頻信號為1恥諤銪滅縈歡煬鞏鶩錦聰櫻鄶燈鰷軫。THENSPKS=39。利用VHDL語言COMPONENT將三個模塊組合起來,其中3個模塊和DIANZIQIN模塊的輸入輸出是一一對應(yīng)的,比如AUTO對應(yīng)HANDTOAUTO,TONE0對應(yīng)TONE2,SPKS對應(yīng)SPKOUT等,該模塊的符號編輯圖如圖34。4 系統(tǒng)仿真系統(tǒng)仿真是在實際系統(tǒng)上進(jìn)行實驗研究比較困難時適用的必不可少的工具,它是指通過系統(tǒng)模型實驗去研究一個已經(jīng)存在或正在設(shè)計的系統(tǒng)的過程,通俗地講,就是進(jìn)行模型實驗。(1)打開波形編輯器,在Node菜單中選擇Enter Nodes from SNF項,列出所有的信號,選擇所需要的信號,然后畫出輸入信號的波形。本課程設(shè)計的仿真平臺是MAX+plusⅡ,通過對VHDL源程序進(jìn)行編譯檢錯,然后創(chuàng)建波形文件(),加入輸入輸出變量,選擇適用的芯片(EP1K30QC2082)以及設(shè)定仿真結(jié)束時間(100us),設(shè)置好輸入初值進(jìn)行仿真,得到仿真波形圖。圖41樂曲自動演奏模塊的仿真圖該圖輸入系統(tǒng)時鐘信號CLK初值設(shè)為0,自動演奏AUTO設(shè)為1,鍵盤輸入信號INDEX2為00,INDEX0為音符信號輸出,是8位的二進(jìn)制代碼它根據(jù)COUNT0的值改變而改變。嘰覲詿縲鐋囁偽純鉿錈癱懇跡見鮫請。簡易電子琴整個系統(tǒng)的仿真如圖44所示。 電路功能驗證 如果說前面的過程都是理論上進(jìn)行軟件設(shè)計制作,那么電路驗證則是硬件產(chǎn)生實際結(jié)果的必要步驟,它是軟件編程導(dǎo)入硬件系統(tǒng)得到最終設(shè)計目標(biāo)的一個過程。按如下步驟打開編程器窗口:在Max+PlusⅡ菜單中選擇Programmer項,點擊Configure項將配置數(shù)據(jù)下載到一個FLEX器件中。 問題分析在整個課程設(shè)計中,不可避免遇到很多難于解決的問題,一來是對EDA技術(shù)