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

下載本文檔

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

文檔簡(jiǎn)介

1、謝謝觀(guān)賞隨著城鄉(xiāng)的經(jīng)濟(jì)發(fā)展,車(chē)輛的數(shù)量在迅速的增加,交通阻塞的問(wèn)題已經(jīng)嚴(yán)重影響了人們的出行?,F(xiàn)在的社會(huì)是一個(gè)數(shù)字化程度相當(dāng)高的社會(huì),很多的系統(tǒng)設(shè)計(jì)師都愿意把自己的設(shè)計(jì)設(shè)計(jì)成集成電路芯片,芯片可以在實(shí)際中方便使用。隨著EDA技術(shù)的發(fā)展,嵌入式通用及標(biāo)準(zhǔn)FPG端件的呼之欲出,片上系統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPL以其不可替代的地位及伴隨而來(lái)的極具知識(shí)經(jīng)濟(jì)特征的IP芯片產(chǎn)業(yè)的崛起,正越來(lái)越受到業(yè)內(nèi)人士的密切關(guān)注。FPG剛是在這樣的背景下誕生的,它在數(shù)字電路中的地位也越來(lái)越高,這樣迅速的發(fā)展源于它的眾多特點(diǎn)。交通等是保障交通道路暢通和安全的重要工具,而控制器是交通燈控制的主要部分,它可以通過(guò)

2、很多種方式來(lái)實(shí)現(xiàn)。在這許許多多的方法之中,使用FPG母口VHDL言設(shè)計(jì)的交通燈控制器,比起其他的方法顯得更加靈活、易于改動(dòng),并且它的設(shè)計(jì)周期性更加短。城市中的交通事故頻繁發(fā)生,威脅著人們的生命健康和工作生活,交通阻塞問(wèn)題在延遲出行時(shí)間的同時(shí),還會(huì)造成更多的空氣污染和噪聲污染。在這種情況下,根據(jù)每個(gè)道路的實(shí)際情況來(lái)設(shè)置交通燈,使道路更加通暢,這對(duì)構(gòu)建和諧暢通的城市交通有著十分重要的意義。第一章軟件介紹1.1Quartusn介紹本次畢業(yè)設(shè)計(jì)是基于FPGA的設(shè)計(jì),F(xiàn)PG是現(xiàn)場(chǎng)可編程門(mén)陣列,F(xiàn)PGAF發(fā)工具種類(lèi)很多、智能化高、功能非常的強(qiáng)大??删幊蘍uartusR是一個(gè)為邏輯器件編程提供編程環(huán)境的軟件

3、,它能夠支持VHDLVerilogHD昭言的設(shè)計(jì)。在該軟件環(huán)境下,設(shè)計(jì)者可以實(shí)現(xiàn)程序的編寫(xiě)、編譯、仿真、圖形設(shè)計(jì)、圖形的仿真等許許多多的功能。在做交通燈控制器設(shè)計(jì)時(shí)選擇的編程語(yǔ)言是VHD語(yǔ)言。在這里簡(jiǎn)單的介紹一下QuartusR的基本部分。圖1-1-1是一幅啟動(dòng)界面的圖片。在設(shè)計(jì)前需要對(duì)軟件進(jìn)行初步的了解,在圖中已經(jīng)明顯的標(biāo)出了每一部分的名稱(chēng)。圖1-1-1啟動(dòng)界面開(kāi)始設(shè)計(jì)前我們需要新建一個(gè)工程,首先要在啟動(dòng)界面上的菜單欄中找到File,單擊它選擇它下拉菜單中的“NewProjectWizard”時(shí)會(huì)出現(xiàn)圖1-1-2所顯示的對(duì)話(huà)框,把項(xiàng)目名稱(chēng)按照需要填好后單擊Next,便會(huì)進(jìn)入圖1-1-3顯示的

4、界面。圖1-1-2創(chuàng)建工程框圖1-1-3芯片選擇框根據(jù)自己選擇的實(shí)驗(yàn)設(shè)備選擇好相應(yīng)的芯片型號(hào)點(diǎn)擊Next,進(jìn)入下一個(gè)步驟當(dāng)出現(xiàn)圖1-1-5時(shí),點(diǎn)擊“Finish”后這個(gè)工程就建立好了。圖1-1-4仿真器選擇框圖1-1-5對(duì)話(huà)框建好工程后開(kāi)始進(jìn)行設(shè)計(jì),首先在圖1-1-6中單擊可e后選擇new,接著會(huì)出現(xiàn)圖1-1-7,在交通燈控制器的設(shè)計(jì)中我們選擇的是VHDLFile,當(dāng)出現(xiàn)圖1-1-8時(shí)就可以把編輯的程序敲入編輯器中。圖1-1-6工程建好后的界面圖1-1-7新建文件類(lèi)型選擇框圖1-1-8程序編輯框在第一章中對(duì)QuartusR軟件的使用做一個(gè)簡(jiǎn)單介紹,設(shè)計(jì)中的編譯和仿真步驟在后面的幾章中會(huì)做出介紹

