国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PLD技術(shù)的MIDI音樂播放控制系統(tǒng)設(shè)計(jì)

2014-11-03 13:41:48湯朝霞
科技創(chuàng)新與應(yīng)用 2014年32期

摘 要:采用PLD技術(shù),依據(jù)MIDI音樂基本原理,運(yùn)用VHDL語言進(jìn)行編程,在CPLD內(nèi)部設(shè)計(jì)實(shí)現(xiàn)了基于PLD技術(shù)的MIDI音樂播放控制系統(tǒng)。

關(guān)鍵詞:PLD;CPLD;MIDI音樂播放器;VHDL語言

引言

系統(tǒng)的設(shè)計(jì)是依據(jù)MIDI音樂基本原理,結(jié)合PLD技術(shù),采用ALTERA公司的可編程邏輯器件CPLDEPM240T100C5作為控制單元來實(shí)現(xiàn)。系統(tǒng)的核心是運(yùn)用VHDL語言進(jìn)行編程,在CPLD內(nèi)部設(shè)計(jì)出音調(diào)發(fā)生器、音樂編碼器、彩燈閃爍控制三個(gè)模塊。外圍可配時(shí)鐘、彩燈、開關(guān)、揚(yáng)聲器等設(shè)備,從而實(shí)現(xiàn)音樂選擇控制播放、彩燈隨音樂節(jié)奏閃爍變化等功能的PLD應(yīng)用系統(tǒng)。

1 系統(tǒng)組成

如圖1所示,是系統(tǒng)組成的原理框圖。其核心模塊為CPLD芯片,內(nèi)部有音調(diào)發(fā)生器、音樂編碼器和彩燈閃爍控制器三個(gè)模塊。音樂編碼器內(nèi)儲(chǔ)存著預(yù)先設(shè)定的歌曲編碼,通過改變音樂選擇開關(guān)的狀態(tài)可以決定當(dāng)前要播放哪首音樂。音樂編碼器控制著音調(diào)發(fā)生器和彩燈閃爍控制器,每當(dāng)音樂節(jié)奏時(shí)鐘送給音樂編碼器一個(gè)時(shí)鐘脈沖時(shí),音樂編碼器就當(dāng)前要播放的音符的編碼送給音調(diào)發(fā)生器和彩燈閃爍控制器。音調(diào)發(fā)生器根據(jù)編碼對(duì)應(yīng)的分頻系數(shù)將基準(zhǔn)時(shí)鐘分頻,得到當(dāng)前要播放的音符所對(duì)應(yīng)頻率的脈沖,再用這個(gè)脈沖去激勵(lì)揚(yáng)聲器,就可以得到這個(gè)音符的聲音。彩燈閃爍控制器根據(jù)編碼將當(dāng)前要播放的音符對(duì)應(yīng)的彩燈亮滅狀態(tài)發(fā)送給彩燈。核心部分CPLD利用VHDL語言來完成,其他部分通過外圍電路實(shí)現(xiàn)。

圖1 系統(tǒng)組成原理框圖

2 MIDI 音樂播放器芯片設(shè)計(jì)

MIDI音樂是Windows下的一種合成音樂,由于它通過記錯(cuò)的方式來記錄一段音樂,因此與wave音樂相比,它可以極大地減少存儲(chǔ)容量。MIDI音樂的基本原理為:組成樂曲的每一個(gè)音符的頻率值及持續(xù)的時(shí)間是樂曲能連續(xù)演奏的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和每一個(gè)頻率信號(hào)的持續(xù)時(shí)間,就可以使揚(yáng)聲器發(fā)生連續(xù)的樂曲。如圖2所示,為CPLD內(nèi)部芯片設(shè)計(jì)原理圖。

圖2 CPLD芯片設(shè)計(jì)原理圖

3系統(tǒng)控制模塊設(shè)計(jì)

3.1 音樂編碼器模塊設(shè)計(jì)

