版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.PAGE :.;PAGE 18畢 業(yè) 論 文設(shè)計(jì)標(biāo)題:基于FPGA的PS/2鍵盤(pán)鼠標(biāo)控制電子琴 摘要文中引見(jiàn)了電子琴系統(tǒng)的整體設(shè)計(jì),并基于超高速硬件描畫(huà)言語(yǔ)VHDL在Xilinx公司的Spartan系列的2sc200PQ208-5芯片上編程實(shí)現(xiàn).電子琴系統(tǒng)的設(shè)計(jì)包含四個(gè)模塊,分別是控制輸入電路、FPGA、顯示電路和揚(yáng)聲器電路。其中FPGA模塊的設(shè)計(jì)是整個(gè)電子琴系統(tǒng)設(shè)計(jì)的中心內(nèi)容。四個(gè)模塊的有機(jī)組合完成了電子琴自動(dòng)演奏的功能。文中還詳細(xì)引見(jiàn)了FPGA功能模塊的原理及其任務(wù)時(shí)序仿真圖。本產(chǎn)品的特點(diǎn)是本錢(qián)較低,性能穩(wěn)定,精度高,有一定的開(kāi)發(fā)價(jià)值。Design of Electronics_orgo
2、n system based on FPGAAbstract: It will introduce the integrate designelectronics_orgon system based on FPGA. The design will be achieved in the 2sc2005pq208 chipof Xilinx corporation with the VHDL(Very High-speed Description-Language) The design of Electronics_orgon System consist of 4 parts, they
3、are control input circuit、FPGA、display circuit and speaker circuit. The program design of FPGA is the core of the system design. Four parts combined to achieve the automatic play electronics_orgon system. the article illuminates the detail of the basic law of FPGA module and its working timing chara
4、cteristics. Since the most specialty of the product is its low cost、high precision, its worth developing.Keyword: FPGA VHDL Electronics_orgon system Automatic play目 錄摘要2 目錄.3第一章 系統(tǒng)設(shè)計(jì).4 第一節(jié) 設(shè)計(jì)要求.41.1 根本部分1.2 發(fā)揚(yáng)部分第二節(jié) 設(shè)計(jì)思緒.5整體設(shè)計(jì)方案.63.1 方案一.3.2 方案二.3.3 方案三.第四節(jié) 比較方案.FPGA簡(jiǎn)介第一節(jié) FPGA背景FPGA的根本原理2.1 MHZ_gener
5、ator模塊的原理2.2 NoteTabs模塊的原理 ToneTaba模塊的原理2.4 Speakera模塊的原理 第三節(jié) FPGA的根本特點(diǎn) 第四節(jié) FPGA根本構(gòu)造第三章 單元電路設(shè)計(jì).5第一節(jié) 頂層模塊(top)的設(shè)計(jì).5 第二節(jié) 自動(dòng)演奏模塊automusic的設(shè)計(jì)5 第三節(jié) 音調(diào)發(fā)生模塊tone的設(shè)計(jì)5第四節(jié) 數(shù)控分頻模塊speaker的設(shè)計(jì)5第四章 PS2鍵盤(pán)控制電子琴程序第一節(jié) VHDL言語(yǔ)簡(jiǎn)介6第二節(jié) 軟件設(shè)計(jì)6第五章 參考文獻(xiàn).7第六章 附錄.8第一章 系統(tǒng)設(shè)計(jì)第一節(jié) 設(shè)計(jì)要求1.1 根本部分 設(shè)計(jì)一八音電子琴,由鍵盤(pán)輸入來(lái)控制其對(duì)應(yīng)的音響。1.2 發(fā)揚(yáng)部分 設(shè)計(jì)一樂(lè)曲自動(dòng)演
6、奏器,由用戶(hù)本人編制樂(lè)曲存入電子琴,電子琴可以完成自動(dòng)演奏的功能。第二節(jié) 設(shè)計(jì)思緒 經(jīng)過(guò)可編程邏輯器件PLD和VHDL硬件描畫(huà)引言來(lái)實(shí)現(xiàn)電子琴的根本部分和發(fā)揚(yáng)部分的設(shè)計(jì)。對(duì)于根本部分,設(shè)計(jì)的主體是數(shù)控分頻器,對(duì)輸入的頻率進(jìn)展分頻,得到各個(gè)音階對(duì)應(yīng)的頻率最為輸出。對(duì)于發(fā)揚(yáng)部分,那么在原設(shè)計(jì)的根底上,添加一個(gè)樂(lè)曲存儲(chǔ)模塊,替代了鍵盤(pán)輸入,產(chǎn)生節(jié)拍控制index數(shù)據(jù)存留時(shí)間和音階選擇信號(hào),即在此模塊中可存放一個(gè)樂(lè)曲曲譜真值表,由一個(gè)計(jì)數(shù)器來(lái)控制此真值表的輸出,而由此計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號(hào)作為樂(lè)曲節(jié)拍控制信號(hào),從而可以設(shè)計(jì)出一個(gè)純硬件的樂(lè)曲自動(dòng)演奏電路。 經(jīng)過(guò)可編程邏輯器件PLD和VHDL硬件描畫(huà)引言來(lái)
7、實(shí)現(xiàn)電子琴的根本部分和發(fā)揚(yáng)部分的設(shè)計(jì)。對(duì)于根本部分,設(shè)計(jì)的主體是數(shù)控分頻器,對(duì)輸入的頻率進(jìn)展分頻,得到各個(gè)音階對(duì)應(yīng)的頻率最為輸出。對(duì)于發(fā)揚(yáng)部分,那么在原設(shè)計(jì)的根底上,添加一個(gè)樂(lè)曲存儲(chǔ)模塊,替代了鍵盤(pán)輸入,產(chǎn)生節(jié)拍控制index數(shù)據(jù)存留時(shí)間和音階選擇信號(hào),即在此模塊中可存放一個(gè)樂(lè)曲曲譜真值表,由一個(gè)計(jì)數(shù)器來(lái)控制此真值表的輸出,而由此計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號(hào)作為樂(lè)曲節(jié)拍控制信號(hào),從而可以設(shè)計(jì)出一個(gè)純硬件的樂(lè)曲自動(dòng)演奏電路。第三節(jié) 整體設(shè)計(jì)方案3.1 方案一:采用數(shù)字邏輯電路制造,用IC 拼湊焊接實(shí)現(xiàn),這種電路很直觀,簡(jiǎn)一方便。但運(yùn)用數(shù)字邏輯電路制造的話(huà),運(yùn)用的器件較多,銜接復(fù)雜,體積大,功耗大。電路中
8、焊點(diǎn)和線(xiàn)路較多會(huì),使廢品的穩(wěn)定度和精度大大降低。3.2 方案二: 采用現(xiàn)場(chǎng)可編程邏輯器件FPGA制造,利用EDA軟件中的VHDL硬件描畫(huà)言語(yǔ)編程進(jìn)展控制,然后燒制實(shí)現(xiàn).采用FPGA來(lái)設(shè)計(jì)的原理圖如圖1.1所示.它由控制輸入電路、FPGA、顯示電路和揚(yáng)聲器電路組成。控制輸入電路顯示電路FPGA揚(yáng)聲電路圖1.1 采用FPGA設(shè)計(jì)的電子琴原理方框圖 控制輸入電路主要是為用戶(hù)設(shè)計(jì)的,起到一個(gè)輸入控制的作用.FPGA是現(xiàn)場(chǎng)可編程邏輯器件,也是本設(shè)計(jì)方案的中心內(nèi)容,它是實(shí)現(xiàn)電子琴運(yùn)作的主要控制模塊.由設(shè)計(jì)者把編好的VHDL程序燒制到現(xiàn)場(chǎng)可編程邏輯器件FPGA中,然后經(jīng)過(guò)控制輸入電路把樂(lè)譜輸入到FPGA,產(chǎn)
9、生不同的頻率驅(qū)動(dòng)揚(yáng)聲器,發(fā)出不同的樂(lè)譜.同時(shí)也把發(fā)出的樂(lè)譜符號(hào)經(jīng)過(guò)顯示器輸出.3.3 方案三: 單片機(jī)如今曾經(jīng)到達(dá)很成熟的階段了,它的運(yùn)用也非常廣泛. 采用單片機(jī)來(lái)實(shí)現(xiàn)電子琴,它的原理方框圖與用FPGA來(lái)實(shí)現(xiàn)的原理方框圖類(lèi)似,如圖1.2所示.控制輸入電路顯示電路MCU(單片機(jī))揚(yáng)聲器電路圖1.2 采用單片機(jī)實(shí)現(xiàn)電子琴的原理方框圖 圖1.1和圖1.2的根本原理都一樣,獨(dú)一不同的是一個(gè)是用FPGA來(lái)制造一個(gè)是用單片機(jī)來(lái)實(shí)現(xiàn).采用單片機(jī)來(lái)實(shí)現(xiàn)電子琴,主要的中心是單片機(jī)的設(shè)計(jì). 第四節(jié) 比較方案 對(duì)于電子琴的設(shè)計(jì),三個(gè)方案均可以實(shí)現(xiàn),但是第一個(gè)方案中采用的是數(shù)字邏輯電路來(lái)制造,該電路硬件所需的器材多,
10、體積龐大,比較復(fù)雜,而且精度和穩(wěn)定度都不是很高.第二個(gè)方案采用的是現(xiàn)場(chǎng)可編程邏輯器件來(lái)實(shí)現(xiàn), 它的優(yōu)點(diǎn)是一切電路集成在一塊芯片上,此方案所需的外圍電路簡(jiǎn)單,這樣它的體積就減少了,同時(shí)還提高了系統(tǒng)的穩(wěn)定度。還可以用Modelsim XE 5.3d軟件進(jìn)展仿真和調(diào)試等。設(shè)計(jì)人員可以充分利用VHDL硬件描畫(huà)言語(yǔ)方便的編程,提高開(kāi)發(fā)效率,縮短研發(fā)周期,降低研發(fā)本錢(qián);而且易于進(jìn)展功能的擴(kuò)展,實(shí)現(xiàn)方法靈敏,調(diào)試方便,修正容易.方案三也有它的優(yōu)點(diǎn),但同時(shí)也存在缺陷.它對(duì)設(shè)計(jì)者的要求比較高,設(shè)計(jì)者對(duì)軟硬件必需非常熟習(xí).和方案二來(lái)比它的實(shí)驗(yàn)仿真沒(méi)有方案二簡(jiǎn)單直觀,調(diào)試也有一定的難度.在外界環(huán)境一樣的條件下,方案
11、三設(shè)計(jì)出來(lái)的產(chǎn)品精度和穩(wěn)定度要比如案二略微差一些.因此,電子琴的設(shè)計(jì)我們選擇方案二來(lái)實(shí)現(xiàn)第二章 FPGA簡(jiǎn)介第一節(jié) FPGA 背景目前以硬件描畫(huà)言語(yǔ)Verilog 或 VHDL所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn) HYPERLINK baike.baidu/image/734f12f3d4b952d80a46e0a3 o 查看圖片 t _blank 單的綜合與規(guī)劃,快速的燒錄至 FPGA 上進(jìn)展測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些根本的邏輯門(mén) HYPERLINK baike.baidu/view/134362.htm t _blank 電路比如AND、OR、XOR、
12、NOT或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如 HYPERLINK baike.baidu/view/71792.htm t _blank 觸發(fā)器Flipflop或者其他更加完好的記憶塊。 HYPERLINK baike.baidu/view/2825452.htm t _blank 系統(tǒng)設(shè)計(jì)師可以根據(jù)需求經(jīng)過(guò)可編輯的銜接把FPGA內(nèi)部的邏輯塊銜接起來(lái),就好似一個(gè)電路實(shí)驗(yàn)板被放在了一個(gè) HYPERLINK baike.baidu/view/26651.htm t _blank 芯片里。一個(gè)出廠后的廢品FPGA的邏輯塊和銜接可以
13、按照設(shè)計(jì)者而改動(dòng),所以FPGA可以完成所需求的邏輯功能。 FPGA普通來(lái)說(shuō)比ASIC公用 HYPERLINK baike.baidu/view/2827837.htm t _blank 集成芯片的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),而且耗費(fèi)更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速?gòu)U品,可以被修正來(lái)矯正程序中的錯(cuò)誤和更廉價(jià)的造價(jià)。廠商也能夠會(huì)提供廉價(jià)的但是編輯才干差的FPGA。由于這些芯片有比較差的可編輯才干,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類(lèi)似于ASIC的芯片上。另外一種方法是用CPLD復(fù)雜 HYPERLINK baike.baidu/view/333155.
14、htm t _blank 可編程邏輯器件備。 第二節(jié) FPGA的根本原理2.1 MHZ_generator模塊的原理 分頻器的輸入是一個(gè)規(guī)范時(shí)鐘頻率,輸出是每秒12MHZ的頻率和8HZ的頻率。其內(nèi)部實(shí)踐是一個(gè)計(jì)數(shù)器,根據(jù)所需求的要求進(jìn)展不同的分頻設(shè)計(jì)。本程序中知規(guī)范頻率為32MHZ,要得到12MHZ和8HZ的頻率,經(jīng)過(guò)計(jì)算我們可以確定它的分頻系數(shù). MHZ_generator模塊的任務(wù)時(shí)序仿真圖(略),它的程序見(jiàn)附錄2.2 NoteTabs模塊的原理 NoteTabs模塊其實(shí)就是一個(gè)樂(lè)譜預(yù)置器,可設(shè)置電子琴演奏的樂(lè)譜.原理很簡(jiǎn)單即來(lái)一個(gè)脈沖輸出一個(gè)已設(shè)置好的樂(lè)譜.假定預(yù)先設(shè)計(jì)的樂(lè)譜為3 3 3
15、 5 5 5 6 2 1 1 3 3 3 3 3 3它的輸出任務(wù)時(shí)序仿真圖如圖2.2所示,程序見(jiàn)附錄.圖2.2 NoteTabs模塊的任務(wù)原理仿真圖2.3 ToneTaba模塊的原理 ToneTaba模塊是一個(gè)音階發(fā)生器,本質(zhì)是譯碼電路,控制音調(diào)的預(yù)置數(shù).樂(lè)譜信號(hào)是該模塊的敏感信號(hào), 輸入的每一個(gè)樂(lè)譜都將被譯成與之相對(duì)映的頻率從Tone端口輸出去控制Speakera模塊,讓Speakera模塊發(fā)出不同的音調(diào).ToneTaba模塊在將樂(lè)譜譯成相映的頻率的同時(shí)會(huì)將樂(lè)譜的符號(hào)從codel輸出到顯示部分,并判別樂(lè)譜是高音還是低音,再?gòu)膆ighl端口輸出去顯示.在ToneTaba模塊的設(shè)計(jì)中tone的計(jì)
16、算很重要,tone是根據(jù)產(chǎn)生該音階頻率所對(duì)應(yīng)的分頻比獲得的.此值是經(jīng)過(guò)查表和計(jì)算所到,查表我們可以知道每個(gè)樂(lè)譜符號(hào)的頻率,然后計(jì)算出要得到該樂(lè)譜的頻率所需的分頻系數(shù).例如音符1的發(fā)音,經(jīng)過(guò)查表得它的頻率是785HZ左右,我們要計(jì)算tone的值可由公式:音符頻率=振蕩頻率/(16#7FF#-tone的值)振蕩頻率是經(jīng)過(guò)分頻之后得到的,在此是1MHZ,由公式可計(jì)算出tone的值為:773.為了進(jìn)一步了解ToneTaba模塊的任務(wù)原理,可假定一些參數(shù)進(jìn)展仿真.設(shè)它的輸入樂(lè)譜為: 3 3 3 3 5 5 5 2 1 1 3 12 15 3 那么ToneTaba模塊的任務(wù)時(shí)序仿真圖如圖2.3所示,程序見(jiàn)
17、附錄.圖2.3 ToneTaba模塊的任務(wù)時(shí)序仿真圖2.4 Speakera模塊的原理 模塊Speakera中的主要電路是一個(gè)數(shù)控分頻器,它由一個(gè)初值可預(yù)置的加法計(jì)數(shù)器和兩個(gè)分頻器構(gòu)成.數(shù)控分頻器的功能就是當(dāng)輸入端給定不同的輸入時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比, Speakera模塊中的數(shù)控分頻器就是用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)完成的,方法是將計(jì)數(shù)溢出位與預(yù)置數(shù)加載輸入信號(hào)相接即可.當(dāng)模塊Speakera由端口tone獲得一個(gè)十進(jìn)制數(shù)后,將以此值為計(jì)數(shù)器的預(yù)置數(shù),對(duì)端口CLK12MHZ輸入的頻率進(jìn)展分頻,之后將輸出再進(jìn)展2分頻,將脈沖展寬,以使揚(yáng)聲器有足夠功率發(fā)音,最后由SPKOUT
18、向揚(yáng)聲器輸出發(fā)聲. Speakera模塊的任務(wù)時(shí)序仿真圖如圖2.4所示,程序見(jiàn)附錄.注:為了能明晰的看到輸入與輸出的關(guān)系,第一次分頻系數(shù)設(shè)的是2,第二次分頻系數(shù)設(shè)的是5,第三次是2.圖2.4 Speakera模塊的任務(wù)時(shí)序仿真圖第三節(jié) FPGA的根本特點(diǎn)1采用FPGA設(shè)計(jì)ASIC電路(HYPERLINK baike.baidu/view/380272.htm t _blank 公用集成電路),用戶(hù)不需求投片消費(fèi),就能得到合用的芯片。 2FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。 4FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小
19、的器件之一。 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最正確選擇之一。 FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其任務(wù)形狀的,因此,任務(wù)時(shí)需求對(duì)片內(nèi)的RAM進(jìn)展編程。用戶(hù)可以根據(jù)不同的配置方式,采用不同的編程方式。 加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGAHYPERLINK baike.baidu/view/5461.htm t _blank 進(jìn)入任務(wù)形狀。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消逝,因此,F(xiàn)PGA可以反復(fù)運(yùn)用。FPGA的編程無(wú)須公用的FP
20、GAHYPERLINK baike.baidu/view/1164883.htm t _blank 編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需求修正FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的運(yùn)用非常靈敏第四節(jié) FPGA根本構(gòu)造FPGA具有掩膜可編程門(mén)陣列的通用構(gòu)造,它由邏輯功能塊排成陣列組成,并由可編程的互連資源銜接這些邏輯功能塊來(lái)實(shí)現(xiàn)不同的設(shè)計(jì)。 下面以Xilinx公司的FPGA為例,分析其構(gòu)造特點(diǎn)。FPGA普通由三種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。這三種可編程電路是:可編程
21、邏輯塊(Configurable Logic Block,CLB)、輸入/輸出模塊(I/O Block,IOB)和互連資源(Interconnect Resource,IR)。FPGA的根本構(gòu)造如圖1.19所示,可編程邏輯塊(CLB)是實(shí)現(xiàn)邏輯功能的根本單元,它們通常規(guī)那么地陳列成一個(gè)陣列,分布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常陳列在芯片的周?chē)?;可編程互連資源(IR)包括各種長(zhǎng)度的連線(xiàn)線(xiàn)段和一些可編程銜接開(kāi)關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間銜接起來(lái),構(gòu)成特定功能的電路。FPGA的功能由邏輯構(gòu)造的配置數(shù)據(jù)決議。任務(wù)時(shí),
22、這些配置數(shù)據(jù)存放在片內(nèi)的SRAM或熔絲圖上?;赟RAM的FPGA器件,在任務(wù)前需求從芯片外部加載配置數(shù)據(jù),配置數(shù)據(jù)可以存儲(chǔ)在片外的EPROM或其他存儲(chǔ)體上。用戶(hù)可以控制加載過(guò)程,在現(xiàn)場(chǎng)修正器件的邏輯功能,即所謂的現(xiàn)場(chǎng)編程。第三章 單元電路設(shè)計(jì) .第一節(jié) 頂層模塊(top)的設(shè)計(jì) VHDL采用的是自頂向下的設(shè)計(jì)方式,頂層模塊由樂(lè)曲自動(dòng)演奏automusic,音調(diào)發(fā)生器tone和數(shù)控分頻器speaker三個(gè)模塊組成。圖2-1-1即是頂層設(shè)計(jì)原理圖。其中樂(lè)曲演奏部分又包括了鍵盤(pán)編碼。設(shè)置一個(gè)自動(dòng)演奏/鍵盤(pán)輸入切換auto,即當(dāng)auto=0時(shí),選擇自動(dòng)演奏音樂(lè)存儲(chǔ)器里面的樂(lè)曲,auto=1時(shí),選擇由
23、鍵盤(pán)輸入的信號(hào),再對(duì)其進(jìn)展編碼,輸出的都是八位二進(jìn)制數(shù),對(duì)應(yīng)音調(diào)發(fā)生器的輸入。 圖2-1-1 頂層設(shè)計(jì)原理圖第二節(jié) 自動(dòng)演奏模塊(automusic)的設(shè)計(jì) 為了實(shí)現(xiàn)擴(kuò)展部分的設(shè)計(jì),便需求多加上一個(gè)音樂(lè)存儲(chǔ)模塊,該模塊的作用是產(chǎn)生8位發(fā)聲控制輸入index,auto為0或1時(shí)可以選擇自動(dòng)演奏或者鍵盤(pán)輸入,假設(shè)auto為0,那么而由存儲(chǔ)在此模塊中的8位二進(jìn)制數(shù)來(lái)作為發(fā)聲控制輸入,由此便可自動(dòng)演奏樂(lè)曲。此模塊的VHDL言語(yǔ)中包括兩個(gè)進(jìn)程,首先是對(duì)基準(zhǔn)脈沖進(jìn)展分頻得到4Hz的脈沖,作為第二個(gè)進(jìn)程的時(shí)鐘信號(hào),它的目的是控制每個(gè)音階之間的停頓時(shí)間,此處便是1/4=0.25s,第二個(gè)進(jìn)程是音樂(lè)的存儲(chǔ),可根
24、據(jù)需求編寫(xiě)不同的樂(lè)曲。第三節(jié) 音調(diào)發(fā)生器(tone)模塊的設(shè)計(jì)音調(diào)發(fā)生器的作用是產(chǎn)生獲得音階的分頻預(yù)置值。當(dāng)8位發(fā)聲控制輸入index中的某一位為高電平常,那么對(duì)應(yīng)某一音階的數(shù)值將以端口tone輸出,作為獲得該音階的分頻預(yù)置值,該值作為數(shù)控分頻器的輸入,來(lái)對(duì)4MHz的脈沖進(jìn)展分頻,由此得到每個(gè)音階相應(yīng)的頻率,例如輸入index=00000010,即對(duì)應(yīng)的按鍵是2,產(chǎn)生的分頻系數(shù)便是6809;由code輸出對(duì)應(yīng)該音階簡(jiǎn)譜的顯示數(shù)碼;由high輸出指示音階高8度的顯示,低電平有效。第四節(jié) 數(shù)控分頻模塊speaker的設(shè)計(jì)數(shù)控分頻模塊的目的是對(duì)基準(zhǔn)脈沖分頻,得到1,2,3,4,5,6,7七個(gè)音符對(duì)應(yīng)
25、頻率。該模塊的VHDL描畫(huà)中包含了三個(gè)進(jìn)程。首先對(duì)32MHz的基準(zhǔn)脈沖進(jìn)展分頻得到8MHz的脈沖,然后按照tone1輸入的分頻系數(shù)對(duì)4MHz的脈沖再次分頻,得到的便是所需求的頻率。而第三個(gè)進(jìn)程的作用是在音調(diào)輸出時(shí)再進(jìn)展二分頻,將脈沖展寬,以使揚(yáng)聲器有足夠功率發(fā)音。第四章 PS2鍵盤(pán)控制電子琴程序第一節(jié) VHDL硬件描畫(huà)言語(yǔ)簡(jiǎn)介PLD的軟件已開(kāi)展得相當(dāng)完善,利用VHDL硬件描畫(huà)言語(yǔ)來(lái)實(shí)現(xiàn)程序的編制,這樣硬件的功能描畫(huà)可以完全在軟件上實(shí)現(xiàn)。VHDL是用于邏輯設(shè)計(jì)的硬件描畫(huà)言語(yǔ),成為IEEE規(guī)范。它作為描畫(huà)硬件電路的言語(yǔ),有以下特點(diǎn):1 VHDL的寬范圍描畫(huà)才干使它成為高層次設(shè)計(jì)的中心,將設(shè)計(jì)人員的
26、任務(wù)重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,而花較少的精神于物理實(shí)現(xiàn)。2 VHDL可以用簡(jiǎn)約明確的代碼描畫(huà)來(lái)進(jìn)展復(fù)雜控制邏輯的設(shè)計(jì),靈敏且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保管和重用。3VHDL的設(shè)計(jì)不依賴(lài)于特定的器件,同一個(gè)HDL原碼可以綜合成FPGA或ASIC,方便了工藝的轉(zhuǎn)換。4VHDL是一個(gè)規(guī)范言語(yǔ),為眾多的EDA廠商支持,而且設(shè)計(jì)出來(lái)的電路大多數(shù)并行運(yùn)轉(zhuǎn),因此移植性好且速度快。采用VHDL言語(yǔ)設(shè)計(jì)復(fù)雜數(shù)字電路的方法具有很多優(yōu)點(diǎn),其言語(yǔ)的設(shè)計(jì)技術(shù)齊全、方法靈敏、支持廣泛。它可以支持自頂向下Top Down和基于庫(kù)Library_Based的設(shè)計(jì)方法,而且還支持同步電路、異步電路、FPGA以及其
27、他隨機(jī)電路的設(shè)計(jì),其范圍很廣,言語(yǔ)的語(yǔ)法比較嚴(yán)厲,給閱讀和運(yùn)用都帶來(lái)了極大的益處。第二節(jié) 軟件設(shè)計(jì)本設(shè)計(jì)采用Xilinx公司的EDA軟件系統(tǒng)Foundation Series ISE 4.2i來(lái)完成。采用自頂向下的設(shè)計(jì)方法。圖3.2.1為其軟件流程圖。軟件設(shè)計(jì)采用構(gòu)造化程序設(shè)計(jì)方法,功能模塊各自獨(dú)立,實(shí)踐上在設(shè)計(jì)中將鍵盤(pán)輸入和樂(lè)曲存儲(chǔ)放在了一個(gè)自動(dòng)演奏模塊中,軟件設(shè)計(jì)的中心部分是數(shù)控分頻器,鍵盤(pán)輸入和樂(lè)曲儲(chǔ)存都是提供應(yīng)它相應(yīng)的分頻比。對(duì)輸入的基準(zhǔn)時(shí)鐘進(jìn)展多次分頻,最終輸出的就是想得到的音階的頻率。VHDL描畫(huà)言語(yǔ)和仿真圖詳見(jiàn)附錄。 第五章 終了語(yǔ)本設(shè)計(jì)利用超高速硬件描畫(huà)言語(yǔ)VHDL實(shí)現(xiàn)了電子琴
28、的自動(dòng)演奏和鍵盤(pán)輸入發(fā)音的簡(jiǎn)易功能,經(jīng)過(guò)編程,綜合,仿真,下載,芯片燒制,最終做出廢品,測(cè)試情況良好,可以精確實(shí)現(xiàn)音階的發(fā)音功能,可切換到自動(dòng)演奏存儲(chǔ)好的樂(lè)曲,可根據(jù)需求更改程序而實(shí)現(xiàn)不同的樂(lè)曲存儲(chǔ)。在設(shè)計(jì)實(shí)驗(yàn)時(shí),我本來(lái)想做一個(gè)電子琴,可是由于對(duì)根底知識(shí)不夠熟練,最終沒(méi)有勝利,這個(gè)硬件演奏電路是之后匆忙整的,有很多粗糙的地放,主要是參考了實(shí)驗(yàn)教材上的程序,實(shí)驗(yàn)過(guò)程中,犯了很多應(yīng)該防止的小錯(cuò)誤,比如在編寫(xiě)頂層銜接文件時(shí),只是單純按照本人的想法和例題去編寫(xiě),后來(lái)發(fā)現(xiàn)編譯的結(jié)果有錯(cuò)誤。后來(lái)發(fā)現(xiàn)是由于管腳的稱(chēng)號(hào)和模塊的稱(chēng)號(hào)一樣或相近導(dǎo)致的,后來(lái)在教師的指點(diǎn)下發(fā)現(xiàn)問(wèn)題所在,從而處理了問(wèn)題。 1第六章 附
29、錄 與利用微處置器(CPU或MCU)來(lái)實(shí)現(xiàn)樂(lè)曲演奏相比,以純硬件完成樂(lè)曲演奏電路的邏輯要復(fù)雜得多,假設(shè)不借助于功能強(qiáng)大的EDA工具和硬件描畫(huà)言語(yǔ),僅憑傳統(tǒng)的數(shù)字邏輯技術(shù),即使最簡(jiǎn)單的演奏電路也難以實(shí)現(xiàn)。如何運(yùn)用EDA工具設(shè)計(jì)電子系統(tǒng)是人們普遍關(guān)懷的問(wèn)題,本設(shè)計(jì)在美國(guó)ALTERA公司MAX + plus的EDA軟件平臺(tái)上,運(yùn)用層次化設(shè)計(jì)方法,實(shí)現(xiàn)了樂(lè)曲發(fā)生器的設(shè)計(jì)。樂(lè)曲選取中化蝶部分,其簡(jiǎn)譜如圖1所示。1、系統(tǒng)構(gòu)造描畫(huà) 1本設(shè)計(jì)完全用VHDL言語(yǔ)實(shí)現(xiàn)的主系統(tǒng)由頂層文件SONGER.VHD和三個(gè)底層模塊組成,有TONETABA.VHD,NOTETABS.VHD和SPCAKERA.VHD2源代碼1.
30、頂層文件1.SONGER.VHD. 頂層文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SONGER IS PORT(CLK12MHZ:IN STD_LOGIC; CLK8HZ:IN STD_LOGIC; CODE1:OUT INTEGER RANGE 0 TO 15; HIGH1:OUT STD_LOGIC; SPKOUT: OUT STD_LOGIC);END ENTITY SONGER;ARCHITECTURE one OF SONGER IS COMPONENT NOTETABS PORT(CLK:IN STD_LOGIC; TONE
31、INDEX:OUT INTEGER RANGE 0 TO 15); END COMPONENT; COMPONENT TONETABA PORT( INDEX: IN INTEGER RANGE 0 TO 15; CODE: OUT INTEGER RANGE 0 TO 15; HIGH:OUT STD_LOGIC; TONE:OUT INTEGER RANGE 0 TO 16#7FF#); END COMPONENT; COMPONENT SPEAKERA PORT( CLK: IN STD_LOGIC; TONE:IN INTEGER RANGE 0 TO 16#7FF#; SPKS: O
32、UT STD_LOGIC); END COMPONENT; SIGNAL TONE:INTEGER RANGE 0 TO 16#7FF#; SIGNAL TONEINDEX:INTEGER RANGE 0 TO 15;BEGINU1:NOTETABS PORT MAP(CLK=CLK8HZ,TONEINDEX=TONEINDEX);U2:TONETABA PORT MAP(INDEX=TONEINDEX,TONE=TONE,CODE=CODE1,HIGH=HIGH1);U3:SPEAKERA PORT MAP(CLK=CLK12MHZ,TONE=TONE,SPKS=SPKOUT);END; 底
33、層文件 1.TONETABA.VHD 用來(lái)查詢(xún)音調(diào)頻率LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TONETABA IS PORT(INDEX: IN INTEGER RANGE 0 TO 15; CODE:OUT INTEGER RANGE 0 TO 15; -定義錯(cuò)的輸出引腳 HIGH:OUT STD_LOGIC; -定義high輸出引腳 TONE:OUT INTEGER RANGE 0 TO 16#7FF#); -定義tone輸出引腳END TONETABA;ARCHITECTURE one OF TONETABA ISBEGIN SE
34、ARCH:PROCESS(INDEX) BEGIN CASE INDEX IS -此項(xiàng)用來(lái)檢索音調(diào)的頻率,高八度和低八度 共十六個(gè)音符 WHEN 0 =TONE=2047;CODE=0;HIGHTONE=773;CODE=1;HIGHTONE=912;CODE=2;HIGHTONE =1036;CODE=3;HIGHTONE =1116;CODE=4;HIGHTONE =1197;CODE=5;HIGHTONE =1290;CODE=6;HIGHTONE =2;CODE=7;HIGHTONE =1410;CODE=1;HIGHTONE =1480;CODE=2;HIGHTONE =1542;C
35、ODE=3;HIGHTONE =1590;CODE=4;HIGHTONE =1622;CODE=5;HIGHTONE =1668;CODE=6;HIGHTONE =1692;CODE=7;HIGHTONE =1728;CODE=1;HIGH NULL; END CASE; END PROCESS;END; SPEAKERA.VHD - 用來(lái)分頻 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SPEAKERA IS PORT(CLK:IN STD_LOGIC; TONE:IN INTEGER RANGE 0 TO 16#7FF#; SPKS:OU
36、T STD_LOGIC);END SPEAKERA;ARCHITECTURE behav OF SPEAKERA IS SIGNAL PRECLK,FULLSPKS:STD_LOGIC; BEGINDIVIDECLK:PROCESS(CLK) VARIABLE COUNT4:INTEGER RANGE 0 TO 15; BEGIN PRECLK11 THEN PRECLK=1;COUNT4:=0; ELSIF CLKEVENT AND CLK=1 THEN COUNT4:=COUNT4+1; END IF; END PROCESS;GENSPKS:PROCESS(PRECLK,TONE) VA
37、RIABLE COUNT11:INTEGER RANGE 0 TO 16#7FF#; BEGINIF PRECLKEVENT AND PRECLK=1 THEN IF COUNT11=16#7FF# THEN COUNT11:=TONE;FULLSPKS=1; ELSE COUNT11:=COUNT11+1;FULLSPKS=0; END IF;END IF;END PROCESS;DELAYSPKS:PROCESS(FULLSPKS) VARIABLE COUNT2:STD_LOGIC; BEGIN IF FULLSPKSEVENT AND FULLSPKS=1 THEN COUNT2:=N
38、OT COUNT2; IF COUNT2=1 THEN SPKS=1; ELSE SPKS=0; END IF; END IF;END PROCESS;END behav;NOTETAB.VHD -用來(lái)存譜 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY NOTETABS IS PORT( CLK:IN STD_LOGIC; TONEINDEX:OUT INTEGER RANGE 0 TO 15);END NOTETABS;ARCHITECTURE one OF NOTETABS IS SIGNAL COUNTER:INTEGER RANGE 0 TO ;BEGIN CNT8:PROCESS(CLK)BEGIN IF COUNTER=39 THEN COUNTER=0; ELSIF(CLKEVENT AND CLK=1)THEN COUNTERtoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextoneindextonei
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳染病防治的法律法規(guī)-課件
- 安全生產(chǎn)基礎(chǔ)認(rèn)知課件
- 《漢日經(jīng)濟(jì)翻譯》課件
- 2021年山東省青島市大學(xué)英語(yǔ)6級(jí)大學(xué)英語(yǔ)六級(jí)預(yù)測(cè)試題(含答案)
- 《輔料的設(shè)計(jì)與制作》課件
- 《木材及其產(chǎn)品》課件
- 《滅火預(yù)案制定》課件
- 《新石器時(shí)代的文化》課件
- 2021年歷年中醫(yī)執(zhí)業(yè)醫(yī)師真題
- 2021年考研考試真題英語(yǔ)(二)試題
- MOOC 外科護(hù)理學(xué)-中山大學(xué) 中國(guó)大學(xué)慕課答案
- 托福聽(tīng)力課件
- 事業(yè)單位年度考核方案
- 2024年土地管理法
- 醫(yī)學(xué)統(tǒng)計(jì)學(xué):醫(yī)學(xué)統(tǒng)計(jì)學(xué)課后習(xí)題答案
- 框架玻璃幕墻施工工藝
- 全球50強(qiáng)藥企官網(wǎng)及LOGO匯總
- 2024年福建省投資開(kāi)發(fā)集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 23秋國(guó)家開(kāi)放大學(xué)《法律職業(yè)倫理》形考任務(wù)1-3參考答案
- 全國(guó)自然教育中長(zhǎng)期發(fā)展規(guī)劃
- 中等職業(yè)學(xué)校2024年中等職業(yè)教育質(zhì)量年度報(bào)告
評(píng)論
0/150
提交評(píng)論