




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 PAGE38 / NUMPAGES41基于FPGA的交通燈控制器設(shè)計摘 要超高速硬件描述語言VHDL,是對數(shù)字系統(tǒng)進行抽象的行為與功能描述到具體的部線路結(jié)構(gòu)描述,利用EDA工具可以在電子設(shè)計的各個階段、各個層系進行計算機模擬驗證,保證設(shè)計過程的正確性,可大大降低設(shè)計成本,縮短設(shè)計周期。本文介紹的數(shù)字秒表設(shè)計,利用基于VHDL的EDA設(shè)計工具,采用大規(guī)??删幊踢壿嬈骷﨔PGA,通過設(shè)計芯片來實現(xiàn)系統(tǒng)功能。交通燈控制系統(tǒng)可以實現(xiàn)路口紅綠燈的自動控制?;贔PGA設(shè)計的交通燈控制系統(tǒng)具有電路簡單、可靠性強、實時快速擦寫、運算速度高、故障率低、可靠性高,而且體積小的特點。本設(shè)計采用Altera公司C
2、yclone系列的EPlC3T1444C8芯片,在Quartus II軟件平臺上使用VHDL語言,采用自頂向下的設(shè)計方法對系統(tǒng)進行了模塊化設(shè)計和綜合,并進行了仿真。該系統(tǒng)可實現(xiàn)十字路口紅綠燈與左轉(zhuǎn)彎控制和倒計時顯示,仿真結(jié)果結(jié)果表明系統(tǒng)能夠自動控制交通燈轉(zhuǎn)變。關(guān)鍵詞:VHDL,交通燈,EDATHE LIGHT CONTROLLER BASED ON FPGA DESIGNABSTRACTWith the development of the economy, microelectronic technology, computer technology and the automatic th
3、eory are developed rapidly. Its application is becoming more and more widely. But the traffic light as an important traffic,it also has developed quickly with the improving requirement of the people.On all the system of the traffic light, The system of traffic control which designed based on FPGA is
4、 received by more and more people.The system of traffic control can realize the automatic control of traffic light in a intersection. The system of traffic control which designed based on FPGA has many characteristics such as simple circuit, reliable operation, toerase function quickly with real-tim
5、e applications, high speed, high reliability, low failure rate, and small volume. By using the platform of software design system Quartus II and the form of the VHDL language, we simulate the system by using EPlC3T1444C8 Mars device and the result show that the download system can automatically cont
6、rol the traffic lights. KEYWORDS: VHDL,traffic light,EDA目 錄TOC o 1-3 h z uHYPERLINK l _Toc265659970前言 PAGEREF _Toc265659970 h 1HYPERLINK l _Toc265659971第1章 FPGA概述 PAGEREF _Toc265659971 h 2HYPERLINK l _Toc2656599721.1 FPGA的簡介 PAGEREF _Toc265659972 h 2HYPERLINK l _Toc2656599731.2 FPGA的應(yīng)用 PAGEREF _Toc2
7、65659973 h 2HYPERLINK l _Toc265659974第2章 VHDL硬件描述語言 PAGEREF _Toc265659974 h 3HYPERLINK l _Toc2656599752.1 VHDL程序基本結(jié)構(gòu) PAGEREF _Toc265659975 h 3HYPERLINK l _Toc2656599762.1.1 實體 PAGEREF _Toc265659976 h 3HYPERLINK l _Toc2656599772.1.2 結(jié)構(gòu)體 PAGEREF _Toc265659977 h 4HYPERLINK l _Toc2656599782.1.3 庫 PAGERE
8、F _Toc265659978 h 4HYPERLINK l _Toc2656599792.2 VHDL語言 PAGEREF _Toc265659979 h 4HYPERLINK l _Toc2656599802.2.1 VHDL文字規(guī)則 PAGEREF _Toc265659980 h 4HYPERLINK l _Toc2656599812.2.2 VHDL數(shù)據(jù)對象 PAGEREF _Toc265659981 h 4HYPERLINK l _Toc2656599822.2.3 VHDL數(shù)據(jù)類型 PAGEREF _Toc265659982 h 5HYPERLINK l _Toc265659983
9、2.2.4 VHDL 順序語句 PAGEREF _Toc265659983 h 5HYPERLINK l _Toc2656599842.2.5 VHDL并行語句 PAGEREF _Toc265659984 h 5HYPERLINK l _Toc265659985第3章系統(tǒng)設(shè)計與仿真 PAGEREF _Toc265659985 h 6HYPERLINK l _Toc2656599863.1 系統(tǒng)介紹 PAGEREF _Toc265659986 h 6HYPERLINK l _Toc2656599873.1.1 設(shè)計任務(wù) PAGEREF _Toc265659987 h 6HYPERLINK l _
10、Toc2656599883.1.2 設(shè)計要求 PAGEREF _Toc265659988 h 6HYPERLINK l _Toc2656599893.2 系統(tǒng)設(shè)計仿真 PAGEREF _Toc265659989 h 7HYPERLINK l _Toc2656599903.2.1 頂層框圖的設(shè)計 PAGEREF _Toc265659990 h 7HYPERLINK l _Toc2656599913.2.2 時序狀態(tài)圖的設(shè)計 PAGEREF _Toc265659991 h 7HYPERLINK l _Toc2656599923.2.3 工程設(shè)計流程框圖: PAGEREF _Toc265659992
11、 h 8HYPERLINK l _Toc2656599933.2.4 芯片的選擇 PAGEREF _Toc265659993 h 8HYPERLINK l _Toc2656599943.2.5 各個模塊的設(shè)計與仿真 PAGEREF _Toc265659994 h 8HYPERLINK l _Toc265659995結(jié)論 PAGEREF _Toc265659995 h 23HYPERLINK l _Toc265659996辭 PAGEREF _Toc265659996 h 24HYPERLINK l _Toc265659997參考文獻 PAGEREF _Toc265659997 h 25HYPE
12、RLINK l _Toc265659998附錄 PAGEREF _Toc265659998 h 26HYPERLINK l _Toc265659999外文資料翻譯 PAGEREF _Toc265659999 h 28前言當今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應(yīng)用的社會。數(shù)字集成電路本身在不斷進行更新?lián)Q代,隨著微電子技術(shù)的發(fā)展,設(shè)計與制造集成電路的任務(wù)已不完全由半導體廠商來獨立承擔。系統(tǒng)設(shè)計師更愿意自己設(shè)計專業(yè)集成電路(ASIC)芯片,而且希望設(shè)計周期盡可能短,最好在實驗室里就能設(shè)計出合適的ASIC芯片,并且立即投入實際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程器件(FPLD)?,F(xiàn)場可編程門陣列(FPG
13、A)即屬其中應(yīng)用最廣泛的一種。隨著電子技術(shù)的發(fā)展,特別是大規(guī)模集成電路和計算機技術(shù)的研制和發(fā)展,讓電子產(chǎn)品設(shè)計有了更好的應(yīng)用市場,實現(xiàn)方法也有了更多的選擇,而電子電路的設(shè)計卻變得越來越復(fù)雜,使用“語言”進行電子設(shè)計已成為一種趨勢?,F(xiàn)代電子系統(tǒng)設(shè)計方法是設(shè)計師自己設(shè)計芯片來實現(xiàn)電子系統(tǒng)的功能,將傳統(tǒng)的固件選用與電路板設(shè)計工作放在芯片設(shè)計中進行。在這些專業(yè)化軟件中,EDA(Electronic Design Automation)具有一定的代表性,EDA技術(shù)是一種基于芯片的現(xiàn)代電子系統(tǒng)設(shè)計方法?;贓DA技術(shù)的現(xiàn)場可編程門陣列(FPGA)電 (ASIC) ,在數(shù)字系統(tǒng)設(shè)計和控制電路中越來越受到重視
14、。VHDL語言是電子設(shè)計的主流硬件描述語言,它更適合進行行為描述,這種方式使得設(shè)計者專注于電路功能的設(shè)計,而不必過多地考慮具體的硬件結(jié)構(gòu)?;贓DA技術(shù)的現(xiàn)場可編程門陣列(FPGA)電路,提出現(xiàn)場可編程門陣列(FPGA)是近年來迅速發(fā)展的大規(guī)模可編程專用集成電路(ASIC),在數(shù)字系統(tǒng)設(shè)計和控制電路中越來越受到重視。VHDL語言是電子設(shè)計的主流硬件描述語言,它更適合進行行為描述,這種方式使得設(shè)計者專注于電路功能的設(shè)計,而不必過多地考慮具體的硬件結(jié)構(gòu)。第1章 FPGA概述1.1 FPGA的簡介FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,它是在可編程器
15、件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。1.2 FPGA的應(yīng)用FPGA的應(yīng)用可分為三個層面:電路設(shè)計,產(chǎn)品設(shè)計,系統(tǒng)設(shè)計。電路設(shè)計連接邏輯,控制邏輯是FPGA早期發(fā)揮作用比較大的領(lǐng)域也是FPGA應(yīng)用的基石。事實上在電路設(shè)計中應(yīng)用FPGA要求開發(fā)者要具備相應(yīng)的硬件知識(電路知識)和軟件應(yīng)用能力(開發(fā)工具)。產(chǎn)品設(shè)計把相對成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域開發(fā)出滿足行業(yè)
16、需要并能被行業(yè)客戶接受的產(chǎn)品。這方面主要是FPGA技術(shù)和專業(yè)技術(shù)的結(jié)合問題,重點在性能, FPGA技術(shù)在這個領(lǐng)域是一個實現(xiàn)手段,F(xiàn)PGA因為具備接口,控制,功能IP,嵌CPU等特點有條件實現(xiàn)一個構(gòu)造簡單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計。系統(tǒng)級應(yīng)用系統(tǒng)級的應(yīng)用是FPGA與傳統(tǒng)的計算機技術(shù)結(jié)合,實現(xiàn)一種FPGA版的計算機系統(tǒng)如用XilinxV-4, V-5系列的FPGA,實現(xiàn)嵌POWERPCCPU, 然后再配合各種外圍功能,這個平臺上跑LINIX等系統(tǒng)這個系統(tǒng)也就支持各種標準外設(shè)和功能接口了,這對于快速構(gòu)成FPGA大型系統(tǒng)來講是很有幫助的。第2章 VHDL硬件描述語言2.1 VHDL程序基本結(jié)
17、構(gòu)一個相對完整的VHDL程序通常包含實體、結(jié)構(gòu)體、配置、程序包和庫5個部分。程序模板如下:LIBRARY library name;USE library name.package name.all;ENTITY entity name IS GENERIC ( parameter name :string:=default value;parameter name :integer:=default value); PORT ( input name,input name: IN STD-LOGIC;Input vector name:IN STD_LOGIC_VECTOR( high DO
18、WNTO low); output name ,output name:OUT STD_LOGIC);END entity name; ARCHITECTURE a OF entity name IS SIGNAL signal name:STD_LOGIC;BEGIN -process statement (optional): -generate statement (optional) END a; 2.1.1 實體實體一般用來描述所設(shè)計的系統(tǒng)的外部接口信號,是可視部分;其中最重要的部分是端口說明。端口說明語句是對于一個設(shè)計實體界面的說明。端口名是賦予每個系統(tǒng)引腳的名稱。一個實體通常有一
19、個或多個端口,端口類似于原理圖部件符合上的管腳。實體與外界交流的信息必須通過端口通道流入或流出。IEEE 1064標準包中定義了四種端口模式,其功能與符號分別是IN、OUT、INOUT、BUFFER、LINKAGE。2.1.2 結(jié)構(gòu)體結(jié)構(gòu)體用于描述系統(tǒng)部的結(jié)構(gòu)和行為,建立輸入輸出之間的關(guān)系。在一個實體中,可以含有一個或一個以上的結(jié)構(gòu)體,而在每一個結(jié)構(gòu)體中又可以含有一個或多個進程以與其他的語句。其中,實體名必須是被設(shè)計的實體的名字。結(jié)構(gòu)體中的說明語句是對結(jié)構(gòu)體的功能描述語句中將要用到的信號、數(shù)據(jù)類型、常數(shù)、元件、函數(shù)和過程等加以說明的語句。結(jié)構(gòu)體包含兩類語句:并行語句和順序語句。在PROCESS
20、中的語句是順序執(zhí)行的,當PROCESS所帶的敏感信號發(fā)生變化時,PROCESS中的語句就會執(zhí)行一遍。2.1.3 庫 庫使用說明用于打開(調(diào)用)本設(shè)計實體將要用到的庫,庫是專門存放預(yù)編譯程序包的地方。IEEE庫:在IEEE庫中有一個STD_LOGIC的包,它是IEEE正式認可的包。STD庫:STD庫是VHDL的標準庫,在庫中有名為STANDARD的包。在使用庫之前,一定要進行庫說明,庫的說明總是放在設(shè)計單元的前面。 2.2 VHDL語言2.2.1 VHDL文字規(guī)則VHDL文字主要包括數(shù)值和標識符。數(shù)值型文字主要有數(shù)字型、字符串型和位串型。數(shù)字型文字有:整數(shù)文字(十進制數(shù))、實數(shù)文字(十進制數(shù),必
21、須帶有小數(shù)點)、以數(shù)字基數(shù)表示的文字。字符串型文字有:文字字符串、數(shù)位字符串、標識符。2.2.2 VHDL數(shù)據(jù)對象在VHDL中,數(shù)據(jù)對象類似于一種容器,接受不同數(shù)據(jù)類型的賦值。數(shù)據(jù)對象有3種:即常量、信號、變量。常量是固定值,不能在程序中被改變。變量時一個局部量,是一個臨時數(shù)據(jù),沒有物理意義。它只能在Process和Function中定義,必須在進程和子程序的說明性區(qū)域說明,并只在其部有效。信號是描述硬件系統(tǒng)的基本數(shù)據(jù)對象,代表連接線,Port也是一種信號。2.2.3 VHDL數(shù)據(jù)類型VHDL是一種強類型語言,要求設(shè)計實體中的每一個常數(shù)、信號、變量、函數(shù)以與設(shè)定的各種參量都必須具有確定的數(shù)據(jù)類
22、型,并且只有一樣的數(shù)據(jù)類型的量才能互相傳遞和作用。VHDL 的基本類型有:bit(位)、bit-Vector(位矢量)、Boolean、time、character、string、integer 、real。 2.2.4 VHDL 順序語句VHDL有如下六類基本順序語句 :賦值語句、流程控制語句、等待語句、子程序調(diào)用語句、返回語句、空操作語句。賦值語句有信號賦值語句和變量賦值語句兩種。流程控制語句共有五種:IF語句、CASE語句、LOOP語句、NEXT語句、EXIT語句。IF語句根據(jù)條件句產(chǎn)生的判斷結(jié)果:TRUE 或 FALSE,有條件地選擇執(zhí)行其后的順序語句。 CASE語句根據(jù)滿足的條件直接
23、選擇多項順序語句中的一項執(zhí)行??詹僮髡Z句不完成任何操作,它常用于CASE語句中,利用它來表示所余的不用條件下的操作行為滿足所有可能的條件。2.2.5 VHDL并行語句結(jié)構(gòu)體中的并行語句主要有七種:并行信號賦值語句、進程語句、塊語句 、條件信號賦值語句、元件例化語句(其中包括類屬配置語句 )生成語句、并行過程調(diào)用語句。第3章 系統(tǒng)設(shè)計與仿真3.1 系統(tǒng)介紹交通燈控制器用于自動控制十字路口交通燈和計時器,指揮各種車輛和行人安全通行。3.1.1 設(shè)計任務(wù)設(shè)計一個十字路口交通控制器,方向分為東南西北四個方向。東西方向的紅綠燈狀態(tài)一樣,南北方向的紅綠燈狀態(tài)一樣。每個方向上,有四盞燈,分別是左轉(zhuǎn)燈、紅燈、
24、綠燈和黃燈。左拐燈亮表示左轉(zhuǎn)車輛可以通行;紅燈亮表示左轉(zhuǎn)和直行車輛禁行;綠燈亮表示直行車輛和右轉(zhuǎn)的車輛可以通行;黃燈亮表示左轉(zhuǎn)和直行的車輛即將禁行;倒計時顯示器用來顯示允許通行或禁止通行的時間倒計時。3.1.2 設(shè)計要求在十字路口東西方向和南北方向各設(shè)一組左轉(zhuǎn)燈、;顯示的順序為:左轉(zhuǎn)燈綠燈黃燈紅燈。在東西方向和南北方向各設(shè)一組倒計時顯示器。倒計時只顯示對應(yīng)方向上的紅燈倒計時和綠燈倒計時。其余的狀態(tài)不顯示倒計時。左轉(zhuǎn)燈、紅燈、綠燈和黃燈亮的時間分別是15秒、80秒、45秒、5秒。狀態(tài)表如表3-1所示:表3-1 交通燈狀態(tài)轉(zhuǎn)換表狀態(tài)S0S1S2S3S4S5東 西 方 向紅紅紅紅 左轉(zhuǎn)綠黃亮 燈 1
25、545515455南 北 方 向紅 左轉(zhuǎn)綠黃紅紅紅亮2 系統(tǒng)設(shè)計仿真對于交通燈控制器,可基于Quartus II 軟件,采用層次化混合輸入方式進行設(shè)計,即頂層采用原理圖設(shè)計,底層采用VHDL語言設(shè)計。3.2.1 頂層框圖的設(shè)計頂層原理圖設(shè)計可以依據(jù)系統(tǒng)框圖進行,有分頻模塊、控制模塊、倒計時模塊、紅綠燈顯示模塊、譯碼模塊、譯碼顯示模塊6六部分組成,如圖3-1 所示:圖3-1 頂層原理圖系統(tǒng)框圖3.2.2 時序狀態(tài)圖的設(shè)計圖3-2 交通燈時序狀態(tài)圖3.2.3 工程設(shè)計流程框圖:新建工程新建原理圖文件或VHDL文件輸入程序或編輯原理圖編譯,若有錯,修改程序,直至無錯建立波形
26、文件,導入管腳編譯波形文件,查看仿真結(jié)果,保存 圖3-3 工程設(shè)計流程框圖3.2.4 芯片的選擇在這次畢業(yè)設(shè)計中,我們選用的FPGA芯片是Altera公司的Cyclone(颶風)系列的芯片,型號為:EP1C3T144C8。它是基于1.5V的,采用0.13um全銅SRAM工藝、TQFP封裝,有5980個邏輯單元,2個鎖相環(huán),20個M4K RAM塊,其中每個RAM為4kbit,可以另加一位奇偶校驗位。3.2.5 各個模塊的設(shè)計與仿真1. 模塊設(shè)計該模塊可將頻率為1KHZ的脈沖波,經(jīng)過分頻變?yōu)轭l率為1HZ的脈沖波,這樣我們就得到了周期為1S的脈沖波。分頻器程序清單如下:library ieee;us
27、e ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpinqi isport ( clk1khz:in std_logic; clk1hz:out std_logic);end fenpinqi;architecture a of fenpinqi isbeginprocess( clk1khz )variable q: integer:=0 ; variable r:std_logic:=0;begin if clk1khzevent and clk1khz=1 then if q=512 then r:=n
28、ot r; q:=0; else q:=q+1; end if;clk1hz=r;end if;end process;end a;分頻器程序仿真結(jié)果如圖3-4所示: 圖3-4 分頻器程序仿真結(jié)果圖在分頻器程序仿真結(jié)果圖中,clk1khz 為輸入脈沖信號,頻率為1khz;clk1hz為輸出脈沖信號,頻率為1hz。從圖中,我們可以看出clk1hz的周期為1s。這表明程序的確把1khz的信號分頻成1hz的信號。2. 模塊設(shè)計control模塊可根據(jù)clk的脈沖信號輸出S的值,下游模塊根據(jù)S的值來決定紅綠燈的狀態(tài)。同時對倒計時的信號賦初值。control模塊程序清單:library ieee;use
29、 ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity control isport( clk:in std_logic; s:out std_logic_vector(2 downto 0); loadat,loadbt:out std_logic; at,bt:out integer range 0 to 80);end control;architecture a of control issignal t:integer;begin process(clk) begin if clkevent and clk=1
30、then loadat=0;loadbt=0; if t=0 then s=000; at=80; loadat=1; elsif t=15 then s=001; bt=45; loadbt=1; elsif t=60 then s=010; elsif t=65 then s=011; bt=80; loadbt=1; elsif t=80 then s=100; at=45; loadat=1; elsif t=125 then s=101; end if; t=t+1; end if;if t=130 then t=0; end if; end process;end a;contro
31、l模塊程序仿真結(jié)果如圖3-5所示:圖3-5 control模塊程序仿真結(jié)果圖在control模塊程序仿真結(jié)果圖中,只有一個輸入信號clk,它是一個頻率為1hz的時鐘脈沖信號,輸出信號有3個分別是s、at、bt。程序中,通過變量t的值來確定輸出信號s的值,并由此確定將要賦得倒計時的初值,然后賦給at,bt。在每次給at,bt賦值時,都會使另一個輸出信號loadat,loadbt變成高電平,從而可以觸發(fā)下一模塊的裝載。3. daojishi模塊設(shè)計該模塊用來接收control模塊的輸出作為初值,并進行減一操作,最后把減一得結(jié)果輸出。程序里每檢測到一個脈沖clk,就進行一次減一操作。atdaojis
32、hi模塊程序清單:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity atdaojishi isport ( clk,loadat:in std_logic; atin:in integer range 0 to 80; atout:out integer range 0 to 80);end atdaojishi;architecture a of atdaojishi issignal countat:integer range 0 to 80;beginprocessbeginwa
33、it until rising_edge(clk);if loadat=1 then countat=atin;else countat=countat-1;end if;end process;atout=countat;end a;atdaojishi模塊程序仿真結(jié)果如圖3-6所示:圖3-6 atdaojishi模塊程序仿真結(jié)果圖 在atdaojishi模塊程序仿真結(jié)果圖中,clk為1hz的輸入信號,loadat為at計數(shù)器的裝載信號,當loadat為高電平時,將輸入信號atin的值裝載到計數(shù)器中,開始執(zhí)行減一操作,每接受一次clk,執(zhí)行一次,并將結(jié)果輸出。4. daojishi模塊設(shè)計該
34、模塊用來接收control模塊的輸出作為初值,并進行減一操作,最后把減一得結(jié)果輸出。程序里每檢測到一個脈沖clk,就進行一次減一操作。btdaojishi模塊程序清單:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity btdaojishi isport ( clk,loadbt:in std_logic; btin:in integer range 0 to 80; btout:out integer range 0 to 80);end btdaojishi;architecture
35、 a of btdaojishi issignal countbt:integer range 0 to 80;beginprocessbeginwait until rising_edge(clk);if loadbt=1 then countbt=btin;else countbt=countbt-1;end if;end process;btout b:=01001100;when 001= b:=01000010;when 010= b:=01000001;when 011= b:=11000100;when 100= b:=00100100;when 101= b:=00010100
36、;when others = b:=00000000;end case;lrgy=70 thenaout1=7;aout2=60 then aout1=6;aout2=50 thenaout1=5;aout2=40 thenaout1=4;aout2=30 thenaout1=3;aout2=20 thenaout1=2;aout2=10 thenaout1=1;aout2=0 thenaout1=0;aout2=70 thenbout1=7;bout2=60 then bout1=6;bout2=50 thenbout1=5;bout2=40 thenbout1=4;bout2=30 the
37、nbout1=3;bout2=20 thenbout1=2;bout2=10 thenbout1=1;bout2=0 thenbout1=0;bout2 aout1 aout1 aout1 aout1 aout1 aout1 aout1 aout1 aout1 aout1 aout1 aout2 aout2 aout2 aout2 aout2 aout2 aout2 aout2 aout2 aout2 aout2 bout1 bout1 bout1 bout1 bout1 bout1 bout1 bout1 bout1 bout1 bout1 bout2 bout2 bout2 bout2 b
38、out2 bout2 bout2 bout2 bout2 bout2 bout2=00000000 ; end case;end process;end a;譯碼顯示仿真結(jié)果如圖3-10所示:圖3-10 譯碼顯示模塊仿真結(jié)果圖在譯碼顯示模塊仿真結(jié)果圖中,at1,at2,bt1,bt2為輸入信號,它們的值的圍為09;aout1,aout2,bout1,bout2為輸出信號,它們的圍為數(shù)字09對應(yīng)的七位數(shù)碼管顯示段碼的值。圖中,輸出信號的值隨著輸入信號的變化而相應(yīng)的變化。仿真完全正確,符合預(yù)期。8. 頂層文件設(shè)計交通燈的頂層文件是一個原理圖文件,它包含7個元件,每一個元件均是由一個模塊程序生成。7
39、個元件分別為:fenpinqi模塊、control模塊、main模塊、atdaojishi模塊、btdaojishi模塊、yima模塊和yimaxianshi模塊。這些模塊均經(jīng)過設(shè)計、編譯、仿真,結(jié)果正確。最后生成可視化元件。然后將各個模塊用具有電氣性質(zhì)的導線連接起來,這樣原理圖文件就建好了。保存編譯。在建立一個.vwf波形文件,保存并仿真。原理圖如圖3-11所示:仿真結(jié)果如圖3.12所示:實驗證明,仿真結(jié)果正確,符合預(yù)期。圖3-11 頂層文件設(shè)計原理圖圖3-12 頂層文件波形仿真結(jié)果圖在頂層文件波形仿真結(jié)果圖中,有一個頻率為1khz輸入信號clk1khz,它是外部的信號對整個系統(tǒng)設(shè)計的輸入端
40、口。作為一個脈沖,經(jīng)過分頻變成頻率為1hz的脈沖,由于1hz的脈沖的周期是1s,所以我們可以用它來控制整個系統(tǒng)的步調(diào),而這個步調(diào)與現(xiàn)實生活通燈的步調(diào)是一致的。1hz的信號經(jīng)過control模塊的處理,通過計數(shù)使s變化為不同的值,s代表的是交通燈時序圖的狀態(tài),一共有6個狀態(tài)(s0s5)。同時對應(yīng)不同的s的狀態(tài)賦不同的初值給at,bt。at,bt分別是東西方向和南北方向的倒計時初值。Control模塊還有一個功能是提供倒計時模塊的置數(shù)的觸發(fā)脈沖。接下來,main模塊直接接受s的值來輸出相應(yīng)的紅綠燈亮滅狀態(tài)。例如:lrgy的值為01000010,這表明交通燈的亮滅情況為:東西左轉(zhuǎn)燈滅,東西紅燈亮,東
41、西綠燈滅,東西黃燈滅,南北左轉(zhuǎn)燈滅,南北紅燈滅,南北綠燈亮,南北黃燈滅。即一一對應(yīng)。倒計時部分分為兩個模塊:atdaojishi和btdaojishi。兩個模塊分別倒計時東西方向和南北方向。每個倒計時模塊都有相似的端口:clk、loadat、atin、atout和clk、loadbt、btin、btout。我們只舉其中一個為例子:clk為倒計時的時鐘脈沖,當loadat為高電平時,將atin傳遞給atout,clk的上升沿每來一次,atout減一次。此前,時間的值都是整形的,要想將倒計時實時顯示出來,就需要將兩位的整數(shù)分解成個位和十位,yima模塊就是這樣的。將一個倒計時分解成兩個一位數(shù),例如
42、將54分解成5和4。然后經(jīng)過yimaxianshi模塊將對應(yīng)的數(shù)字譯成相應(yīng)的段碼,例如將5和4譯碼為01101101和01100110。在這個系統(tǒng)設(shè)計中,所有的數(shù)碼管和二極管均為共陰極顯示。結(jié) 論從4月份接到畢業(yè)設(shè)計任務(wù)到現(xiàn)在,已有兩個月的時間,回想自己在這兩個月的時間里的付出,看著手中這份勞動果實,我真正體會到了收獲的喜悅。在此期間,我在網(wǎng)上搜集一些相關(guān)信息,但由于上班時間的限制,我更多的時間是自己研究。同時, 我還和軍政一起研究交流,利用回校的一點時間,到圖書館查閱有關(guān)資料,最后終于順利完成了此次畢業(yè)論文設(shè)計。此次畢業(yè)論文設(shè)計讓我了解了GFPA的相關(guān)知識,并且加深了對VHDL語言的認識,熟
43、悉了VHDL語言在交通燈中的運用。這也使我將原來所學的知識系統(tǒng)化、理論化、實用化,對如何使用已有知識與獲取相關(guān)資料方面的能力又有了提高。設(shè)計達到了預(yù)定的設(shè)計目的,實現(xiàn)了利用現(xiàn)場可編程門陣列(VHDL)自動控制十字路口交通燈和計時器,各交通燈與計時器均按設(shè)計任務(wù)要求正常運行,指揮各種車輛和行人安全通行。通過這次設(shè)計,我還認識到無論做什么,都需要踏實、勤奮、嚴謹?shù)墓ぷ鲬B(tài)度,這對我以后的工作產(chǎn)生深遠的影響。 辭剛上大學就聽說畢業(yè)時每位學生都要做一份畢業(yè)論文,經(jīng)過答辯才可以順利畢業(yè)。把大學三年所學的知識綜合到一份論文中,應(yīng)該是一份很艱巨的任務(wù),但是這也是我們?nèi)陮W習的一個考驗,畢竟這樣的機會很少。想到
44、這,我便全身心投入到畢業(yè)設(shè)計中去。交通燈控制技術(shù)是一項專業(yè)技術(shù),它涉與到電氣專業(yè)的諸多課程。通過此次設(shè)計我對自己所學基礎(chǔ)理論、專業(yè)知識和基本技能進行了綜合的檢驗。培養(yǎng)了分析與解決實際問題的能力,本文是在指導老師盧老師的悉心指導下完成的,由于工作關(guān)系,我更多的是和軍政一起討論。在此,我要感軍政,感盧老師,并隊對其他給予幫助的老師們表示我誠摯的意,對給予幫助的同學們表示衷心的感激。最后,還要感理工學院的所有老師在這大學期間給我的培養(yǎng)。不僅使我學到了很多新知識,更重要的是,使我建立起了一套完整的科學思考觀,正是有了這樣科學的分析和思考問題的方式,才能使我解決畢業(yè)設(shè)計中遇到的一系列問題,同時這在我以后
45、的生活、學習和工作中也將起到舉足輕重的作用。鑒于本人所學知識有限,經(jīng)驗不足,又是初次研究這種復(fù)雜的設(shè)計。在此過程中難免存在一些錯誤和不足之處,懇請各位老師給予批評和指正。參考文獻1 鄒彥,莊嚴. EDA.技術(shù)與數(shù)字系統(tǒng)設(shè)計. : 電子工業(yè),2007.4 2 輝. PLD與數(shù)字系統(tǒng)設(shè)計. : 電子科技大學,2005 3 廖超平. EDA技術(shù)與VHDL實用教程. : 高等教育,2008.5 4 新民. 微型計算機控制技術(shù)實用教程. : 電子工業(yè),2009.7 5 黃仁欣. EDA技術(shù)實用教程. : 清華大學著,2006.9 6 路明禮. 數(shù)字電子技術(shù). : 理工大學,2008.8 7 朝青. 單片
46、機原理與接口技術(shù). : 航空航天大學,2008 8 松,王國棟. VHDL實用教程. : 電子科技大學,1999.129 國厚. 自動化專業(yè)英語. : 大學 中國林業(yè),2006.110黃智偉. 全國大學生電子設(shè)計競賽電路設(shè)計. : 航空航天大學,200611 承毅. 電子技能實訓基礎(chǔ). : 人民郵電,200512 bbs.vibesic./14 王丹,童如松. 電子設(shè)計自動化(EDA)手冊. : 電子工業(yè),2005.315 辛春艷.VHDL硬件描述語言. : 國防工業(yè),200216 王建坤.MAX+PLUSII入門與提高. : 清華大學,200417 譚會生,昌凡. EDA技術(shù)與應(yīng)用. : 電
47、子科技大學,200418 景華,杜王遠.可編程邏輯器件與EDA技術(shù). 東北大學,2000附 錄1. FPGA簡介1.1 FPGA工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和部連線(Interconnect)三個部分。1.2 FPGA的基本特點1)采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3)FPGA部有豐富的觸發(fā)器和IO引
48、腳。 4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 2.VHDL簡介VHDL語言是一種用于電路設(shè)計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設(shè)計的可靠性和縮減開發(fā)周期的一種使用圍較小的設(shè)計語言 。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工
49、程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,與端口)和部(或稱不可視部分),既涉與實體的部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成外部分的概念是VHDL系統(tǒng)設(shè)計的基本點2.1 VHDL系統(tǒng)設(shè)計的特點功能強大、設(shè)計靈活支持廣泛、易于修改強大的系統(tǒng)硬件描述能力獨立于器件的設(shè)計、與工藝無關(guān)易于共享和復(fù)用3EDA簡介EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀90年代初從計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)
50、、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極提高了電路設(shè)計的效率和可*性,減輕了設(shè)計者的勞動強度。20世紀90年代,國際上電子和計算機技術(shù)較先進的國家,一直在積極探索新的電子電路設(shè)計方法,并在設(shè)計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普與,這
51、些器件為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進了EDA技術(shù)的迅速發(fā)展。外文資料翻譯Analog AmplifiersAt the most basic level, a signal amplifier does exactly what you expect it makes a signal bigger! However, the way in which it is done does vary with the desig
52、n of the actual amplifier, the type of signal, and the reason why we want to enlarge the signal. 1 .We can illustrate this by considering the common example of a “Hi-Fi” audio system. In a typical modern Hi-Fi: system, the signals will come from a unit like a CD player, FM tuner, or a Tape/Minidisk
53、unit. The signals they produce have typical levels of the order of 100mV or so when the music is moderately loud. This is a reasonably large voltage, easy to detect with something like an oscilloscope or a voltmeter. However, the actual power levels of these signals are quite modest. Typically, thes
54、e sources can only provide currents of a few milliamps, which by P VI means powers of just a few milliwatts. A typical loudspeaker will require between a few Watts and perhaps over 100 Watts to produce loud sound. Hence we will require some form of Power Amplifier (PA) to “boost” the signal power le
55、vel from the source and make it big enough to play the music. Fig. 1.1 shows four examples of simple analog amplifier stages using various types of device. In each case the a.c. voltage gain will usually be approximated by provided that the actual device has an inherent gain large enough to be contr
56、olled by the resistor values chosen. Note the negative sign in expression1-1 which indicates that the examples all invert the signal pattern when amplifying. 2 In practice, gains of the order of up to hundred are possible from simple circuits like this, although it is usually a good idea to keep the
57、 voltage gain below this. Note also that vacuum state devices tend to be called “valves” in the UK and “tubes” in the USA. Fig. 1.1 Examples of voltage amplifiers A v R 1 /R 2 (1-1) Many practical amplifiers chain together a series of analog amplifier stages to obtain a high overall voltage gain. Fo
58、r example, a PA system might start with voltages of the order of 0.1 mV from microphones, and boost this to perhaps 10 to 100 V to drive loudspeakers. This requires an overall voltage gain of 109 , so a number of voltage gain stages will be required. In many cases we wish to amplify the current sign
59、al level as well as the voltage. The example we can consider here is the signal required to drive the loudspeakers in a “Hi-Fi” system. These will tend to have a typical input impedance of the order of 8 Ohms. So to drive, say, 100 Watts into such a loudspeaker load we have to simultaneously provide
60、 a voltage of 28 Vrms and 3.5 Arms. Taking the example of a microphone as an initial source again a typical source impedance will be around 100 Ohms. Hence the microphone will provide just 1nA when producing 0.1 mV. This means that to take this and drive 100 W into a loudspeaker the amplifier system
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通過對話增進理解與信任的高考作文試題及答案
- 軟件設(shè)計師考試高效復(fù)習試題及答案
- 法學概論的社會影響力研究試題及答案
- 風險管理的未來發(fā)展試題及答案
- 量子計算基礎(chǔ)知識考察試題及答案
- 行政法學重點知識試題及答案說明
- 經(jīng)濟增長與社會福祉的平衡探討試題及答案
- 法學概論的考試形式與內(nèi)容趨勢試題及答案
- 軟考設(shè)計師重點復(fù)習試題及答案
- 行政法責任的類型劃分試題及答案
- 《道路交通事故受傷人員臨床診療指南》
- 采油安全應(yīng)急培訓
- 精簡小型風力發(fā)電系統(tǒng)
- EOP II溝通交流環(huán)節(jié)藥學專業(yè)主要考慮-新藥3期臨床試驗前藥學溝通交流技術(shù)要求及案例分析
- DB43T 2558-2023 城鎮(zhèn)低效用地識別技術(shù)指南
- 《PLC技術(shù)及應(yīng)用》期末試卷-B卷及答案
- 2024年時事政治考點大全(173條)
- 展廳布展施工合同模板
- 3.5 鼓樂鏗鏘 課件高中音樂人音版(2019) 必修 音樂鑒賞
- 成人中心靜脈導管(CVC)堵塞風險評估及預(yù)防-2024團體標準
- 《聲聲慢(尋尋覓覓)》課件
評論
0/150
提交評論