路彩燈設(shè)計報告_第1頁
路彩燈設(shè)計報告_第2頁
路彩燈設(shè)計報告_第3頁
路彩燈設(shè)計報告_第4頁
路彩燈設(shè)計報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、設(shè) 計 報 告課程名稱 在系統(tǒng)編程技術(shù) 任課教師 設(shè)計題目 多路彩燈控制器的設(shè)計 班級 姓名 學號 日期 2010-6-16 目錄一、題目分析11.1 總體方框圖11.2 具體功能要求1二、系統(tǒng)設(shè)計方案2三、主要模塊設(shè)計23.1、時序控制模塊33.2、顯示控制電路模塊3四、 VHDL源程序設(shè)計(見附錄)5五、系統(tǒng)仿真與分析55.1時序控制電路的仿真波形55、2顯示控制模塊的仿真波形55、3多路彩燈控制器的仿真波形6五、硬件實現(xiàn)75.1 引腳鎖定(模式5)75.2 硬件測試及說明8六、結(jié)論8七、設(shè)計總結(jié)9八、參考文獻9九、附錄10多路彩燈控制器的設(shè)計前言多路彩燈控制器通過對應(yīng)的開關(guān)按鈕,能夠控制

2、多個彩燈的輸出狀態(tài),組合多種變幻的燈光閃爍,它被廣泛地應(yīng)用到節(jié)日慶典、劇場燈光、櫥窗裝飾中。采用數(shù)字電路方式實現(xiàn)的多路彩燈控制器其原理比較簡單,基于對VHDL的初步學習,利用VHDL語言設(shè)計一個燈控制器,能循環(huán)變化花型,可清零,可選擇花型變化節(jié)奏。本想設(shè)計一個16路的彩燈,但是由于實驗設(shè)備的限制,只能做8路得彩燈,但是其原理并沒有區(qū)別,都是根據(jù)它是由兩個主要部分組成,即時序控制電路和顯示控制模塊兩部分組成,利用VHDL語言的結(jié)構(gòu)化和自頂而下的設(shè)計方法,先分別設(shè)計出時序控制電路和顯示控制電路兩部分,然后利用VHDL的自頂而下的設(shè)計,在總的彩燈控制器設(shè)計中引入時序控制和顯示控制,即可實現(xiàn)多路彩燈控

3、制器的設(shè)計。一、題目分析1.1 總體方框圖多路彩燈控制器設(shè)計時序控制電路設(shè)計顯示控制模塊設(shè)計7種花型循環(huán)閃爍功能復(fù)位清零功能快慢節(jié)奏功能1.2 具體功能要求本次設(shè)計要實現(xiàn)的功能如下:1、彩燈控制器由8路發(fā)光二極管構(gòu)成,當控制器開關(guān)打開時,能夠在7種不同的彩燈花型之間進行循環(huán)變化;2、控制器具備復(fù)位功能,一旦復(fù)位信號有效,不論控制器花型變化處于何種狀態(tài),都會無條件即刻清零,恢復(fù)到初始狀態(tài);3、設(shè)置節(jié)拍選擇按鈕。按下此按鈕,多路彩燈控制器的花型變化的節(jié)奏減緩;放開此按鈕,則變化節(jié)奏加快。二、系統(tǒng)設(shè)計方案方案論證:方案一:以一個8路彩燈花樣控制器、一個四頻率輸出分頻器,一個四選一控制器和一個時間選擇

4、器總共四部分來完成設(shè)計。四選一控制器從分頻器選擇不同頻率的時鐘信號輸送到彩燈花樣控制器,從而達到控制彩燈閃爍速度的快慢,時間選擇器控制每種速度維持的時間長短。方案二:根據(jù)要完成的功能要求,整個系統(tǒng)共有3個輸入信號,分別是控制器快慢節(jié)奏控制信號opt、復(fù)位清零信號clr和時鐘脈沖信號clk,輸出信號是8路彩燈的輸入狀態(tài)led70,系統(tǒng)框圖如下分析:多路彩燈控制器可由兩個電路模塊組成:時序控制電路模塊和顯示控制電路模塊。時序控制電路根據(jù)輸入信號的設(shè)置得到相應(yīng)的輸出信號,并將此信號作為顯示控制電路的時鐘信號;顯示控制電路根據(jù)輸入時鐘信號的周期,有規(guī)律的輸出預(yù)先設(shè)定的六種彩燈從而使得多路彩燈控制器在一

