CPLD的音樂播放器的設(shè)計(jì)_第1頁
CPLD的音樂播放器的設(shè)計(jì)_第2頁
CPLD的音樂播放器的設(shè)計(jì)_第3頁
CPLD的音樂播放器的設(shè)計(jì)_第4頁
CPLD的音樂播放器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)(論文)題 目 基于cpld的音樂播放器的設(shè)計(jì) 姓 名 雷 學(xué) 號(hào) 11021004119 專業(yè)班級(jí) 自動(dòng)化112 所在學(xué)院 電氣工程學(xué)院 基于cpld的midi音樂播放器的設(shè)計(jì)【摘要】 本音樂播放器依據(jù)midi音樂基本原理,結(jié)合eda技術(shù),采用altera公司的可編程邏輯器件(cpld)epm240t100c5作為控制核心而設(shè)計(jì)的。本設(shè)計(jì)主要利用vhdl語言進(jìn)行編程,在cpld內(nèi)部設(shè)計(jì)出音調(diào)發(fā)生器、音樂編碼器、再配上揚(yáng)聲器外圍電路,從而實(shí)現(xiàn)音樂播放。通過本次設(shè)計(jì),可以體現(xiàn)出可編程邏輯器件cpld/fpga等在電子設(shè)計(jì)領(lǐng)域的廣泛應(yīng)用,設(shè)計(jì)者可以方便的設(shè)計(jì)出符合要求的芯片或應(yīng)用系統(tǒng)。 【

2、關(guān)鍵詞】 eda,cpld,音樂播放器,vhdl語言 design of midi music player based on cpld【abstract】 this music player is designed according to midi music basic principle, using eda technology, based on complex programmable logic device (cpld) epm240t100c5 to be a control core block which produced by altera company. this

3、 design program with vhdl language, designed tone block, music coder in cpld, and matched to some necessary periphery circuits such as loudhailer, through this design, it can see that cpld/fpga has a widely application in electronic area. the designer can design a chip or a system expediently.【key w

4、ords】 eda,cpld, music player,vhdl第1章 緒論意義隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國(guó)防、航天、工業(yè)自動(dòng)化、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計(jì)工作中,eda技術(shù)的含量正以驚人的速度上升,它己成為當(dāng)今電子技術(shù)發(fā)展的前沿之一。eda (electronics design automation)即電子設(shè)計(jì)自動(dòng)化技術(shù),是指以計(jì)算機(jī)為基本工作平臺(tái),融合應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)的最新成果而研制成的一整套軟件工具,主要能輔助進(jìn)行三方面的設(shè)計(jì)工作:ic設(shè)計(jì),電子電路設(shè)計(jì),pcb設(shè)計(jì)。沒有eda技術(shù)的支持,想要完成一些超大規(guī)模集成電路的設(shè)計(jì)制造是不可想象的

5、。大規(guī)??删幊踢壿嬈骷pld(complex programmable logic device,復(fù)雜可編程邏輯器件)和fpga(field programmable gates array,現(xiàn)場(chǎng)可編輯門陣列)是當(dāng)今應(yīng)用最廣泛的兩類可編程邏輯器件,電子設(shè)計(jì)工程師利用它可以在辦公室或?qū)嶒?yàn)室設(shè)計(jì)出所自己所需要的專用芯片和專用產(chǎn)品,從而大大縮短了產(chǎn)品上市時(shí)間,降低了開發(fā)成本。此外,可編程邏輯器件還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改,這樣就極大的提高了電子系統(tǒng)設(shè)計(jì)的靈活性和通用性。背景fpga與cpld都是可編程邏輯器件,是在pal、gal等邏輯器件

6、的基礎(chǔ)上發(fā)展起來的,與分立元件相比,具有速度快、容量大、功耗小和可靠性高等優(yōu)點(diǎn)。由于集成度高、設(shè)計(jì)方法先進(jìn)、現(xiàn)場(chǎng)可編程,它可以替代幾十甚至上百片通用ic芯片。這種芯片具有現(xiàn)場(chǎng)可編程和方案容易改動(dòng)的特點(diǎn)。所以fpga和cpld芯片收到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎,可以設(shè)計(jì)各種數(shù)字電路和數(shù)字系統(tǒng)2。國(guó)內(nèi)外研究現(xiàn)狀pld生產(chǎn)廠商眾多,有xilinx、altera、actel、lattic、atmel等,其中以xilinx和altera的產(chǎn)品較有代表性,xilinx的產(chǎn)品稱為fpga,altera的產(chǎn)品稱為cpld,他們各有特點(diǎn)3:1同樣藉由eprom和sram的結(jié)構(gòu)。2altera

