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

下載本文檔

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

文檔簡介

1、摘 要隨著現(xiàn)代城市及交通工具的發(fā)展,交通事故也急劇增加,為了改善交通秩序及減少交通事故,交通燈起著越來越重要的作用。在越來越多的城市的各個路口上安裝了交通燈,來改善交通秩序。現(xiàn)代城市在日常運行控制中,越來越多的使用紅綠燈對交通進(jìn)行指揮和管理。而一套完整的交通燈控制系統(tǒng)通常要實現(xiàn)自動控制和手動控制去實現(xiàn)其紅綠燈的轉(zhuǎn)換。基于FPGA 設(shè)計的交通燈控制系統(tǒng)電路簡單、可靠性好。本設(shè)計利用Verilog HDL 語言、采用層次化混合輸入方式,可控制4個路口的紅、黃、綠、左轉(zhuǎn)四盞信號燈,讓其按特定的規(guī)律進(jìn)行變化。在Quartus下對系統(tǒng)進(jìn)行了綜合與仿真。仿真結(jié)果表明系統(tǒng)可實現(xiàn)十字路口紅綠燈及左轉(zhuǎn)彎控制和倒

2、計時顯示,并能夠自動控制交通燈轉(zhuǎn)變。關(guān)鍵詞:FPGA,交通燈控制器,Quartus,Verilog HDLAbstractWith the development of modern cities and transport, traffic accidents also increased dramatically, plays an increasingly important role in order to improve traffic order and reduce traffic accidents and traffic lights. More and more all t

3、he roads of the city to install traffic lights to improve traffic order.Modern city, more and more control of the day-to-day running of the traffic light traffic command and management. And a complete set of traffic light control system is usually to achieve automatic control and manual control to a

4、chieve the conversion of its traffic lights. FPGA design-based traffic light control system circuit is simple and good reliability. The design using Verilog HDL language using hierarchical mixed input, and can control the four junctions of red, yellow, green, and turn left at the four signal lights,

5、 so that a particular law of change. QUARTUS system synthesis and simulation. The simulation results show that the system can achieve the crossroads of traffic lights and turn left control and countdown display and can automatically control the traffic lights into.Key Words:FPGA ,traffic light contr

6、oller, Quartus II, The Verilog HDL目錄摘 要.IAbstract .II第1章 緒論.11.1 交通燈簡介.11.2 FPGA概述及發(fā)展.11.3 本設(shè)計所實現(xiàn)目標(biāo).21.4 設(shè)計方案分析.3第2章 系統(tǒng)的設(shè)計及環(huán)境.42.1 系統(tǒng)結(jié)構(gòu)圖.42.2 系統(tǒng)接口信號描述.42.3 軟件環(huán)境.42.4 硬件環(huán)境.6第3章 系統(tǒng)模塊設(shè)計.83.1 分頻模塊設(shè)計.83.2 計數(shù)器模塊設(shè)計.93.3 控制器模塊設(shè)計.113.4 顯示譯碼模塊設(shè)計.123.5 頂層連接模塊.13結(jié)論.16致謝.17參考文獻(xiàn).18附錄.19第1章 緒論1.1 交通燈的簡介交通燈通常指由紅、黃、

7、綠三種顏色燈組成用來指揮交通的信號燈。綠燈亮?xí)r,準(zhǔn)許車輛通行,黃燈亮?xí)r,已越過停止線的車輛可以繼續(xù)通行;紅燈亮?xí)r,禁止車輛通行。 交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。為了實現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化。用可編程控制器實現(xiàn)交通燈管制的控制系統(tǒng)具有以下優(yōu)點: 實驗證明該系統(tǒng)實現(xiàn)簡單、經(jīng)濟(jì); 能夠有效地疏導(dǎo)交通,提高交通路口的通行能力; 可編程控制器具有小型化、價格低、可靠性高;1.2 FPGA概述及發(fā)展目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上

8、進(jìn)行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flipflop)或者其他更加完整的記憶塊。 系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成所需要的邏輯功能。 FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,但是功耗較低。但是他們也有