5、定的輸入條件下提供符合設(shè)計要求的有效輸出。經(jīng)過以上分析,選擇方案二較合理,因為資源的限制,選擇方案二較合理。三、主要模塊設(shè)計多路彩燈控制器的實現(xiàn)基礎(chǔ)是時序控制電路和顯示控制電路的設(shè)計。3.1、時序控制模塊時序控制電路模塊的方框圖如下時序控制電路原理圖如下:其中,clk為輸入時鐘信號,電路在時鐘上升沿發(fā)生變化;clr為復(fù)位清零信號,高電平有效,且一旦該信號有效,電路無條件復(fù)位為初始狀態(tài);opt為快慢節(jié)奏選擇信號,低電平節(jié)奏快,高電平節(jié)奏慢;clkout為輸出信號,當clr信號有效時其輸出為0;否則clkout的周期隨opt信號的改變而改變。設(shè)置時序控制電路所產(chǎn)生的控制時鐘信號的快慢兩種節(jié)奏,分別

6、為輸入時鐘信號頻率的1/4和1/8,因而輸出時鐘控制信號可以通過對輸入時鐘的計數(shù)來獲得。當opt為低電平時,輸出每經(jīng)過兩個時鐘周期進行翻轉(zhuǎn),實現(xiàn)四分頻的快節(jié)奏;當opt為高電平時,輸出每經(jīng)過四個時鐘周期進行翻轉(zhuǎn),實現(xiàn)八分頻的慢節(jié)奏。3.2、顯示控制電路模塊 顯示控制電路模塊的方框圖如下:顯示控制電路原理圖如下:輸入信號clk和clr的定義與時序控制電路一樣,輸出信號led7.0能夠循環(huán)輸出8路彩燈。各狀態(tài)對應(yīng)的彩燈輸出花型定義為:S0: 00000000S1: 01010101S2: 10101010S3: 10001000S4: 11001100S5: 00110011S6: 0001000

7、1四、 VHDL源程序設(shè)計(見附錄)五、系統(tǒng)仿真與分析5.1時序控制電路的仿真波形仿真波形分析:從上圖可以看出,當復(fù)位信號為高電平時,信號使能,使得電路不論處于何種狀態(tài)或時鐘周期的哪個位置,都即刻被復(fù)位清零。圖中,復(fù)位信號從時鐘下降沿開始有效,輸出信號不必等到時鐘的上升沿就馬上恢復(fù)為初始狀態(tài)。當快慢節(jié)奏信號opt為低電平時,此時的時序控制電路起著四分頻的作用,每經(jīng)過兩個輸入時鐘周期,輸出信號都進行翻轉(zhuǎn),當快慢節(jié)奏選擇信號opt高電平時,時序控制電路類似于八分頻分頻器。每經(jīng)過四個輸入時鐘周期,輸出信號都進行翻轉(zhuǎn)。Opt信號取值不同時對應(yīng)的輸出控制信號的周期也不相同,二者分別表示兩種頻率不同的快慢

8、周期信號。上圖的仿真結(jié)果符合電路的設(shè)計要求。5、2顯示控制模塊的仿真波形仿真波形分析:當復(fù)位清零信號有效時,彩燈輸出為初始狀態(tài),按照預(yù)先設(shè)定為全0;否則,顯示控制電路在7種不同狀態(tài)之間循環(huán)變化。5、3多路彩燈控制器的仿真波形多路彩燈控制器仿真波形:下圖為多路彩燈控制器復(fù)位功能仿真波形:仿真波形分析:圖中,當復(fù)位信號clr為高電平時,不論8路彩燈處于何種工作狀態(tài),也不論在輸入時鐘信號的哪個功能,所有的輸出都被清零,恢復(fù)為初始狀態(tài),也就是說,clr的優(yōu)先級別最高。下圖為多路彩燈控制器快節(jié)奏輸出的仿真實現(xiàn):下圖為多路彩燈控制器慢節(jié)奏輸出的仿真實現(xiàn):仿真波形分析:當快慢節(jié)奏選擇信號選擇快節(jié)奏輸出,即信

