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

下載本文檔

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

文檔簡介

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

2、控制的主要局部, 它可以通過很多種方式來實現(xiàn)。 在 這許許多多的方法之中,使用FPGA和VHDL語言設(shè)計的交通燈控制器,比起其他的方 法顯得更加靈活、易于改動,并且它的設(shè)計周期性更加短。城市中的交通事故頻繁發(fā)生, 威脅著人們的生命健康和工作生活, 交通阻塞問題 在延遲出行時間的同時, 還會造成更多的空氣污染和噪聲污染。 在這種情況下, 根據(jù) 每個道路的實際情況來設(shè)置交通燈, 使道路更加通暢, 這對構(gòu)建和諧暢通的城市交通 有著十分重要的意義。第一章 軟件介紹Quartus H 介紹本次畢業(yè)設(shè)計是基于FPG下的設(shè)計,F(xiàn)PG是現(xiàn)場可編程門陣列,F(xiàn)PG開發(fā)工具種 類很多、智能化高、功能非常的強大??删?/p>

3、程 Quartus H是一個為邏輯器件編程提供 編程環(huán)境的軟件,它能夠支持 VHDL、 Verilog HDL 語言的設(shè)計。在該軟件環(huán)境下,設(shè) 計者可以實現(xiàn)程序的編寫、編譯、仿真、圖形設(shè)計、圖形的仿真等許許多多的功能。 在做交通燈控制器設(shè)計時選擇的編程語言是 VHD語言。在這里簡單的介紹一下Quartus H的根本局部。圖1-1-1是一幅啟動界面的圖片。 在設(shè)計前需要對軟件進行初步的了解,在圖中已經(jīng)明顯的標(biāo)出了每一局部的名稱。圖 1-1-1 啟動界面開始設(shè)計前我們需要新建一個工程,首先要在啟動界面上的菜單欄中找到 File , 單擊它選擇它下拉菜單中的“ New Project Wizard

4、時會出現(xiàn)圖 1-1-2 所顯示的對話 框,把工程名稱按照需要填好后單擊 Next,便會進入圖1-1-3 顯示的界面。圖 1-1-2 創(chuàng)立工程框圖 1-1-3 芯片選擇框根據(jù)自己選擇的實驗設(shè)備選擇好相應(yīng)的芯片型號點擊 Next, 進入下一個步驟當(dāng)出 現(xiàn)圖 1-1-5 時,點擊“ Finish 后這個工程就建立好了。圖 1-1-4 仿真器選擇框圖 1-1-5 對話框建好工程后開始進行設(shè)計,首先在圖1-1-6中單擊file后選擇new,接著會出現(xiàn)圖 1-1-7 ,在交通燈控制器的設(shè)計中我們選擇的是 VHDLFile, 當(dāng)出現(xiàn)圖 1-1-8 時就可以把 編輯的程序敲入編輯器中。圖 1-1-6 工程建好

5、后的界面圖 1-1-7 新建文件類型選擇框圖 1-1-8 程序編輯框在第一章中對Quartus U軟件的使用做一個簡單介紹,設(shè)計中的編譯和仿真步驟 在后面的幾章中會做出介紹。第二章 交通燈控制器設(shè)計的概述控制器設(shè)計描述設(shè)計任務(wù)要求設(shè)計交通燈控制器, 分別在四個方向都安裝紅、 黃、綠三種顏色的交通指示 燈,紅燈表示停止,綠燈表示通行,黃燈表示左轉(zhuǎn)和直行將要禁止通行,四個方向分 別還安裝有倒計時的計時器。設(shè)計要求東西方向和南北方向各有組指示燈, 紅燈亮的時間為20S,黃燈亮的時間為5S,綠 燈亮的時間為25S。三種燈亮滅的順序為紅燈、綠燈、黃燈。第三章 交通燈控制器的設(shè)計過程設(shè)計方案本設(shè)計課題用F

