基于FPGA的多路彩燈控制器的設(shè)計(jì)_第1頁
基于FPGA的多路彩燈控制器的設(shè)計(jì)_第2頁
基于FPGA的多路彩燈控制器的設(shè)計(jì)_第3頁
基于FPGA的多路彩燈控制器的設(shè)計(jì)_第4頁
基于FPGA的多路彩燈控制器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

WordWord資料FPGA課程設(shè)計(jì)報(bào)告學(xué)院:信息工程學(xué)院班級:信息12級--1班姓名:牛月太學(xué)號:1267118130完成時(shí)間:2015年7月13日基于FPGA;路彩燈控制器的設(shè)計(jì)一、引言21世紀(jì),電子技術(shù)迅猛發(fā)展,高新技術(shù)日新月異。傳統(tǒng)的設(shè)計(jì)方法正逐步退出歷史的舞臺,取而代之的是基于EDA技術(shù)的芯片設(shè)計(jì)技術(shù),它正在成為電子系統(tǒng)設(shè)計(jì)的主流。大規(guī)??删幊唐骷F(xiàn)場可編程門陣列 FPG舟口復(fù)雜可編程邏輯器件CPL皿當(dāng)今應(yīng)用最廣泛的兩類可編程專用集成電路。近年來,ED徽術(shù)高速發(fā)展使現(xiàn)代電子產(chǎn)品向著功能多樣化,體積最小化,

功耗最低化的方向發(fā)展。它與傳統(tǒng)電子產(chǎn)品在設(shè)計(jì)上的顯著優(yōu)勢就是: 第一大量使用大規(guī)??删幊踢壿嬈骷蕴岣弋a(chǎn)品性能,縮小產(chǎn)品體積,降低功耗。第二是廣泛運(yùn)用現(xiàn)代化計(jì)算機(jī)技術(shù),以提高電子設(shè)計(jì)自動(dòng)化程度,縮短開發(fā)周期,提高產(chǎn)品的競爭力。所以掌握這方面的應(yīng)用極其重要,本題目就是基于 FPGAS一技術(shù)完成實(shí)現(xiàn)的。眾所周知,彩燈、流水燈、裝飾燈等在日常生活和商業(yè)都有極其廣泛的應(yīng)用。具有很高的商業(yè)價(jià)值和研究價(jià)值。而對于越來越變化多端要求極高的燈飾行業(yè),相對傳統(tǒng)的單片機(jī)來說,F(xiàn)PGA的性價(jià)比越來越高,功能強(qiáng)大,能輕松的完成對彩燈的控制。隨著科技的發(fā)展,在現(xiàn)代生活中,彩燈作為一種景觀應(yīng)用越來越多。而在電子電路設(shè)計(jì)領(lǐng)域中,電子設(shè)計(jì)自動(dòng)化(EDA)工具已成為主要的設(shè)計(jì)手段,VHDL語言則是EDA勺關(guān)鍵技術(shù)之一,它采用自頂向下的設(shè)計(jì)方法,即從系統(tǒng)總體要求出發(fā),自上至下地將設(shè)計(jì)任務(wù)分解為不同的功能模塊, 最后將各功能模塊連接形成頂層模塊,完成系統(tǒng)硬件的整體設(shè)計(jì)。本文介紹了基于EDAK的多路彩燈控制器的設(shè)計(jì)與分析。在MAX+PLUSI環(huán)境下采用VHDL語言實(shí)現(xiàn),論述了基于VHDL語言和FPGA5片的數(shù)字系統(tǒng)設(shè)計(jì)思想和實(shí)現(xiàn)過程。電子設(shè)計(jì)自動(dòng)化技術(shù) EDA勺發(fā)展給電子系統(tǒng)的設(shè)計(jì)帶來了革命性的變化,EDA?C件設(shè)計(jì)工具,硬件描述語言,可編程邏輯器件使得EDA技術(shù)的應(yīng)用走向普及。FPGA^新型的可編程邏輯器件,采用FPGA!行產(chǎn)品開發(fā)可以靈活地進(jìn)行模塊配置,大大縮短了產(chǎn)品開發(fā)周期,也有利于產(chǎn)品向小型化,集成化的方向發(fā)展。二、任務(wù)要求.設(shè)計(jì)一個(gè)多路彩燈控制器,能循環(huán)變化花型 ,可清零,可選擇花型。.彩燈控制器有16路發(fā)光二極管構(gòu)成,當(dāng)控制器開關(guān)打開時(shí),能夠在6種不同花型之間進(jìn)行循環(huán)變化。.要求控制器具備復(fù)位清零功能,一旦復(fù)位信號失效,不論控制器花型變化處于何種狀態(tài),都會(huì)無條件即刻清零,回到初始化狀態(tài)。三、設(shè)計(jì)作用與目的根據(jù)系統(tǒng)設(shè)計(jì)要求可知,整個(gè)系統(tǒng)共有三個(gè)輸入信號:控制彩燈節(jié)奏快慢的基準(zhǔn)時(shí)鐘信號CLK_IN,系統(tǒng)清零信號CLR彩燈節(jié)奏快慢選擇開關(guān)CHOSE_KEY共有16個(gè)輸出信號LED[15:0],分別用于控制十六路彩燈。據(jù)此,我們可將整個(gè)彩燈控制器CDKZ3為三大部分:時(shí)序控制電路SXKZ和顯示控制電路XSKZ本題目還用原理圖來完成頂層文件,對于比較簡單的,子模塊較少的題目,建議頂層模塊使用原理圖,會(huì)比較直觀。而對于比較復(fù)雜的,子模塊較多的題目,使用文本元件例化,會(huì)更簡潔清晰。如用原理圖完成頂層文件連線如圖所示。xx苞絲CLKLEML互…O]CLft彩燈控制器的組成原理圖四、所用設(shè)備及軟件FPGA的發(fā)展歷程FPGA(Field—ProgrammableGateArray),即現(xiàn)場可編程門陣列,它是在PALGALCPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。以硬件描述語言(Verilog或VHDL所完成的電路設(shè)計(jì),可以經(jīng)過簡單的綜合與布局,快速的燒錄至FPGA上進(jìn)行測試,是現(xiàn)代IC設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路(比如 ANDORXORNOT或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的 FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器 (Flip-flop)或者其他更加完整的記憶塊。系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過可編輯的連接把 FPGA內(nèi)部的邏輯塊連接起來,就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠后的成品 FPGA勺邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGAT以完成所需要的邏輯功能。FPGA-般來說比ASIC(專用集成電路)的速度要慢,無法完成復(fù)雜的設(shè)計(jì),但是功耗較低。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品, 可以被修改來改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開發(fā)是在普通的 FPGAh完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于ASIC的芯片上。另外一種方法是用CPLD(ComplexProgrammableLogicDevice,復(fù)雜可編程邏輯器件)。QuartusII簡介QuartusII是Altera公司的綜合性PLD/FPGAff發(fā)軟件,支持原理圖、VHDLVerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDAX具。此外,QuartusII 通過和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC開發(fā),集系統(tǒng)級設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺。MaxplusII作為Altera的上一代PLDS計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對MaxplusII的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。 Altera在QuartusII 中包含了許多諸如SignalTapII、ChipEditor和RTLViewer的設(shè)計(jì)輔助工具,集成了SOPG口HardCopy設(shè)計(jì)流程,并且繼承了MaxplusII友好的圖形界面及簡便的使用方法。AlteraQuartusII作為一種可編程邏輯的設(shè)計(jì)環(huán)境,由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。功能QuartusII提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性,包括:可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDLRB完成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件;芯片(電路)平面布局連線編輯;LogicLock增量設(shè)計(jì)方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時(shí)序邏輯仿真工具;定時(shí)/時(shí)序分析與關(guān)鍵路徑延時(shí)分析;可使用SignalTapII邏輯分析工具進(jìn)行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計(jì)流程;自動(dòng)定位編譯錯(cuò)誤;高效的期間編程與驗(yàn)證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDLM]表文件和Verilog網(wǎng)表文件;能生成第三方EDAa件使用的VHDLM]表文件和Verilog網(wǎng)表文件。五、系統(tǒng)設(shè)計(jì)方案系統(tǒng)總體設(shè)計(jì)圖5.1系統(tǒng)總圖系統(tǒng)軟件設(shè)計(jì)5.2.1 時(shí)序控制器:SXKZgB分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;-entitysxkzis --port(chose_key:instd_logic; --clk_in:instd_logic; --clr:instd_logic; --clk:outstd_logic --);endentity;architectureartofsxkzis -signalcllk:std_logic;beginprocess(clk_in,clr,chose_key)is-variabletemp:std_logic_vector(0to2);--beginifclr='1'thencllk<='0';temp:="000";--elsifrising_edge(clk_in)thenifchose_key='1'then -iftemp="011"then--temp:="000";cllk<=notcllk;elsetemp:=temp+'1';endif;elseiftemp="111"then --temp:="000"; --cllk<=notcllk; --16elsetemp:=temp+'1';endif;endif;endif;endprocess;clk<=cllk;endart;生成的元器件符號SYMBOL:庫函數(shù)聲明實(shí)體聲明速度控制按鈕輸入時(shí)鐘信號復(fù)位信號改變后的時(shí)鐘信號結(jié)構(gòu)體聲明進(jìn)程定義一個(gè)變量復(fù)位初始化按鍵按下,高速時(shí)輸出時(shí)鐘信號T為輸入信號的8倍按鍵沒按下,低速時(shí)輸出時(shí)鐘信號T為輸入信號的倍圖5.2時(shí)序控制器5.2.2,顯示控制器:XSKZlibraryieee;useieee.std_logic_1164.all;entityxskzisport(clk:instd_logic;彩燈輸出,控制端口定義一組狀態(tài)機(jī)定義一信號彩燈輸出,控制端口定義一組狀態(tài)機(jī)定義一信號led:outstd_logic_vector(0to15) --);endentity;architectureartofxskzistypestateis(s0,s1,s2,s3,s4,s5,s6); -signalcurrent_state:state;signalflower:std_logic_vector(15downto0);beginprocess(clr,clk)isconstantf1:std_logic_vector(0to15):="0001000100010001";constantf2:std_logic_vector(0to15):="1010101010101010”;constantf3:std_logic_vector(0to15):="0011001100110011";constantf4:std_logic_vector(0to15):="0100100100100100”;constantf5:std_logic_vector(0to15):="1001010010100101";constantf6:std_logic_vector(0to15):="1101101101100110";--定義一組彩燈而花式「begin判斷復(fù)位信號,有則復(fù)位狀態(tài)為判斷復(fù)位信號,有則復(fù)位狀態(tài)為0,否則等待時(shí)鐘信號的上升沿whens0=>flower<="0000000000000000”;-- 初始狀態(tài)current_state<=s1;-- 一個(gè)時(shí)鐘上升沿,將當(dāng)前狀態(tài)指向下一個(gè)狀態(tài)whens1=>flower<=f1;current_state<=s2;whens2=>flower<=f2;current_state<=s3;whens3=>flower<=f3;current_state<=s4;whens4=>flower<=f4;current_state<=s5;whens5=>flower<=f5;current_state<=s6;whens6=>flower<=f6;current_state<=s1;-- 返回第一個(gè)狀態(tài),實(shí)現(xiàn)循環(huán)endcase;endif;endprocess;led<=flower;endarchitecture;flower<=f3;current_state<=s4;whens4=>flower<=f4;current_state<=s5;whens5=>flower<=f5;current_state<=s6;whens6=>flower<=f6;current_state<=s1;-- 返回第一個(gè)狀態(tài),實(shí)現(xiàn)循環(huán)endcase;endif;endprocess;led<=flower;endarchitecture;生成元器件符號:SYMBOL圖5.3顯示控制器5.2.3 彩燈控制器:CDKZlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycdkz2isport(實(shí)體clkin:instd_logic; --clr:instd_logic;chose_key:instd_logic;led:outstd_logic_vector(0to15)端口定義);endentity;architectureartofcdkz2iscomponentsxkzisport(結(jié)構(gòu)體元件例化sxkzchose_key:instd_logic;clk_in:instd_logic;clr:instd_logic;clk:outstd_logic);endcomponentsxkz;componentxskzisport(元件例化xskzclk:instd_logic;clr:instd_logic;led:outstd_logic_vector(0to15));endcomponentxskz;signals0:std_logic;begin定義一個(gè)信號u1:sxkzportmap(chose_key,clkin,clr,s0);u2:xskzportmap(s0,clr,led);endarchitecture;圖5.4彩燈控制器5£卜工Litled[0,J5]圖5.5RTL六、仿真調(diào)試分析startcompilation先編譯然后生成功能仿真網(wǎng)絡(luò)表設(shè)置成功能仿真把輸入輸出管腳添加進(jìn)波形仿真圖generatefunctionalsimulationnetlistassignments-setting—simulationsetting然后新建一個(gè)vectorwaveformfile通過view—utilitywindows--nodefinder然后生成功能仿真網(wǎng)絡(luò)表設(shè)置成功能仿真把輸入輸出管腳添加進(jìn)波形仿真圖時(shí)序控制器波形仿真:

