下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、引 言隨著城鄉(xiāng)的經濟發(fā)展,車輛的數量在迅速的增加,交通阻塞的問題已經嚴重影響了人們的出行?,F在的社會是一個數字化程度相當高的社會,很多的系統(tǒng)設計師都愿意把自己的設計設計成集成電路芯片,芯片可以在實際中方便使用。隨著EDA技術的發(fā)展,嵌入式通用及標準FPGA器件的呼之欲出,片上系統(tǒng)(SOC)已經近在咫尺。FPGA/CPLD以其不可替代的地位及伴隨而來的極具知識經濟特征的IP芯片產業(yè)的崛起,正越來越受到業(yè)內人士的密切關注。FPGA就是在這樣的背景下誕生的,它在數字電路中的地位也越來越高,這樣迅速的發(fā)展源于它的眾多特點。交通等是保障交通道路暢通和安全的重要工具,而控制器是交通燈控制的主要部分,它可以
2、通過很多種方式來實現。在這許許多多的方法之中,使用FPGA和VHDL語言設計的交通燈控制器,比起其他的方法顯得更加靈活、易于改動,并且它的設計周期性更加短。城市中的交通事故頻繁發(fā)生,威脅著人們的生命健康和工作生活,交通阻塞問題在延遲出行時間的同時,還會造成更多的空氣污染和噪聲污染。在這種情況下,根據每個道路的實際情況來設置交通燈,使道路更加通暢,這對構建和諧暢通的城市交通有著十分重要的意義。第一章 軟件介紹1.1 Quartus介紹本次畢業(yè)設計是基于FPGA下的設計,FPGA是現場可編程門陣列,FPGA開發(fā)工具種類很多、智能化高、功能非常的強大。可編程Quartus是一個為邏輯器件編程提供編程
3、環(huán)境的軟件,它能夠支持VHDL、Verilog HDL語言的設計。在該軟件環(huán)境下,設計者可以實現程序的編寫、編譯、仿真、圖形設計、圖形的仿真等許許多多的功能。在做交通燈控制器設計時選擇的編程語言是VHDL語言。在這里簡單的介紹一下Quartus的基本部分。圖1-1-1是一幅啟動界面的圖片。在設計前需要對軟件進行初步的了解,在圖中已經明顯的標出了每一部分的名稱。 圖 1-1-1 啟動界面開始設計前我們需要新建一個工程,首先要在啟動界面上的菜單欄中找到File,單擊它選擇它下拉菜單中的“New Project Wizard”時會出現圖1-1-2所顯示的對話框,把項目名稱按照需要填好后單擊Next,
4、便會進入圖 1-1-3 顯示的界面。圖1-1-2 創(chuàng)建工程框圖1-1-3 芯片選擇框 根據自己選擇的實驗設備選擇好相應的芯片型號點擊Next,進入下一個步驟當出現圖1-1-5時,點擊“Finish”后這個工程就建立好了。圖 1-1-4 仿真器選擇框圖1-1-5 對話框 建好工程后開始進行設計,首先在圖1-1-6中單擊file后選擇new,接著會出現圖1-1-7,在交通燈控制器的設計中我們選擇的是VHDL File,當出現圖1-1-8時就可以把編輯的程序敲入編輯器中。圖1-1-6 工程建好后的界面圖1-1-7 新建文件類型選擇框圖1-1-8 程序編輯框在第一章中對Quartus軟件的使用做一個簡
5、單介紹,設計中的編譯和仿真步驟在后面的幾章中會做出介紹。第二章 交通燈控制器設計的概述2.1 控制器設計描述2.1.1 設計任務要求設計交通燈控制器,分別在四個方向都安裝紅、黃、綠三種顏色的交通指示燈,紅燈表示停止,綠燈表示通行,黃燈表示左轉和直行將要禁止通行,四個方向分別還安裝有倒計時的計時器。2.1.2 設計要求東西方向和南北方向各有組指示燈,紅燈亮的時間為20S,黃燈亮的時間為5S,綠燈亮的時間為25S。三種燈亮滅的順序為紅燈、綠燈、黃燈。第三章 交通燈控制器的設計過程3.1 設計方案本設計課題用FPGA來實現智能交通燈的設計,本設計現要研究的問題主要有:智能交通燈的設計方案;各功能模塊
6、的設計與實現;如何用VHDL編寫源程序以及進行系統(tǒng)仿真。3.1.1 框圖設計交通燈控制器設計的框圖中包括控制器、分頻器、顯示器、指示燈、譯碼器、位選器。當倒計時為零時,控制器改變交通燈的顏色,同時倒計時開始進入下一個倒計時。當有緊急情況出現的時候,四面的交通燈都會變?yōu)榧t燈,緊急情況的處理在設計中是依靠HOLD鍵來實現的。圖 3-1-1-1 是交通燈設計的設計框圖特殊情況計 時 器位選器顯示器(東、西、南、北)譯碼器控制器指示燈圖 3-1-1-1 交通燈設計的設計框圖系統(tǒng)的紅、黃、綠燈顯示的總時間為50s,具體的亮燈時間和亮燈順序看 表 3-1-1-2表3-1-1-2 交通燈亮燈順序與亮燈時間安
7、排東西方向(A燈)A綠燈亮(20s)A黃燈亮(2125s)A紅燈亮(2650s)南北方向(B燈)B紅燈亮(025s) B綠燈亮(2645s)B黃燈亮(4650s)3.1.2 工程流程圖創(chuàng)建一個新的工程創(chuàng)建VHDL語言文件保存輸入的程序將程序輸入文件中對程序進行編譯,有錯誤的要進行修改、再編譯,直至沒有錯對程序進行波形的仿真進行圖形電路設計、保存、編譯、波形仿真、管腳鎖定進行硬件仿真圖3-1-2 工程流程圖3.1.3 時序圖的假象 在時序圖中,上升沿有效,即為“1”時燈亮,好比RedA為上升沿( “1” )時A方向的紅燈是亮的,相對的GreenB也為上升沿( “1” )B方向上綠燈是亮的。具體的
8、時序顯示見圖3-2 時序圖。GreenAYellowARedBYeelowBGreenBRedAAAAA圖3-2 時序圖 3.2 模塊設計3.2.1 主控制器模塊在Quartus按照1-1中的方法新建一個工程并新建一個文件項目后,在圖1-1-8程序編輯框中將主控制器的程序輸入后保存。接著需要對主控制器的程序進行編譯,編譯的步驟是點擊ProjectSet as Top將文件置頂,具體的參考圖3-2-1-1 置頂,接著點擊圖3-2-1-2 的Start Compilation 進行編譯。圖3-2-1-1 置頂圖3-2-1-2 編譯在編譯的過程中,出現了一些錯誤,在我編譯主控制器的程序時,出現的錯誤
9、是沒有將CLOCK放入PROCESS()中,將程序中的錯誤一一改正后有時還會出現些Warning,有些Warning并不會影響后面的設計步驟。將上面的錯面都改正后,就會顯示圖3-2-1-3 所顯示的對話框。下一步就是對程序進行時序仿真,圖3-2-1-3 編譯成功 程序編譯無措后在當前的工程下面新建一個文件,點擊File出現圖3-2-1-4 新建文件對話框,選擇圖中顯示藍色的選項就會出現我們想要的界面,把鼠標移在圖3-2-1-5 時序仿真編輯框中左邊的空白處,然后點擊右鍵,選擇INSERTINSERT NODE OR BUS選項出現另一個對話框,選擇對話框中的NODE FINDER后就會產生新的
10、對話框,點擊LIST是在左下角的空白處會出現很多的引腳,我們選中需要的引腳后確定后,我們需要的引腳就會出現在時序仿真編輯中左邊的空白處,我們對輸入信號進行設定,若想讓輸出信號顯示為十六進制數,我們可以選中輸出信號然后點擊鼠標的右鍵選擇VALUECOUNT VALUE后出現的對話框中可以選擇自己需要顯示的進制類型和進制數的定時等。對輸出輸入信號編輯完成后保存。在菜單工具欄中選擇PROCESSINGSIMULATOOR TOOL,出現圖3-2-1-6的對話框,按照對話框顯示的進行設定,點擊QENERAT FUNCTIONALSTARTREPORT,就會得出我們想要的圖3-2-1-7 主控制器時序仿
11、真圖。圖3-2-1-4 新建文件對話框圖3-2-1-5 仿真編輯框圖3-2-1-6 仿真工具對話框圖3-2-1-7 主控制器的仿真圖圖3-2-1-7中顯示的仿真結果和設計前預計的時序仿真圖的結果是相符合的。時序圖中的HOLD是保持信號,當HOLD信號為有效信號( “1” )時,則四個方向的路燈都是紅燈亮,當HOLD無效時,四個方向的信號燈會正常工作。RESET信號有效時,計數器的顯示就會重新從零開始。圖中四個方向的指示燈的亮滅順序是正確的。圖3-2-1-8 主控制器的模塊主控制器的時序仿真完成后,一個程序的設計、仿真就已經暫時結束了,下一步還要進行圖形的設計,在總的圖形設計前,需要先將每個程序
12、都生成模塊,為之后的設計做好準備。點擊FileCreateUpdadeCreate Symbol Files for Current File,完成這個操作過程后便會生成主控制器的模塊,具體的看圖3-2-1-8 主控制器的模塊。模塊中主要有CLOCK、RESET、HOLD、NUMA、NUMB和六個指示燈的輸出。3.2.2 分頻器模塊 設計中需要用到1秒鐘的脈沖,分頻這個模塊就是為了改變頻率脈沖波,使20Mhz的頻率最終變?yōu)?hz的脈沖,這樣就可以得到一個周期是1秒鐘的脈沖,分頻器的程序見附錄。具體的程序編譯過程和仿真的過程和主控制模塊中談到的過程是相同的。按照上面談的步驟完成后就會得到圖3-2
13、-2-1 分頻模塊的時序仿真圖。圖3-2-2-1 分頻模塊的仿真圖圖3-2-2-2 分頻模塊 分頻的程序經過編譯和時序仿真圖后生成的模塊是圖3-2-2-2 分頻模塊所顯示的20mhz的脈沖通過第一模塊時變?yōu)?0hz,再經過第二個模塊后變成1hz的脈沖。3.2.3 提取顯示值模塊 提取顯示值的功能是在10hz的速度下提取顯示值,得到的是顯示時間值的十位和個位。圖3-2-3-1 提取顯示值的時序仿真圖中NUMIN是主控制器的輸出值,NUMA和NUMB兩個輸出端口是要顯示的值的高位和低位。高位的最大輸出值是為二的四位二進制數,低位的最大輸出值是為九的四位二進制數。圖3-2-3-2 是提取顯示值生成的
14、模塊。提取顯示值的程序見文章的附錄。圖3-2-3-1 提取顯示值的仿真圖 仿真圖中,NUMB先從0開始計數,當計到9時NUMA計為1,NUMB重新從0開始計數,當計到9時NUMA會計為2,NUMB再次從0開始計數,當NUMA(高位)計數到2時,NUMB的最大值輸出為5。圖3-2-3-2 提取顯示值的模塊3.2.4 動態(tài)掃描模塊LED顯示的工作原理是利用人類的視覺特性。七段LED數字顯示塊是由“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 位選器模塊 位選程序的輸入和編譯完成后,對程序進行仿真,仿真的步驟依然和上面談到的一樣,下面兩幅圖一張是位選程序的時序仿真圖,另一幅是位選程序生成的模塊。見圖3-2-5-1和圖3-2-5-2。圖3-2-5-1 位選時序仿真圖圖3-2-5-2 位選模塊3.2.6 譯碼器模塊 譯碼器是將要顯示的數字轉換成驅動七段數碼管的信號,程序中的NUM與動態(tài)掃描模
16、塊相連,將四位二進制數轉換為八位二進制數,再通過LED8輸出。譯碼器的程序編輯和編譯步驟也和前面所說的相同。當譯碼器編譯成功后進行仿真,仿真的結果見圖3-2-6-1 譯碼器的時序仿真。像時序仿真圖中顯示的一樣,當NUM輸入“0000”時LED8便會輸出“00111111”顯示數字“0”,當NUM輸入“0001” 時LED8輸出“00000110”顯示數字“1”。圖3-2-6-2 是譯碼器程序生成的模塊。圖3-2-6-1 譯碼器的時序仿真圖圖3-2-6-2 譯碼器模塊3.3 圖形設計3.3.1 圖形設計的生成將每個程序都編譯、仿真完成后,下一步就是要設計圖形仿真,在進行圖形的時序仿真前,要先進行
17、圖形的編輯和編譯。要建立一個新工程和圖形編輯的文件的的過程是點擊FileNewBlock Diagram/Schematic File.(見圖3-3-1-1)圖3-3-1-1 新建一個文件的對話框新建了一個文件以后,就要開始編輯圖形了,要把每一個模塊都找出來,選擇AssignmentSettings后出現圖3-3-1-2 的對話框,在左邊找到libraries,單擊它以后會出現圖3-3-1-2 右邊顯示的內容,再點擊處可以找到之前生成的那些模塊所在的文件夾,把它們一次性添加在libraries中,這樣可以為后面圖形設計做好準備,全部添加完成后點擊“OK”,這樣在元件庫中就可以找到生成的那些模塊
18、了。選擇EditInsert Symbol后出現圖3-3-1-3 的對話框,在這里就可以顯示出上面生成的模塊和軟件中原本存在的元器件,按照設計中的需要選出模塊和元件。圖3-3-1-2 libraries對話框圖3-3-1-3 元件庫對話框圖3-3-1-4 編譯對話框圖3-3-1-4 中標明了每個快捷工具的用途,選擇合適的工具把選擇好的模塊和元件連接起來。然后將連接好的圖形文件保存以后進行編譯。3.3.2 仿真結果圖3-3-2-1 圖形設計的時序仿真圖圖形設計編譯完成以后按照程序的時序仿真的過程對圖形設計進行時序仿真,給CLK適當的信號,并且要給輸入值定義正確的值,開始仿真后會出現圖3-3-2-
19、1就是編譯后的時序仿真圖。圖形設計的時序仿真圖中主要顯示的是紅、黃、綠燈之間的亮滅關系和LED8顯示的數值變化過程,還有位選輸出端的變化,時序圖中可以很容易看出當計時數計數到某一個值的時候東西方向和南北方向是什么顏色的指示燈在工作。當A路的綠燈亮時,B路的紅燈亮,A路的綠燈亮20秒后,A路的黃燈亮5秒由此可以很容易的看出指示燈的亮滅是正確的。3.4 管腳的鎖定 管腳鎖定是為了為硬件仿真做準備。當所有的設計都完成后,接著要對圖形設計進行管腳的鎖定。先確定設計時確定的器件類型和實際的硬件類型是不是一樣,選擇AssignmentsDevice,在出現的對話框中認真確定選擇的器件是不是正確的。接下來選擇AssignmentsPins進入圖3-4-1中,用鼠標雙擊Location就可以設定管腳了。圖3-4-2 是在這次畢業(yè)設計中使用到的芯片ACEX1K-EP1K100QC208-3。圖3-4-3 是完成編譯、時序仿真、管腳鎖定這些步驟后的圖形設計。圖3-4-1 管腳鎖定對話框圖3-4-2 芯片ACEX1K-EP1K100QC208-3圖3-4-3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家政講師培訓課件內容
- 客戶關系管理培訓
- 培訓講師課件的評估
- 新入員工安全培訓考題課件
- 培訓概況教學課件
- 圖書介紹課件大全
- 園林白蟻防治培訓課件
- 秋人教版八年級物理上冊課件:第二章第3節(jié) 聲音的利用 課
- 某省新型城鎮(zhèn)化建設工程施工組織設計
- 分餾塔培訓課件
- 2024年河北省公務員考試《行測》真題及答案解析
- DB41T 2495-2023 預應力鋼筒混凝土管道施工質量驗收評定規(guī)范
- 上海市華東師范大學附屬天山學校2024-2025學年高一上學期期中評估英語試卷(無答案)
- 松下-GF2-相機說明書
- 考察提拔干部近三年個人工作總結材料
- 幼兒園大班語言《蜂蜜失竊謎案》原版有聲課件
- 電鍍在光電器件中的關鍵作用
- 施工方案與安全保障措施
- 消化系統(tǒng)疾病課件
- 地鐵車輛檢修安全培訓
- GB/Z 20833.5-2023旋轉電機繞組絕緣第5部分:重復沖擊電壓下局部放電起始電壓的離線測量
評論
0/150
提交評論