基于FPGA的交通燈控制器設(shè)計.doc
《基于FPGA的交通燈控制器設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于FPGA的交通燈控制器設(shè)計.doc(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 FPGA實訓(xùn)報告實訓(xùn)設(shè)計題目 基于FPGA的交通燈控制器設(shè)計 作 者 xxxxxxx 分 院 xxxxxxxxxxxxxxxxxxx 專 業(yè) 班 級 xxxxxxxxx 指導(dǎo)教師(職稱) xxxxxxxxxxxxxx 報告完成時間 2012年10月8日 基于FPGA的交通燈控制器設(shè)計 摘要:超高速硬件描述語言VHDL,是對數(shù)字系統(tǒng)進行抽象的行為與功能描述到具體的內(nèi)部線路結(jié)構(gòu)描述,利用EDA工具可以在電子設(shè)計的各個階段、各個層系進行計算機模擬驗證,保證設(shè)計過程的正確性,可大大降低設(shè)計成本,縮短設(shè)計周期。本文介紹的數(shù)字秒表設(shè)計,利用基于VHDL的EDA設(shè)計工具,采用大規(guī)??删幊踢壿嬈骷﨔PGA,
2、通過設(shè)計芯片來實現(xiàn)系統(tǒng)功能。交通燈控制系統(tǒng)可以實現(xiàn)路口紅綠燈的自動控制。基于FPGA設(shè)計的交通燈控制系統(tǒng)具有電路簡單、可靠性強、實時快速擦寫、運算速度高、故障率低、可靠性高,而且體積小的特點。本設(shè)計采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II軟件平臺上使用VHDL語言,采用自頂向下的設(shè)計方法對系統(tǒng)進行了模塊化設(shè)計和綜合,并進行了仿真。該系統(tǒng)可實現(xiàn)十字路口紅綠燈及左轉(zhuǎn)彎控制和倒計時顯示,仿真結(jié)果結(jié)果表明系統(tǒng)能夠自動控制交通燈轉(zhuǎn)變。關(guān)鍵詞:EDA;交通燈;VHDL目錄引言11 FPGA概述21.1 FPGA的簡介21.2 FPGA的應(yīng)用22 VHDL
3、硬件描述語言32.1 VHDL程序基本結(jié)構(gòu)32.1.1 實體32.1.2 結(jié)構(gòu)體32.1.3 庫42.2 VHDL語言42.2.1 VHDL文字規(guī)則42.2.2 VHDL數(shù)據(jù)對象42.2.3 VHDL數(shù)據(jù)類型42.2.4 VHDL順序語句52.2.5 VHDL并行語句53系統(tǒng)設(shè)計與仿真63.1 系統(tǒng)介紹63.1.1 設(shè)計任務(wù)63.1.2 設(shè)計要求63.2 系統(tǒng)設(shè)計仿真63.2.1 系統(tǒng)框圖設(shè)計73.2.2 系統(tǒng)時序狀態(tài)圖設(shè)計73.2.3 系統(tǒng)工程設(shè)計流程圖83.2.4 芯片選擇83.3 功能模塊設(shè)計與仿真83.3.1 分頻器模塊設(shè)計83.3.2 控制模塊設(shè)計93.3.3 倒計時模塊設(shè)計103.
4、3.4 信號處理模塊設(shè)計113.3.5 數(shù)據(jù)譯碼模塊設(shè)計123.3.6 顯示模塊設(shè)計143.4 頂層文件設(shè)計17結(jié)論19參考文獻:19基于FPGA的交通燈控制器設(shè)計xxxxx專業(yè)xxxx班xxxx 指導(dǎo)教師xxxx引言當(dāng)今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應(yīng)用的社會。數(shù)字集成電路本身在不斷進行更新?lián)Q代,隨著微電子技術(shù)的發(fā)展,設(shè)計與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨立承擔(dān)。系統(tǒng)設(shè)計師更愿意自己設(shè)計專業(yè)集成電路(ASIC)芯片,而且希望設(shè)計周期盡可能短,最好在實驗室里就能設(shè)計出合適的ASIC芯片,并且立即投入實際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程器件(FPLD)?,F(xiàn)場可編程門陣列(FPGA
5、)即屬其中應(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è)計方法。基于EDA技術(shù)的現(xiàn)場可編程門陣列(FPGA)電 (ASIC) ,在數(shù)字系統(tǒng)設(shè)計和控制電路中越來越受到重視。
6、VHDL語言是電子設(shè)計的主流硬件描述語言,它更適合進行行為描述,這種方式使得設(shè)計者專注于電路功能的設(shè)計,而不必過多地考慮具體的硬件結(jié)構(gòu)?;贓DA技術(shù)的現(xiàn)場可編程門陣列(FPGA)電路,提出現(xiàn)場可編程門陣列(FPGA)是近年來迅速發(fā)展的大規(guī)??删幊虒S眉呻娐?ASIC),在數(shù)字系統(tǒng)設(shè)計和控制電路中越來越受到重視。VHDL語言是電子設(shè)計的主流硬件描述語言,它更適合進行行為描述,這種方式使得設(shè)計者專注于電路功能的設(shè)計,而不必過多地考慮具體的硬件結(jié)構(gòu)。1 FPGA概述1.1 FPGA的簡介FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,它是在可編程器件的基
7、礎(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è)
8、需要并能被行業(yè)客戶接受的產(chǎn)品。這方面主要是FPGA技術(shù)和專業(yè)技術(shù)的結(jié)合問題,重點在性能, FPGA技術(shù)在這個領(lǐng)域是一個實現(xiàn)手段,F(xiàn)PGA因為具備接口,控制,功能IP,內(nèi)嵌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)內(nèi)嵌POWERPCCPU, 然后再配合各種外圍功能,這個平臺上跑LINIX等系統(tǒng)這個系統(tǒng)也就支持各種標(biāo)準(zhǔn)外設(shè)和功能接口了,這對于快速構(gòu)成FPGA大型系統(tǒng)來講是很有幫助的。2 VHDL硬件描述語言2.1 VHDL程序基本
9、結(jié)構(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
10、 DOWNTO 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)引腳的名稱。一個實體通常有
11、一個或多個端口,端口類似于原理圖部件符合上的管腳。實體與外界交流的信息必須通過端口通道流入或流出。IEEE 1064標(biāo)準(zhǔn)包中定義了四種端口模式,其功能及符號分別是IN、OUT、INOUT、BUFFER、LINKAGE。2.1.2 結(jié)構(gòu)體結(jié)構(gòu)體用于描述系統(tǒng)內(nèi)部的結(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)體包含兩類語句:并行語句和順序語句。在PROCE
12、SS中的語句是順序執(zhí)行的,當(dāng)PROCESS所帶的敏感信號發(fā)生變化時,PROCESS中的語句就會執(zhí)行一遍。2.1.3 庫庫使用說明用于打開(調(diào)用)本設(shè)計實體將要用到的庫,庫是專門存放預(yù)編譯程序包的地方。IEEE庫:在IEEE庫中有一個STD_LOGIC的包,它是IEEE正式認(rèn)可的包。STD庫:STD庫是VHDL的標(biāo)準(zhǔn)庫,在庫中有名為STANDARD的包。在使用庫之前,一定要進行庫說明,庫的說明總是放在設(shè)計單元的前面。2.2 VHDL語言2.2.1 VHDL文字規(guī)則VHDL文字主要包括數(shù)值和標(biāo)識符。數(shù)值型文字主要有數(shù)字型、字符串型和位串型。數(shù)字型文字有:整數(shù)文字(十進制數(shù))、實數(shù)文字(十進制數(shù),必
13、須帶有小數(shù)點)、以數(shù)字基數(shù)表示的文字。字符串型文字有:文字字符串、數(shù)位字符串、標(biāo)識符。2.2.2 VHDL數(shù)據(jù)對象在VHDL中,數(shù)據(jù)對象類似于一種容器,接受不同數(shù)據(jù)類型的賦值。數(shù)據(jù)對象有3種:即常量、信號、變量。常量是固定值,不能在程序中被改變。變量時一個局部量,是一個臨時數(shù)據(jù),沒有物理意義。它只能在Process和Function中定義,必須在進程和子程序的說明性區(qū)域說明,并只在其內(nèi)部有效。信號是描述硬件系統(tǒng)的基本數(shù)據(jù)對象,代表連接線,Port也是一種信號。2.2.3 VHDL數(shù)據(jù)類型VHDL是一種強類型語言,要求設(shè)計實體中的每一個常數(shù)、信號、變量、函數(shù)以及設(shè)定的各種參量都必須具有確定的數(shù)據(jù)
14、類型,并且只有相同的數(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ù)滿足的條件直接選
15、擇多項順序語句中的一項執(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)燈、紅燈、綠燈和黃
16、燈。左拐燈亮表示左轉(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所示:狀態(tài)S0S1S2S3S4S5東 西 方 向紅紅紅紅 左轉(zhuǎn)綠黃亮 燈 1545515455南 北 方 向紅
17、左轉(zhuǎn)綠黃紅紅紅亮燈1545515455表3-1 交通燈狀態(tài)轉(zhuǎn)換表3.2 系統(tǒng)設(shè)計仿真對于交通燈控制器,可基于Quartus II 軟件,采用層次化混合輸入方式進行設(shè)計,即頂層采用原理圖設(shè)計,底層采用VHDL語言設(shè)計。3.2.1 系統(tǒng)框圖設(shè)計頂層原理圖可以依據(jù)系統(tǒng)框圖進行設(shè)計,有分頻模塊、控制模塊、倒計時模塊、紅綠燈顯示模塊、譯碼模塊、譯碼顯示模塊6六部分組成,如圖3-1 所示:圖3-1 頂層原理圖系統(tǒng)框圖3.2.2 系統(tǒng)時序狀態(tài)圖設(shè)計圖3-2 交通燈時序狀態(tài)圖新建工程新建原理圖文件或VHDL文件輸入程序或編輯原理圖編譯,若有錯,修改程序,直至無錯建立波形文件,導(dǎo)入管腳編譯波形文件,查看仿真結(jié)果
18、,保存3.2.3 系統(tǒng)工程設(shè)計流程圖圖3-3 系統(tǒng)工程設(shè)計流程框圖3.2.4 芯片選擇在這次畢業(yè)設(shè)計中,我們選用的FPGA芯片是Altera公司的Cyclone(颶風(fēng))系列的芯片,型號為:EP1C3T144C8。它是基于1.5V的,采用0.13um全銅SRAM工藝、TQFP封裝,有5980個邏輯單元,2個鎖相環(huán),20個M4K RAM塊,其中每個RAM為4kbit,可以另加一位奇偶校驗位。3.3 功能模塊設(shè)計與仿真3.3.1 分頻器模塊設(shè)計該分頻器模塊可將頻率為1KHZ的脈沖波,經(jīng)過分頻變?yōu)轭l率為1HZ的脈沖波,這樣我們就得到了周期為1S的脈沖波。分頻器程序清單如下:library ieee;u
19、se 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=500 then r:=
20、not 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的信號。3.3.2 控制模塊設(shè)計控制模塊可根據(jù)clk的脈沖信號輸出S的值,下游模塊根據(jù)S的值來決定紅綠燈的狀態(tài)。同時對倒計時的信號賦初值??刂颇K程序清單:library ieee;use ieee
21、.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 then
22、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;控制模塊程序仿真結(jié)果如
23、圖3-5所示:圖3-5 控制模塊仿真結(jié)果圖在控制模塊程序仿真結(jié)果圖中,只有一個輸入信號clk,它是一個頻率為1hz的時鐘脈沖信號,輸出信號有3個分別是s、at、bt。程序中,通過變量t的值來確定輸出信號s的值,并由此確定將要賦得倒計時的初值,然后賦給at,bt。在每次給at,bt賦值時,都會使另一個輸出信號loadat,loadbt變成高電平,從而可以觸發(fā)下一模塊的裝載。3.3.3 倒計時模塊設(shè)計倒計時模塊用來接收控制模塊的輸出作為初值,并進行減一操作,最后把減一得結(jié)果輸出。程序里每檢測到一個脈沖clk,就進行一次減一操作。倒計時模塊程序清單:library ieee;use ieee.std
24、_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;beginprocessbeginwait until rising_edge(clk);if loada
25、t=1 then countat=atin;else countat=countat-1;end if;end process;atout b:=01001100;when 001= b:=01000010;when 010= b:=01000001;when 011= b:=11000100;when 100= b:=00100100;when 101= b:=00010100;when others = b:=00000000;end case;lrgy=70 thenaout1=7;aout2=60 then aout1=6;aout2=50 thenaout1=5;aout2=40 t
26、henaout1=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 thenbout1=3;bout2=20 thenbout1=2;bout2=10 thenbout1=1;bout2=0 thenbout1=0;bout2 aout1 aout1 aout1 aout1 aout1 ao
27、ut1 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 bout2 bout2 bout2 bout2 bout2 bout2 bout2=00000000 ; end case;end process;end a;譯碼顯示仿真結(jié)果如圖3-9所示:圖3-9 譯碼顯示模塊仿真結(jié)
28、果圖在譯碼顯示模塊仿真結(jié)果圖中,at1,at2,bt1,bt2為輸入信號,它們的值的范圍為09;aout1,aout2,bout1,bout2為輸出信號,它們的范圍為數(shù)字09對應(yīng)的七位數(shù)碼管顯示段碼的值。圖中,輸出信號的值隨著輸入信號的變化而相應(yīng)的變化。仿真完全正確,符合預(yù)期。3.4 頂層文件設(shè)計交通燈的頂層文件是一個原理圖文件,它包含7個元件符號,每一個元件符號均是由一個模塊程序生成。7個元件符號分別為:1個分頻模塊、1個控制模塊、1個信號處理模塊、2個倒計時模塊、1個數(shù)據(jù)譯碼模塊和1個顯示模塊。這些模塊均經(jīng)過設(shè)計、編譯、仿真,結(jié)果正確。最后生成可視化元件符號,然后將各個模塊用具有電氣性質(zhì)的
29、導(dǎo)線連接起來,這樣原理圖文件就建好了。保存編譯。在建立一個.vwf波形文件,保存并仿真。原理圖如圖3-10所示,仿真結(jié)果如圖3.11所示,實驗證明仿真結(jié)果正確,符合預(yù)期。圖3-10 頂層文件設(shè)計原理圖圖3-11 頂層文件波形仿真結(jié)果圖在頂層文件波形仿真結(jié)果圖中,有一個頻率為1khz輸入信號clk1khz,它是外部的信號對整個系統(tǒng)設(shè)計的輸入端口。作為一個脈沖,經(jīng)過分頻變成頻率為1hz的脈沖,由于1hz的脈沖的周期是1s,所以我們可以用它來控制整個系統(tǒng)的步調(diào),而這個步調(diào)與現(xiàn)實生活中交通燈的步調(diào)是一致的。1hz的信號經(jīng)過控制模塊的處理,通過計數(shù)使s變化為不同的值,s代表的是交通燈時序圖的狀態(tài),一共有
30、6個狀態(tài)(s0s5)。同時對應(yīng)不同的s的狀態(tài)賦不同的初值給at,bt。at,bt分別是東西方向和南北方向的倒計時初值??刂颇K還有一個功能是提供倒計時模塊的置數(shù)的觸發(fā)脈沖。接下來,信號處理模塊直接接受s的值來輸出相應(yīng)的紅綠燈亮滅狀態(tài)。例如:lrgy的值為01000010,這表明交通燈的亮滅情況為:東西左轉(zhuǎn)燈滅,東西紅燈亮,東西綠燈滅,東西黃燈滅,南北左轉(zhuǎn)燈滅,南北紅燈滅,南北綠燈亮,南北黃燈滅。即一一對應(yīng)。倒計時部分分為兩個模塊,兩個模塊分別倒計時東西方向和南北方向。每個倒計時模塊都有相似的端口:clk、loadat、atin、atout和clk、loadbt、btin、btout。我們只舉其
31、中一個為例子:clk為倒計時的時鐘脈沖,當(dāng)loadat為高電平時,將atin傳遞給atout,clk的上升沿每來一次,atout減一次。此前,時間的值都是整形的,要想將倒計時實時顯示出來,就需要將兩位的整數(shù)分解成個位和十位,數(shù)據(jù)譯碼模塊就是這樣的。將一個倒計時分解成兩個一位數(shù),例如將54分解成5和4。然后經(jīng)過顯示模塊將對應(yīng)的數(shù)字譯成相應(yīng)的段碼,例如將5和4譯碼為01101101和01100110。在這個系統(tǒng)設(shè)計中,所有的數(shù)碼管和二極管均為共陰極顯示。結(jié)論從9月份接到實訓(xùn)任務(wù)到現(xiàn)在,已有1個月的時間,回想自己在這1個月的時間里的付出,看著手中這份勞動果實,我真正體會到了收獲的喜悅。在此期間,我在
32、網(wǎng)上搜集一些相關(guān)信息,到圖書館查閱有關(guān)資料,最后終于順利完成了此次實訓(xùn)設(shè)計。此次實訓(xùn)設(shè)計讓我了解了GFPA的相關(guān)知識,并且加深了對VHDL語言的認(rèn)識,熟悉了VHDL語言在交通燈中的運用。這也使我將原來所學(xué)的知識系統(tǒng)化、理論化、實用化,對如何使用已有知識及獲取相關(guān)資料方面的能力又有了提高。設(shè)計達到了預(yù)定的設(shè)計目的,實現(xiàn)了利用現(xiàn)場可編程門陣列(VHDL)自動控制十字路口交通燈和計時器,各交通燈及計時器均按設(shè)計任務(wù)要求正常運行,指揮各種車輛和行人安全通行。通過這次設(shè)計,我還認(rèn)識到無論做什么,都需要踏實、勤奮、嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度,這對我以后的工作產(chǎn)生深遠(yuǎn)的影響。參考文獻:1 鄒彥,莊嚴(yán). EDA.技術(shù)與數(shù)
33、字系統(tǒng)設(shè)計. 北京: 電子工業(yè)出版社,2007.4 2 李輝. PLD與數(shù)字系統(tǒng)設(shè)計. 西安: 西安電子科技大學(xué)出版社,2005 3 廖超平. EDA技術(shù)與VHDL實用教程. 北京: 高等教育出版社,2008.5 4 潘新民. 微型計算機控制技術(shù)實用教程. 北京: 電子工業(yè)出版社,2009.7 5 黃仁欣. EDA技術(shù)實用教程. 北京: 清華大學(xué)出版社著,2006.9 6 路明禮. 數(shù)字電子技術(shù). 武漢: 武漢理工大學(xué)出版社,2008.8 7 李朝青. 單片機原理與接口技術(shù). 北京: 北京航空航天大學(xué)出版社,2008 8 潘松,王國棟. VHDL實用教程. 成都: 電子科技大學(xué)出版社,1999
34、.129 李國厚. 自動化專業(yè)英語. 北京: 北京大學(xué)出版社 中國林業(yè)出版社,2006.110黃智偉. 全國大學(xué)生電子設(shè)計競賽電路設(shè)計. 北京: 北京航空航天大學(xué)出版社,200611 楊承毅. 電子技能實訓(xùn)基礎(chǔ). 北京: 人民郵電出版社,200512 王丹,童如松. 電子設(shè)計自動化(EDA)手冊. 北京: 電子工業(yè)出版社,2005.313 辛春艷. VHDL硬件描述語言. 北京: 國防工業(yè)出版社,200214 王建坤. MAX+PLUSII入門與提高. 北京: 清華大學(xué)出版社,200415 譚會生,張昌凡. EDA技術(shù)及應(yīng)用. 西安: 西安電子科技大學(xué)出版社,200416 李景華,杜王遠(yuǎn). 可編程邏輯器件與EDA技術(shù). 東北大學(xué)出版社,200019
- 溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案