9、很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復(fù)雜可編程邏輯器件備)。隨著微電子技術(shù)的快速發(fā)展,可編程邏輯器件應(yīng)用技術(shù)得到了廣泛的應(yīng)用,而FPGA技術(shù)正處于高速發(fā)展時期,新型芯片的規(guī)模越來越大,成本也越來越低,低端的FPGA已逐步取代了傳統(tǒng)的數(shù)字元件,高端的FPGA不斷在爭奪ASIC的市場份額。未來可編程邏輯器件具有以下幾個發(fā)展趨勢:1 大容量、低電壓、低功耗FPGA 大容

10、量FPGA 是市場發(fā)展的焦點。2 系統(tǒng)級高密度FPGA 。隨著生產(chǎn)規(guī)模的提高,產(chǎn)品應(yīng)用成本的下降,F(xiàn)PGA 的應(yīng)用已經(jīng)不是過去的僅僅適用于系統(tǒng)接口部件的現(xiàn)場集成,而是將它靈活地應(yīng)用于系統(tǒng)級(包括其核心功能芯片)設(shè)計之中。在這樣的背景下,國際主要FPGA 廠家在系統(tǒng)級高密度FPGA 的技術(shù)發(fā)展上,主要強(qiáng)調(diào)了兩個方面:FPGA 的IP( Intellec2tual Property ,知識產(chǎn)權(quán))硬核和IP軟核。當(dāng)前具有IP內(nèi)核的系統(tǒng)級FPGA的開發(fā)主要體現(xiàn)在兩個方面:一方面是FPGA 廠商將IP硬核(指完成版圖設(shè)計的功能單元模塊)嵌入到FPGA 器件中,另一方面是大力擴(kuò)充優(yōu)化的IP軟核(指利用HD

11、L語言設(shè)計并經(jīng)過綜合驗證的功能單元模塊),用戶可以直接利用這些預(yù)定義的、經(jīng)過測試和驗證的IP 核資源,有效地完成復(fù)雜的片上系統(tǒng)設(shè)計。 3 FPGA和ASIC出現(xiàn)相互融合。 雖然標(biāo)準(zhǔn)邏輯ASIC 芯片尺寸小、功能強(qiáng)、功耗低,但其設(shè)計復(fù)雜,并且有批量要求。FPGA價格較低廉,能在現(xiàn)場進(jìn)行編程,但它們體積大、能力有限,而且功耗比ASIC大。正因如此,F(xiàn)PGA和ASIC正在互相融合,取長補(bǔ)短。隨著一些ASIC制造商提供具有可編程邏輯的標(biāo)準(zhǔn)單元,F(xiàn)PGA 制造商重新對標(biāo)準(zhǔn)邏輯單元發(fā)生興趣。 4 動態(tài)可重構(gòu)FPGA 動態(tài)可重構(gòu)FPGA是指在一定條件下芯片不僅具有在系統(tǒng)重新配置電路功能的特性,而且還具有在系

12、統(tǒng)動態(tài)重構(gòu)電路邏輯的能力。對于數(shù)字時序邏輯系統(tǒng),動態(tài)可重構(gòu)FPGA的意義在于其時序邏輯的發(fā)生不是通過調(diào)用芯片內(nèi)不同區(qū)域、不同邏輯資源來組合而成,而是通過對FPGA 進(jìn)行局部的或全局的芯片邏輯的動態(tài)重構(gòu)而實現(xiàn)的。動態(tài)可重構(gòu)FPGA在器件編程結(jié)構(gòu)上具有專門的特征,其內(nèi)部邏輯塊和內(nèi)部連線的改變,可以通過讀取不同的SRAM中的數(shù)據(jù)來直接實現(xiàn)這樣的邏輯重構(gòu),時間往往在納秒級,有助于實現(xiàn)FPGA系統(tǒng)邏輯功能的動態(tài)重構(gòu)。1.3 本設(shè)計所要實現(xiàn)的目標(biāo) 基于FPGA的Verilog HDL語言設(shè)計一個用于十字路口的交通燈控制器來達(dá)到一下幾個目的:1 要求南北方向車道和東西方向車道兩條交叉道路上的車輛交替運行,東