9、號opt為低電平,此時,每經(jīng)過四個時鐘周期,彩燈的輸出狀態(tài)發(fā)生一次變化,并在七個不同的狀態(tài)之間循環(huán)改變,當快慢節(jié)奏選擇信號選擇慢節(jié)奏輸出,即信號opt為高電平,每次要經(jīng)過八個時鐘周期才會改變一次輸出狀態(tài)。通過使用時序控制電路和顯示控制電路這兩個例化元件,將時序控制電路的輸出作為顯示電路的輸入時鐘信號,即可實現(xiàn)多路彩燈的控制器,如下圖所示:五、硬件實現(xiàn)5.1 引腳鎖定(模式5)CLOCK0:8路彩燈控制器的時鐘脈沖信號clk接目標芯片EP1C3T144C8的CLOCK0鍵8:8路彩燈控制器的復(fù)位清零信號clr接目標芯片EP1C3T144C8的模式5的實驗結(jié)構(gòu)圖的鍵8 鍵7:8路彩燈控制器的快慢節(jié)

10、奏控制信號opt接目標芯片EP1C3T144C8的模式5的實驗結(jié)構(gòu)圖的鍵7D1D8:8路彩燈控制器的8路輸出信號led70接目標芯片EP1C3T144C8的模式5的實驗結(jié)構(gòu)圖的D1D8的led燈顯示輸出狀態(tài)5.2 硬件測試及說明下載完成后接通目標芯片的CLOCK0,按下鍵8為高電平時(相應(yīng)的led燈發(fā)光),輸出的led燈全部被清零,鍵8為低電平時(相應(yīng)的led燈滅),輸出的led燈從00000000狀態(tài)開始循環(huán)發(fā)光,鍵7為設(shè)置節(jié)拍按鈕,按下此按鈕為低電平時(四分頻),多路彩燈的輸出頻率為輸入時鐘脈沖CLOCK0頻率的1/4,鍵7為高電平時(八分頻),多路彩燈的輸出頻率為輸入時鐘脈沖CLOCK0

11、頻率的1/8,比如當輸入頻率選為64HZ時,鍵7為高電平時,輸出彩燈狀態(tài)的轉(zhuǎn)換頻率為8HZ,即每0.125s變換一次狀態(tài),鍵7為低電平時,輸出彩燈狀態(tài)的轉(zhuǎn)換頻率為16HZ,即每0.0625s變換一次狀態(tài),節(jié)奏較快。通過選擇鐘脈沖CLOCK0的頻率可以變換輸入輸出的頻率。六、結(jié)論由以上可以知道,本實驗設(shè)計的多路彩燈控制器實現(xiàn)了系統(tǒng)設(shè)計的要求,即在硬件連接測試時,在芯片EP1C3T144C8的測試上,測試結(jié)果與題目所要實現(xiàn)的一致。通過改變CLOCK0的頻率以及opt來控制輸出彩燈的快慢。七、設(shè)計總結(jié)通過本課程設(shè)計,我學會了EDA簡單系統(tǒng)的設(shè)計。多路彩燈控制器有時鐘控制模塊和顯示控制模塊,其中模塊設(shè)

12、計中分別利用了分頻器和狀態(tài)機。利用分頻器得到了兩個頻率的時鐘信號,利用了狀態(tài)機得到了彩燈的六種輸出狀態(tài)。運用自頂而下的設(shè)計思想,按功能逐層分割實現(xiàn)層次化設(shè)計,在VHDL程序設(shè)計整體思路上采用的是自頂而下的模塊化的行為結(jié)構(gòu)描述的方法。在設(shè)計子模塊時分別進行模擬仿真并且在最后對整個系統(tǒng)進行仿真,確保整個系統(tǒng)的正確性。從本次設(shè)計中,我掌握了VHDL的語法結(jié)構(gòu)和使用方法學,學會子模塊的設(shè)計,以及簡單系統(tǒng)的設(shè)計方法和思路。本次的設(shè)計是簡單系統(tǒng)的設(shè)計,其實還可以增加多路彩燈的實現(xiàn)的功能,比如還可以使多路彩燈的輸出定時自動變換快慢節(jié)奏,或者使多路彩燈的輸出的頻率不止兩種,給時序控制電路定時,使其輸出更多種頻