6、PG/來實現(xiàn)智能交通燈的設(shè)計,本設(shè)計現(xiàn)要研究的問題主要有: 智能交通燈的設(shè)計方案;各功能模塊的設(shè)計與實現(xiàn);如何用 VHDLS寫源程序以及進 行系統(tǒng)仿真??驁D設(shè)計 交通燈控制器設(shè)計的框圖中包括控制器、分頻器、顯示器、指示燈、譯碼器、位 選器。 當(dāng)?shù)褂嫊r為零時, 控制器改變交通燈的顏色, 同時倒計時開始進入下一個倒計 時。當(dāng)有緊急情況出現(xiàn)的時候, 四面的交通燈都會變?yōu)榧t燈, 緊急情況的處理在設(shè)計 中是依靠HOLD®來實現(xiàn)的。圖3-1-1-1 是交通燈設(shè)計的設(shè)計框圖系統(tǒng)的紅、黃、綠燈顯示的總時間為50s,具體的亮燈時間和亮燈順序看表3-1-1-2表3-1-1-2 交通燈亮燈順序與亮燈時間安

7、排東西方向A錄燈亮A黃燈亮A紅燈亮A丁20s(2125s)(2650s)南北方向B紅燈亮B綠燈亮B黃燈亮E燈(0 25s)(2645s)(4650s)圖3-1-1-1交通燈設(shè)計的設(shè)計框圖)工程流程圖創(chuàng)立一個新的工程創(chuàng)立VHD語言文件將程序輸入文件中保存輸入的程序進行硬件仿真進行圖形電路設(shè) 計、保存、編譯、 波形仿真、管腳對程序進行波形的仿真對程序進行編譯,有錯誤的要進行修改、再編譯,直圖3-1-2工程流程圖時序圖的假象在時序圖中,上升沿有效,即為“ 1時燈亮,好比RedA為上升沿“ 1 時A 方向的紅燈是亮的,相對的GreenB也為上升沿“ 1 B方向上綠燈是亮的。具體 的時序顯示見圖3-2時

8、序圖。Gree nAYellowARedBGree nBYeelowB圖3-2時序圖模塊設(shè)計 主控制器模塊在Quartus U按照1-1中的方法新建一個工程并新建一個文件工程后,在圖1-1-8程序編輯框中將主控制器的程序輸入后保存。接著需要對主控制器的程序進行編譯, 編譯的步驟是點擊Project f Set as Top將文件置頂,具體的參考圖3-2-1-1置頂, 接著點擊圖3-2-1-2 的Start Compilation進行編譯。圖3-2-1-1置頂圖3-2-1-2 編譯在編譯的過程中,出現(xiàn)了一些錯誤,在我編譯主控制器的程序時,出現(xiàn)的錯誤是沒有將CLOC放入PROCESS中,將程序中的

9、錯誤一一改正后有時還會出現(xiàn)些 Warning,有些Warning并不會影響后面的設(shè)計步驟。將上面的錯面都改正后,就會顯示圖3-2-1-3所顯示的對話框。下一步就是對程序進行時序仿真,圖3-2-1-3編譯成功程序編譯無措后在當(dāng)前的工程下面新建一個文件,點擊File出現(xiàn)圖3-2-1-4新建文件對話框,選擇圖中顯示藍色的選項就會出現(xiàn)我們想要的界面,把鼠標(biāo)移在圖3-2-1-5 時序仿真編輯框中左邊的空白處,然后點擊右鍵,選擇INSERP INSERTNODEDRBU魁項出現(xiàn)另一個對話框,選擇對話框中的 NODINDE后就會產(chǎn)生新的對 話框,點擊LIST是在左下角的空白處會出現(xiàn)很多的引腳, 我們選中需要