此模塊包括節(jié)拍控制電路和音符產(chǎn)生電路。節(jié)拍控制電路以樂曲中最短音符的節(jié)拍為基準(zhǔn),產(chǎn)生樂曲所需要的全部節(jié)拍。將1/16音符設(shè)置為計(jì)數(shù)器的一個(gè)數(shù),對(duì)應(yīng)的1/4音符則是四個(gè)計(jì)數(shù)。在設(shè)計(jì)中為了讓歌曲循環(huán)播放,計(jì)數(shù)器設(shè)定計(jì)滿自動(dòng)清零計(jì)數(shù)的功能,只要不斷電,不關(guān)開關(guān),歌曲就可以自動(dòng)循環(huán)播放。

3.2 音調(diào)發(fā)生模塊設(shè)計(jì)

此模塊包括預(yù)置數(shù)產(chǎn)生電路和頻率發(fā)生器。預(yù)置數(shù)產(chǎn)生電路采用查找表形式,按照音符的頻率要求產(chǎn)生相應(yīng)的預(yù)置數(shù)。根據(jù)可變模值計(jì)數(shù)器的設(shè)計(jì)原理及音符的分頻系數(shù),可算出樂曲中各音符的預(yù)置數(shù)。

頻率發(fā)生器由可變模值計(jì)數(shù)器實(shí)現(xiàn)。由于系數(shù)要求產(chǎn)生出的信號(hào)頻率較高,因此選用4MHz高頻率脈沖作為可變模值計(jì)數(shù)器的計(jì)數(shù)脈沖,而為了減少輸出的偶次諧波分量,最后輸出到揚(yáng)聲器的波形應(yīng)為應(yīng)為對(duì)稱方波,因此在到達(dá)揚(yáng)聲器之前,有一個(gè)2分頻的分頻器。

3.3 彩燈閃爍控制模塊設(shè)計(jì)

彩燈閃爍控制電路主要是控制燈的亮和滅,此電路輸出高低電平信號(hào),就可以直接驅(qū)動(dòng)發(fā)光二極管。在彩模塊,設(shè)計(jì)為不同音符,對(duì)應(yīng)不同的亮滅,這樣,當(dāng)音樂演奏起來的時(shí)候,隨著音符的變化,彩燈也因?yàn)椴煌囊舴W爍起來。

3.4 開關(guān)選擇模塊設(shè)計(jì)

采用case語句,對(duì)外部電路輸入的一個(gè)音符串進(jìn)行判斷,芯片內(nèi)部處理這個(gè)字符串,從而判斷選擇的是哪首歌曲的播放。

3.5 頂層模塊設(shè)計(jì)

采用VHDL語言進(jìn)行頂層模塊設(shè)計(jì),如圖3,將上述所提到的所有模塊,利用component語句進(jìn)行集合,然后利用管腳映射的方法,將所有輸入輸出連接在一起,這樣就設(shè)計(jì)出了一個(gè)完整的MIDI音樂播放芯片,只需要再接入外圍電路即可進(jìn)行演示。

圖3 頂層模塊原理圖

4 仿真實(shí)現(xiàn)

將各設(shè)計(jì)模塊在 Quartus II 軟件平臺(tái)上進(jìn)行仿真調(diào)試校驗(yàn),設(shè)計(jì)系統(tǒng)頂層模塊的仿真波形圖如圖4所示。

圖4 頂層模塊的仿真波形圖

參考文獻(xiàn)

[1]焦素敏.EDA應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2010.

[2]林明權(quán),等.VHDL數(shù)字控制系統(tǒng)設(shè)計(jì)范例[M].北京:電子工業(yè)出版社,2003.

[3]袁慧梅.基于CPLD的MIDI音樂播放器的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2011(11).

作者簡(jiǎn)介:湯朝霞(1973-),女,江蘇蘇州人,副教授,碩士,研究方向:應(yīng)用電子技術(shù)的教學(xué)、科研。

庄河市| 长岛县| 三穗县| 平昌县| 海口市| 兰考县| 通河县| 察雅县| 阜阳市| 彝良县| 富裕县| 田东县| 南充市| 林周县| 崇信县| 衢州市| 金塔县| 阿克| 固原市| 比如县| 雷州市| 建阳市| 会泽县| 江口县| 惠州市| 田林县| 辽宁省| 巴青县| 上饶县| 扶风县| 徐水县| 宁夏| 富阳市| 松潘县| 上虞市| 额敏县| 嵊泗县| 祁门县| 涿鹿县| 绵竹市| 呼图壁县|