7、 cpld適合完成各類算法和組合邏輯,而xilinx fpga更適合于完成時(shí)序較多的邏輯電路。3對(duì)于sram結(jié)構(gòu)的產(chǎn)品,altera公司的pld的輸出電流可達(dá)25ma,而xilinx的fpga只有16ma。4altera公司的pld延時(shí)時(shí)間可預(yù)測(cè),彌補(bǔ)了fpga的缺點(diǎn)。5altera公司的flex10k10e系列的產(chǎn)品具有更大的集成度。因此,針對(duì)上述特點(diǎn),結(jié)合本設(shè)計(jì)題目的要求,我們采用altera公司的cpld芯片,7128型號(hào),這是目前市場(chǎng)最為通用的一種cpld,采用其構(gòu)成的最小系統(tǒng)通用板,利用外圍電路的拓展,可以完成許多設(shè)計(jì)員需要的電路系統(tǒng)功能?;趐ld的設(shè)計(jì),有一下幾種較為成熟的設(shè)計(jì)方

8、法:1原理圖設(shè)計(jì)2程序設(shè)計(jì)方法3狀態(tài)機(jī)設(shè)計(jì)4功能模塊輸入法5ip模塊使用6基于平臺(tái)的設(shè)計(jì)方法其中,最為廣泛普遍應(yīng)用的為程序設(shè)計(jì)方法。程序設(shè)計(jì)是使用硬件描述語言(簡(jiǎn)稱hdl),在eda軟件提供的設(shè)計(jì)想到或語言助手的支持之下進(jìn)行設(shè)計(jì)。hdl設(shè)計(jì)是目前工程設(shè)計(jì)最重要的設(shè)計(jì)方法。程序設(shè)計(jì)的語言種類較多,近年來廣泛使用的有abel、vhdl和veriloghdl語言。本次設(shè)計(jì),主要采用vhdl語言設(shè)計(jì)。vhdl語言是隨著集成電路系統(tǒng)化和高集成化發(fā)展起來的,是一種用于數(shù)字系統(tǒng)的設(shè)計(jì)和測(cè)試方法的描述語言。應(yīng)用及發(fā)展趨勢(shì)cpld/fpga的發(fā)展已經(jīng)非常普及,在各個(gè)行業(yè)及領(lǐng)域都有廣泛的應(yīng)用,包括在機(jī)械、電子、通

9、信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有eda的應(yīng)用4。2008年6月24日,北京altrea公司宣布,深圳華禹高科技有限公司在其新的攜式手持機(jī)中選用了maxiiz cpld。之所以選用altera max iiz cpld,是因?yàn)樗坏梢匝杆侔踩貙?shí)現(xiàn)新特性和功能,而且還具有最低的功耗和最小的電路板面積,該器件管理p1200便攜式手持機(jī)中的多個(gè)接口,包括射頻識(shí)別(rfid)讀卡器、紅外數(shù)據(jù)協(xié)會(huì)(irda)傳感器、藍(lán)牙接121以及l(fā)ed控制端口等。該p1200便攜式手持機(jī)已于2008年5月1日正式在杭州公交自行車項(xiàng)目中使用, 同年8月也已應(yīng)用于北京奧運(yùn)的身份識(shí)別、物流領(lǐng)域以

10、及公交等小額消費(fèi)領(lǐng)域5。另外,eda軟件的功能日益強(qiáng)大,原來功能比較單一的軟件,現(xiàn)在增加了很多新用途。如autocad軟件可用于機(jī)械及建筑設(shè)計(jì),也擴(kuò)展到建筑裝璜及各類效果圖,汽車和飛機(jī)的模型、電影特技等領(lǐng)域。1.2研究的基本內(nèi)容1.2.1 cpld的設(shè)計(jì)本設(shè)計(jì)的關(guān)鍵還是在于內(nèi)部芯片的設(shè)計(jì)。由于eda軟件的功能日益強(qiáng)大,原來功能比較單一的軟件,現(xiàn)在增加了很多新用途。本次設(shè)計(jì)采用的是altera公司的cpld芯片,我們會(huì)利用quartus ii進(jìn)行設(shè)計(jì),其中采用軟件中的集成文本編輯器,來進(jìn)行vhdl語言的設(shè)計(jì)。關(guān)于音樂的選擇方面,盡量選擇一些節(jié)奏緩慢,節(jié)拍清晰的歌曲,且音律范圍不要太廣的歌曲,這樣

