99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-04 10:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 系統(tǒng)的設(shè)計要求

應(yīng)用VHDL硬件描述語言,設(shè)計一個樂曲硬件演奏電路,它能將一首預(yù)先設(shè)置存儲好的樂曲自動播放出來,除此之外,也能夠通過按鍵的方式輸入音符,使其具備簡易電子琴的功能。通過此項研究,能夠深切的體會利用EDA工具開發(fā)的優(yōu)越性,在此基礎(chǔ)上,對樂曲硬件演奏電路功能進(jìn)行豐富,具有一定的社會實用性。

根據(jù)硬件演奏電路的功能進(jìn)行全局分析,采用自上至下的設(shè)計方法,從系統(tǒng)總體要求出發(fā),逐步將設(shè)計內(nèi)容細(xì)化,最后完成系統(tǒng)結(jié)構(gòu)的整體設(shè)計。將功能分為以下幾個部分,1)實現(xiàn)預(yù)先設(shè)置樂曲的播放功能;2)實現(xiàn)預(yù)置樂曲的暫停和繼續(xù)播放實時控制功能;3)實現(xiàn)預(yù)置多首樂曲間的切換功能。

預(yù)置樂曲,本文選取了《梁祝》的一段作預(yù)置,作預(yù)置時,需要將樂曲音符轉(zhuǎn)換成相應(yīng)的代碼,通過計算逐一將音符轉(zhuǎn)換成代碼,通過EDA開發(fā)平臺quartusii6.0進(jìn)行樂曲定制。

為了提供樂曲發(fā)音所需要的發(fā)音頻率,編寫數(shù)控分頻器程序,對單一輸入高頻,進(jìn)行預(yù)置數(shù)分頻,生成每個音符發(fā)音的相應(yīng)頻率。

為了給分頻提供預(yù)置數(shù),需要計算分頻預(yù)置數(shù)。

對每部分結(jié)構(gòu)單元逐一進(jìn)行編譯,生成相應(yīng)的元器件符號,并對獨立結(jié)構(gòu)單元功能進(jìn)行仿真。

2 系統(tǒng)的詳細(xì)設(shè)計方案

2.1 頂層實體描述

按照EDA開發(fā)流程,采用VHDL硬件描述語言開發(fā),將樂曲硬件演奏電路設(shè)計進(jìn)行模塊化分解,層次化設(shè)計,分成幾個單獨的結(jié)構(gòu)體,每個結(jié)構(gòu)體實現(xiàn)部分功能,最后,經(jīng)頂層文件將各單獨結(jié)構(gòu)體進(jìn)行綜合,實現(xiàn)樂曲硬件演奏。

有四個輸入,三個輸出端口。

四輸入端口分別是:clk8hz端口,作為節(jié)拍脈沖信號輸入端口;clk12mhzZ端口,作為發(fā)音頻率初始信號輸入端口;P輸入端口,作為控制歌曲暫停和繼續(xù)播放的輸入端口。ch輸入端口,作為控制歌曲之間切換播放的輸入端口。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

三輸出端口分別是:code1輸出端口,作為音符簡碼輸出LED顯示端口;high1輸出端口,作為音符高8度指示端口;spkout輸出端口,作為樂曲的聲音輸出端口。

2.2 模塊劃分

本系統(tǒng)主要由三個功能模塊組成:notetabsvhd,tonetaba.vhd和speakera.vhd.第一部分notetabs,地址發(fā)生器,實現(xiàn)按節(jié)拍讀樂譜的功能;第二部分tonetaba,查表電路,為speakera提供分頻預(yù)置數(shù),實現(xiàn)樂曲譯碼輸出CODE[3:0];第三部分speakera,產(chǎn)生發(fā)音頻率,實現(xiàn)樂曲播放。系統(tǒng)結(jié)構(gòu)圖如圖2.

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

為了實現(xiàn)樂曲的播放,首先需要將曲譜定制到音符數(shù)據(jù)ROM里面,然后才能按照一定的節(jié)拍從ROM中讀出曲譜。由于所選曲子中不含低音,轉(zhuǎn)換關(guān)系如表1所示。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

2.3 模塊描述

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

sperkera是一個數(shù)控分頻器,由其clk端輸入一個12mhz信號,通過speakera分頻后,由spkout,通過一d觸發(fā)器,pinlv變?yōu)樵瓉淼亩种?,sperakera對clk的輸入信號的分頻比由11位tone[100]決定,spkout的輸出頻率為音符的音調(diào)。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