13、西和南北各有一組紅、黃、綠燈用于指揮交通;2 紅、綠燈的持續(xù)時間為60s,黃燈在綠燈轉(zhuǎn)為紅燈之前亮3s;3 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進(jìn)行到幾時顯示;4 有緊急情況車輛要求通過時,系統(tǒng)要能禁止普通車輛通行,兩條道路均為紅燈,計時器清零,當(dāng)特殊情況結(jié)束后,南北方向信號燈變綠,東西方向信號燈變紅,繼續(xù)正常工作。 1.4 設(shè)計方案分析 基于FPGA 設(shè)計的交通燈控制系統(tǒng)電路簡單、可靠性好。本設(shè)計利用Verilog HDL 語言、采用層次化混合輸入方式,可控制4個路口的紅、黃、綠、左轉(zhuǎn)四盞信號燈,讓其按特定的規(guī)律進(jìn)行變化。交通燈的工作過程如下:假設(shè)十字路

14、口的交通干道為南北方向和東西方向。初始狀態(tài)為南北和東西干道上的燈均為紅燈,然后南北方向上的綠燈先亮,允許車輛的行駛;東西干道的紅燈亮,不不允許車輛的行駛,同時兩個路口的數(shù)碼顯示器開始倒計時,南北方向的綠燈亮57s后,綠燈熄滅,黃燈開始亮3s;之后南北干道轉(zhuǎn)為紅燈,禁止車輛通行,同時東西方向的綠燈亮,允許東西方向車輛行駛,兩個干道的數(shù)碼顯示器重新開始倒計時,57s后東西方向的綠燈熄滅,黃燈開始亮起,3s后轉(zhuǎn)為紅燈,禁止車輛通行,同時南北方向由紅燈轉(zhuǎn)為綠燈,允許車輛行駛。 之后不斷重復(fù)以上過程。當(dāng)出現(xiàn)特殊情況時,東西和南北干道上的信號燈轉(zhuǎn)為紅燈,并停止倒計時,特殊情況結(jié)束后,南北方向的綠燈亮起,東

15、西方向信號燈變紅燈,重新開始計時,恢復(fù)正常工作。 第2章 系統(tǒng)的設(shè)計及環(huán)境2.1 系統(tǒng)結(jié)構(gòu)圖交通燈控制器的系統(tǒng)結(jié)構(gòu)框圖如圖2.1所示。圖2.1 交通燈控制器的系統(tǒng)結(jié)構(gòu)框圖2.2 系統(tǒng)接口信號描述 交通燈控制器接口信號定義如表2.2所示。表2.2 交通燈控制器接口信號定義信號名I/O位 寬含 義clkI1bit系統(tǒng)時鐘輸入rstI1bit復(fù)位信號(按鍵進(jìn)入特殊工作狀態(tài))light1O2bits南北方向信號燈顯示信號,00紅燈亮,01黃燈亮,10綠燈亮light2O2bits東西方向信號燈輸出顯示信號dis_drv1O7bits南北方向倒計時顯示驅(qū)動信號dis_drv2O7bits東西方向倒計時顯

16、示驅(qū)動信號2.3 軟件環(huán)境1) QuartusII Quartus II是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。Quartus II支持Altera的IP核,包含了LPM/M

17、egaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。Quartus II提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括: 1 可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、

18、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實體文件;2 芯片(電路)平面布局連線編輯;3 LogicLock增量設(shè)計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;4 功能強(qiáng)大的邏輯綜合工具;5 完備的電路功能仿真與時序邏輯仿真工具;6 定時/時序分析與關(guān)鍵路徑延時分析;7 可使用SignalTap II邏輯分析工具進(jìn)行嵌入式的邏輯分析;8 支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;9 使用組合編譯方式可一次完成整體設(shè)計流程;10 自動定位編譯錯誤;11 高效的期間編程與驗證工具;12 可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Ver

19、ilog網(wǎng)表文件;13 能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。2) Modelsim仿真 Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護(hù)IP核,個性化的圖形界面和用戶接口,為用戶加快調(diào)錯提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計的首選仿真軟件。 主要特點: 1 RTL和門級優(yōu)化,本地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺跨版本仿真; 2 單內(nèi)核VHDL

20、和Verilog混合仿真; 3 源代碼模版和助手,項目管理; 4 集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流ChaseX、Signal Spy、虛擬對象Virtual Object、Memory窗口、Assertion窗口、源碼窗口顯示信號值、信號條件斷點等眾多調(diào)試功能; 5 C和Tcl/Tk接口,C調(diào)試; 6 對SystemC的直接支持,和HDL任意混合; 7 支持SystemVerilog的設(shè)計功能; 8 對系統(tǒng)級描述語言的最全面支持,SystemVerilog,SystemC,PSL; 9 ASIC Sign off。 2.4 硬件環(huán)境 開發(fā)板運用了:6個LED發(fā)光二極管,4個7段數(shù)碼管