5、。第二章交通燈控制器設(shè)計(jì)的概述2.1 控制器設(shè)計(jì)描述2.1.1 設(shè)計(jì)任務(wù)要求設(shè)計(jì)交通燈控制器,分別在四個(gè)方向都安裝紅、黃、綠三種顏色的交通指示燈,紅燈表示停止,綠燈表示通行,黃燈表示左轉(zhuǎn)和直行將要禁止通行,四個(gè)方向分別還安裝有倒計(jì)時(shí)的計(jì)時(shí)器。2.1.2 設(shè)計(jì)要求東西方向和南北方向各有組指示燈,紅燈亮的時(shí)間為20S,黃燈亮的時(shí)間為5S,綠燈亮的時(shí)間為25S。三種燈亮滅的順序?yàn)榧t燈、綠燈、黃燈。第三章交通燈控制器的設(shè)計(jì)過(guò)程3.1 設(shè)計(jì)方案本設(shè)計(jì)課題用FPG林實(shí)現(xiàn)智能交通燈的設(shè)計(jì),本設(shè)計(jì)現(xiàn)要研究的問(wèn)題主要有:智能交通燈的設(shè)計(jì)方案;各功能模塊的設(shè)計(jì)與實(shí)現(xiàn);如何用VHDLS寫(xiě)源程序以及進(jìn)行系統(tǒng)仿真。3.

6、1.1 框圖設(shè)計(jì)交通燈控制器設(shè)計(jì)的框圖中包括控制器、分頻器、顯示器、指示燈、譯碼器、位選器。當(dāng)?shù)褂?jì)時(shí)為零時(shí),控制器改變交通燈的顏色,同時(shí)倒計(jì)時(shí)開(kāi)始進(jìn)入下一個(gè)倒計(jì)時(shí)。當(dāng)有緊急情況出現(xiàn)的時(shí)候,四面的交通燈都會(huì)變?yōu)榧t燈,緊急情況的處理在設(shè)計(jì)中是依靠HOLD!來(lái)實(shí)現(xiàn)的。圖3-1-1-1是交通燈設(shè)計(jì)的設(shè)計(jì)框圖譯 碼顯示器1東、西、南圖3-1-1-1交通燈設(shè)計(jì)的設(shè)計(jì)框圖系統(tǒng)的紅、黃、綠燈顯示的總時(shí)間為50s,具體的亮燈時(shí)間和亮燈順序看表3-1-1-2表3-1-1-2交通燈亮燈順序與亮燈時(shí)間安排東西方向(AT)南北方向A錄燈亮(20s)B紅燈亮(B燈)(025s)A黃燈亮(21 25s)B綠燈亮(2645s

7、)(2650s)B黃燈亮(4650s)謝謝觀(guān)賞圖3-1-2工程流程圖創(chuàng)建一個(gè) 新的工程保存輸入 的程序3.1.2工程流程圖對(duì)程序進(jìn)行編譯,有錯(cuò)誤的要進(jìn)行修3.1.3時(shí)序圖的假象在時(shí)序圖中,上升沿有效,即為“1”時(shí)燈亮,好比RedM上升沿(“1”)時(shí)A方向的紅燈是亮的,相對(duì)的Green他為上升沿(“1”)B方向上綠燈是亮的。具體的時(shí)序顯示見(jiàn)圖3-2時(shí)序圖。圖3-2時(shí)序圖3.2 模塊設(shè)計(jì)3.2.1 主控制器模塊在QuartusII按照1-1中的方法新建一個(gè)工程并新建一個(gè)文件項(xiàng)目后,在圖1-1-8程序編輯框中將主控制器的程序輸入后保存。接著需要對(duì)主控制器的程序進(jìn)行編譯,編譯的步驟是點(diǎn)擊Project

