基于FPGA的彩燈控制器設計_第1頁
基于FPGA的彩燈控制器設計_第2頁
基于FPGA的彩燈控制器設計_第3頁
基于FPGA的彩燈控制器設計_第4頁
基于FPGA的彩燈控制器設計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、鄭州輕工業(yè)學院可編程數(shù)字系統(tǒng)設計 題 目 基于FPGA的彩燈控制器的設計 學生姓名 張煥煥 專業(yè)班級 電子信息工程10-2班 學 號 院 (系) 電氣信息工程學院 指導教師 完成時間 基于FPGA的彩燈控制器設計摘 要隨著科技的發(fā)展 , 在現(xiàn)代生活中, 彩燈作為一種景觀應用越來越多。而在電子電路設計領域中,電子設計自動化(EDA)工具已成為主要的設計手段,VHDL語言則是EDA的關鍵技術之一,它采用自頂向下的設計方法,即從系統(tǒng)總體要求出發(fā),自上至下地將設計任務分解為不同的功能模塊,最后將各功能模塊連接形成頂層模塊,完成系統(tǒng)硬件的整體設計。本文介紹了基于EDA技的多路彩燈控制器的設計與分析。在M

2、AX+PLUSII環(huán)境下采用VHDL語言實現(xiàn),論述了基于VHDL語言和FPGA芯片的數(shù)字系統(tǒng)設計思想和實現(xiàn)過程。電子設計自動化技術EDA的發(fā)展給電子系統(tǒng)的設計帶來了革命性的變化,EDA軟件設計工具,硬件描述語言,可編程邏輯器件使得EDA技術的應用走向普及。FPGA是新型的可編程邏輯器件,采用FPGA進行產品開發(fā)可以靈活地進行模塊配置,大大縮短了產品開發(fā)周期,也有利于產品向小型化,集成化的方向發(fā)展。關鍵詞: VHDL 彩燈 仿真 1、概述1.1、設計目的:設計一個彩燈控制器,使彩燈(LED管)可以實現(xiàn)四種花樣循環(huán)變化及兩種不同頻率的閃爍,有復位開關。整個系統(tǒng)有七個輸入信號CLK,CLR,A,B,

3、C,D,OPT,六個輸出信號控制六個彩燈。OPT的高低電平控制彩燈閃爍的快慢,A,B,C,D控制各種不同花樣彩燈的變換。此彩燈控制系統(tǒng)設定有四種花樣變化。四種花樣分別為:a.彩燈從左到右逐次亮起,再逐次從右到左熄滅;b.彩燈兩邊同時亮兩個,再逐次向中間亮;c.彩燈從左到右兩個兩個的亮,再從右到左兩個兩個逐次的亮;d.彩燈中間兩個亮,再同時向兩邊散開。1.2、設計要求:u 掌握FPGA 的程序設計方法。 u 掌握硬件描述語言語法。 u 程序設計完成后要求在軟件中實現(xiàn)功能仿真。2、系統(tǒng)設計2.1、設計原理:整個系統(tǒng)共有七個輸入信號:基準時鐘信號CLK,系統(tǒng)清零信號(復位信號)CLR,彩燈節(jié)奏快慢選

4、擇開關OPT;共有4個輸出信號Q3.0,分別用于控制四路彩燈。據(jù)此,我們可將整個彩燈控制器CDKZQ分為四大部分:彩燈花樣控制部分、分頻部分、定時部分和計數(shù)部分。當各個模塊均完成上述操作之后,形成最后的四路彩燈顯示系統(tǒng),并且進行仿真。仿真通過,即可下載到指定的FPGA芯片里面,并進行實際連線,進行最后的硬件測試。把分頻部分的不同頻率的時鐘信號CP輸送到計數(shù)部分 ,從而控制彩燈閃爍速度的快慢 ,定時部分控制每種速度維持的時間長短。圖表 122、設計方案:在電路中以 1 代表燈亮,以 0 代表燈滅,由 0、1按不同的規(guī)律組合代表不同的燈光圖案,同時使其選擇不同的頻率,從而實現(xiàn)多種圖案多種頻率的花樣

5、功能顯示。在該電路中只需簡單的修改程序就可以靈活地調整彩燈圖案和變化方式。下面就以一個四路彩燈控制系統(tǒng)的實現(xiàn)為例進行簡單說明。此四路彩燈控制系統(tǒng)設定有四種花樣變化 。彩燈圖案狀態(tài)變換的速度有快、慢兩種。3、程序仿真過程start compilation先編譯generate functional simulation netlist然后生成功能仿真網絡表assignmentssettingsimulation setting設置成功能仿真然后新建一個vector waveform file 通過viewutility windows-node finder 把輸入輸出管腳添加進波形仿真圖里 點

6、擊start simulation得到仿真圖WAVEFORM1:由圖可見:正常情況下 燈按照花樣abcd的順序循環(huán)d在80NS-120NS的高電平使得花樣變?yōu)镈花樣,D高電平結束,燈順序進行A花樣。OPT 在80NS-170NS高電平使得燈變換速度提高2倍 但是和這兩種燈的狀態(tài)任然占用了兩個時鐘周期,這是因為花樣d和花樣a狀態(tài)轉換之間沒有立即銜接,導致220NS處CLR高電平使得燈全部清0,不再變化DIV2是二分頻輸出,由圖可見是輸入時鐘CLK的二分頻4、實驗結果分析實驗表明 ,此設計方法能夠滿足多種不同花樣彩燈的變化要求 ,并且該方法便于擴展不同變化模式的彩燈花樣,同時又實現(xiàn)了彩燈的兩種不同

