




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JIU JIANG UNIVERSITY數(shù)字邏輯系統(tǒng)課程設計報告設計課題: 簡易電子琴 專 業(yè): 電子信息工程 班級學號: 20學生姓名: 陳長源 指導教師: 盛健 設計時間: 2012.12.242012.12.28 簡易電子琴1設計任務與要求1.1通過對一個簡易的八音符電子琴的設計,進一步加深對計算機原理以及數(shù)字電路應用技術方面的了解與認識,進一步熟悉數(shù)字電路系統(tǒng)設計、制作與調試的方法和步驟1.2設計簡易的八音符電子琴,它可通過按鍵輸入來控制音響。1.3演奏時可以選擇是手動演奏(由鍵盤輸入)還是自動演奏已存入的樂曲。1.4能夠自動演奏多首樂曲,且每首樂曲可重復演奏2方案設計及主要技術思路2.1方案一、本設計可有兩種方案實現(xiàn),他們的程序一樣,但是所利用邏輯 元件不同,其一是將產生的32M頻率模塊,自動|手動控制模塊,音節(jié)產生模塊,分頻模塊依次連接。 2.2方案二、利用頂層設計將各個程序整合,再生成相應的圖形文件,利用這個圖形元件再接上外圍即可實現(xiàn)功能。 2.3優(yōu)劣分析及方案選定方案一層次分明,邏輯元件連接清晰,易于理解。反觀方案二,雖然結構簡單,但是不易理解。2.4 采用的硬件平臺及主要技術 2.4.1 EDA技術是以計算機為工具,根據(jù)硬件描述語言HDL( Hardware Description language)完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作。 2.4.2 VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。3模塊設計過程及仿真3.1 A模塊的設計本設計主要分為四個模塊,分別為32M頻率產生模塊,手動|自動模塊,音節(jié)產生模塊,分頻模塊3.1.1A模塊要實現(xiàn)的具體功能,引腳。 32M頻率產生模塊的功能是要將100M頻率變?yōu)?2M,手動|自動模塊是實現(xiàn)自動控制或手動控制,音調發(fā)生模塊的作用是產生音階的分頻預置值,數(shù)控分頻模塊是對時基脈沖進行分頻,得到與1、2、3、4、5、6、7七個音符相對應的頻率。3.1.2 A模塊的設計思路和設計方法及關鍵設計語句說明。音樂有兩個重要因素,一個是音節(jié),一個是音調。簡單來說就是低音還是高音,每個音持續(xù)多久,即為頻率。本設計主要就是依據(jù)這個思路來實現(xiàn)的,設計方法采用的是自頂而下的設計方法。關鍵設計語句在后面的具體程序有詳細描述。3.1.3A模塊的設計過程中遇到的問題及解決方法 本設計遇到的主要問題是如何產生32M的頻率,由于程序要求的是32M,然而開發(fā)板上并沒有32M的信號。開發(fā)板上有48M和100M的,在分析計算后,發(fā)現(xiàn)用100M產生32M結果更精確。3.1.4A模塊實現(xiàn)的具體功能、仿真分析、模塊符號圖。(3) 數(shù)控分頻模塊(2)音調發(fā)生模塊的仿真1.自動手動模塊符號圖3.1.5 A模塊代碼見附錄,代碼必須有注釋。自動手動控制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)時鐘;鍵盤輸入/自動演奏 index2 : in std_logic_vector(7 downto 0); -鍵盤輸入信號 index0 : out std_logic_vector(7 downto 0); -音符信號輸出 end automusic; architecture Behavioral of automusic is signal count0:integer range 0 to 31;-change signal clk2:std_logic; begin pulse0:process(clk,Aut0) -此進程完成對系統(tǒng)時鐘8M的分頻,得到4Hz的信號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) -此進程完成自動演奏部分曲的地址累加 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)時鐘 tone1 : in integer range 0 to 30624; -音符分頻系數(shù) spks : out std_logic); -驅動揚聲器的音頻信號 end speaker; architecture Behavioral of speaker is signal preclk,fullspks:std_logic; begin pulse1:process(clk1) -此進程對系統(tǒng)時鐘進行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) -此進程按照tone1輸入的分頻系數(shù)對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) -此進程對fullspks進行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模塊的設計 樂曲自動演奏模塊的作用是產生8位發(fā)生控制輸入信號。當進行自動演奏時,由存儲在此模塊的8位二進制數(shù)作為發(fā)聲控制輸入,從而自動演奏樂曲。 該模塊的VHDL源程序主要由3個工作進程組成,分別為PULSE0,MUSIC和COM1。PULSE0的作用是根據(jù)鍵盤輸入(自動演奏)的值(0或1)來判斷計數(shù)器COUNT以及脈沖CLK2的輸出值4整體設計及分析4.1整體設計說明及連接方法(含主要信號及節(jié)點說明) 整體設計圖連接時,要注意到每個模塊都是環(huán)環(huán)相扣的,前一個的輸出是后一個的輸入,而后一個的輸出又是再后一個的輸入,連接時一定要注意順序。4.2 整體設計過程及遇到問題的解決方法。本設計時遇到的問題在按鍵控制與自動手動模塊連接間,由于程序設計要求按鍵高電平有效,如果兩者之間直接相連,則所有的按鍵都加了高電平至輸入端,造成開發(fā)板無法識別,使得蜂鳴器發(fā)聲雜亂,因此需在兩者間加一個非門,則解決了問題。4.3設計整體邏輯圖4.4 整體設計的仿真及分析4.4引腳配置5.下載與調試5.1下載的步驟成功編譯硬件系統(tǒng)以后,將產生的FPGA配置文件輸出,要實現(xiàn)硬件功能,還需將文件下載到目標FPGA器件上,具體步驟如下通過Z-Blaster 下載電纜線連接實驗箱JTAG口和主計算機,接通試驗箱電源,下載線驅動程序的安裝。5.2測試的設置及測試方法在Quartus 2軟件中選中Toolsprogrammer,也可用工具欄中的按鈕,打開編程器窗口并自動打開配置文件,確保編程器窗口左上角的hardware setup 欄中硬件已經安裝,選擇JTAG模式。選中program、congifure 再單擊start若燈亮,則表示配置成功。5.3測試的結果當?shù)谝宦钒存I開關撥到 1 時二極管循環(huán)點亮,說明第一步成功了,當?shù)谝宦钒存I開關撥到 0 時,蜂鳴器無聲音。 5.4 測試中遇到的問題及解決方法經過一星期的努力,簡易電子琴基本完成了,在此次設計中出現(xiàn)了以下問題,在設計中分頻模塊出現(xiàn)了問題,在查資料得知,程序中的為32Mhz,但在試驗箱中只有48M和100M的,頻率不相符合,因此最后通過查資料的方法選擇了100M的6.結論與心得 經過努力,簡易電子琴的設計基本上完成了。在整個設計過程中,包括前期中期和后期,我都有著許多不同的體會:6.1這個設計的基本是接觸一門新的語言并加以應用,對于我來說,沒有想到的是入手的速度比我的預料快,在以前編程的基礎上,從接觸到開始動手編程的時間得到了很大的縮短。VHDL的編程與C語言的編程有著本質的不同,然而以往形成的舊編程習慣在VHDL編程中依然起著很大的作用。一通百通,不是沒有道理的。對于學習新的知識并予以應用的信心,顯得更足了。6.2 VHDL的設計關鍵是電路邏輯設計,而一個程序的關鍵是總體設計。對于硬件設計接觸不多的我們清楚這一點也許不無好處。通過這個程序設計讓我學會一種新的語言,對數(shù)字系統(tǒng)結構也有了更進一步的了解和認識,對我以后的學習有很大的幫助。 6.3通過本次實習無疑為我們的明年做畢業(yè)設計論文打下了一定的基礎,他能給我們一種做課程設計的思路。7.參考文獻 1EDA技術與VHDL(第三版), 潘松 .清華大學出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 新干縣中醫(yī)醫(yī)院醫(yī)共體總院招聘考試筆試試題附答案
- 2025年中國電子體重秤行業(yè)市場調查研究及投資前景預測報告
- 2025年安徽省軌道交通市場分析報告
- 2025年 河南省特招醫(yī)學院校畢業(yè)生計劃招聘筆試試題附答案
- 2025年鉿項目可行性研究報告
- 2025年金屬制衛(wèi)生、烹飪、餐飲器具項目提案報告模板
- 2025年中國超聲波清洗機行業(yè)市場前景預測及投資戰(zhàn)略咨詢報告
- 中國有機農場未來發(fā)展趨勢分析及投資規(guī)劃建議研究報告
- 2022-2027年中國中空夾膠玻璃行業(yè)市場深度評估及投資前景預測報告
- 2021-2026年中國高端采煤機市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 急性心肌梗死診斷分型及再灌注治療策略李軼課件
- 《建黨偉業(yè)》觀后感課件
- 2025年安全生產月主題宣貫課件
- 涼山州屬國有企業(yè)專業(yè)技術人員及管理人員招聘筆試真題2024
- 數(shù)學建模思想在中小學數(shù)學課堂教學中的應用研究
- 2025年五級應急救援員資格理論考試題庫(含答案)
- 國家開放大學漢語言文學本科《古代小說戲曲專題》期末紙質考試第一大題選擇題庫2025春期版
- GB/T 45236-2025化工園區(qū)危險品運輸車輛停車場建設規(guī)范
- 深圳市勞動合同樣本大全
- GB/T 45144-2024道路車輛車輪和輪輞使用、維護和安全的一般要求及報廢條件
- 050011市政管理學(江蘇開放大學??破谀┰嚲恚?/a>
評論
0/150
提交評論