8、-SetasTop將文件置頂,具體的參考圖3-2-1-1置頂,接著點(diǎn)擊圖3-2-1-2的StartCompilation進(jìn)行編譯。圖3-2-1-1置頂圖3-2-1-2編譯在編譯的過(guò)程中,出現(xiàn)了一些錯(cuò)誤,在我編譯主控制器的程序時(shí),出現(xiàn)的錯(cuò)誤是沒(méi)有將CLOCK入PROCESS。,將程序中的錯(cuò)誤改正后有時(shí)還會(huì)出現(xiàn)些Warning,有些Warning并不會(huì)影響后面的設(shè)計(jì)步驟。將上面的錯(cuò)面都改正后,就會(huì)顯示圖3-2-1-3所顯示的對(duì)話(huà)框。下一步就是對(duì)程序進(jìn)行時(shí)序仿真,圖3-2-1-3編譯成功程序編譯無(wú)措后在當(dāng)前的工程下面新建一個(gè)文件,點(diǎn)擊File出現(xiàn)圖3-2-1-4新建文件對(duì)話(huà)框,選擇圖中顯示藍(lán)色的選項(xiàng)

9、就會(huì)出現(xiàn)我們想要的界面,把鼠標(biāo)移在圖3-2-1-5時(shí)序仿真編輯框中左邊的空白處,然后點(diǎn)擊右鍵,選擇INSERTINSERTNODEORBU&項(xiàng)出現(xiàn)另一個(gè)對(duì)話(huà)框,選擇對(duì)話(huà)框中的NODEINDER!就會(huì)產(chǎn)生新的對(duì)話(huà)框,點(diǎn)擊LIST是在左下角的空白處會(huì)出現(xiàn)很多的引腳,我們選中需要的引腳后確定后,我們需要的引腳就會(huì)出現(xiàn)在時(shí)序仿真編輯中左邊的空白處,我們對(duì)輸入信號(hào)進(jìn)行設(shè)定,若想讓輸出信號(hào)顯示為十六進(jìn)制數(shù),我們可以選中輸出信號(hào)然后點(diǎn)擊鼠標(biāo)的右鍵選擇VALUECOUNVALUE后出現(xiàn)的對(duì)話(huà)框中可以選擇自己需要顯示的進(jìn)制類(lèi)型和進(jìn)制數(shù)的定時(shí)等。對(duì)輸出輸入信號(hào)編輯完成后保存。在菜單工具欄中選擇PROCESSING

10、SIMULATOOROOL出現(xiàn)圖3-2-1-6的對(duì)話(huà)框,按照對(duì)話(huà)框顯示的進(jìn)行設(shè)定,點(diǎn)擊QENERATFUNCTIONALSTARTREPORT就會(huì)得出我們想要的圖3-2-1-7主控制器時(shí)序仿真圖。圖3-2-1-4新建文件對(duì)話(huà)框圖3-2-1-5仿真編輯框圖3-2-1-6仿真工具對(duì)話(huà)框圖3-2-1-7主控制器的仿真圖圖3-2-1-7中顯示的仿真結(jié)果和設(shè)計(jì)前預(yù)計(jì)的時(shí)序仿真圖的結(jié)果是相符合的。時(shí)序圖中的HOL罡保持信號(hào),當(dāng)HOLDF號(hào)為有效信號(hào)(“1”)時(shí),則四個(gè)方向的路燈都是紅燈亮,當(dāng)HOL無(wú)效時(shí),四個(gè)方向的信號(hào)燈會(huì)正常工作。RESET號(hào)有效時(shí),計(jì)數(shù)器的顯示就會(huì)重新從零開(kāi)始。圖中四個(gè)方向的指示燈的亮

11、滅順序是正確的。圖3-2-1-8主控制器的模塊主控制器的時(shí)序仿真完成后,一個(gè)程序的設(shè)計(jì)、仿真就已經(jīng)暫時(shí)結(jié)束了,下一步還要進(jìn)行圖形的設(shè)計(jì),在總的圖形設(shè)計(jì)前,需要先將每個(gè)程序都生成模塊,為之后的設(shè)計(jì)做好準(zhǔn)備。點(diǎn)擊File-CreateUpdade-CreateSymbolFilesforCurrentFile,完成這個(gè)操作過(guò)程后便會(huì)生成主控制器的模塊,具體的看圖3-2-1-8主控制器的模塊。模塊中主要有CLOCKRESETHOLDNUMIANUMB六個(gè)指示燈的輸出。3.2.2 分頻器模塊設(shè)計(jì)中需要用到1秒鐘的脈沖,分頻這個(gè)模塊就是為了改變頻率脈沖波,使20Mhz勺頻率最終變?yōu)?hz的脈沖,這樣就可