13、率的循環(huán)。這點會在以后繼續(xù)學習的過程中加以改進。設(shè)計過程中通過查閱資料和與同學交流最后能完成要求的功能。八、參考文獻1EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實踐 劉欲曉 方強 黃宛寧等編著 電子工業(yè)出版社2EDA技術(shù)實用教程 潘松 黃繼業(yè)編著 科學出版社3數(shù)字邏輯EDA設(shè)計與實踐 劉昌華編著 國防工業(yè)出版社九、附錄1、時序控制電路VHDL設(shè)計源程序:LIBRARY IEEE; -加載庫文件USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; / IEEE設(shè)計庫名,STD_LOGIC_UNSIGNED程序包名ENTITY metron

14、ome IS -定義實體 PORT(clk :IN STD_LOGIC; -時鐘信號 clr:IN STD_LOGIC; -復(fù)位信號 opt:IN STD_LOGIC; -快慢選擇信號 clkout:OUT STD_LOGIC); -輸出時鐘控制信號END metronome;ARCHITECTURE rtl OF metronome IS -定義結(jié)構(gòu)體SIGNAL clk_tmp: STD_LOGIC;-定義中間結(jié)點信號SIGNAL counter: STD_LOGIC_VECTOR(1 DOWNTO 0);-定義計數(shù)器BEGIN /下面為結(jié)構(gòu)體中的功能描述語句 PROCESS(clk,cl

15、r,opt) -當敏感信號發(fā)生變化時,啟動進程 BEGIN IF clr=1 THEN -清零 clk_tmp=0; counter=00; /00表示二進制數(shù),矢量位,必須加雙引號 ELSIF clkEVENT AND clk=1 THEN IF opt=0 THEN -四分頻,快節(jié)奏 IF counter=01 THEN counter=00; clk_tmp=NOT clk_tmp; /邏輯操作符NOT,取反 ELSE counter= counter+1; / counter邏輯矢量,1整數(shù),不同類型數(shù)據(jù)相加,調(diào)用函數(shù),即運算符重載,用到STD_LOGIC_UNSIGNED程序包,既有

16、輸出又有反饋 END IF; ELSE IF counter=11 THEN -八分頻,慢節(jié)奏 counter=00; clk_tmp=NOT clk_tmp; ELSE counter= counter+1; END IF; END IF; END IF; END PROCESS; clkout=clk_tmp; -輸出分頻后的時鐘信號 / clk_tmp為信號,所以放在進程外,若為變量,則放在進程里,數(shù)據(jù)對象有信號、變量、常量END rtl; 2、顯示控制模塊VHDL設(shè)計源程序:LIBRARY IEEE; -加載庫文件USE IEEE.STD_LOGIC_1164.ALL;ENTITY o

17、utput IS -定義實體output PORT(clk :IN STD_LOGIC; -輸入時鐘信號 clr:IN STD_LOGIC; -復(fù)位信號 led:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -彩燈輸出END output;ARCHITECTURE rtl OF output IS -定義結(jié)構(gòu)體TYPE states IS -枚舉類型,枚舉狀態(tài)機狀態(tài) / states數(shù)據(jù)類型 (s0,s1,s2,s3,s4,s5,s6);SIGNAL state: states; /定義一個數(shù)據(jù)的暫存節(jié)點BEGIN PROCESS(clk,clr) -進程 /進程的敏感信

18、號表,通常要求將進程中所有的輸入信號放在敏感信號表中 BEGIN IF clr=1 THEN -清零 /條件語句IF- THEN- ELSIF state=S0; led / =不是操作符,含義“于是” state=s1; / state=s2; led state=s3; led state=s4; led state=s5; led state=s6; led state=s1; led=00010001; END CASE; END IF; END PROCESS; END rtl; 3、多路彩燈控制器頂層設(shè)計源程序:LIBRARY IEEE; USE IEEE.STD_LOGIC_11

19、64.ALL; / STD_LOGIC_1164程序包ENTITY colorled IS -定義實體,頂層模塊 PORT( /描述電路端口及端口信號 clk:IN STD_LOGIC; -輸入時鐘信號 /端口模式IN,數(shù)據(jù)類型STD_LOGIC,屬標準位類型 clr:IN STD_LOGIC; -清零信號 opt:IN STD_LOGIC; -節(jié)奏選擇信號 led:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) -8路彩燈輸出 /標準邏輯矢量數(shù)據(jù)類型STD_LOGIC_VECTOR );END colorled;ARCHITECTURE rtl OF colorled IS -定義結(jié)構(gòu)體 /描述電路器件的內(nèi)部邏輯功能或電路結(jié)構(gòu)COMPONENT

溫馨提示

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

評論

0/150

提交評論