【文章內(nèi)容簡介】
TAG下載模式在線 將生成的配置文件寫入芯片中 。通過不斷的反復(fù)調(diào)試,修改,最終完成 本項(xiàng)方案設(shè)計。 通過設(shè)置不同的工作模式,測試手動演奏和自動演奏各個功能,都能正常完成,且有較好音質(zhì) , 各模式之間的切換也正確無誤。 結(jié)論 本設(shè)計利用硬件描述語言 VHDL實(shí)現(xiàn)了電子琴的自動演奏和鍵盤輸入發(fā)音的簡易功能,經(jīng)過編程,綜合,仿真,下載, 調(diào)試,電路板制作 ,最終做出成品,測試情況良好,能夠準(zhǔn)確實(shí)現(xiàn)音階的發(fā)音功能,可切換到自動演奏存儲好的樂曲,可根據(jù)需要更改程序 從而實(shí)現(xiàn)不同 樂曲 的 存儲。 在設(shè)計 過程 ,由于對 音樂 知識不夠 熟悉, 所以沒有實(shí)現(xiàn)電子琴那么 完美的音樂 。在 本系統(tǒng) 設(shè)計調(diào)試過程中 , 軟件和硬件都出現(xiàn)了一些小 錯誤 。例如在焊接電路時,由于不夠細(xì)心 , 把 FPG 的插槽錯焊成排針。在軟硬件結(jié)合調(diào)試時 ,自動彈奏音樂出現(xiàn)了噪音現(xiàn)象, 經(jīng)過仔細(xì)檢查所有程序,發(fā)現(xiàn)了問題出現(xiàn)在分頻模塊的編寫上,最終把這問題解決了 。 11 參考文獻(xiàn) [1] 潘松 黃繼業(yè) .EDA 技術(shù)與 VHDL[M].北京:清華大學(xué) 2021,1 (2):34729 [2] 潘松 黃繼業(yè) . EDA 技術(shù)實(shí)用教程(第三版) [M].北京:科學(xué)出版社, 2021. [3] 求是科技編著 .PLD/FPGA 應(yīng)用開發(fā)技術(shù)與工程實(shí)踐 [M]. 北京:人們郵電出版社, 2021. [4] 黃正謹(jǐn),徐堅 ,章小麗等 .CPLD 系統(tǒng)設(shè)計技術(shù)入門與應(yīng)用【 M】 . 北京:電子工業(yè)出版社 .2021. 致謝 本論文 的 設(shè)計 是在我的導(dǎo)師 曾老師 的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從課題的選擇到 課題的最終完成, 曾 老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在此謹(jǐn)向 曾 老師致以誠摯的謝意和崇高的敬意。 同時也要感謝我的同學(xué),當(dāng)我遇到困難時他們總會給予我?guī)椭?正是由于你們的支持,我才能克 服一個一個的困難和疑惑,直至本 設(shè)計 的順利完成 。 The keyboard design based on FPGA Institute of Physics and Information Engineering Electronic Information Science and Technology 070303051 LiPingWu Lecturer YongXi Zeng Abstract: This paper introduces keyboards on FPGA working principle and design process. Altera pany with EP2C8Q208C8N chips for the core device, by using hardware programming language, in Quartus II described VHDL, realized the keyboards on the platform of the manual play and automatic play function. Design main have audio producing module, the keyboard control module and memory modules. Select manual play mode button, press notes key will choose the proper frequency output。 Select the auto play mode button, storage containers will be writing good music information in general to choose and removed every corresponding frequency output, the realization of automatic instrument. Audio generator frequency device to achieve by points, can produce 16 frequency, these frequencies after enlargement drive horn, can sound. Keywords: FPGA。 Quartus II。 VHDL。 Keyboard。 Notes 12 附錄: 13 14 存儲模塊 : LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY MUSIC IS PORT ( CLK :IN STD_LOGIC。 HANDTOAUTO : IN STD_LOGIC。 TONEKEY :IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 SEL : IN STD_LOGIC_VECTOR(1 DOWNTO 0)。 TONE_KEY_0 : OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 END MUSIC。 ARCHITECTURE BEHAVIORAL OF MUSIC IS 15 COMPONENT LAOHU PORT ( CLK :IN STD_LOGIC。 AUTO: IN STD_LOGIC。 TONE_KEY2:IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 TONE_KEY_0: OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 END COMPONENT。 COMPONENT ABC PORT ( CLK :IN STD_LOGIC。 AUTO: IN STD_LOGIC。 TONE_KEY2:IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 TONE_KEY_0: OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 END COMPONENT。 COMPONENT mama PORT ( CLK :IN STD_LOGIC。 AUTO: IN STD_LOGIC。 TONE_KEY2:IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 TONE_KEY_0: OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 END COMPONENT。 COMPONENT lianzhu PORT ( CLK :IN STD_LOGIC。 AUTO: IN STD_LOGIC。 TONE_KEY2:IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 TONE_KEY_0: OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 END COMPONENT。 COMPONENT MUX21 PORT ( a,b,c,d :IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 S: IN STD_LOGIC_VECTOR(1 DOWNTO 0)。 16 Y: OUT STD_LOGIC_VECTOR(15 DOWNTO 0) )。 END COMPONENT。 SIGNAL S1,S2,S3,S4:STD_LOGIC_VECTOR(15 DOWNTO 0)。 BEGIN U0:LAOHU PORT MAP(CLK=CLK, TONE_KEY2= TONEKEY, TONE_KEY_0=S1,AUTO=HANDTOAUTO)。 U1:ABC PORT MAP(CLK=CLK, TONE_KEY2= TONEKEY, TONE_KEY_0=S2,AUTO=HANDTOAUTO)。 U2:mama PORT MAP(CLK=CLK, TONE_KEY2= TONEKEY, TONE_KEY_0=S3,AUTO=HANDTOAUTO)。 U3:lianzhu PORT MAP(CLK=CLK, TONE_KEY2= TONEKEY, TONE_KEY_0=S4,AUTO=HANDTOAUTO)。 U4:MUX21 PORT MAP(a=S1, b= S2,c=S3,d=S4, S=SEL, Y=TONE_KEY_0)。 END BEHAVIORAL。 按鍵模塊: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY TONE IS PORT ( INDEX : IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 音符輸入信號 TUNE_SEG : out integer range 0 to 15。 音符顯示信號 HIGH : OUT STD_LOGIC。 高低音顯示信號 TONE0 : OUT INTEGER RANGE 0 TO 2047)。 音符的分頻系數(shù) END TONE。 ARCHITECTURE BEHAVIORAL OF TONE IS BEGIN SEARCH :PROCESS(INDEX) 此進(jìn)程完成音符到音符的分頻系數(shù)譯碼,音符的顯示,高低音階 17 BEGIN CASE INDEX IS WHEN 0000000000000000 = TONE0=2047。 TUNE_SEG=0。HIGH=39。139。 休止 WHEN 0000000000000001 = TONE0=773。 TUNE_SEG=1。HIGH=39。139。 WHEN 0000000000000010 = TONE0=912。 TUNE_SEG=2。HIGH=39。139。 WHEN 0000000000000100 = TONE0=1036。 TUNE_SEG=3。HIGH=39。139。 WHEN 0000000000001000 = TONE0=1116。 TUNE_SEG=4。HIGH=39。139。 WHEN 0000000000010000 = TONE0=1197。 TUNE_SEG=5。HIGH=39。139。 WHEN 0000000000100000 = TONE0=1290。 TUNE_SEG=6。HIGH=39。139。 WHEN 0000000001000000 = TONE0=1372。 TUNE_SEG=7。HIGH=39。139。 WHEN 0000000010000000 = TONE0=347。 TUNE_SEG=5。HIGH=39。139。di 5 WHEN 0000000100000000 = TONE0=1410。 TUNE_SEG=1。HIGH=39。039。gao yin 1 WHEN 0000001000000000 = TONE0=1480。 TUNE_SEG=2。HIGH=39。039。gao yin 2 WHEN 0000010000000000 = TONE0=1542。 TUNE_SEG=3。HIGH=39。039。gao yin 3 WHEN 0000100000000000 = TONE0=1582。 TUNE_SEG=4。HIGH=39。039。gao yin 4 WHEN 0001000000000000 = TONE0=1662。 TUNE_SEG=5。HIGH=39。039。gao yin 5 WHEN 0010000000000000 = TONE0=1668。 TUNE_SEG=6。HIGH=39。039。gao yin 6 WHEN 0100000000000000 = TONE0=1710。 TUNE_SEG=7。HIGH=39。039。gao yin 7 WHEN 1000000000000000 = TONE0=533。 TUNE_SEG=6。HIGH=39。039。di 6 WHEN OTHERS = TONE0=2047。 TUNE_SEG=0。HIGH=39。039。 END CASE。 END PROCESS。 END BEHAVIORAL。 音頻模塊: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY