




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目目 錄錄 1.1.引言引言 .1 1 2.2.系統(tǒng)設(shè)計(jì)總述系統(tǒng)設(shè)計(jì)總述 .2 2 2.1 系統(tǒng)設(shè)計(jì)要求.2 2.2 系統(tǒng)設(shè)計(jì)原理.2 2.3 系統(tǒng)結(jié)構(gòu).3 3.3.單元模塊設(shè)計(jì)單元模塊設(shè)計(jì) .6 6 3.1 音符數(shù)據(jù)地址發(fā)生器模塊 cnt138t.6 3.2 分頻預(yù)置查表電路模塊 f_code .8 3.3 數(shù)控分頻器模塊 spker.10 3.4 音符數(shù)據(jù)模塊 rom music.12 4 4結(jié)語(yǔ)結(jié)語(yǔ) .1414 基于 quartus ii 的樂曲演奏電路設(shè)計(jì) 學(xué)生姓名:李秉臻 指導(dǎo)老師:竇海鵬 內(nèi)容提要:隨著電子設(shè)計(jì)自動(dòng)化和可編程邏輯器件的出現(xiàn)和飛速發(fā)展,在設(shè)計(jì)周期得到大大縮 減的同時(shí)系
2、統(tǒng)成本也有了大幅度降低,顯然標(biāo)準(zhǔn)邏輯器件的組裝已遠(yuǎn)不能滿足這方面的要求。而 verilog hdl 能提供高階電路描述語(yǔ)言的方式,讓復(fù)雜的的電路可以通過 verilog hdl 編輯器的 電路合成方式,輕松而且快速的達(dá)到設(shè)計(jì)的規(guī)格。 本次設(shè)計(jì)在 eda 開發(fā)平臺(tái) quartus ii8.0 上利用 verilog hdl 語(yǔ)言設(shè)計(jì)數(shù)控分頻器電路,利用 數(shù)控分頻的原理設(shè)計(jì)音樂硬件演奏電路,并定制 rom 存儲(chǔ)音樂數(shù)據(jù),以梁祝樂曲為例,將音樂 數(shù)據(jù)存儲(chǔ)到開發(fā)板 rom 中,就達(dá)到了以純硬件的手段來實(shí)現(xiàn)樂曲的演奏效果。 關(guān)鍵詞:eda 硬件樂曲演奏 dhl 語(yǔ)言 quartus ii8.0 1.引言
3、引言 eda 是 electronic design automation(電子設(shè)計(jì)自動(dòng)化)的縮寫。eda 技術(shù)1就是依靠功能強(qiáng) 大的電子計(jì)算機(jī),在 eda 工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言 hdl(hardware description language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu) 化和仿真,直至下載到可編程邏輯器件 cpld/fpga 或?qū)S眉呻娐?asic 芯片中,實(shí)現(xiàn)既定的 電子電路設(shè)計(jì)功能。 eda 技術(shù)伴隨著計(jì)算機(jī)、集成電路和電子系統(tǒng)設(shè)計(jì)的發(fā)展,經(jīng)歷了計(jì)算機(jī)輔助設(shè)計(jì) (computer assist design,cad)、計(jì)算機(jī)
4、輔助工程設(shè)計(jì)(computer assist engineering design,caed)和電子設(shè)計(jì)自動(dòng)化(electronic design automation,eda)三個(gè)發(fā)展階段。未來的 eda 技術(shù)將向廣度和深度兩個(gè)方向發(fā)展,eda 將會(huì)超越電子設(shè)計(jì)的范疇進(jìn)入其他領(lǐng)域,隨著基 于 eda 的 soc(單片系統(tǒng))設(shè)計(jì)技術(shù)的發(fā)展,軟硬核功能庫(kù)的建立,以及基于 hdl 所謂自頂向下 設(shè)計(jì)理念的確立,未來的電子系統(tǒng)的設(shè)計(jì)與規(guī)劃將不再是電子工程師們的專利。有專家認(rèn)為,21 世紀(jì)將是 eda 技術(shù)快速發(fā)展的時(shí)期,并且 eda 技術(shù)將是對(duì) 21 世紀(jì)產(chǎn)生重大影響的十大技術(shù)之 一2。 樂曲演奏廣
5、泛用于自動(dòng)答錄裝置、手機(jī)鈴聲、集團(tuán)電話及智能儀器儀表設(shè)備。實(shí)現(xiàn)方法有許 多種,在眾多的實(shí)現(xiàn)方法中,以純硬件完成樂曲演奏,隨著 fpga 集成度的提高,價(jià)格下降, eda 設(shè)計(jì)工具更新?lián)Q代,功能日益普及與流行,使這種方案的應(yīng)用越來越多。pfga 預(yù)裝了很多 已構(gòu)造好的參數(shù)化庫(kù)單元 lpm 器件,通過引入支持 lpm 的 eda 軟件工具,設(shè)計(jì)者可以設(shè)計(jì)出 結(jié)構(gòu)獨(dú)立而且硅片的使用效率非常高的產(chǎn)品3。 本文按照 eda 開發(fā)流程,采用 verilog hdl 硬件描述語(yǔ)言開發(fā),將樂曲硬件演奏電路設(shè)計(jì) 進(jìn)行模塊化分解,層次化設(shè)計(jì),分成幾個(gè)單獨(dú)的結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體實(shí)現(xiàn)部分功能,最后,經(jīng)頂 層文件將各單獨(dú)
6、結(jié)構(gòu)體進(jìn)行綜合,實(shí)現(xiàn)樂曲硬件演奏。 2.系統(tǒng)設(shè)計(jì)總述系統(tǒng)設(shè)計(jì)總述 2.1 系系統(tǒng)設(shè)計(jì)統(tǒng)設(shè)計(jì)要求要求 與利用微處理器(cpu 或 mcu)來實(shí)現(xiàn)樂曲演奏相比,以純硬件完成樂曲演奏電路的邏輯 要復(fù)雜一些,如果不借助功能強(qiáng)大的 eda 工具和硬件描述語(yǔ)言,僅憑傳統(tǒng)的數(shù)字邏輯技術(shù),即 使最簡(jiǎn)單的演奏電路也難以有效實(shí)現(xiàn)。所以本實(shí)驗(yàn)設(shè)計(jì)項(xiàng)目的目標(biāo)是軟件上實(shí)現(xiàn)硬件樂曲演奏電 路系統(tǒng)仿真與調(diào)試;硬件上實(shí)現(xiàn)樂曲的發(fā)聲播放與樂曲簡(jiǎn)譜顯示功能,即當(dāng)演奏電路播放樂曲時(shí), 能夠?qū)?dāng)前播放的音符通過一列發(fā)光二極管以二進(jìn)制的形式予以顯示樂曲高音顯示功能。如果電 路正在播放高音音符,那么將有一個(gè)發(fā)光二極管點(diǎn)亮來顯示。 主要工
7、作:根據(jù)硬件演奏電路的功能進(jìn)行全局分析,采用自上至下的設(shè)計(jì)方法,從系統(tǒng)總體 要求出發(fā),逐步將設(shè)計(jì)內(nèi)容細(xì)化,最后完成系統(tǒng)結(jié)構(gòu)的整體設(shè)計(jì)。實(shí)現(xiàn)功能樂曲播放,需要完成 以下設(shè)計(jì): (1)預(yù)置樂曲,本文選取了梁祝的一段作預(yù)置,作預(yù)置時(shí),需要將樂曲音符轉(zhuǎn)換成相應(yīng) 的代碼,通過計(jì)算逐一將音符轉(zhuǎn)換成代碼,通過 eda 開發(fā)平臺(tái) quartus ii8.0 進(jìn)行樂曲定制。 (2)為了提供樂曲發(fā)音所需要的發(fā)音頻率,編寫數(shù)控分頻器程序,對(duì)單一輸入高頻,進(jìn)行預(yù) 置數(shù)分頻,生成每個(gè)音符發(fā)音的相應(yīng)頻率。 (3)為了給分頻提供預(yù)置數(shù),需要計(jì)算分頻預(yù)置數(shù)。 (4)對(duì)每部分結(jié)構(gòu)單元逐一進(jìn)行編譯,生成相應(yīng)的元器件符號(hào),并對(duì)獨(dú)立
8、結(jié)構(gòu)單元功能進(jìn)行 仿真。 (5)連接獨(dú)立結(jié)構(gòu)模塊,形成完整的樂曲演奏電路。 (6) 應(yīng)將其輸入信號(hào)鎖定在芯片確定的引腳上,編譯后下載,對(duì)此電路進(jìn)行硬件測(cè)試。 2.2 系系統(tǒng)設(shè)計(jì)統(tǒng)設(shè)計(jì)原理原理 硬件電路發(fā)生器原理,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制 fpga 芯 片某個(gè)引腳輸出一定頻率的矩形波,接上揚(yáng)聲器就能發(fā)出相應(yīng)頻率的聲音。樂曲中的每一音符對(duì) 應(yīng)著一個(gè)確定的頻率,要想 fpga 發(fā)出不同音符的音調(diào),實(shí)際上只要控制它輸出相應(yīng)音符的頻率 即可。樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對(duì)應(yīng)的頻率,就 可以在揚(yáng)聲器上連續(xù)地發(fā)出各個(gè)音符的音調(diào)4。而要準(zhǔn)確地演奏
9、出一首樂曲,僅僅讓揚(yáng)聲器能夠 發(fā)生是不夠的,還必須準(zhǔn)確地控制樂曲的節(jié)奏,即樂曲中每個(gè)音符的發(fā)生頻率及其持續(xù)時(shí)間是樂 曲能夠連續(xù)演奏的兩個(gè)關(guān)鍵因素。 2.2.1 音符的頻率 音符的頻率可以由數(shù)控分頻器 spker 獲得,工作時(shí)由其 clk 端輸入一較高頻率(1mhz) 的時(shí)鐘,通過 spker 分頻后,經(jīng)由 d 觸發(fā)器構(gòu)成的分頻電路由 spk_kx 口輸出。由于直接從數(shù) 控分頻器中出來的輸出信號(hào)是脈沖極窄的信號(hào),為了有利于驅(qū)動(dòng)揚(yáng)聲器,需另加一個(gè) d 觸發(fā)器 分頻以均衡其占空比,但這時(shí)的頻率是原來的 1/2。spker 對(duì) clk 輸入信號(hào)的分頻比由輸入的 11 位預(yù)置數(shù) tn10.0與輸出頻率就
10、有了對(duì)應(yīng)關(guān)系,而輸出的頻率又與音符的發(fā)聲存在對(duì)應(yīng)關(guān)系。 圖 10 即為數(shù)控分頻器 spker。 其簡(jiǎn)譜中音符和頻率的關(guān)系如表 1 所示: 表 1 簡(jiǎn)譜中音符與頻率的關(guān)系 2.2.2 音符的持續(xù)時(shí)間 音符的持續(xù)時(shí)間需根據(jù)樂曲的速度及每個(gè)音符的節(jié)拍數(shù)來確定。本設(shè)計(jì)中的梁祝樂曲,最小 的節(jié)拍為 1/4 拍,若將 1 拍的時(shí)間定為 1 秒,則只需要提供一個(gè) 4hz 的時(shí)鐘頻率即可產(chǎn)生 1/4 拍 的時(shí)長(zhǎng)(0.25 秒) ,對(duì)于其它占用時(shí)間較長(zhǎng)的節(jié)拍(必為 1/4 拍的整數(shù)倍)則只需要將該音符連 續(xù)輸出相應(yīng)的次數(shù)即可。 計(jì)數(shù)時(shí)鐘信號(hào)作為輸出音符快慢的控制信號(hào),時(shí)鐘快時(shí)輸出節(jié)拍速度就快,演奏的速度也就 快
11、,時(shí)鐘慢時(shí)輸出節(jié)拍的速度就慢,演奏的速度自然降低。 2.2.3 樂曲產(chǎn)生原理框圖 根據(jù) 2.2.1 與 2.2.2 的分析,我們可以通過圖 1 來獲得每個(gè)音符的發(fā)音頻率值與持續(xù)的時(shí)間這 兩個(gè)要素所對(duì)應(yīng)的數(shù)值,以及通過純硬件的手段來利用這些數(shù)值實(shí)現(xiàn)樂曲所希望的演奏效果。 分頻預(yù)置查表電路 音符數(shù)據(jù) rom 地址發(fā)生器 數(shù)碼管 數(shù)控分頻器 揚(yáng)聲器 1m hz 4h z 圖 1 樂曲產(chǎn)生原理圖 2.3 系系統(tǒng)結(jié)統(tǒng)結(jié)構(gòu)構(gòu) 完整的 eda 設(shè)計(jì)流程是自上而下的具體實(shí)施途徑。所以先由 eda 工具軟件本身組成結(jié)構(gòu), 本實(shí)驗(yàn)運(yùn)用的是 quartus ii8.0 2.3.1 軟件整體結(jié)構(gòu) 樂曲演奏電路頂層設(shè)計(jì)
12、如圖 2 所示。 系統(tǒng)主要由四個(gè)功能模塊組成 cnt138t,f_code,spker 和其它模塊。第一部分 cnt138t,作為音符 rom 的地址發(fā)生器,實(shí)現(xiàn)按節(jié)拍讀樂譜的功能。第二部分 f_code 為分 頻預(yù)置查表電路,為 spker 提供分頻預(yù)置數(shù),實(shí)現(xiàn)樂曲譯碼輸出。第三部分 spker 數(shù)控分頻 器,產(chǎn)生發(fā)音頻率,實(shí)現(xiàn)樂曲播放。第四部分 music 音符數(shù)據(jù)模塊 rom,寫入梁祝樂曲 的音符數(shù)據(jù),共同實(shí)現(xiàn)簡(jiǎn)易電子琴功能。 該系統(tǒng)有一個(gè)輸入時(shí)鐘信號(hào) clk20mhz,三個(gè)輸出,分別為樂曲聲音輸出端口、簡(jiǎn)譜碼顯 示端口和高 8 度指示端口。 圖 2 樂曲演奏頂層文件 2.3.2 硬件結(jié)
13、構(gòu) 在數(shù)字化道路上,我國(guó)電子設(shè)計(jì)技術(shù)的發(fā)展經(jīng)歷了并將繼續(xù)經(jīng)歷很多重大的變革與飛躍。從 應(yīng)用 ssi 通用數(shù)字電路芯片構(gòu)成電路系統(tǒng),到廣泛應(yīng)用 mcu(微控制器或單片機(jī)) ,在電子系統(tǒng) 設(shè)計(jì)上發(fā)生了一個(gè)具有里程碑意義的飛躍,這一飛躍不但克服了純 ssi 數(shù)字電路系統(tǒng)許多不可逾 越的困難,同時(shí)也為電子設(shè)計(jì)技術(shù)的應(yīng)用開拓了更廣闊的前景,使得電子系統(tǒng)的智能化水平在廣 度和深度上產(chǎn)生了質(zhì)的飛躍。mcu 的廣泛應(yīng)用并沒有拋棄 ssi 的應(yīng)用,而是為它們?cè)陔娮酉到y(tǒng) 中找到了更合理的地位。隨著社會(huì)經(jīng)濟(jì)發(fā)展的延伸,電子設(shè)計(jì)技術(shù)的應(yīng)用為我們提出了許多全新 的課題和更高的要求,因此也拓寬了更大的應(yīng)用空間。不言而喻,
14、我國(guó)的電子設(shè)計(jì)技術(shù)發(fā)展到今 天,又將面臨一次更大意義上的突破。從某種意義上來說,這種突破的實(shí)現(xiàn)是歷史抉擇性的,而 非技術(shù)性的。即 cpld/fpga 在 eda 中的廣泛應(yīng)用??删幊踢壿嬈骷?簡(jiǎn)稱 pld)是一種由用戶 編程以實(shí)現(xiàn)某種邏輯功能的新型邏輯器件。fpga 和 cpld 分別是現(xiàn)場(chǎng)可編程門陣列和復(fù)雜可編 程邏輯器件的簡(jiǎn)稱,現(xiàn)在,fpga 和 cpld 器件的應(yīng)用已十分廣泛,它們將隨著 eda 技術(shù)的發(fā) 展而成為電子設(shè)計(jì)領(lǐng)域的重要角色5。 從本質(zhì)上說,新的電子系統(tǒng)運(yùn)轉(zhuǎn)的物理機(jī)制又將回到原來的純數(shù)字電路結(jié)構(gòu)上,但卻是一次 更高層次的循環(huán)。它在更高層次上容納了過去數(shù)字技術(shù)的優(yōu)秀部分,對(duì) m
15、cu 系統(tǒng)將是一種揚(yáng)棄, 但在電子技術(shù)的設(shè)計(jì)操作和系統(tǒng)構(gòu)成的整體上卻發(fā)生了質(zhì)的飛躍。如果說 mcu 在邏輯的實(shí)現(xiàn)上 是無(wú)限的話,那么 cpld/fpga 不但包括了 mcu 這一特點(diǎn),而且還可觸及硅片電路線度的物理 極限,并兼有串并行方式、高速、高可靠性以及寬口徑實(shí)用性等諸多方面的特定。不但如此,隨 著 eda 技術(shù)的發(fā)展和 cpld/fpga 在深亞微米級(jí)領(lǐng)域的進(jìn)軍,它們與 mcu、mpu、dsp、a/d、ram 和 rom 等獨(dú)立器件間的物理與功能界限將日益模糊。特別是 軟/硬 ip 芯核產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用與標(biāo)準(zhǔn) fpga 器件呼之欲出,片上系統(tǒng)(soc)已近在 咫尺。cpld/f
16、pga 其不可替代的地位及其伴隨而來的極具知識(shí)經(jīng)濟(jì)特征的 ip 核產(chǎn)業(yè)的崛起越來 越受到業(yè)內(nèi)人士的密切關(guān)注。 國(guó)際上生產(chǎn) fpga/cpld 的主流公司,并且在國(guó)內(nèi)占有市場(chǎng)份額較大的主要是 xilinx,altera,lattice 三家公司。 xilinx 公司的 fpga 器件有 xc2000,xc3000,xc4000,xc4000e,xc4000xla,xc5200 系列等,可用門數(shù)為 120018 000;altera 公司的 cpld 器件有 flex6000,flex8000,flex10k,flex10ke 系列等,提供門數(shù)為 500025 000;lattice 公 司的 i
17、sp-pld 器件有 isplsi1000,isplsi2000,isplsi3000,isplsi6000 系列等,集成度可多達(dá) 25 000 個(gè) pld 等效門。本實(shí)驗(yàn)所用的是 altera 公司的 cyclone iii。 fpga 在結(jié)構(gòu)上主要分為三個(gè)部分,即可編程邏輯單元,可編程輸入/輸出單元和可編程連 線三個(gè)部分。cpld 在結(jié)構(gòu)上主要包括三個(gè)部分,即可編程邏輯宏單元,可編程輸入/輸出單元和 可編程內(nèi)部連線。 高集成度、高速度和高可靠性是 fpga/cpld 最明顯的特點(diǎn),其時(shí)鐘延時(shí)可小至 ns 級(jí),結(jié) 合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有著非常廣闊的應(yīng)用前景。在高可
18、靠應(yīng)用 領(lǐng)域,如果設(shè)計(jì)得當(dāng),將不會(huì)存在類似于 mcu 的復(fù)位不可靠和 pc 可能跑飛等問題6。 fpga/cpld 的高可靠性還表現(xiàn)在幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從 而大大縮小了體積,易于管理和屏蔽。 由于 fpga/cpld 的集成規(guī)模非常大,可利用先進(jìn)的 eda 工具進(jìn)行電子系統(tǒng)設(shè)計(jì)和產(chǎn)品開 發(fā)。 由于開發(fā)工具的通用性、設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過程幾乎與所用器件的硬件結(jié)構(gòu)沒有關(guān) 系,因而設(shè)計(jì)開發(fā)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性。 它幾乎可用于任何型號(hào)和規(guī)模的 fpga/cpld 中,從而使得產(chǎn)品設(shè)計(jì)效率大幅度提高。 可以在很短時(shí)間內(nèi)完成十分復(fù)雜的系統(tǒng)
19、設(shè)計(jì),這正是產(chǎn)品快速進(jìn)入市場(chǎng)最寶貴的特征。美國(guó) it 公司認(rèn)為,一個(gè) asic 80%的功能可用于 ip 核等現(xiàn)成邏輯合成。而未來大系統(tǒng)的 fpga/cpld 設(shè)計(jì)僅僅是各類再應(yīng)用邏輯與 ip 核(core)的拼裝,其設(shè)計(jì)周期將更短。 與 asic 設(shè)計(jì)相比,fpga/cpld 顯著的優(yōu)勢(shì)是開發(fā)周期短、投資風(fēng)險(xiǎn)小、產(chǎn)品上市速度快、 市場(chǎng)適應(yīng)能力強(qiáng)和硬件升級(jí)回旋余地大,而且當(dāng)產(chǎn)品定型和產(chǎn)量擴(kuò)大后,可將在生產(chǎn)中達(dá)到充分 檢驗(yàn)的 vhdl 設(shè)計(jì)迅速實(shí)現(xiàn) asic 投產(chǎn)。 對(duì)于普通規(guī)模,且產(chǎn)量不是很大的產(chǎn)品項(xiàng)目,通常使用 cpld 比較好。對(duì)于大規(guī)模的邏輯設(shè) 計(jì) asic 設(shè)計(jì),或單片系統(tǒng)設(shè)計(jì),則多采
20、用 fpga。另外,fpga 掉電后將丟失原有的邏輯信息, 所以在實(shí)用中需要為 fpga 芯片配置一個(gè)專用 rom。 我們深刻體會(huì)到,cpld/fpga 的學(xué)習(xí)與應(yīng)用已不僅僅是一種單純的基于某種特定器件的應(yīng) 用開發(fā)過程,而是一種極富挑戰(zhàn)性和創(chuàng)造性的開拓性活動(dòng)。它打破了軟硬件之間最后的屏障,使 軟硬件工程師們有了真正的共同語(yǔ)言,它使目前一切仍處于計(jì)算機(jī)輔助性設(shè)計(jì)和規(guī)劃的純軟件活 動(dòng)變成了實(shí)實(shí)在在的設(shè)計(jì)和實(shí)體7。圖 3 即為本論文所用的 fpga 電路開發(fā)板。 圖 3 fpga 開發(fā)板 3.單元模塊設(shè)計(jì)單元模塊設(shè)計(jì) 3.1 音符數(shù)據(jù)地址音符數(shù)據(jù)地址發(fā)發(fā)生器模生器模塊塊 cnt138t 模塊 cnt
21、138t 是一個(gè) 8 位二進(jìn)制計(jì)數(shù)器,內(nèi)部設(shè)置計(jì)數(shù)最大值為 139,作為音符數(shù)據(jù) rom 的地址發(fā)生器。這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率即為 4hz,即每一計(jì)數(shù)值的停留時(shí)間為 0.25 秒,恰為當(dāng) 全音符設(shè)為 1 秒時(shí),四四拍的 4 分音符持續(xù)時(shí)間。例如, 梁祝樂曲第一個(gè)音符為“3” ,此音 在邏輯中停留了 4 個(gè)時(shí)鐘節(jié)拍,即 1 秒時(shí)間;相應(yīng)的,所對(duì)應(yīng)的“3”音符分頻預(yù)置數(shù)值為 11h40c,在 spker 的輸入端停留了 1 秒。隨著計(jì)數(shù)器 cnt138t 按 4hz 的時(shí)鐘速率進(jìn)行加法 計(jì)數(shù)(即隨地址值遞增) ,模塊 music 中的音符數(shù)據(jù)將從 rom 中通過 q3.0端口輸向 f_code 模塊
22、, 梁祝樂曲就開始連續(xù)自然地演奏起來了。cnt138t 的節(jié)拍是 139,正好等于 rom 中 的簡(jiǎn)譜碼數(shù),所以可以確保循環(huán)演奏。 3.1.1 音符數(shù)據(jù)地址發(fā)生器模塊程序 module cnt138t (clk,cnt8); input clk; output7:0 cnt8; reg7:0cnt; wire ld; always (posedge clk or posedge ld ) begin if (ld) cnt = 8b00000000 ; else cnt=cnt+1; end assign cnt8=cnt; assign ld=(cnt=138) ; endmodule 3.
23、1.2 音符數(shù)據(jù)地址發(fā)生器電路模塊 音符數(shù)據(jù)地址發(fā)生器模塊即為運(yùn)用 verilog hdl 語(yǔ)言,將以行為和功能層次表達(dá)的電子系統(tǒng) 轉(zhuǎn)換為低層次的、便于具體實(shí)現(xiàn)的模塊而組合裝配的電子器件。 圖 4 音符數(shù)據(jù)地址發(fā)生器電路模塊 3.1.3 音符數(shù)據(jù)地址發(fā)生器電路模塊 rtl 電路圖 rtl(register transport level)電路圖即為從算法表述轉(zhuǎn)換到寄存器傳輸級(jí)表述,即從行為 域到結(jié)構(gòu)域的綜合。 圖 5 音符數(shù)據(jù)地址發(fā)生器電路模塊 rtl 電路圖 3.1.4 音符數(shù)據(jù)地址發(fā)生器電路模塊的仿真圖 圖 6 音符數(shù)據(jù)地址發(fā)生器電路模塊的仿真圖 由波形可看出,clk 為輸入時(shí)鐘信號(hào),八位
24、輸出二進(jìn)制信號(hào)在每個(gè)時(shí)鐘上升沿加一。地址 發(fā)生器模塊設(shè)置了一個(gè) 8 位二進(jìn)制計(jì)數(shù),作為音符數(shù)據(jù) rom 的地址發(fā)生器。每來一個(gè)時(shí)鐘脈沖 信號(hào)(clk),8 位二進(jìn)制計(jì)數(shù)器就計(jì)數(shù)一次,rom 文件中的地址也就隨著遞增,音符數(shù)據(jù) rom 中的音符也就一個(gè)接一個(gè)連續(xù)的取出來了。 經(jīng)分析,該模塊功能完全正確。 3.2 分分頻預(yù)頻預(yù)置置查查表表電電路模路模塊塊 f_code 模塊 f_code 樂曲簡(jiǎn)譜碼對(duì)應(yīng)的分頻預(yù)置數(shù)查表電路的功能首先是為模塊 spker(11 位數(shù) 控分頻器)提供所發(fā)音符的分頻預(yù)置數(shù),而此數(shù)在 spker 輸入口停留的時(shí)間即為此音符的節(jié)拍 長(zhǎng)度。f_code 中設(shè)置了梁祝樂曲全部音
25、符所對(duì)應(yīng)的分頻預(yù)置數(shù),共 14 個(gè),每一個(gè)音符的 停留時(shí)間則由音樂節(jié)拍和音調(diào)發(fā)生查表模塊 music 中簡(jiǎn)譜碼和工作時(shí)鐘 inclock 的頻率決定,在 此為 4hz。 3.2.1 分頻預(yù)置查表電路模塊程序 module f_code (inx, code, h, to); input 3:0 inx; output 3:0 code; output h; output 10:0 to; reg10:0 to; reg3:0 code; reg h; always (inx) begin case (inx) 0 : begin to = 11h7ff; code=0; h=0; end 1
26、: begin to = 11h305; code=1; h=0; end 2 : begin to = 11h390; code=2; h=0; end 3 : begin to = 11h40c; code=3; h=0; end 4 : begin to = 11h45c; code=4; h=0; end 5 : begin to = 11h4ad; code=5; h=0; end 6 : begin to = 11h50a; code=6; h=0; end 7 : begin to = 11h55c; code=7; h=0; end 8 : begin to = 11h582;
27、 code=1; h=1; end 9 : begin to = 11h5c8; code=2; h=1; end 10 : begin to = 11h606; code=3; h=1; end 11 : begin to = 11h640; code=4; h=1; end 12 : begin to = 11h656; code=5; h=1; end 13 : begin to = 11h684; code=6; h=1; end 14 : begin to = 11h69a; code=7; h=1; end 15 : begin to = 11h6c0; code=1; h=1;
28、end default : begin to =11h6c0; code=1; h=1; end endcase end endmodule 3.2.2 分頻預(yù)置查表電路模塊 分頻預(yù)置查表電路模塊即為運(yùn)用 verilog hdl 語(yǔ)言,將以行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn) 換為低層次的、便于具體實(shí)現(xiàn)的模塊而組合裝配的電子器件。 圖 7 分頻預(yù)置查表電路模塊 3.2.3 分頻預(yù)置查表電路模塊 rtl 電路圖 rtl(register transport level)電路圖即為從算法表述轉(zhuǎn)換到寄存器傳輸級(jí)表述,即從行為 域到結(jié)構(gòu)域的綜合。 圖 8 分頻預(yù)置查表電路模塊 rtl 電路圖 3.2.4 分
29、頻預(yù)置查表電路模塊的仿真圖 圖 9 分頻預(yù)置查表電路模塊的仿真圖 由波形可看出,當(dāng)輸入信號(hào) index 為 00110 時(shí),code 顯示 6(即 中音 6) ,預(yù)置初值為 101010111000,查詢上文所列的表,可發(fā)現(xiàn)功能完全正確。 3.3 數(shù)控分?jǐn)?shù)控分頻頻器模器模塊塊 spker 音符的頻率可以由數(shù)控分頻器 spker 獲得,工作時(shí)由其 clk 端輸入一較高頻率(1mhz) 的時(shí)鐘,通過 spker 分頻后,經(jīng)由 d 觸發(fā)器構(gòu)成的分頻電路由 spk_kx 口輸出。由于直接從數(shù) 控分頻器中出來的輸出信號(hào)是脈沖極窄的信號(hào),為了有利于驅(qū)動(dòng)揚(yáng)聲器,需另加一個(gè) d 觸發(fā)器 分頻以均衡其占空比,但
30、這時(shí)的頻率是原來的 1/2。spker 對(duì) clk 輸入信號(hào)的分頻比由輸入的 11 位預(yù)置數(shù) tn10.0與輸出頻率就有了對(duì)應(yīng)關(guān)系,而輸出的頻率又與音符的發(fā)聲存在對(duì)應(yīng)關(guān)系8。 例如,在 f_code 模塊中取 tn10.0=11h40c,則將由 spk_kx 發(fā)出音符為“3”音的信號(hào)頻 率。 3.3.1 數(shù)控分頻器模塊程序 module spker (clk, tn, spks); input clk; input10:0 tn; output spks; reg spks; reg10:0 cnt11; always (posedge clk) begin : cnt11b_load if
31、(cnt11=11h7ff) begin cnt11=tn; spks=1b1; end else begin cnt11=cnt11+1; spks=1b0 ; end end endmodule 3.3.2 數(shù)控分頻器電路模塊 數(shù)控分頻器電路模塊即為運(yùn)用 verilog hdl 語(yǔ)言,將以行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換 為低層次的、便于具體實(shí)現(xiàn)的模塊而組合裝配的電子器件。 圖 10 數(shù)控分頻器電路模塊 3.3.3 數(shù)控分頻器電路模塊 rtl 電路圖 rtl(register transport level)電路圖即為從算法表述轉(zhuǎn)換到寄存器傳輸級(jí)表述,即從行為 域到結(jié)構(gòu)域的綜合。 圖 11
32、 數(shù)控分頻器電路模塊 rtl 電路圖 3.3.4 數(shù)控分頻器模塊的仿真圖 圖 12 數(shù)控分頻器模塊的仿真圖 此波形仿真分析比較復(fù)雜,如果由于輸入信號(hào)為 12mhz,其中的分頻系數(shù)比較大,如果直 接用該模塊程序進(jìn)行仿真可能導(dǎo)致仿真時(shí)間過長(zhǎng)而失敗,因此更改程序,減小其分頻系數(shù),同樣 能說明問題,在此,我將 12 位的預(yù)置初值改為 3 位,得到如上的仿真波形圖,可發(fā)現(xiàn)在 tn 給 出不同的預(yù)置初值時(shí)的分頻效果,仔細(xì)細(xì)數(shù)一下,發(fā)現(xiàn)數(shù)控分頻功能完全正確。 3.4 音符數(shù)據(jù)模音符數(shù)據(jù)模塊塊 rom music 模塊 music 是一個(gè) lpm_rom,其輸入頻率來自鎖相環(huán)9pll20 的 2khz 輸出頻
33、率,而模 塊 f_code 的 14 個(gè)值得輸出由對(duì)應(yīng)于 music 模塊輸出的 q3.0及 4 位輸入值 inx3.0確定, 而 inx3.0最多有 16 種可選值;輸向模塊 f_code 中 inx3.0的值在 spker 中對(duì)應(yīng)的輸出頻 率值與持續(xù)的時(shí)間由模塊 music 決定。 3.4.1 樂曲演奏音符數(shù)據(jù)文件 由于梁祝樂曲演奏數(shù)據(jù)實(shí)際深度是 139,故本文截圖截到了 152。將音符數(shù)據(jù)文件命名 為 mif.mif。 圖 13 樂曲演奏音符數(shù)據(jù)文件 3.4.2 定制音符數(shù)據(jù)的 rom 文件 由于 quartus ii 軟件中有常見的 lpm_rom 電路模塊10,所以我們只需對(duì)其模塊進(jìn)
34、行設(shè)置和 調(diào)用即可。圖 14 即為用 quartus ii8.0 軟件對(duì) rom 調(diào)用與設(shè)置過程中的一個(gè)截圖。 圖 14 定制音符數(shù)據(jù)的 rom 文件 4結(jié)語(yǔ)結(jié)語(yǔ) 通過這次畢業(yè)設(shè)計(jì),進(jìn)一步加深了對(duì) eda 的了解。對(duì) verilog hdl 語(yǔ)言的掌握不熟練使得 編寫頂層文件的程序、子模塊編寫調(diào)試都時(shí)遇到了不少問題,子模塊編寫調(diào)試各元件之間的連接, 以及信號(hào)的定義,總是有錯(cuò)誤,在細(xì)心的檢查下,終于找出了 quartus ii 軟件提示的錯(cuò)誤,排除 困難后,程序編譯通過后,在波形仿真時(shí),也遇到了一點(diǎn)困難,想要的結(jié)果不能在波形上得到正 確的顯示。接著,在不斷地與老師同學(xué)的探討,不斷地查詢資料后,終
35、于能調(diào)試之后觀察到完整 準(zhǔn)確的仿真結(jié)果。 只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從實(shí)踐中得出結(jié)論, 才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到各 種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深 刻,掌握得不夠牢固,需要不斷地努力學(xué)習(xí)。 由于自身水平有限,本設(shè)計(jì)在功能上也只是完成了一些基本功能,對(duì)于電路的可靠性,穩(wěn)定 性等參數(shù)還未做過詳細(xì)的測(cè)試。在音調(diào)和音長(zhǎng)的故障分析方面還未做周全的考慮。 參考文獻(xiàn)參考文獻(xiàn) 1 陳海晏.eda 技術(shù)與應(yīng)用m.北京:機(jī)械工業(yè)出版社,2012:39. 2 饒敏,邱德慧,符宇同.eda 設(shè)計(jì)樂曲硬件演奏電路j.微計(jì)算機(jī)信息,2007,23(32) 3 包明.eda 技術(shù)與可編程器件的應(yīng)用m.北京:北京航空航天出版社,2007:55. 4 崔國(guó)瑋,李文濤.基于 eda 技術(shù)的數(shù)電課程設(shè)計(jì)新模式的探索與實(shí)踐j.實(shí)驗(yàn)技術(shù)與管理, 2008,25(1) 5 樊輝娜.基于 eda 技術(shù)數(shù)字電路綜合教學(xué)實(shí)驗(yàn)儀的設(shè)計(jì)與制作d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年金華武義縣農(nóng)村集體經(jīng)濟(jì)投資發(fā)展有限公司招聘筆試真題
- 2024年黃岡市武穴市事業(yè)單位統(tǒng)一招聘考試真題
- 交貨地址協(xié)議書
- 伺服控制設(shè)備采購(gòu)合同
- 知識(shí)付費(fèi)模式在垂直領(lǐng)域的運(yùn)營(yíng)策略探討
- 租房住宿合同范本
- 企業(yè)過戶合同范本
- 高性能纖維企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 甲基四氫苯酐企業(yè)如何構(gòu)建有效的風(fēng)險(xiǎn)管理機(jī)制
- 軋鋼機(jī)油企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 小學(xué)體育課件《立定跳遠(yuǎn)課件》課件
- 《生物經(jīng)濟(jì)學(xué)》課程教學(xué)大綱
- 2018中國(guó)技能?賽全國(guó)選拔賽“3D數(shù)字游戲藝術(shù)”項(xiàng)?技能樣題
- 家庭清潔課件教學(xué)課件
- 2024-2025學(xué)年北師版八年級(jí)生物上學(xué)期 第18章 生物圈中的微生物(知識(shí)清單)
- 2021中國(guó)靜脈血栓栓塞癥防治抗凝藥物的選用與藥學(xué)監(jiān)護(hù)指南(2021)解讀
- 2024年重慶客運(yùn)駕駛員考試卷及答案
- API設(shè)計(jì)與文檔規(guī)范
- 民兵知識(shí)小常識(shí)
- 圖形的平移與旋轉(zhuǎn)壓軸題(7個(gè)類型55題)-【???jí)狠S題】2023-2024學(xué)年八年級(jí)數(shù)學(xué)下冊(cè)壓軸題攻略(解析版)
- TDALN 033-2024 學(xué)生飲用奶安全規(guī)范入校管理標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論