<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的音樂(lè)硬件演奏電路設(shè)計(jì)與實(shí)現(xiàn)(一)

          基于FPGA的音樂(lè)硬件演奏電路設(shè)計(jì)與實(shí)現(xiàn)(一)

          作者: 時(shí)間:2013-05-09 來(lái)源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/175241.htm

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

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

          預(yù)置樂(lè)曲,本文選取了《梁?!返囊欢巫黝A(yù)置,作預(yù)置時(shí),需要將樂(lè)曲音符轉(zhuǎn)換成相應(yīng)的代碼,通過(guò)計(jì)算逐一將音符轉(zhuǎn)換成代碼,通過(guò)EDA開(kāi)發(fā)平臺(tái)quartusii6.0進(jìn)行樂(lè)曲定制。

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

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

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

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

          2.1 頂層實(shí)體描述

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

          有四個(gè)輸入,三個(gè)輸出端口。

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

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

          2.2 模塊劃分

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

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

          DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY


          分頻器相關(guān)文章:分頻器原理

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 電路 測(cè)試

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();