UlILILIL-JL-JLILILIL-JL-JlILILIL-JL-JlinJULOL-JlIlILILIL-Jl-JlILILIL-Jll圖6.1輸入信號V&lueat15.53he1vt1600ns320,0m480.pm640pn*80Q.Qns960.0解Huhi15.S25mJ ....eyA0 | 一._._— -aijj■mwuiMuwumwmumwumumuiniwmumwumumiwmw圖6.2輸出波形顯示控制器波形仿真:MaxellIrneBar 14.975ns .±1Porter 11.7nsIhtavai: QTSrw EndNoncVaItui+14.90r1p£ 10.0TLE次止 3口用皿 他勺? SOQM gg皿14975的£JE^OelkAL 1 1 1 1 1 1 1 1 1 1 1 1?1clrk0:-L0芝..0)kX...1JIlX04...2)kX4>S..3)AX酬E.4)kX075)kXoe…呂】AX3g7)AX01Q.8]kXj011..9]A.X012Qi)kX013.1)AX014…燈kJ015,3]kXOl@AXon…5]*X圖6.3輸入信號Sl?tV&lllWH1ps2D.Dns?他ahiWE1ns日口.Dm9D0.0ns. 12D.Dhe■?1川口0Eh51B0,Dnc9BQ■HmtcK96f34.975deJelkaa_rLn_nL_n_r-L_rT_r_L_nL_rT_n_n_rL_^L_rT_rT_rT_rT_cir*L'一Q]AQ |1 [」1 『...1]Jl0rn__l1-l_! 1,2]*n]"l...3]kD r11 ir11n nL…4]AUrLSlj-L_rJ] 1-5]h口 Jn 11 ...6]ka 1J1 r"11_ 1 T,7]AG 1 . 1 1_j i r!J 1...8]AP■T|3=iFn fi_J[「...■a]AU_j i J1H]kQi ?:? r...1]kQ 1 1 J j? r"l JL...£]>u:1 1ii_r..3]AQ--?_[…打k0 r_jn rTI_r ?一51AQ>_i i__ rn ii rn r1 1LMmbsrTmBw: 14.975n? *|fc|Panlw: 2S124ns:Interval: 13.2?n?圖6.4輸出波形6.3彩燈控制器波形仿真:七、設(shè)計(jì)中的問題及解決方法實(shí)驗(yàn)表明,此設(shè)計(jì)方法能夠滿足多種不同花樣彩燈的變化要求 ,并且該方法便于擴(kuò)展不同變化模式的彩燈花樣,同時(shí)又實(shí)現(xiàn)了彩燈的兩種不同頻率的閃爍。如果不按任何按鍵時(shí)候,燈就按四種花樣順序循環(huán)跑,如果按下某個(gè)鍵再松開,比如按下C鍵然后松開,那么不管之前燈跑到哪個(gè)花樣,按鍵后燈就會(huì)從 C代表的花樣處開始跑,然后是D花樣,然后是A花樣,依次循環(huán)。但是A,B,C,D認(rèn)為是按下會(huì)彈起的按鍵,因?yàn)檫@個(gè)程序里,如果一直按著按鍵不松手,會(huì)導(dǎo)致燈只是反復(fù)跑一個(gè)花樣。比如按著B鍵不松手,那么就會(huì)反復(fù)跑B花樣。還有不能允許同時(shí)按下兩個(gè)鍵,三個(gè)鍵,4個(gè)鍵,也就是說,同一時(shí)刻ABCDR能有一個(gè)是高電平,否則會(huì)出錯(cuò),因?yàn)檫@個(gè)程序并沒有防錯(cuò)機(jī)制。八、心得體會(huì):本次設(shè)計(jì)的課題是彩燈控制器,這個(gè)課題是自己選擇然

溫馨提示

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

評論

0/150

提交評論