12、以得到一個(gè)周期是1秒鐘的脈沖,分頻器的程序見(jiàn)附錄。具體的程序編譯過(guò)程和仿真的過(guò)程和主控制模塊中談到的過(guò)程是相同的。按照上面談的步驟完成后就會(huì)得到圖3-2-2-1分頻模塊的時(shí)序仿真圖。圖3-2-2-1分頻模塊的仿真圖圖3-2-2-2分頻模塊分頻的程序經(jīng)過(guò)編譯和時(shí)序仿真圖后生成的模塊是圖3-2-2-2分頻模塊所顯示的20mhz勺脈沖通過(guò)第一模塊時(shí)變?yōu)?0hz,再經(jīng)過(guò)第二個(gè)模塊后變成1hz的脈沖。3.2.3 提取顯示值模塊提取顯示值的功能是在10hz的速度下提取顯示值,得到的是顯示時(shí)間值的十位和個(gè)位。圖3-2-3-1提取顯示值的時(shí)序仿真圖中NUMIN1主控制器白輸出值,NUMANUMB個(gè)輸出端口是要

13、顯示的值的高位和低位。高位的最大輸出值是為二的四位二進(jìn)制數(shù),低位的最大輸出值是為九的四位二進(jìn)制數(shù)。圖3-2-3-2是提取顯示值生成的模塊。提取顯示值的程序見(jiàn)文章的附錄。圖3-2-3-1提取顯示值的仿真圖仿真圖中,NUMB從0開(kāi)始計(jì)數(shù),當(dāng)計(jì)到9時(shí)NUMA為1,NUMB新從0開(kāi)始計(jì)數(shù),當(dāng)計(jì)到9時(shí)NUMA計(jì)為2,NUMB次從0開(kāi)始計(jì)數(shù),當(dāng)NUMA高位)計(jì)數(shù)到2時(shí),NUMB最大值輸出為5。圖3-2-3-2提取顯示值的模塊3.2.4 動(dòng)態(tài)掃描模塊LEEM示的工作原理是利用人類(lèi)的視覺(jué)特性。七段LEtM字顯示塊是由“a、b、c、d、e、f、g、dp”這幾段組成的,LED勺顯示原理就是要看這八段中的哪幾段是亮

14、的,那幾段是滅的。每段管子不是同時(shí)被點(diǎn)亮的并且點(diǎn)亮的時(shí)間都是極短的,又因?yàn)樽兓臅r(shí)間很短暫,亮滅的過(guò)程中留下的余光會(huì)給人一種錯(cuò)覺(jué),人的眼睛覺(jué)得是一組靜態(tài)的顯示燈。具體的動(dòng)態(tài)掃描的程序請(qǐng)看正文后的附錄。圖3-2-4-1是動(dòng)態(tài)掃描的時(shí)序仿真圖,圖3-2-4-2是動(dòng)態(tài)掃描生成的模塊。圖3-2-4-1動(dòng)態(tài)掃描的時(shí)序仿真圖圖3-2-4-2動(dòng)態(tài)掃描的模塊3.2.5 位選器模塊位選程序的輸入和編譯完成后,對(duì)程序進(jìn)行仿真,仿真的步驟依然和上面談到的一樣,下面兩幅圖一張是位選程序的時(shí)序仿真圖,另一幅是位選程序生成的模塊。見(jiàn)圖3-2-5-1和圖3-2-5-2。圖3-2-5-1位選時(shí)序仿真圖圖3-2-5-2位選模塊

15、3.2.6 譯碼器模塊譯碼器是將要顯示的數(shù)字轉(zhuǎn)換成驅(qū)動(dòng)七段數(shù)碼管的信號(hào),程序中的NUMT動(dòng)態(tài)掃描模塊相連,將四位二進(jìn)制數(shù)轉(zhuǎn)換為八位二進(jìn)制數(shù),再通過(guò)LED8俞出。譯碼器的程序編輯和編譯步驟也和前面所說(shuō)的相同。當(dāng)譯碼器編譯成功后進(jìn)行仿真,仿真的結(jié)果見(jiàn)圖3-2-6-1譯碼器的時(shí)序仿真。像時(shí)序仿真圖中顯示的一樣,當(dāng)NU瞳入“0000”時(shí)LED獨(dú)會(huì)輸出“00111111”顯示數(shù)字“0,當(dāng)NUM&入“0001”時(shí)LED8俞出“00000110顯示數(shù)字“1”。圖3-2-6-2是譯碼器程序生成的模塊。圖3-2-6-1譯碼器的時(shí)序仿真圖圖3-2-6-2譯碼器模塊3.3 圖形設(shè)計(jì)3.3.1 圖形設(shè)計(jì)的生成將每個(gè)程

16、序都編譯、仿真完成后,下一步就是要設(shè)計(jì)圖形仿真,在進(jìn)行圖形的時(shí)序仿真前,要先進(jìn)行圖形的編輯和編譯。要建立一個(gè)新工程和圖形編輯的文件的的過(guò)程是點(diǎn)擊File-NevwBlockDiagram/SchematicFile.(見(jiàn)圖3-3-1-1)圖3-3-1-1新建一個(gè)文件的對(duì)話(huà)框新建了一個(gè)文件以后,就要開(kāi)始編輯圖形了,要把每一個(gè)模塊都找出來(lái),選擇AssignmentfSettings后出現(xiàn)圖3-3-1-2的對(duì)話(huà)框,在左邊找到libraries,單擊它以后會(huì)出現(xiàn)圖3-3-1-2右邊顯示的內(nèi)容,冉點(diǎn)擊三J處可以找到之前生成的那些模塊所在的文件夾,把它們一次性添加在libraries中,這樣可以為后面圖形

17、設(shè)計(jì)做好準(zhǔn)備,全部添加完成后點(diǎn)擊“OK,這樣在元件庫(kù)中就可以找到生成的那些模塊了。選擇EditInsertSymbo后出現(xiàn)圖3-3-1-3的對(duì)話(huà)框,在這里就可以顯示出上面生成的模塊和軟件中原本存在的元器件,按照設(shè)計(jì)中的需要選出模塊和元件。圖3-3-1-2libraries對(duì)話(huà)框圖3-3-1-3元件庫(kù)對(duì)話(huà)框圖3-3-1-4編譯對(duì)話(huà)框圖3-3-1-4中標(biāo)明了每個(gè)快捷工具的用途,選擇合適的工具把選擇好的模塊和元件連接起來(lái)。然后將連接好的圖形文件保存以后進(jìn)行編譯。3.3.2 仿真結(jié)果圖3-3-2-1圖形設(shè)計(jì)的時(shí)序仿真圖圖形設(shè)計(jì)編譯完成以后按照程序的時(shí)序仿真的過(guò)程對(duì)圖形設(shè)計(jì)進(jìn)行時(shí)序仿真,給CLK適當(dāng)?shù)男?/p>

18、號(hào),并且要給輸入值定義正確的值,開(kāi)始仿真后會(huì)出現(xiàn)圖3-3-2-1就是編譯后的時(shí)序仿真圖。圖形設(shè)計(jì)的時(shí)序仿真圖中主要顯示的是紅、黃、綠燈之間的亮滅關(guān)系和LED8顯示的數(shù)值變化過(guò)程,還有位選輸出端的變化,時(shí)序圖中可以很容易看出當(dāng)計(jì)時(shí)數(shù)計(jì)數(shù)到某一個(gè)值的時(shí)候東西方向和南北方向是什么顏色的指示燈在工作。當(dāng)A路的綠燈亮?xí)r,B路的紅火T亮,A路的綠燈亮20秒后,A路的黃燈亮5秒由此可以很容易的看出指示燈的亮滅是正確的。3.4 管腳的鎖定管腳鎖定是為了為硬件仿真做準(zhǔn)備。當(dāng)所有的設(shè)計(jì)都完成后,接著要對(duì)圖形設(shè)計(jì)進(jìn)行管腳的鎖定。先確定設(shè)計(jì)時(shí)確定的器件類(lèi)型和實(shí)際的硬件類(lèi)型是不是一樣,選擇Assignments-Device,在出現(xiàn)的對(duì)話(huà)框中認(rèn)真確定選擇的器件是不是正確的。接下來(lái)選t?Assignments-Pins進(jìn)入圖3-4-1中,用鼠標(biāo)雙擊Location就可以設(shè)定管腳了。圖3-4-2是在這次畢業(yè)設(shè)計(jì)中使用到的芯片ACEX1K-EP1K100QC208-招3-4-3是完成編譯、時(shí)序仿真、管腳鎖定這些步驟后的圖形設(shè)計(jì)。圖3-4-1管腳鎖定對(duì)話(huà)框圖3-4-2芯片ACEX1K-EP1K100QC208-3圖3-4-3最終的圖形設(shè)計(jì)表3-4-1管腳和相應(yīng)的功能序

溫馨提示

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

評(píng)論

0/150

提交評(píng)論