21、,一個按鍵及時鐘信號如圖2.3所示。 利用開發(fā)板上的6個LED發(fā)光二極管分別來模擬南北和東西方向兩條道路的紅、黃、綠燈,利用按鍵來控制交通燈處于正常工作狀態(tài)或特殊工作狀態(tài)。4個7段數(shù)碼顯示器用來顯示兩條道路上亮燈的倒計時情況,每個路口使用2個,共需要4個。在系統(tǒng)的輸入信號中包括了一個按鍵開關(guān),一個時鐘信號,輸出信號是由6個LED輸出信號和4個7段數(shù)碼顯示器驅(qū)動信號完成的。交通控制器的外部時鐘信號是由晶振產(chǎn)生的,開發(fā)板系統(tǒng)采用的是晶振頻率為50MHz的信號。交通燈控制器的計時單位為秒,其時鐘頻率設(shè)定為1Hz,所以需要分頻模塊對外部時鐘信號進(jìn)行分頻操作。圖2.3 交通燈示意圖第3章 系統(tǒng)模塊設(shè)計

22、在系統(tǒng)模塊的設(shè)計中運用了5個模塊:分頻器模塊、計數(shù)器模塊、控制器模塊、顯示譯碼模塊及頂層連接模塊來實現(xiàn)模擬交通燈控制器的設(shè)計。3.1 分頻器模塊設(shè)計1) 分頻器實現(xiàn)的是將高頻時鐘信號轉(zhuǎn)換成低頻時鐘信號,用于觸發(fā)控制器、計數(shù)器和掃描顯示電路。具體實物模塊如圖2.4所示。圖2.4 分頻器模塊2) 模塊原理分析。在本次設(shè)計中開發(fā)板提供的時鐘頻率為50MHz,而秒計數(shù)器需要的時鐘頻率為1Hz,所以需要降低開發(fā)板提供的,以滿足計時的需要,我們將這種頻率的變換關(guān)系稱為分頻。假設(shè)原始的時鐘周期為T, 分頻后的時鐘周期為t,則分頻倍數(shù)的計算公式為:在進(jìn)行分頻之前首先計算n,分頻的基本原理是對原始時鐘的周期進(jìn)行

23、計數(shù),每計數(shù)滿n/2個時鐘周期,目標(biāo)時鐘就進(jìn)行一次翻轉(zhuǎn)。原始時鐘clk和目標(biāo)時鐘clk_1的關(guān)系如圖2.5所示。圖2.5 分頻原理 本設(shè)計中,原始的未分頻時鐘是50MHz,周期是秒,分頻后的時鐘周期t=1秒,代入公式得到n/2=25 000 000,也就是每次計數(shù)達(dá)到25 000 000個時鐘周期以后就把輸出的分頻時鐘信號翻轉(zhuǎn)一次。3) 模塊接口定義。分頻器模塊接口定義如表2.6所示。表2.6 分頻器模塊接口定義信 號 名I/O位 寬含 義clkI1bit系統(tǒng)50MHz時鐘輸入clk_1O1bit分頻后頻率為1Hz的時鐘輸出4) 模塊仿真波形圖如圖2.7所示。 圖2.7 分頻器仿真結(jié)果3.2

24、計數(shù)器模塊設(shè)計1) 這里需要的計數(shù)器的計數(shù)范圍為0-60。計到0后,下一個時鐘沿回復(fù)到60,開始下一輪計數(shù)。此外,當(dāng)檢測到特殊情況(Y1 =1)發(fā)生時,計數(shù)器暫停計數(shù),而系統(tǒng)復(fù)位信號rst則使計數(shù)器異步清零。實物模塊如圖2.8所示。圖2.8 計數(shù)器模塊2) 模塊原理設(shè)計。計數(shù)器用于對交通燈亮燈時間進(jìn)行計時,本設(shè)計中的計時顯示采用倒計時方式,所以在進(jìn)行計數(shù)模塊設(shè)計的時候,要以60作為計時的起點,每進(jìn)來一個時鐘有效信號,計數(shù)器數(shù)字就減1。由于綠燈轉(zhuǎn)為紅燈前3s要亮黃燈,所以計時器剩最后3s時要發(fā)出一個點亮黃燈的信號。3) 模塊接口定義。計時器模塊接口定義如表2.9所示。 表2.9 計時器模塊接口信