11、在設(shè)計(jì)上,即可盡量節(jié)約芯片內(nèi)部資源6。另外,cpld器件的選擇也是一個(gè)關(guān)鍵。我們擬采用cpld通用板來設(shè)計(jì),這樣的話,包括基準(zhǔn)時(shí)鐘在內(nèi)的所有芯片外的東西,都需要外部接入來完成,因此,對(duì)芯片的結(jié)構(gòu)了解也是一個(gè)關(guān)鍵。外圍電路的設(shè)計(jì)外圍電路都是一些最基本,最常見的模擬電路,因此在使用不會(huì)有太大問題,但有一個(gè)要注意的地方,就是在一些電阻和電容的取值上,要比較細(xì)心,比如說在放大器的發(fā)生模塊上,要求驅(qū)動(dòng)揚(yáng)聲器的電阻值就比較小,而且非常精確,一旦太大,可能會(huì)導(dǎo)致無法驅(qū)動(dòng)揚(yáng)聲器,因此可以盡量采用滑動(dòng)變阻器,通過計(jì)算與調(diào)試后,得出比較精準(zhǔn)的數(shù)據(jù)7。外圍電路的調(diào)試工作要配合芯片設(shè)計(jì)一起進(jìn)行,這樣可以調(diào)試出音樂輸出

12、的最佳狀態(tài)??傮w設(shè)計(jì)概述max ii 系列cpldmax ii器件系列是一種非易失性、即用性可編程邏輯系列,它采用了一種突破性的新型cpld架構(gòu)。這種新型架構(gòu)的成本是原先max 器件的一半,功耗是其十分之一,密度是其四倍,性能卻是其兩倍。這些超級(jí)性能是在提供了所有max系列cpld 先進(jìn)特性的架構(gòu)的基礎(chǔ)上,根據(jù)altera專家們的意見而重新采用基于查找表的架構(gòu)而得到的。這種基于查找表的架構(gòu)在最小的i/o焊盤約束的空間內(nèi)提供了最多的邏輯容量。因此,max ii cpld是所有cpld系列產(chǎn)品中成本最低、功耗最小和密度最高的器件?;诔杀緝?yōu)化的0.18微米6層金屬flash工藝,max ii器件系

13、列具有cpld所有的優(yōu)點(diǎn),例如非易失性、即用性、易用性和快速傳輸延時(shí)性。以滿足通用性,低密度邏輯應(yīng)用為目標(biāo),max ii器件成為接口橋接、i/o擴(kuò)展、器件配置和上電順序等應(yīng)用最理想的解決方案。除這些典型的cpld應(yīng)用之外,max ii器件還能滿足大量從前在fpga、assp和標(biāo)準(zhǔn)邏輯器件中實(shí)現(xiàn)的低密度可編程邏輯需求。max ii器件提供的密度范圍從240到2210個(gè)邏輯單元(le),最多達(dá)272個(gè)用戶i/o管腳。本次設(shè)計(jì)核心模塊cpld采用altera公司max ii系列的epm240t100c芯片。該芯片共有100個(gè)管腳,內(nèi)部240個(gè)邏輯單元,如圖2.1所示,為該芯片的封裝圖及管腳功能8。總

14、體設(shè)計(jì)思路總體設(shè)計(jì)框圖與設(shè)計(jì)思路如圖2.2所示,是本設(shè)計(jì)的音樂播放器的原理框圖。其核心模塊為cpld芯片,內(nèi)部有音調(diào)發(fā)生器和音樂編碼器模塊。音樂編碼器內(nèi)儲(chǔ)存著預(yù)先設(shè)定的歌曲的編碼。音樂編碼器控制著音調(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è)音符的聲音。核心部分cpld利用vhdl語言來完成,其他部分通過外圍電路實(shí)現(xiàn)。 cpld設(shè)計(jì)思路在購買cpld芯片之前,首先對(duì)所編寫好的程序在quartus ii軟件中進(jìn)

