




已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JIU JIANG UNIVERSITY數(shù)字邏輯系統(tǒng)課程設(shè)計(jì)報(bào)告設(shè)計(jì)課題: 簡(jiǎn)易電子琴 專(zhuān) 業(yè): 電子信息工程 班級(jí)學(xué)號(hào): 20學(xué)生姓名: 陳長(zhǎng)源 指導(dǎo)教師: 盛健 設(shè)計(jì)時(shí)間: 2012.12.242012.12.28 簡(jiǎn)易電子琴1設(shè)計(jì)任務(wù)與要求1.1通過(guò)對(duì)一個(gè)簡(jiǎn)易的八音符電子琴的設(shè)計(jì),進(jìn)一步加深對(duì)計(jì)算機(jī)原理以及數(shù)字電路應(yīng)用技術(shù)方面的了解與認(rèn)識(shí),進(jìn)一步熟悉數(shù)字電路系統(tǒng)設(shè)計(jì)、制作與調(diào)試的方法和步驟1.2設(shè)計(jì)簡(jiǎn)易的八音符電子琴,它可通過(guò)按鍵輸入來(lái)控制音響。1.3演奏時(shí)可以選擇是手動(dòng)演奏(由鍵盤(pán)輸入)還是自動(dòng)演奏已存入的樂(lè)曲。1.4能夠自動(dòng)演奏多首樂(lè)曲,且每首樂(lè)曲可重復(fù)演奏2方案設(shè)計(jì)及主要技術(shù)思路2.1方案一、本設(shè)計(jì)可有兩種方案實(shí)現(xiàn),他們的程序一樣,但是所利用邏輯 元件不同,其一是將產(chǎn)生的32M頻率模塊,自動(dòng)|手動(dòng)控制模塊,音節(jié)產(chǎn)生模塊,分頻模塊依次連接。 2.2方案二、利用頂層設(shè)計(jì)將各個(gè)程序整合,再生成相應(yīng)的圖形文件,利用這個(gè)圖形元件再接上外圍即可實(shí)現(xiàn)功能。 2.3優(yōu)劣分析及方案選定方案一層次分明,邏輯元件連接清晰,易于理解。反觀方案二,雖然結(jié)構(gòu)簡(jiǎn)單,但是不易理解。2.4 采用的硬件平臺(tái)及主要技術(shù) 2.4.1 EDA技術(shù)是以計(jì)算機(jī)為工具,根據(jù)硬件描述語(yǔ)言HDL( Hardware Description language)完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合及優(yōu)化、布局布線(xiàn)、仿真以及對(duì)于特定目標(biāo)芯片的適配編譯和編程下載等工作。 2.4.2 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可是部分,及端口)和內(nèi)部(或稱(chēng)不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。3模塊設(shè)計(jì)過(guò)程及仿真3.1 A模塊的設(shè)計(jì)本設(shè)計(jì)主要分為四個(gè)模塊,分別為32M頻率產(chǎn)生模塊,手動(dòng)|自動(dòng)模塊,音節(jié)產(chǎn)生模塊,分頻模塊3.1.1A模塊要實(shí)現(xiàn)的具體功能,引腳。 32M頻率產(chǎn)生模塊的功能是要將100M頻率變?yōu)?2M,手動(dòng)|自動(dòng)模塊是實(shí)現(xiàn)自動(dòng)控制或手動(dòng)控制,音調(diào)發(fā)生模塊的作用是產(chǎn)生音階的分頻預(yù)置值,數(shù)控分頻模塊是對(duì)時(shí)基脈沖進(jìn)行分頻,得到與1、2、3、4、5、6、7七個(gè)音符相對(duì)應(yīng)的頻率。3.1.2 A模塊的設(shè)計(jì)思路和設(shè)計(jì)方法及關(guān)鍵設(shè)計(jì)語(yǔ)句說(shuō)明。音樂(lè)有兩個(gè)重要因素,一個(gè)是音節(jié),一個(gè)是音調(diào)。簡(jiǎn)單來(lái)說(shuō)就是低音還是高音,每個(gè)音持續(xù)多久,即為頻率。本設(shè)計(jì)主要就是依據(jù)這個(gè)思路來(lái)實(shí)現(xiàn)的,設(shè)計(jì)方法采用的是自頂而下的設(shè)計(jì)方法。關(guān)鍵設(shè)計(jì)語(yǔ)句在后面的具體程序有詳細(xì)描述。3.1.3A模塊的設(shè)計(jì)過(guò)程中遇到的問(wèn)題及解決方法 本設(shè)計(jì)遇到的主要問(wèn)題是如何產(chǎn)生32M的頻率,由于程序要求的是32M,然而開(kāi)發(fā)板上并沒(méi)有32M的信號(hào)。開(kāi)發(fā)板上有48M和100M的,在分析計(jì)算后,發(fā)現(xiàn)用100M產(chǎn)生32M結(jié)果更精確。3.1.4A模塊實(shí)現(xiàn)的具體功能、仿真分析、模塊符號(hào)圖。(3) 數(shù)控分頻模塊(2)音調(diào)發(fā)生模塊的仿真1.自動(dòng)手動(dòng)模塊符號(hào)圖3.1.5 A模塊代碼見(jiàn)附錄,代碼必須有注釋。自動(dòng)手動(dòng)控制library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity automusic is Port ( clk,Auto : in std_logic; -系統(tǒng)時(shí)鐘;鍵盤(pán)輸入/自動(dòng)演奏 index2 : in std_logic_vector(7 downto 0); -鍵盤(pán)輸入信號(hào) index0 : out std_logic_vector(7 downto 0); -音符信號(hào)輸出 end automusic; architecture Behavioral of automusic is signal count0:integer range 0 to 31;-change signal clk2:std_logic; begin pulse0:process(clk,Aut0) -此進(jìn)程完成對(duì)系統(tǒng)時(shí)鐘8M的分頻,得到4Hz的信號(hào)clk2 variable count:integer range 0 to 8000000; begin if Auto=1 then count:=0;clk2=0; elsif clkevent and clk=1 then count:=count+1; if count=4000000(4) then clk2=1;elsif count=8000000 (8)then clk2=0;count:=0; end if; end if; end process; music:process(clk2) -此進(jìn)程完成自動(dòng)演奏部分曲的地址累加 begin if clk2event and clk2=1 then if count0=31 then count0=0; else count0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 index0 null; end case; else index0 tone0=773;code=1001111;high tone0=912;code=0010010;high tone0=1036;code=0000110;high tone0=1116;code=1001100;high tone0=1197;code=0100100;high tone0=1290;code=0100000;high tone0=1372;code=0001111;high tone0=1410;code=0000000;high tone0=2047;code=0000001;high=0; end case; end process; end Behavioral;分頻模塊library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity speaker is Port ( clk1 : in std_logic; -系統(tǒng)時(shí)鐘 tone1 : in integer range 0 to 30624; -音符分頻系數(shù) spks : out std_logic); -驅(qū)動(dòng)揚(yáng)聲器的音頻信號(hào) end speaker; architecture Behavioral of speaker is signal preclk,fullspks:std_logic; begin pulse1:process(clk1) -此進(jìn)程對(duì)系統(tǒng)時(shí)鐘進(jìn)行4分頻 variable count:integer range 0 to 8; begin if clk1event and clk1=1 then count:=count+1; if count=2 then preclk=1; elsif count=4 then preclk=0;count:=0; end if; end if; end process pulse1; genspks:process(preclk,tone1) -此進(jìn)程按照tone1輸入的分頻系數(shù)對(duì)8MHz的脈沖再次分頻,得到所需要的音符頻率 variable count11:integer range 0 to 30624; begin if preclkevent and preclk=1 then if count11tone1 then count11:=count11+1;fullspks=1; else count11:=0;fullspks=0; end if; end if; end process; delaysps:process(fullspks) -此進(jìn)程對(duì)fullspks進(jìn)行2分頻 variable count2 :std_logic:=0; begin if fullspksevent and fullspks=1 then count2:=not count2; if count2=1 then spks=1; else spksclk32MHZ,index2=index1,index0=indx,Auto=handtoAuto); u1: tone port map(index=indx,tone0=tone2,code=code1,high=high1); u2: speaker port map(clk1=clk32MHZ,tone1=tone2,spks=spkout); end Behavioral;3.2 B模塊的設(shè)計(jì) 樂(lè)曲自動(dòng)演奏模塊的作用是產(chǎn)生8位發(fā)生控制輸入信號(hào)。當(dāng)進(jìn)行自動(dòng)演奏時(shí),由存儲(chǔ)在此模塊的8位二進(jìn)制數(shù)作為發(fā)聲控制輸入,從而自動(dòng)演奏樂(lè)曲。 該模塊的VHDL源程序主要由3個(gè)工作進(jìn)程組成,分別為PULSE0,MUSIC和COM1。PULSE0的作用是根據(jù)鍵盤(pán)輸入(自動(dòng)演奏)的值(0或1)來(lái)判斷計(jì)數(shù)器COUNT以及脈沖CLK2的輸出值4整體設(shè)計(jì)及分析4.1整體設(shè)計(jì)說(shuō)明及連接方法(含主要信號(hào)及節(jié)點(diǎn)說(shuō)明) 整體設(shè)計(jì)圖連接時(shí),要注意到每個(gè)模塊都是環(huán)環(huán)相扣的,前一個(gè)的輸出是后一個(gè)的輸入,而后一個(gè)的輸出又是再后一個(gè)的輸入,連接時(shí)一定要注意順序。4.2 整體設(shè)計(jì)過(guò)程及遇到問(wèn)題的解決方法。本設(shè)計(jì)時(shí)遇到的問(wèn)題在按鍵控制與自動(dòng)手動(dòng)模塊連接間,由于程序設(shè)計(jì)要求按鍵高電平有效,如果兩者之間直接相連,則所有的按鍵都加了高電平至輸入端,造成開(kāi)發(fā)板無(wú)法識(shí)別,使得蜂鳴器發(fā)聲雜亂,因此需在兩者間加一個(gè)非門(mén),則解決了問(wèn)題。4.3設(shè)計(jì)整體邏輯圖4.4 整體設(shè)計(jì)的仿真及分析4.4引腳配置5.下載與調(diào)試5.1下載的步驟成功編譯硬件系統(tǒng)以后,將產(chǎn)生的FPGA配置文件輸出,要實(shí)現(xiàn)硬件功能,還需將文件下載到目標(biāo)FPGA器件上,具體步驟如下通過(guò)Z-Blaster 下載電纜線(xiàn)連接實(shí)驗(yàn)箱JTAG口和主計(jì)算機(jī),接通試驗(yàn)箱電源,下載線(xiàn)驅(qū)動(dòng)程序的安裝。5.2測(cè)試的設(shè)置及測(cè)試方法在Quartus 2軟件中選中Toolsprogrammer,也可用工具欄中的按鈕,打開(kāi)編程器窗口并自動(dòng)打開(kāi)配置文件,確保編程器窗口左上角的hardware setup 欄中硬件已經(jīng)安裝,選擇JTAG模式。選中program、congifure 再單擊start若燈亮,則表示配置成功。5.3測(cè)試的結(jié)果當(dāng)?shù)谝宦钒存I開(kāi)關(guān)撥到 1 時(shí)二極管循環(huán)點(diǎn)亮,說(shuō)明第一步成功了,當(dāng)?shù)谝宦钒存I開(kāi)關(guān)撥到 0 時(shí),蜂鳴器無(wú)聲音。 5.4 測(cè)試中遇到的問(wèn)題及解決方法經(jīng)過(guò)一星期的努力,簡(jiǎn)易電子琴基本完成了,在此次設(shè)計(jì)中出現(xiàn)了以下問(wèn)題,在設(shè)計(jì)中分頻模塊出現(xiàn)了問(wèn)題,在查資料得知,程序中的為32Mhz,但在試驗(yàn)箱中只有48M和100M的,頻率不相符合,因此最后通過(guò)查資料的方法選擇了100M的6.結(jié)論與心得 經(jīng)過(guò)努力,簡(jiǎn)易電子琴的設(shè)計(jì)基本上完成了。在整個(gè)設(shè)計(jì)過(guò)程中,包括前期中期和后期,我都有著許多不同的體會(huì):6.1這個(gè)設(shè)計(jì)的基本是接觸一門(mén)新的語(yǔ)言并加以應(yīng)用,對(duì)于我來(lái)說(shuō),沒(méi)有想到的是入手的速度比我的預(yù)料快,在以前編程的基礎(chǔ)上,從接觸到開(kāi)始動(dòng)手編程的時(shí)間得到了很大的縮短。VHDL的編程與C語(yǔ)言的編程有著本質(zhì)的不同,然而以往形成的舊編程習(xí)慣在VHDL編程中依然起著很大的作用。一通百通,不是沒(méi)有道理的。對(duì)于學(xué)習(xí)新的知識(shí)并予以應(yīng)用的信心,顯得更足了。6.2 VHDL的設(shè)計(jì)關(guān)鍵是電路邏輯設(shè)計(jì),而一個(gè)程序的關(guān)鍵是總體設(shè)計(jì)。對(duì)于硬件設(shè)計(jì)接觸不多的我們清楚這一點(diǎn)也許不無(wú)好處。通過(guò)這個(gè)程序設(shè)計(jì)讓我學(xué)會(huì)一種新的語(yǔ)言,對(duì)數(shù)字系統(tǒng)結(jié)構(gòu)也有了更進(jìn)一步的了解和認(rèn)識(shí),對(duì)我以后的學(xué)習(xí)有很大的幫助。 6.3通過(guò)本次實(shí)習(xí)無(wú)疑為我們的明年做畢業(yè)設(shè)計(jì)論文打下了一定的基礎(chǔ),他能給我們一種做課程設(shè)計(jì)的思路。7.參考文獻(xiàn) 1EDA技術(shù)與VHDL(第三版), 潘松 .清華大學(xué)出
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 整體形象搭配課件
- 護(hù)理藥品的管理
- 立體模型考試題及答案
- 青海煙草筆試題及答案
- 福安麥當(dāng)勞面試題及答案
- 教育園區(qū)面試題及答案
- 休閑食品健康化轉(zhuǎn)型中的健康認(rèn)證與市場(chǎng)拓展策略研究報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)數(shù)據(jù)清洗算法在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用場(chǎng)景對(duì)比報(bào)告
- 重癥胰腺炎護(hù)理疑難病例討論
- 員工服務(wù)質(zhì)量培訓(xùn)
- 2025年高考云南卷歷史高考真題(無(wú)答案)
- 中醫(yī)茶飲培訓(xùn)課件模板
- 2025至2030中國(guó)實(shí)木門(mén)行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢(xún)研究報(bào)告
- 2025年安徽省高考生物試卷(含答案解析)
- (湖北省高考卷)2024年湖北省普通高中學(xué)業(yè)水平選擇性考試高考物化生+政史地真題試卷及答案
- 真實(shí)情境下的“5E”教學(xué)模式在高中化學(xué)教學(xué)中的應(yīng)用與成效探究
- 湖北省武漢市武昌區(qū)三年級(jí)下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 2025年人教版七年級(jí)下冊(cè)地理全冊(cè)知識(shí)點(diǎn)
- 廣東省珠海市香洲區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期語(yǔ)文期末試卷(含答案)
- 供熱領(lǐng)域自查工作報(bào)告
- 健康體檢教學(xué)課件
評(píng)論
0/150
提交評(píng)論