25、號定義信 號 名I/O位 寬含 義clk_1I1bit分頻后周期為1s的時鐘信號rstI1bit復(fù)位信號countO6bits計時輸出信號Y1O1bit黃燈閃亮信號4) 模塊仿真結(jié)果。波形仿真結(jié)果如圖2.10所示。圖2.10 計數(shù)器仿真結(jié)果3.3 控制器模塊設(shè)計1) 控制器的作用是根據(jù)計數(shù)器的計數(shù)值控制各方向上的LED發(fā)光二極管的亮、滅,當(dāng)計時時間到達(dá),狀態(tài)控制器就響應(yīng),自動跳轉(zhuǎn)到下一個狀態(tài)。此外,當(dāng)檢測到特殊情況發(fā)生時,無條件點亮紅燈的二極管。2) 模塊原理分析。根據(jù)交通燈的工作過程,交通燈的工作狀況如下表所示。正常工作時交通燈在前4個狀態(tài)間運行,出現(xiàn)緊急情況進(jìn)入狀態(tài)s5,緊急情況結(jié)束后進(jìn)入

26、s1狀態(tài)。表2.11 交通燈狀態(tài)轉(zhuǎn)換表當(dāng)前狀態(tài)當(dāng)前狀態(tài)下交通燈工作情況描述持續(xù)時間下一個狀態(tài)S1南北干道綠燈亮,東西干道紅燈亮57sS2S2南北干道黃燈亮,東西干道紅燈亮3sS3S3南北干道紅燈亮,東西干道綠燈亮57sS4S4南北干道紅燈亮,東西干道黃燈亮3sS1S5兩個路口紅燈同時亮(特殊情況)不確定恢復(fù)原始狀態(tài)3) 模塊接口定義。控制器模塊接口定義如表2.12所示。表2.12 交通燈控制器模塊接口信號定義信 號 名I/O位 寬含 義clk_1I1bit分頻后周期為1s的時鐘信號rstI1bit復(fù)位信號Y1I1bit黃燈閃亮信號countI6bits計數(shù)輸出信號,控制信號燈的轉(zhuǎn)換light1

27、O2bits南北方向信號燈輸出顯示信號light2O2bits東西方向信號燈輸出顯示信號4) 模塊仿真結(jié)果。模塊仿真結(jié)果如圖2.13所示。圖2.13 控制器模塊仿真結(jié)果3.4 顯示譯碼模塊設(shè)計1) 模塊原理的分析。本次設(shè)計的信號燈帶有倒計時顯示,顯示信號由計時器的輸出信號驅(qū)動。計時器的輸出信號count為二進(jìn)制輸出信號,而7段數(shù)碼顯示器顯示的是十進(jìn)制數(shù)(分為十位和個位),所以在考慮設(shè)計此顯示譯碼模塊的時候首先要考慮的是將count輸出的6為二進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù),然后令生成的十進(jìn)制數(shù)的十位和個位分別轉(zhuǎn)換成兩個各自獨立的二進(jìn)制數(shù),并驅(qū)動兩個7段數(shù)碼顯示器。顯示譯碼模塊的結(jié)構(gòu)圖如圖2.14所示。圖2

28、.14 顯示譯碼模塊結(jié)構(gòu)框圖2) 模塊接口定義。顯示譯碼模塊的接口定義如表2.15所示。表2.15 顯示譯碼模塊接口信號定義信 號 名I/O位 寬含 義countI6bits計數(shù)器輸出信號,作為顯示譯碼器模塊的輸入dis_drv1O7bits南北方向倒計時顯示驅(qū)動信號dis_drv2O7bits東西方向倒計時顯示驅(qū)動信號3) 仿真波形圖。仿真波形圖如圖2.16所示。從仿真波形圖的結(jié)果可以看出,該模塊能將輸入的count信號正確轉(zhuǎn)換成BCD碼輸出信號,作為外部7段數(shù)碼顯示器的驅(qū)動信號。圖2.16 模塊仿真結(jié)果3.5 頂層連接模塊設(shè)計 在前面設(shè)計的4個電路模塊,包括:分頻器模塊(clk_div)、