15、行編譯仿真,在編譯中,軟件會(huì)自動(dòng)計(jì)算出整個(gè)程序所需要的cpld邏輯單元數(shù)。因此根據(jù)最后編譯的結(jié)果,我們選擇了epm240型芯片,其內(nèi)部邏輯單元數(shù)為240個(gè),只要對(duì)程序進(jìn)行一定的優(yōu)化處理,即可以滿足所有的設(shè)計(jì)要求。另外,為了使整個(gè)設(shè)計(jì)盡量簡(jiǎn)潔,程序中的四首歌全部編寫歌曲的高潮部分,這樣聽起來更加耳熟能詳,同時(shí)也能節(jié)省更多的芯片內(nèi)部資源。外圍電路設(shè)計(jì)思路揚(yáng)聲器方面則沒有太多的選擇,只要能夠整個(gè)電路系統(tǒng)能夠驅(qū)動(dòng)的揚(yáng)聲器,都可以用。因此,揚(yáng)聲器的選擇要等到最后全部系統(tǒng)設(shè)計(jì)完成后,實(shí)地選擇播放效果較好的揚(yáng)聲器。另外,由于cpld內(nèi)部輸出的信號(hào)比較弱,因此為了能夠驅(qū)動(dòng)揚(yáng)聲器導(dǎo)致發(fā)聲,必須在揚(yáng)聲器前借一個(gè)音

16、頻功率放大電路,同樣,在該電路中接入可滑動(dòng)變阻器,這樣在后期的調(diào)試中,可以通過調(diào)節(jié)滑動(dòng)變阻器,改變放大器的放大倍數(shù),從而調(diào)試出放大出來音色最好的倍數(shù)。 midi音樂播放器芯片設(shè)計(jì)工作原理 midi音樂是windows下的一種合成音樂,由于它通過記譜的方式來記錄一段音樂,因此與wave音樂相比,它可以極大地減少存儲(chǔ)容量。midi音樂的基本原理為:組成樂曲的每一個(gè)音符的頻率值及其持續(xù)的時(shí)間是樂曲能連續(xù)演奏的兩個(gè)基本數(shù)據(jù),因此只要控制輸出到揚(yáng)聲器的激勵(lì)信號(hào)頻率的高低和每一個(gè)頻率信號(hào)的持續(xù)時(shí)間,就可以使揚(yáng)聲器發(fā)生連續(xù)的樂曲。如圖所示,為cpld內(nèi)部芯片設(shè)計(jì)原理圖。模塊設(shè)計(jì) 音樂編碼器模塊設(shè)計(jì)此模塊包括

17、節(jié)拍控制電路和音符產(chǎn)生電路。節(jié)拍控制電路以樂曲中最短音符的節(jié)拍為基準(zhǔn),產(chǎn)生樂曲所需要的全部節(jié)拍。在大部分音樂中,多以1/4為一拍,一拍則為一秒,同時(shí)在樂譜中,一般最短的音符多為1/16音符,因此為了達(dá)到四首歌曲的統(tǒng)一,我們將1/16音符設(shè)置為計(jì)數(shù)器的一個(gè)計(jì)數(shù),對(duì)應(yīng)的1/4音符則是四個(gè)計(jì)數(shù)。為了節(jié)省內(nèi)部資源,我們只演奏高潮部分。這樣的話,比如說濤聲依舊為4/4拍的音樂,即一個(gè)小節(jié)有4拍,而高潮部分共有8個(gè)小節(jié),所以在計(jì)數(shù)器的范圍上我們?cè)O(shè)定為0127,即128位的計(jì)數(shù)器即可。另外,在設(shè)計(jì)中為了讓歌曲循環(huán)播放,計(jì)數(shù)器設(shè)定計(jì)滿自動(dòng)清零計(jì)數(shù)的功能,這樣,只要不斷電,不關(guān)開關(guān),歌曲就可以自動(dòng)循環(huán)播放了。音

