freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的樂(lè)曲演奏電路的設(shè)計(jì)(參考版)

2024-11-12 01:35本頁(yè)面
  

【正文】 具有廣闊的應(yīng)用前景。系統(tǒng)能夠通過(guò)琴鍵演奏樂(lè)曲和按鍵選擇播放指定樂(lè)曲,具有可移植性和可擴(kuò)展性。 結(jié)束語(yǔ) 該設(shè)計(jì)將電子琴系統(tǒng)的核心部分集成在可編程邏輯 器件 FPGA芯片上,大大簡(jiǎn)化了外部電路,較以前的傳統(tǒng)設(shè)計(jì),既減少了所用芯片的種類和數(shù)量,縮小了體積,降低了功耗,提高了系統(tǒng)的整體性能,對(duì)系統(tǒng)在使用中的故障率大為減少。 基于 FPGA的樂(lè)曲演奏電路的設(shè)計(jì) 20 20 基于 FPGA的樂(lè)曲演奏電路的設(shè)計(jì) 21 21 圖 17 聲音輸出控制模塊程序的結(jié)構(gòu) 對(duì)該模塊進(jìn)行編譯和仿真,得到模塊仿真圖和示意圖如下圖圖 18和圖 19所示 圖 18 聲音輸出模塊仿真圖 圖 19 聲音輸出模塊示意圖 基于 FPGA的樂(lè)曲演奏電路的設(shè)計(jì) 22 22 本章主要介紹了本次設(shè)計(jì)的要求和完成的功能即 實(shí)現(xiàn)按下不同的音鍵而發(fā)出不同的聲音 ,以及設(shè)計(jì)的原理和設(shè)計(jì)思路,并由此繪出了系統(tǒng)流程圖,然后介紹了各個(gè)模塊的功能及作用,并得到了各個(gè)模塊的仿真圖和示意圖。 GenSpkS進(jìn)程由一個(gè)初值可變的加法計(jì)數(shù)器構(gòu)成,初值為 Tone模塊傳來(lái)的分頻預(yù)置值 (Tonel)。該程月包括 3個(gè)進(jìn)程,其中 DivideCLK: PROCESS(clkl)逆程功能將系統(tǒng)的基準(zhǔn)頻率 12 MHz進(jìn)行 16分頻得到 750KHz的頻率,由信號(hào) PrecLK傳給 GenSpks: PR0cES(PreCLK,Tonel)進(jìn)程。其 VHDL程序結(jié)構(gòu)如圖 17所示。 high2,med2, low2分別接鍵盤上高、中、低音的控制開(kāi)關(guān), Index2[0]~ Index2[11]分別接鍵盤上的 12個(gè)琴鍵, HIGH0, med0, low0分別輸出音調(diào)的音區(qū)信息 (分別對(duì)應(yīng)高音、中音、低音區(qū) ); Index0[0]~ Index0[11]輸出琴鍵編碼或音樂(lè)存儲(chǔ)器里的樂(lè)曲的音符編碼。在記錄樂(lè)譜時(shí),若 將 l拍的時(shí)間長(zhǎng)度定為 1 s,因地址計(jì)數(shù)器的時(shí)鐘頻率為 4Hz,即 1/ 4拍時(shí)間為 0. 25 s, 則 1個(gè)全音音符需重復(fù)記錄 4次, 2/ 4拍音符重復(fù)記錄 2次 ??,該進(jìn)程的流程圖如圖 14所示。完成自動(dòng)演奏樂(lè)曲的地址累加,同時(shí)實(shí)現(xiàn)樂(lè)曲循環(huán)演奏;musicpr0. cess(count0, Auto, index2)進(jìn)程主要用來(lái)記錄所選樂(lè)曲的樂(lè)譜、根據(jù)樂(lè)譜產(chǎn)生 12位發(fā)聲控制輸出 index0信號(hào)。 動(dòng)演奏及鍵盤編碼模塊 自動(dòng)演奏及鍵盤編碼模塊 (AUTOMUSIC模塊 )該模塊主要包括兩大內(nèi)容:鍵盤輸入編碼及樂(lè)曲自動(dòng)演奏。其中, 2048這個(gè)數(shù)值不是固定的,由音符頻率所對(duì)應(yīng)的分頻數(shù)的最大值決定。最后一個(gè)分頻器為 2 分頻器。驅(qū)動(dòng)頻率產(chǎn)生電路模塊可由三個(gè)分頻器串聯(lián)形成,前面的為分頻系數(shù) 12的固定分頻器, 12MHZ的頻率經(jīng)它分頻后變?yōu)?1MHZ。其 CLK12MHZ 端輸入一個(gè)頻率為 12MHZ 的時(shí)鐘信號(hào),通過(guò)驅(qū)動(dòng)頻率產(chǎn)生電路分頻后由 SPKOUT 輸出。同時(shí)該模塊還可以輸出樂(lè)譜顯示時(shí)需要的數(shù)值。音符頻率查表電路的輸入值 Index[5..0]與持續(xù)的時(shí)間由琴鍵音符查表電路模塊或音符存儲(chǔ)電路模塊的輸出值決定。每一音符 的停留時(shí)間由音樂(lè)節(jié)拍和音調(diào)發(fā)生器模塊音符存儲(chǔ)電路的 clk 的輸入頻率決定。 模塊音符頻率查表電路中設(shè)置了全部音符所對(duì)應(yīng)的品預(yù)置數(shù)。 琴鍵音符查表電路模塊和音符頻率查表電路模塊都是查表電路,電路的結(jié)構(gòu)都是一樣的。這樣,隨著音符存儲(chǔ)電路中的計(jì)數(shù)器按 4HZ的時(shí)鐘速率作加法計(jì)數(shù)器,樂(lè)曲就自然演奏起來(lái)了??梢栽谄渲性O(shè)置一個(gè)二進(jìn)制加法計(jì)數(shù)器作為音符 ROM 的地址發(fā) 生器,這個(gè)計(jì)數(shù)器的位數(shù)與用來(lái)記錄音符的 ROM空間有關(guān),如果用了 256 個(gè) ROM 單元,則位數(shù)就是 8;計(jì)數(shù)頻率就是通過(guò) 12MHZ分頻過(guò)來(lái)的 4HZ,這樣在每一計(jì)數(shù)值上的停留時(shí)間為 1/4 秒,也就是一個(gè)最小音樂(lè)節(jié)拍。根據(jù)各音名與頻率的關(guān)系以及聲音輸出控制模塊 (speaker 模塊 )中數(shù)控分頻 器的設(shè)計(jì),分別計(jì)算出高音區(qū)、中音區(qū)、低音區(qū)不同音符的分頻預(yù)置值,程序中 Index 為 AUTOMUSIC 模塊傳人的音符編碼, high0, med0, low0 為 AUTOMUSIC 模塊傳入表示音符所處音區(qū),如 high0=‘ 1’表示音符處于高音區(qū); low0=‘ 1’表示音符處于低音區(qū);程序中 T0ne 為輸出音符分頻預(yù)置值,因最大的預(yù)置數(shù)為 6668,為節(jié)省硬件資源及提高系統(tǒng)運(yùn)行速度,將 T0ne 取值范圍定為 0~ 1甜 lE00 群; HIGH, med, 10w輸出音符所處音區(qū),接外電路的發(fā)光二極管,高電平有效; CODE 端口接數(shù)碼管,輸出 音符的顯示數(shù)碼。這里要注意的是,如果改變了最小音樂(lè)節(jié)拍,則音符存儲(chǔ)電路中音符的存儲(chǔ)以及琴鍵音符查表電路中琴鍵節(jié)奏的讀取都要做相應(yīng)的改變。 設(shè)計(jì)思路 當(dāng)一個(gè)輸人時(shí)鐘脈沖來(lái)到時(shí),樂(lè)譜發(fā)生器模塊輸出一個(gè)音符數(shù)據(jù) (或當(dāng) 8位發(fā)聲控制鍵輸入中某一位為高電平時(shí) ),則對(duì)應(yīng)某一音階的初始計(jì)數(shù)值作為獲得該音階的分頻預(yù) 置值將送入預(yù)制數(shù)計(jì)數(shù)器;預(yù)制數(shù)計(jì)數(shù)器輸入相應(yīng)的頻率同時(shí)輸出對(duì)應(yīng)該音階簡(jiǎn)譜的顯示代碼;該頻率經(jīng)二分頻器后送人揚(yáng)聲器,揚(yáng)聲器就可發(fā)出對(duì)應(yīng)音符的聲音,曲子也就流暢的播放出來(lái)了;同時(shí)在數(shù)碼管上顯示該音名和點(diǎn)亮相應(yīng)的發(fā)光二極管。 4 樂(lè)曲演奏電路系統(tǒng)設(shè)計(jì) 設(shè)計(jì)要求及功能 該電子琴能實(shí)現(xiàn)八個(gè)音鍵的控制.根據(jù)各個(gè)音調(diào)的頻率的差異,來(lái)實(shí)現(xiàn)按下不同的音鍵而發(fā)出不同的聲音。因此,音符頻率和節(jié)奏控制是演奏音樂(lè)的兩個(gè)關(guān)鍵因素。顯示模塊和揚(yáng)聲器得到驅(qū)動(dòng)信號(hào)后開(kāi)始工作,這樣,音樂(lè)就自然的演奏出來(lái)了,音符也得到了顯示。 圖 3 系統(tǒng)整 體電路結(jié)構(gòu)框圖 首先 ,FPGA 芯片讀取音樂(lè)自動(dòng)播放開(kāi)關(guān)按鍵信號(hào)。系統(tǒng)分為兩個(gè)流程:鍵盤演奏和音樂(lè)的自動(dòng)播放。當(dāng)一個(gè) 4HZ 的時(shí)鐘來(lái)時(shí),相應(yīng)的就從 LPMROM 中輸出一個(gè)音符數(shù)據(jù)。 計(jì)數(shù)時(shí)鐘信號(hào)作為輸出音符快慢的控制信號(hào),時(shí)鐘快時(shí)輸出節(jié)拍速度就快,演奏的速度也就快,時(shí)鐘慢時(shí)輸出節(jié)拍的速度就慢,演 奏的速度自然降低。在音樂(lè)自動(dòng)演奏的時(shí)候,用一個(gè)加法器來(lái)計(jì)算存儲(chǔ)器的地址,每隔 1/4 秒計(jì)算一次,取出一個(gè)音符。我們就可以用一個(gè)存儲(chǔ)器來(lái)存儲(chǔ)音符。這里,我們假設(shè)通過(guò)電子琴演奏的樂(lè)曲最小節(jié)拍為 1 /4 拍(當(dāng)然,這個(gè)最小節(jié)拍是可以修改的),將 1拍的時(shí)間 長(zhǎng)度定為 1s,則只需要再提供一個(gè) 4HZ的時(shí)鐘頻率即可產(chǎn)生 1 /4 拍的時(shí)長(zhǎng)。在第一次按下琴鍵時(shí),啟動(dòng)最小節(jié)拍計(jì)時(shí)器,每隔一個(gè)音樂(lè)的最小節(jié)拍將所有 D 觸發(fā)器的數(shù)值讀入到系統(tǒng)內(nèi)部進(jìn)行處理。由于最大分頻系數(shù)使 1274,故分頻器采用 11 位二進(jìn)制計(jì)數(shù)器能滿足要求,樂(lè)曲中的休止符,只要將分頻系數(shù)設(shè)位 0,即初始值 =2111=2047,此時(shí)揚(yáng)聲器不會(huì)發(fā)聲。為提高輸出信號(hào)的驅(qū)動(dòng)能力,以使揚(yáng)聲器有足夠的功率發(fā)音,需要再通過(guò)一個(gè)分頻器將原來(lái)的分頻器的輸出脈沖均衡為對(duì)稱方波(占空比 =1/2),但這時(shí)的頻率將是原來(lái)的 1/2,在計(jì)算分頻系數(shù)時(shí)應(yīng)該考慮。由于現(xiàn)有的高頻始終脈沖信號(hào)的頻率為 12MHZ,故需先對(duì)其進(jìn)行 16分頻,才能獲得 750KHZ 的基準(zhǔn)頻率,其實(shí),只要各個(gè)音符間的相對(duì)頻率不變,演奏出的樂(lè)曲聽(tīng)起來(lái)都不會(huì)“走調(diào)”。實(shí)際上應(yīng)綜合考慮這兩個(gè)方面的因素,在盡量減少誤差的前提下,選取合適的基準(zhǔn)頻率。 若基準(zhǔn)頻率過(guò)低,則分頻系數(shù)過(guò)小,四舍五入取整后的誤差較大。 在基于 FPGA 的數(shù)字系統(tǒng)設(shè)計(jì)中,多個(gè)不同頻率的信號(hào),一般是通過(guò)對(duì)某個(gè)基準(zhǔn)頻率進(jìn)行分頻獲得的。另外,音符 A(簡(jiǎn)譜中的低音 6)的頻率為 440HZ,音符 B 到 C之間, E 到 F 之間為半音,其余為全音。 音符頻率的獲得 由樂(lè)曲的 12 平均率可知:每?jī)蓚€(gè)八度音(如簡(jiǎn)譜中的中音 1 與高音 1)之間的頻率相差 1 倍。而要準(zhǔn)確地演奏出一首樂(lè)曲,僅僅讓揚(yáng)聲器能夠發(fā)聲是不夠的,還必須準(zhǔn)確地控制樂(lè)曲的節(jié)奏,即每個(gè)音符的持續(xù)時(shí)間,也就是節(jié)拍。樂(lè)曲中的每 一個(gè)音符對(duì)應(yīng)著一個(gè)確定的頻率,因此,要想發(fā)出不同音符的音調(diào),只要能控制輸出相應(yīng)音符的頻率即可。 本章小結(jié) 本章主要介紹了 FPGA的內(nèi)部結(jié)構(gòu)、基本原理、特點(diǎn)以及開(kāi)發(fā)流程,還介紹了硬件描述語(yǔ)言 VHDL的特點(diǎn)、語(yǔ)法規(guī)則及
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1