10、的引腳后確定 后,我們需要的引腳就會出現(xiàn)在時序仿真編輯中左邊的空白處, 我們對輸入信號進行 設(shè)定,假設(shè)想讓輸出信號顯示為十六進制數(shù), 我們可以選中輸出信號然后點擊鼠標(biāo)的右 鍵選擇VALUE> COUNT VALUE出現(xiàn)的對話框中可以選擇自己需要顯示的進制類型和 進制數(shù)的定時等。 對輸出輸入信號編輯完成后保存。 在菜單工具欄中選擇 PROCESSING pSIMULATOOR TOO出現(xiàn)圖3-2-1-6的對話框,按照對話框顯示的進行設(shè)定,點擊 QENERAT FUNCTIONALSTARPREPORT就會得出我們想要的圖3-2-1-7 主控制器 時序仿真圖。圖 3-2-1-4 新建文件對話

11、框圖 3-2-1-5 仿真編輯框圖 3-2-1-6 仿真工具對話框圖 3-2-1-7 主控制器的仿真圖圖3-2-1-7 中顯示的仿真結(jié)果和設(shè)計前預(yù)計的時序仿真圖的結(jié)果是相符合的。時 序圖中的HOL是保持信號,當(dāng)HOLES號為有效信號“ 1 時,那么四個方向的路 燈都是紅燈亮,當(dāng)HOLDS效時,四個方向的信號燈會正常工作。RESE信號有效時,計數(shù)器的顯示就會重新從零開始。圖中四個方向的指示燈的亮滅順序是正確的。圖 3-2-1-8 主控制器的模塊主控制器的時序仿真完成后, 一個程序的設(shè)計、 仿真就已經(jīng)暫時結(jié)束了, 下一步 還要進行圖形的設(shè)計, 在總的圖形設(shè)計前, 需要先將每個程序都生成模塊, 為之

12、后的 設(shè)計做好準備。點擊File Create'Updade Create Symbol Files for Current File, 完成這個操作過程后便會生成主控制器的模塊,具體的看圖 3-2-1-8 主控制器的模 塊。模塊中主要有CLOCK RESET HOLD NUMA NUM和六個指示燈的輸出。分頻器模塊設(shè)計中需要用到 1秒鐘的脈沖,分頻這個模塊就是為了改變頻率脈沖波,使20Mhz的頻率最終變?yōu)?hz的脈沖,這樣就可以得到一個周期是1秒鐘的脈沖,分頻器的程序 見附錄。具體的程序編譯過程和仿真的過程和主控制模塊中談到的過程是相同的。 按 照上面談的步驟完成后就會得到圖 3-2

13、-2-1 分頻模塊的時序仿真圖。圖 3-2-2-1 分頻模塊的仿真圖圖 3-2-2-2 分頻模塊分頻的程序經(jīng)過編譯和時序仿真圖后生成的模塊是圖 3-2-2-2 分頻模塊所顯示 的20mhZ勺脈沖通過第一模塊時變?yōu)?0hz,再經(jīng)過第二個模塊后變成1hz的脈沖。提取顯示值模塊提取顯示值的功能是在10hz的速度下提取顯示值,得到的是顯示時間值的十位 和個位。圖3-2-3-1提取顯示值的時序仿真圖中NUMII是主控制器的輸出值,NUM和 NUM 兩個輸出端口是要顯示的值的高位和低位。 高位的最大輸出值是為二的四位二進 制數(shù),低位的最大輸出值是為九的四位二進制數(shù)。 圖3-2-3-2 是提取顯示值生成的模

14、 塊。提取顯示值的程序見文章的附錄。圖 3-2-3-1 提取顯示值的仿真圖仿真圖中,NUM先從0開始計數(shù),當(dāng)計到9時NUM計為1, NUM重新從0開始計數(shù), 當(dāng)計到9時NUM會計為2,NUM再次從0開始計數(shù),當(dāng)NUM高位計數(shù)到2時,NUMB 的最大值輸出為 5。圖 3-2-3-2 提取顯示值的模塊動態(tài)掃描模塊LED顯示的工作原理是利用人類的視覺特性。七段 LED數(shù)字顯示塊是由“ a、b、c、 d、e、f、g、dp這幾段組成的,LED勺顯示原理就是要看這八段中的哪幾段是亮的, 那幾段是滅的。 每段管子不是同時被點亮的并且點亮的時間都是極短的, 又因為變化 的時間很短暫, 亮滅的過程中留下的余光會