7、頻率的閃爍。如果不按任何按鍵時候,燈就按四種花樣順序循環(huán)跑,如果按下某個鍵再松開,比如按下C鍵然后松開,那么不管之前燈跑到哪個花樣,按鍵后燈就會從C代表的花樣處開始跑,然后是D花樣,然后是A花樣,依次循環(huán)。但是A,B,C,D認為是按下會彈起的按鍵,因為這個程序里,如果一直按著按鍵不松手,會導致燈只是反復跑一個花樣。比如按著B鍵不松手,那么就會反復跑B花樣。還有不能允許同時按下兩個鍵,三個鍵,4個鍵,也就是說,同一時刻ABCD只能有一個是高電平,否則會出錯,因為這個程序并沒有防錯機制。5、心得體會本次設計的課題是彩燈控制器的設計,當拿到這個課題的時候經過分析就知道關鍵是計數(shù)器和分頻器的使用,分頻

8、的方法有很多種,對于同一種功能的實現(xiàn),用VHDL可以采用多種方式進行描述,每種方式之間各有優(yōu)劣,本次設計只采用了其中較簡單的一種,應盡量用最簡潔的語言寫出所需功能的程序。通過這次課程設計對技術有了更進一步的熟悉,VHDL語言和語言等其他語言還是有很大的區(qū)別。VHDL是EDA技術的重要組成部分,其具有與具體硬件電路無關和與設計平臺無關的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化、結構化設計方面,表現(xiàn)了強大的生命力和應用潛力。其主要的也是最大的優(yōu)點就在于設計者可以專心致力于其功能的實現(xiàn),而不需要對不影響功能的與工藝有關的因素花費過多的時間和精力。在實際操作中發(fā)現(xiàn)設計和

9、課本上的知識有很大聯(lián)系,但又高于課本,一個簡單的原理要把它應用以及和其他功能綜合起來就有些困難。通過設計也鞏固了我們的書本知識以及通過借閱書籍和上網查找資料,也豐富了自己對的了解。6、致謝7、參考文獻1 周潤景.基于Quartus的FPGA/CPLD數(shù)字系統(tǒng)設計實例M.電子工業(yè)出版社.2007,82 潘松 黃繼業(yè). EDA技術實用教程(第二版).北京:科學出版社,2006.93 林明權 馬維旻 VHDL數(shù)字控制系統(tǒng)設計范例.電子工業(yè)出版社2003,14 褚振勇. FPGA設計及應用(第三版)M.西安電子科技大學出版社.2012,48、附錄彩燈控制器的源程序library ieee;use ie

10、ee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity horseracelamp isport(clk:in std_logic;clr:in std_logic;a:in std_logic;b:in std_logic;c:in std_logic;d:in std_logic;opt:in std_logic;q:out std_logic_vector(5 downto 0);div2:out std_logic);end;architecture one of horseracelamp is type states

11、 is(s0,s1,s2,s3); signal present:states; signal q1:std_logic_vector(5 downto 0); signal count:std_logic_vector(3 downto 0); signal halfclk:std_logic_vector(1 downto 0); signal clkin:std_logic_vector(1 downto 0);begin process(clk) -該進程實現(xiàn)二分頻beginif clkevent and clk=1 then halfclk=halfclk+1;end if;end

12、process;process(opt)-該進程實現(xiàn)OPT高時候用原來的時鐘,OPT低的時候用二分頻后的時鐘,信號CLKIN(0)會傳遞到下一個進程里 begin if opt=0then clkin(0)=halfclk(0); else clkin(0)=clk; end if; end process; process(clk,clr,a,b,c,d) -S1,S2,S3,S4分別對應A,B,C,D四種花樣,它們之間會自動按順序循環(huán),也會因為A,B,C,D中某個置高而改變循環(huán)順序,所以用了大量的IF ELSIF語句beginif clr=1 then present=s0; q10);e

13、lsif clkin(0)event and clkin(0)=1 then case present is when s0=if q1=thenq1=;elseif count=1100 then count0); q1=; present=s1; elsif b=1then count0); q1=; present=s1; elsif c=1then count0); q1=; present=s2; elsif d=1thencount0); q1=; presentq1q1q1q1q1q1q1q1q1q1q1q1null;end case;count=count+1;presenti

14、f count=0011 then count0); q1=; present=s2; elsif a=1then count0); q1=; present=s0; elsif c=1then count0); q1=; present=s2; elsif d=1thencount0); q1=; presentq1q1q1null;end case;count=count+1;presentif count=0110 then count0); q1=; present=s3;elsif a=1then count0); q1=; present=s0; elsif b=1then count0); q1=; present=s1; elsif d=1thencount0); q1=; presentq1q1q1q1q1q1null;end case;count=count+1;presentif count=0011 then count0); q1=; present=s0

溫馨提示

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

評論

0/150

提交評論