29、計數(shù)器模塊(time_cnt)、控制器模塊(light_ctrl)和顯示譯碼器模塊(display_decode)。在頂層連接模塊中,這4個模塊的關(guān)系如圖2.17所示。由于兩個方向的紅燈和綠燈持續(xù)時間相同,任何時刻南北方向和東西方向的倒計時顯示器顯示時間相同,所以可以使用同一個顯示譯碼器。圖2.17 頂層模塊連接結(jié)構(gòu)圖頂層模塊功能仿真圖2.18所示。圖中:96對應(yīng)的dh為0110,對應(yīng)的是6;而dl為0000,對應(yīng)的是0;后面顯示59圖2.18 頂層連接模塊仿真圖 圖2.19 RTL圖圖2.19 實際效果圖 結(jié)論以上為在畢業(yè)前所作的畢業(yè)論文-基于FPGA的交通燈控制器設(shè)計,本任務(wù)的設(shè)計實現(xiàn)了一

30、個交通燈控制系統(tǒng),可以用來控制一個南北和東西方向交叉的十字路口的信號燈。通過人物分析將交通燈控制系統(tǒng)分為四個模塊:分頻模塊、計時模塊、控制模塊和顯示譯碼模塊。信號燈在計數(shù)器的計數(shù)信號的控制下各個工作狀態(tài)之間的轉(zhuǎn)換非常明確,所以可利用狀態(tài)機(jī)來對控制模塊進(jìn)行設(shè)計。計數(shù)器采用倒計時的方式,在設(shè)計計數(shù)模塊時,要注意計時的起點是60s。由于使用7段數(shù)碼顯示器來模擬時間顯示,所以需要將計時模塊的輸出信號轉(zhuǎn)化為數(shù)碼顯示器的驅(qū)動信號,中間涉及到十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換。在設(shè)計中采用Verilog HDL語言設(shè)計交通燈控制系統(tǒng), 借助其功能強(qiáng)大的語言結(jié)構(gòu), 簡明的代碼描述復(fù)雜控制邏輯設(shè)計, 與工藝無關(guān)特性, 在

31、提高工作效率的同時達(dá)到求解目的, 并可以通過Verilog HDL 語言的綜合工具進(jìn)行相應(yīng)硬件電路生成, 具有傳統(tǒng)邏輯設(shè)計方法所無法比擬的優(yōu)越性。 在設(shè)計過程中,覺得最難的部分是波形仿真部分,雖然程序編譯通過但仿真卻比較難實現(xiàn)正確的波形,不是計數(shù)器無法正常計數(shù),就是控制輸出無法進(jìn)入到下一個狀態(tài),每次出現(xiàn)問題就必須返回重新修改程序。實踐證明,在編寫一個較復(fù)雜的程序時,一開始一定要先把各個模塊分析透徹,弄清楚各個功能及實現(xiàn)它們的邏輯算法,做到心中有數(shù)后在開始下筆寫編寫程序。通過這次畢業(yè)設(shè)計,無論從選題到定稿,從理論到實踐都使我學(xué)到了很多東西,它不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上

32、所沒有學(xué)到過的知識。同時也明白了理論與實踐相結(jié)合的重要性,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。 致謝三年的大學(xué)生活像彈指一揮間很快就要結(jié)束了,在這段難忘的生活中,有許多美好的回憶,有在一起生活了三年的7位室友,有陪我一起學(xué)習(xí)一起成長了三年的計算機(jī)通信的同學(xué)們,有諄諄教導(dǎo)我們的老師指導(dǎo)專業(yè)知識在畢業(yè)論文設(shè)計之中,我的老師和我的同學(xué)都細(xì)心的指導(dǎo)我,讓我能更快的完成畢業(yè)設(shè)計。在大學(xué)的生活里學(xué)到挺多的東西,讓我領(lǐng)悟到誠實做人,踏實做事,扎實做學(xué)問的深刻道理,讓我從一個懵懂得高中生變成一個成熟的