18、符產(chǎn)生電路采用查找表形式12。在節(jié)拍控制產(chǎn)生電路的接拍信號(hào)作用下,按樂曲中音符持續(xù)時(shí)間的長(zhǎng)短輸出相應(yīng)音符名稱。具體歌曲的音符,只需要通過互聯(lián)網(wǎng)查找后,將對(duì)應(yīng)音符儲(chǔ)存在內(nèi)部即可。音調(diào)發(fā)生模塊設(shè)計(jì)此模塊包括預(yù)置數(shù)產(chǎn)生電路和頻率發(fā)生器。預(yù)置數(shù)產(chǎn)生電路設(shè)計(jì)采用查找表形式,按照音符的頻率要求產(chǎn)生相應(yīng)的預(yù)置數(shù)13。根據(jù)可變模值計(jì)數(shù)器的設(shè)計(jì)原理及音符的分頻系數(shù),可計(jì)算出樂曲中各音符的預(yù)置數(shù),如表3.1所示。表3.1 音符的分頻數(shù)和預(yù)置數(shù)音名分頻系數(shù)初始值低音551023089低音645453646低音740504141中音138224369中音234054786中音330345157中音428635328中

19、音525515640中音622735918中音720256166高音119116280高音217036488高音315176674高音414326759高音512756816休止符008191在音符的選擇上,選擇了最廣泛應(yīng)用的16個(gè)音。若想編輯音域更廣的音樂,則需要重新設(shè)定初始值。頻率發(fā)生器由可變模值計(jì)數(shù)器實(shí)現(xiàn)。由于系統(tǒng)要求產(chǎn)生出的信號(hào)頻率較高,因此選用2mhz高頻脈沖作為可變模值計(jì)數(shù)器的技計(jì)數(shù)脈沖。所以,上圖所給出的分頻系數(shù)是用分頻后的2mhz基礎(chǔ)上計(jì)算得出的。各音階頻率及相應(yīng)的分頻如表3.2所示。表3.2 音符與頻率對(duì)照表音名頻率/hz分頻系數(shù)低音5391.995102低音64404545

20、低音7493.884050中音1523.253822中音2587.333405中音3659.253034中音4698.462863中音5783992551中音68802273中音7987.762025高音11046.501911高音21174.661703高音31318.511517高音41396.921432高音51567.981275休止符081910由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。由于最大的分頻系數(shù)為5102,故采用13位二進(jìn)制計(jì)數(shù)器已能滿足分頻要求。在表中可以看到不同音階對(duì)應(yīng)的不同初始值。對(duì)于不同的分頻系數(shù),只要加載不同的初始值即可。采

21、用加載初始值而不將分頻輸出譯碼反饋,可以有效地減少設(shè)計(jì)占用可編程邏輯器件的資源?!?”表示休止符,在很多音樂中,休止符也是一個(gè)重要的音符。對(duì)于休止符,只要將分頻系數(shù)設(shè)為0,揚(yáng)聲器就不會(huì)發(fā)聲了。 頂層模塊設(shè)計(jì)頂層模塊的設(shè)計(jì)可以采用原理圖設(shè)計(jì)或者vhdl設(shè)計(jì),我們直接采用vhdl語言進(jìn)行頂層模塊設(shè)計(jì),將上述所提到的所有模塊,利用component語句進(jìn)行集合,然后利用管腳映射的方法,將所有輸入輸出連接在一起,這樣就設(shè)計(jì)出了一個(gè)完整的midi音樂播放芯片,只需再連入外圍電路即可進(jìn)行演示。時(shí)鐘電路在本次設(shè)計(jì)中,除了要提供給cpld的4mhz晶振時(shí)鐘以外,還要產(chǎn)生4hz時(shí)鐘接入音樂節(jié)奏時(shí)鐘。這兩個(gè)時(shí)鐘信