tonebata的功能首先是為speakera提供分頻預(yù)置數(shù),此數(shù)的停留時間即為音符的節(jié)拍值,此模塊為歌曲簡譜碼提供對應(yīng)的分頻預(yù)置查表電路,音符停留時間由clk的輸入頻率決定,再次為4hz.

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

3 系統(tǒng)的方案實現(xiàn)

3.1 各模塊仿真及描述

notetabs作為音符rom的地址發(fā)生器,此模塊中設(shè)置了一個8位2進(jìn)制計數(shù)器,頻率為4hz,即為4個音符一秒時間四四拍的4分音符。notetabs計數(shù)器計數(shù)器按4hz時鐘頻率做加法計數(shù),當(dāng)stop為高電平時停止加法運算,而當(dāng)change可設(shè)置rom中數(shù)據(jù)的跳轉(zhuǎn),rom通過toneindex[30]端口輸向tonetaba模塊。樂曲就演奏起來了。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

由圖6 sperkera仿真波形可以看出,當(dāng)clk輸入時鐘頻率為12mhz時,輸出端信號clk輸出的頻率,隨tong信號的不同,輸出不同頻率的聲音信號。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

由圖7tonetaba信號的仿真波形,可以看出,當(dāng)輸入信號index[30]輸入不同信號值,code輸出端輸出音符的顯示,high為音符高位信號,tone大于7時high為高電平。

圖8為notetabs仿真波形,當(dāng)clk輸入時鐘信號,toneindex[30]端從rom中讀入音符數(shù)據(jù),當(dāng)輸入端口stop為“1”時,暫停從rom中讀入數(shù)據(jù),stop為“0”繼續(xù)讀取音符信號,change為高低電平時,模塊分別讀取rom不同位置的數(shù)據(jù)。

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

3.2 頂層電路仿真及描述

在QuartusII開發(fā)平臺上實現(xiàn)基于FPGA的音樂演奏電路的設(shè)計

clk8hz端輸入8hz時鐘信號,另一個clk12mhz輸入12mhz時鐘信號,系統(tǒng)將自動從music.mif中讀取音符信號,以頻率不同輸出到spkout,同時輸出到顯示端口,和高音端口,code1[30],high1.p端口可以是音符暫停輸出(高電平時),ch端口控制歌曲間的切換。

4 硬件測試及說明

選擇實驗電路模式1,將引腳鎖定時clk12mhz于clock9連接,短路帽clock接12mhz.clk8hz與clock2連接。發(fā)音輸出spkout接speaker.簡譜碼輸出code1由數(shù)碼管5顯示,high高8度指示由發(fā)光管d5指示,p與按鍵d16連接,ch與的15連接。最后向目標(biāo)芯片下載適配后的sof邏輯設(shè)計文件。

5 結(jié)論