15、給人一種錯覺, 人的眼睛覺得是一組靜態(tài) 的顯示燈。 具體的動態(tài)掃描的程序請看正文后的附錄。 圖3-2-4-1 是動態(tài)掃描的時序 仿真圖,圖 3-2-4-2 是動態(tài)掃描生成的模塊。圖3-2-4-1 動態(tài)掃描的時序仿真圖圖 3-2-4-2 動態(tài)掃描的模塊位選器模塊位選程序的輸入和編譯完成后,對程序進行仿真,仿真的步驟依然和上面談 到的一樣,下面兩幅圖一張是位選程序的時序仿真圖, 另一幅是位選程序生成的模塊 見圖3-2-5-1 和圖 3-2-5-2 。圖 3-2-5-1 位選時序仿真圖圖 3-2-5-2 位選模塊譯碼器模塊譯碼器是將要顯示的數(shù)字轉(zhuǎn)換成驅(qū)動七段數(shù)碼管的信號,程序中的 NU與動態(tài)掃 描模

16、塊相連,將四位二進制數(shù)轉(zhuǎn)換為八位二進制數(shù), 再通過LED8俞出。譯碼器的程序 編輯和編譯步驟也和前面所說的相同。 當(dāng)譯碼器編譯成功后進行仿真, 仿真的結(jié)果見 圖3-2-6-1譯碼器的時序仿真。像時序仿真圖中顯示的一樣,當(dāng) NU輸入“ 0000時 LED便會輸出“ 00111111顯示數(shù)字“0,當(dāng)NU輸入“0001時LED8俞出“00000110' 顯示數(shù)字“ 1。圖3-2-6-2 是譯碼器程序生成的模塊。圖 3-2-6-1 譯碼器的時序仿真圖圖 3-2-6-2 譯碼器模塊圖形設(shè)計圖形設(shè)計的生成將每個程序都編譯、 仿真完成后, 下一步就是要設(shè)計圖形仿真, 在進行圖形的時 序仿真前, 要先

17、進行圖形的編輯和編譯。 要建立一個新工程和圖形編輯的文件的的過 程是點擊 File NewBlock Diagram/Schematic File.見圖 3-3-1-1 圖 3-3-1-1 新建一個文件的對話框 新建了一個文件以后,就要開始編輯圖形了,要把每一個模塊都找出來,選擇AssignmentSettings 后出現(xiàn)圖 3-3-1-2 的對話框,在左邊找到 libraries ,單擊它 以后會出現(xiàn)圖 3-3-1-2 右邊顯示的內(nèi)容,再點擊處可以找到之前生成的那些模塊所在 的文件夾,把它們一次性添加在 libraries 中,這樣可以為后面圖形設(shè)計做好準備, 全部添加完成后點擊“OK,這樣

18、在元件庫中就可以找到生成的那些模塊了。選擇EditInsert Symbol 后出現(xiàn)圖 3-3-1-3 的對話框,在這里就可以顯示出上面生成的模塊 和軟件中原本存在的元器件,按照設(shè)計中的需要選出模塊和元件。圖 3-3-1-2 libraries 對話框圖 3-3-1-3 元件庫對話框圖 3-3-1-4 編譯對話框圖3-3-1-4 中標(biāo)明了每個快捷工具的用途, 選擇適宜的工具把選擇好的模塊和元件連接起來。然后將連接好的圖形文件保存以后進行編譯。仿真結(jié)果圖3-3-2-1 圖形設(shè)計的時序仿真圖圖形設(shè)計編譯完成以后按照程序的時序仿真的過程對圖形設(shè)計進行時序仿真,給CLK適當(dāng)?shù)男盘枺⑶乙o輸入值定義正

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

溫馨提示

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

評論

0/150

提交評論