22、號(hào)都是利用板載50mhz晶振分頻后提供的。 音樂節(jié)奏時(shí)鐘在上一章節(jié)中提到,我們以1/16音符為最小計(jì)數(shù)單元,而這個(gè)音符所占用的時(shí)間理論值為0.25s,所以我們?cè)谕獠拷尤?hz的時(shí)鐘信號(hào)給計(jì)數(shù)器,已滿足正常的音樂播放要求。音頻功率放大電路由cpld芯片輸出的音頻信號(hào)很微弱,不能直接去驅(qū)動(dòng)揚(yáng)聲器,因此需要一個(gè)音頻放大電路對(duì)輸出的音頻信號(hào)進(jìn)行放大,然后再去驅(qū)動(dòng)揚(yáng)聲器。我們采用由集成功率放大器lm386組成的音頻功率放大器,如圖4.2所示。其中c2是交流耦合電容,將功率放大器的交流輸出送到負(fù)載上,輸出信號(hào)通過rw接到lm386的同相端。c1是退耦電容,r1-c3網(wǎng)絡(luò)起到消除高頻自激振蕩作用。 歌曲選擇

23、本次音樂播放器的設(shè)計(jì)在歌曲的選擇上也至關(guān)重要。由于現(xiàn)在wave、mp3格式音樂的廣泛流行,midi音樂聽起來會(huì)稍顯單調(diào),有些歌曲在用midi放出來的時(shí)候,會(huì)有一些失真,而且沒有mp3格式音樂那么流暢,因此在選歌上要慎重,所以盡量選擇多一些歌曲,通過多次的調(diào)試,調(diào)試出最后放出來效果較好的音樂。經(jīng)過了多次調(diào)試,最后確定了美麗的神話這首歌,這這首歌旋律明朗,耳熟能詳,便于辨識(shí)。而且我很喜歡。芯片制作及系統(tǒng)調(diào)試cpld程序下載本次設(shè)計(jì)采用的是aletra公司的max ii系列,因此,必須用quartus ii軟件系列才能對(duì)該芯片進(jìn)行編譯、仿真、下載等功能。下載模式我們采用jtag線的下載方式。alte

24、ra的quartus ii是業(yè)內(nèi)領(lǐng)先的fpga/cpld設(shè)計(jì)軟件,具有最全面的開發(fā)環(huán)境,實(shí)現(xiàn)無與倫比的性能表現(xiàn)。本次設(shè)計(jì)采用vhdl語言編程設(shè)計(jì)。在quartus軟件中vhdl文本輸入中,輸入所有程序,并建立相應(yīng)的工程項(xiàng)目,直接在該軟件中進(jìn)行編譯及仿真,編譯的同時(shí),可以顯示出當(dāng)前芯片容量是否夠用,如果不夠用,則需要對(duì)程序進(jìn)行進(jìn)一步優(yōu)化,直到容量達(dá)到芯片標(biāo)準(zhǔn)為止。所有準(zhǔn)備就緒后,則通過軟件中的下載功能,通過jtag端口,將程序下載到芯片中。由于筆記本電腦只有通過usb blaster下載,而經(jīng)過測(cè)試win7無法識(shí)別usb blaster。所以只有通過xp虛擬機(jī)來完成這一步,但是可以在win7下進(jìn)

25、行仿真。系統(tǒng)仿真把程序下載到芯片內(nèi)部后,將第四章所介紹的外圍電路與cpld連接后,形成整個(gè)系統(tǒng)。而仿真調(diào)試則主要針對(duì)音符預(yù)置數(shù)模塊,揚(yáng)聲器發(fā)生及分頻模塊和音符儲(chǔ)存模塊進(jìn)行調(diào)試。由于我們這個(gè)程序的頻率較大為4mhz和4hz。經(jīng)過仿真發(fā)現(xiàn)由于周期太大仿真的顯示結(jié)果效果不好。4hz情況下甚至無法正常仿真。所以我們選擇用一些較大的頻率將我們實(shí)際的頻率進(jìn)行等比例的放大。這樣可以方便我們的計(jì)算與觀察。音符儲(chǔ)存模塊仿真音符預(yù)置數(shù)模塊仿真分頻器模塊仿真xp虛擬機(jī)下程序下載成功圖頂層模塊rtl圖結(jié)論通過對(duì)芯片內(nèi)部的編程設(shè)計(jì),加上必要的外圍電路,構(gòu)成了這個(gè)midi音樂播放器的系統(tǒng),整體工作量適中。在前人已有的音樂