本次設(shè)計在EDA開發(fā)工具QuartusII平臺上,應(yīng)用語言層次化和模塊化的設(shè)計方法,通過音符編碼的設(shè)計思想,預(yù)先定制樂曲,在此基礎(chǔ)上設(shè)計了一個樂曲硬件演奏電路,經(jīng)過對整體進(jìn)行模塊化分析、編程、綜合、仿真及最終下載,完整實現(xiàn)簡易音樂器的播放功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1646

    文章

    22053

    瀏覽量

    618767
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    820

    瀏覽量

    129975
  • EAD
    EAD
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6888
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    誰能用stm32f103ze幫我做個雙字節(jié)音樂演奏的程序,感激不盡...

    誰能用stm32f103ze幫我做個雙字節(jié)音樂演奏的程序,感激不盡...
    發(fā)表于 12-10 14:21

    結(jié)合鬧鐘與電子音樂演奏的綜合項目適合初學(xué)者的項目。

    小弟最近在寫課程設(shè)計報告,感覺這個項目不錯,比較綜合,于是分享出來供大家共同交流學(xué)習(xí)。本文EDA 開發(fā)平臺上,利用VHDL語言設(shè)計數(shù)控分頻器電路,采用可編程邏輯器件
    發(fā)表于 12-14 21:38

    如何去實現(xiàn)一種基于51單片機(jī)的音樂盒設(shè)計

    一.硬件方案本設(shè)計以51單片機(jī)原理和控制理論設(shè)計音樂演奏控制器的硬件電路,并利用C語言進(jìn)行程序設(shè)計。通過控制單片機(jī)內(nèi)部的定時器來產(chǎn)生不同頻率的方波,驅(qū)動蜂鳴器發(fā)出不同音調(diào)的音樂,再利用延遲來控制
    發(fā)表于 11-19 06:07

    如何利用Arduino與蜂鳴器實現(xiàn)音樂演奏

    如何利用Arduino與蜂鳴器實現(xiàn)音樂演奏呢?其程序代碼該怎樣去實現(xiàn)呢?
    發(fā)表于 02-14 07:22

    單片機(jī)音樂程序教程

    單片機(jī)音樂程序教程:聲音基礎(chǔ),單一程序音樂演奏,模塊化音樂程序演奏等內(nèi)容。
    發(fā)表于 06-03 12:17 ?173次下載
    單片機(jī)<b class='flag-5'>音樂</b>程序教程

    定時循環(huán)音樂演奏電路

    定時循環(huán)音樂演奏電路
    發(fā)表于 05-08 15:11 ?483次閱讀
    定時循環(huán)<b class='flag-5'>音樂演奏</b><b class='flag-5'>電路</b>圖

    SK--111聲控音樂演奏電路

    SK--111聲控音樂演奏電路
    發(fā)表于 06-08 15:48 ?1242次閱讀
    SK--111聲控<b class='flag-5'>音樂演奏</b>器<b class='flag-5'>電路</b>圖

    音樂演奏器設(shè)計

    音樂演奏器設(shè)計 一、任務(wù)設(shè)計并制作一個可以演奏樂曲的遠(yuǎn)程音樂演奏器,基本電路框圖如圖。
    發(fā)表于 08-02 08:35 ?1844次閱讀
    <b class='flag-5'>音樂演奏</b>器設(shè)計

    eda音樂演奏程序

    EDA音樂演奏程序例程,可根據(jù)需要改編
    發(fā)表于 12-09 23:19 ?6次下載

    FPGA平臺上實現(xiàn)對DPA攻擊的電路級防護(hù)技術(shù)

    。進(jìn)行DPA攻擊的根本原因是電路邏輯表示的不對稱性引起的。本文將應(yīng)用FPGA的自身結(jié)構(gòu)特點,結(jié)合目前常用的抗DPA攻擊的電路級防護(hù)技術(shù),深入研究與分析
    發(fā)表于 11-24 09:12 ?2860次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>平臺上</b><b class='flag-5'>實現(xiàn)</b>對DPA攻擊的<b class='flag-5'>電路</b>級防護(hù)技術(shù)

    基于Proteus的單片機(jī)演奏音樂實現(xiàn)[圖]

    常數(shù)排列成一個表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實現(xiàn)演奏效果。 實驗結(jié)果表明,該方案電路簡單,切實可行且效果不錯。 當(dāng)前的很多用單片機(jī)實現(xiàn)
    發(fā)表于 01-18 03:00 ?1943次閱讀

    基于Proteus單片機(jī)的音樂演奏實現(xiàn)系統(tǒng)

    本文提出的一種基于 Proteus 的單片機(jī)演奏音樂的方法,非常簡單實用,且該方法基于軟件來實現(xiàn)的,所以成本非常低,調(diào)試方便,效果也很不錯,適合于愛好音樂的單片機(jī)學(xué)習(xí)者。 單片機(jī)系統(tǒng)
    發(fā)表于 04-08 09:27 ?5860次閱讀
    基于Proteus單片機(jī)的<b class='flag-5'>音樂演奏</b><b class='flag-5'>實現(xiàn)</b>系統(tǒng)

    采用FPGA DIY開發(fā)板控制自動演奏音樂

    wang1113的作業(yè)自動演奏音樂視頻。
    的頭像 發(fā)表于 06-20 13:26 ?2193次閱讀

    使用PLD器件和VHDL語言實現(xiàn)數(shù)字系統(tǒng)的電子密碼鎖設(shè)計

    密碼鎖電路由鍵盤控制、密碼設(shè)置和音樂演奏三大功能模塊組成,原理如圖1所示。Count,Keyvalue,Contrl,Smdisplay構(gòu)成鍵盤控制模塊,Songer是音樂演奏模塊,Set是密碼設(shè)置模塊。
    的頭像 發(fā)表于 04-28 08:10 ?3644次閱讀
    使用PLD器件和VHDL語言<b class='flag-5'>實現(xiàn)</b>數(shù)字系統(tǒng)的電子密碼鎖設(shè)計

    FPGA多媒體開發(fā)平臺DE2上實現(xiàn)音樂流水燈控制系統(tǒng)的設(shè)計

    , 以方波信號驅(qū)動蜂鳴器發(fā)出音樂, 再根據(jù)不同音階來控制流水燈的閃爍。與借助微處理器實現(xiàn)樂曲演奏相比, 以純硬件方式完成樂曲演奏電路更直觀。
    的頭像 發(fā)表于 10-07 11:24 ?3973次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>FPGA</b>多媒體<b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺</b>DE2上<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>音樂</b>流水燈控制系統(tǒng)的設(shè)計