- 相關推薦
基于PLD技術的MIDI音樂播放控制系統(tǒng)設計
引言
系統(tǒng)的設計是依據(jù)MIDI音樂基本原理,結合PLD技術,采用ALTERA公司的可編程邏輯器件CPLDEPM240T100C5作為控制單元來實現(xiàn)。系統(tǒng)的核心是運用VHDL語言進行編程,在CPLD內部設計出音調發(fā)生器、音樂編碼器、彩燈閃爍控制三個模塊。外圍可配時鐘、彩燈、開關、揚聲器等設備,從而實現(xiàn)音樂選擇控制播放、彩燈隨音樂節(jié)奏閃爍變化等功能的PLD應用系統(tǒng)。
一、系統(tǒng)組成
如圖1所示,是系統(tǒng)組成的原理框圖。其核心模塊為CPLD芯片,內部有音調發(fā)生器、音樂編碼器和彩燈閃爍控制器三個模塊。音樂編碼器內儲存著預先設定的歌曲編碼,通過改變音樂選擇開關的狀態(tài)可以決定當前要播放哪首音樂。音樂編碼器控制著音調發(fā)生器和彩燈閃爍控制器,每當音樂節(jié)奏時鐘送給音樂編碼器一個時鐘脈沖時,音樂編碼器就當前要播放的音符的編碼送給音調發(fā)生器和彩燈閃爍控制器。音調發(fā)生器根據(jù)編碼對應的分頻系數(shù)將基準時鐘分頻,得到當前要播放的音符所對應頻率的脈沖,再用這個脈沖去激勵揚聲器,就可以得到這個音符的聲音。彩燈閃爍控制器根據(jù)編碼將當前要播放的音符對應的彩燈亮滅狀態(tài)發(fā)送給彩燈。核心部分CPLD利用VHDL語言來完成,其他部分通過外圍電路實現(xiàn)。
圖1 系統(tǒng)組成原理框圖
二、MIDI 音樂播放器芯片設計
MIDI音樂是Windows下的一種合成音樂,由于它通過記錯的方式來記錄一段音樂,因此與wave音樂相比,它可以極大地減少存儲容量。MIDI音樂的基本原理為:組成樂曲的每一個音符的頻率值及持續(xù)的時間是樂曲能連續(xù)演奏的兩個基本數(shù)據(jù),因此只要控制輸出到揚聲器的激勵信號頻率的高低和每一個頻率信號的持續(xù)時間,就可以使揚聲器發(fā)生連續(xù)的樂曲。如圖2所示,為CPLD內部芯片設計原理圖。
圖2 CPLD芯片設計原理圖
三、系統(tǒng)控制模塊設計
3.1 音樂編碼器模塊設計
此模塊包括節(jié)拍控制電路和音符產(chǎn)生電路。節(jié)拍控制電路以樂曲中最短音符的節(jié)拍為基準,產(chǎn)生樂曲所需要的全部節(jié)拍。將1/16音符設置為計數(shù)器的一個數(shù),對應的1/4音符則是四個計數(shù)。在設計中為了讓歌曲循環(huán)播放,計數(shù)器設定計滿自動清零計數(shù)的功能,只要不斷電,不關開關,歌曲就可以自動循環(huán)播放。
3.2 音調發(fā)生模塊設計
此模塊包括預置數(shù)產(chǎn)生電路和頻率發(fā)生器。預置數(shù)產(chǎn)生電路采用查找表形式,按照音符的頻率要求產(chǎn)生相應的預置數(shù)。根據(jù)可變模值計數(shù)器的設計原理及音符的分頻系數(shù),可算出樂曲中各音符的預置數(shù)。
頻率發(fā)生器由可變模值計數(shù)器實現(xiàn)。由于系數(shù)要求產(chǎn)生出的信號頻率較高,因此選用4MHz高頻率脈沖作為可變模值計數(shù)器的計數(shù)脈沖,而為了減少輸出的偶次諧波分量,最后輸出到揚聲器的波形應為應為對稱方波,因此在到達揚聲器之前,有一個2分頻的分頻器。
3.3 彩燈閃爍控制模塊設計
彩燈閃爍控制電路主要是控制燈的亮和滅,此電路輸出高低電平信號,就可以直接驅動發(fā)光二極管。在彩模塊,設計為不同音符,對應不同的亮滅,這樣,當音樂演奏起來的時候,隨著音符的變化,彩燈也因為不同的音符閃爍起來。
3.4 開關選擇模塊設計
采用case語句,對外部電路輸入的一個音符串進行判斷,芯片內部處理這個字符串,從而判斷選擇的是哪首歌曲的播放。
3.5 頂層模塊設計
采用VHDL語言進行頂層模塊設計,如圖3,將上述所提到的所有模塊,利用component語句進行集合,然后利用管腳映射的方法,將所有輸入輸出連接在一起,這樣就設計出了一個完整的MIDI音樂播放芯片,只需要再接入外圍電路即可進行演示。
圖3 頂層模塊原理圖
四、仿真實現(xiàn)
將各設計模塊在 Quartus II 軟件平臺上進行仿真調試校驗,設計系統(tǒng)頂層模塊的仿真波形圖如圖4所示。
圖4 頂層模塊的仿真波形圖
【基于PLD技術的MIDI音樂播放控制系統(tǒng)設計】相關文章:
基于單片機的自動音樂播放器的設計(一)03-07
基于DSP技術的MP3播放器的研究與設計03-18
基于GPIB總線技術的TD-SCDMA通信儀表控制系統(tǒng)設計03-07
基于CEBus總線的鐵路燈塔控制系統(tǒng)的設計03-18
基于Ajax技術的網(wǎng)站設計03-08