26、播放器的基礎(chǔ)上,添加四首歌曲選擇播放,彩燈閃爍,不同音樂的調(diào)試,設(shè)計(jì)更人性化,合理化,同時(shí)也多了幾分創(chuàng)新。在此次設(shè)計(jì)中,所有設(shè)計(jì)要求全部實(shí)現(xiàn),然而在音樂的播放質(zhì)量上仍有一些瑕疵,可能是由于揚(yáng)聲器的質(zhì)量問題或者芯片內(nèi)部產(chǎn)生信號(hào)不穩(wěn)定等關(guān)系,這都有待更多的時(shí)間對(duì)整個(gè)系統(tǒng)進(jìn)行更多的測(cè)試,從而使播放出來的音樂更加悅耳。通過此次設(shè)計(jì),對(duì)可編程邏輯器件cpld/fpga有了更深一步的了解,真正的達(dá)到了將課本中學(xué)習(xí)到的知識(shí)應(yīng)用于實(shí)踐,更深化了對(duì)這個(gè)領(lǐng)域的認(rèn)知度。在設(shè)計(jì)的過程中,還掌握了許多有關(guān)電子領(lǐng)域必要軟件的使用,對(duì)今后的工作都有一定得幫助。參考文獻(xiàn)1 袁慧梅,宋宇.基于cpld的midi音樂播放器的設(shè)計(jì)

27、.微計(jì)算機(jī)信息.2006.11.2 張麗萍,樓勇,朱堯富.利用vhdl語言設(shè)計(jì)數(shù)字電路. 機(jī)械與電氣.2008.5.3 李洋. 現(xiàn)代電子設(shè)計(jì)與創(chuàng)新m.北京:中國(guó)電力出版社,2007.4 袁慧梅,宋宇.midi音樂發(fā)生器芯片的設(shè)計(jì)j.東北師大學(xué)報(bào)(自然科學(xué)版).2006.65 金紅莉,周國(guó)娟. eda技術(shù)及其應(yīng)用j.科學(xué)之友.2008.4vhdl源代碼頂層設(shè)計(jì)模塊library ieee;use ieee.std_logic_1164.all;entity songer isport(clk4mhz:in std_logic; spkout: out std_logic);end;archite

28、cture one of songer iscomponent notetabsport(clk: in std_logic; toneindex: out integer range 0 to 15);end component;component tonetabaport(index: in integer range 0 to 15; tone: out integer range 0 to 16#1fff#);end component;component speakeraport(clk: in std_logic; tone: in integer range 0 to 16#1f

29、ff#; fullspks: out std_logic);end component;signal tone: integer range 0 to 16#1fff#;signal toneindex: integer range 0 to 15;beginu1: notetabs port map(clk=clk4mhz,toneindex=toneindex);u2: tonetaba port map(index=toneindex, tone=tone);u3: speakera port map(clk=clk4mhz, tone=tone, fullspks=spkout);en

30、d;揚(yáng)聲器發(fā)生及分頻模塊library ieee;use ieee.std_logic_1164.all;entity speakera isport(clk: in std_logic; tone: in integer range 0 to 16#1fff#; fullspks: out std_logic);end ;architecture one of speakera issignal clk4mhz:std_logic;beginprocess(clk)variable cnt:integer range 0 to 16#0fff#;variable ff:std_logic;b

31、eginif clkevent and clk=1 thenif cnt2 thencnt:=cnt+1;elsecnt:=0;ff:=not ff; -反向end if;end if;clk4mhz=ff;end process;process(clk4mhz, tone)variable count11: integer range 0 to 20;variable ft:std_logic;begin if clk4mhzevent and clk4mhz=1 thenif count1115 thencount11:=count11+1;elsecount11:=tone;ft:=no

32、t ft;end if;end if;fullspks tone tone tone tone tone tone tone tone tone tone tone tone tone tone tone tonenull;end case;end process;end;音符儲(chǔ)存模塊library ieee;use ieee.std_logic_1164.all;entity notetabs isport(clk: in std_logic; toneindex: out integer range 0 to 15);end;architecture one of notetabs iss

33、ignal clk4hz:std_logic;beginp2:process(clk) variable cnn:integer range 0 to 6249999; -分頻系數(shù)為6249999variable dd:std_logic;beginif clkevent and clk=1 thenif cnn6249999 thencnn:=cnn+1;elsecnn:=0;dd:=not dd; end if;end if;clk4hz =dd;end process p2;process(clk4hz)variable counter :integer range 0 to 130;begin if clk4hzevent and clk4hz=1then if countertoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextonei

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論