33、大學(xué)生,讓我幼稚的心在這慢慢的成長,不再有小孩子氣。在這里我要感謝我的指導(dǎo)老師,謝謝你能在繁多的工作量中抽出時間來指導(dǎo)我完成畢業(yè)設(shè)計,感謝大學(xué)中陪我一起做業(yè)務(wù)的幾個學(xué)長及老鄉(xiāng),有你們的幫助讓我對業(yè)務(wù)的發(fā)展更熟悉更得心應(yīng)手,當(dāng)然還要感謝寢室的兄弟們陪我度過美好的三年大學(xué)生活,感謝能有這段美好的記憶。現(xiàn)在即將揮別我的學(xué)校、老師、同學(xué),還有我三年的大學(xué)生活,雖然依依不舍,但是對未來的路,我充滿了信心。最后,感謝在大學(xué)期間認(rèn)識我和我認(rèn)識的所有人,有你們的陪伴,才有我大學(xué)生活的絢麗多彩,謝謝你們?nèi)甑呐惆?,有你們真好!參考文獻(xiàn)1 夏宇聞. 復(fù)雜數(shù)字電路與系統(tǒng)的V erilog HDL設(shè)計技術(shù) M .北京

34、: 北京航空航天大學(xué)出版社, 1998;2 張明. Verilog HDL 實用教程M . 成都: 電子科技大學(xué)出版社, 1999;3 褚振勇,齊亮,田紅心,高楷娟.FPGA設(shè)計及應(yīng)用(第二版).西安:電子科技大學(xué)出版社,2006;4 億特科技.CPLD/FPGA應(yīng)用系統(tǒng)設(shè)計.人民郵電出版社,2005;5 Hyde D C. Bucknell Handbook on V erilog HDL 1Computer Science Department. Bucknell U niversity L ew is burg, 1995;6 譚會生等. EDA技術(shù)及應(yīng)用.西安電子科技大學(xué)出版社,200

35、1;7 潘松等. EDA技術(shù)實用教程.科學(xué)出版社,2006;8 康華光. 電子技術(shù)基礎(chǔ)-數(shù)字部分.高等教育出版社,1998; 9 王丹,童如松. 電子設(shè)計自動化(EDA)手冊. 北京: 電子工業(yè)出版社,2005;10 楊承毅. 電子技能實訓(xùn)基礎(chǔ). 北京: 人民郵電出版社,2005;附錄 總程序分頻模塊module clk_div(clk,clk_1,);input clk;output clk_1;reg24:0 counter;reg clk_1;always(posedge clk)begin if(counter=25'h17D7840) begin counter<=25

36、'b1; clk_1<=clk_1; end else counter<=counter+1'b1;endendmodule 計數(shù)器模塊module time_cnt(clk_1,rst,count,Y1);input clk_1,rst;output5:0count;output Y1;reg 5:0count;reg Y1;always(posedge clk_1 or negedge rst)begin if(! rst) count<=6'b111100; else if(count=6'b000000) begin Y1<=1&

37、#39;b0; count<=6'b111100; end else if(count>6'b000011) begin Y1<=1'b0; count<=count-1'b1; end else begin Y1<=1'b1; count<=count-1'b1; endendendmodule控制器模塊module light_ctrl(clk_1,rst,Y1,count,light1,light2,);input clk_1,rst,Y1;input5:0 count;output1:0light1,l

38、ight2;reg1:0light1,light2;reg2:0state;parameter s1=3'b000, s2=3'b001, s3=3'b010, s4=3'b011, s5=3'b100;always(posedge clk_1 or negedge rst)begin if(!rst) state<=s5; else begin case(state) s1:if(Y1) begin light1<=2'b01; light2<=2'b00; state<=s2; end else state&l

39、t;=s1; s2:if(! count) begin light1<=2'b00; light2<=2'b10; state<=s3; end else state<=s2; s3:if(Y1) begin light1<=2'b00; light2<=2'b01; state<=s4; end else state<=s3; s4:if(! count) begin light1<=2'b10; light2<=2'b00; state<=s1; end else state<=s4; s5:if (rst) begin light1<=2'b10; light2<=2'b00; state<=s1; end else begin light1<=2'b00; light2<=2'b00; state<=s5; end default state<=s1; endcase endendendmodule顯示譯碼器模塊module display_decode(count,dis_drv1,dis_drv2);input5:0count;output6:0dis_dr

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論