蘇州市職業大學EDA交通燈控制系統 畢業論文設計_第1頁
蘇州市職業大學EDA交通燈控制系統 畢業論文設計_第2頁
蘇州市職業大學EDA交通燈控制系統 畢業論文設計_第3頁
蘇州市職業大學EDA交通燈控制系統 畢業論文設計_第4頁
蘇州市職業大學EDA交通燈控制系統 畢業論文設計_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄緒論- 1 -摘要- 2 -【eda】- 2 -【交通燈控制系統】- 2 -【硬件仿真】- 2 -第一章 eda 技術- 3 -1.1 eda技術簡介- 3 -1.2 eda應用- 3 -1.3 eda技術設計方法- 3 -1.3.1由底向上(bottom-up)的設計方法- 3 -1.3.2自頂向下(top-down)的設計方法- 3 -第二章交通燈控制系統簡介- 5 -2.1交通燈控制系統的應用場合- 5 -2.2交通燈控制系統的系統構成- 5 -2.3交通燈控制系統的作用- 6 -第三章 交通燈控制系統的設計- 7 -3.1設計目的- 7 -3.2設計要求- 7 -3.2.1基本要

2、求- 7 -3.2.2附加要求- 7 -3.3設計思路- 7 -3.4設計流程圖- 8 -3.5、器件下載編程與硬件實現- 9 -3.6設計步驟- 10 -3.7實驗結果及波形圖- 10 -3.7.1軟件仿真圖- 10 -3.7.2硬件仿真- 11 -第四章課程實訓總結- 14 -附錄:- 15 -參考文獻- 18 -緒論電子設計自動化(eda)是近幾年迅速發展起來的計算機軟件、硬件和微電子技術交叉形成的現代電子設計技術,其含義已經不局限于在當初的類似protel電路版圖設計自動化的概念,目前eda技術更多的是指芯片內部的電路設計自動化。也就是說,開發人員完全可以通過自己設計電路來定制其芯片內

3、部的電路功能,使之成為專用集成電路芯片,這就是當今的用戶可編程邏輯器件(pld)技術。試驗目的:隨著社會經濟的發展,城市交通問題越來越引起人們的關注。人、車、路三者關系的協調,已成為交通管理部門需要解決的重要問題之一。城市交通控制系統是用于城市交通數據監測、交通信號燈控制與交通疏導的計算機綜合管理系統,它是現代城市交通監控指揮系統中最重要的組成部分。所以,如何采用合適的控制方法,最大限度利用好耗費巨資修建的城市高速道路,緩解主干道與匝道、城區同周邊地區的交通擁堵狀況,越來越成為交通運輸管理和城市規劃部門亟待解決的主要問題。研究設想:根據主干道與支干道的交通流量不同,實際交通的需要,設定各個干道

4、上紅綠燈的閃亮時間不同。以達到合理分配交通時間,優化交通設計,減少事故的發生。實驗設計:本設計采用較為廣泛的eda技術,應用verilog hdl硬件電路描述語言,實現交通燈系統控制器的設計。預期結果應該能夠滿足主干道與支干道分配時間不同,規范交通秩序。eda技術就是以計算機為工具,設計者在eda軟件平臺上,用硬件描述語言vhdl完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。eda技術的出現,極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度下面我們將利用eda技術進行軟件和硬件仿真,

5、設計出交通燈的控制電路和交通燈的控制系統,從現實實例中展現出交通燈的應用。摘要【eda】eda是電子設計自動化(electronic design automation)的縮寫,在20世紀60年代中期從計算機輔助設計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發展而來的。【交通燈控制系統】路口交通燈控制系統與其他控制系統一樣,劃分為控制器和受控電路兩部分。控制器使整個系統按設定的工作方式交替指揮車輛及行人的通行,并接收受控部分的反饋信號,決定其狀態轉換方向及輸出信號,控制整個系統的工作過程。路口交通燈控制系統的東西路有交通燈r(紅)、y(黃)、

6、g(綠);東西人行安全通道燈:rxr(紅)、rxg(綠)。南北路有交通燈:(紅)、(黃)、(綠);南北人行安全通道燈:rxr1(紅)、rxg1(綠),所有燈均為高電平點亮。設置通行時間和轉換時間的變模定時電路,由預置輸入整數cnt決定,輸入邏輯cx是用來決定計數清零。clk是外部提供的基準秒脈沖信號。【硬件仿真】在進行硬件測試時,按鍵k1對應復位端reset,按鍵k2對應緊急開關urgent。eda實驗開發系統上的時鐘cp2對應計數時鐘clk,數碼管m3、m4對應東西走向的時鐘顯示。led燈l16、l15、l14對應東西走向的綠燈g1、黃燈y1、紅燈r1。數碼管m1、m2對應南北走向的時鐘顯示

7、。led燈l1、l2、l3對應南北走向的綠燈g2、黃燈y2、紅燈r2。第一章 eda 技術1.1 eda技術簡介eda是電子設計自動化(electronic design automation)的縮寫,在20世紀90年代初從計算機輔助設計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發展而來的。eda技術就是以計算機為工具,設計者在eda軟件平臺上,用硬件描述語言hdl完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。1.2 eda應用eda技術在教學

8、、科研、產品設計與制造等方面都發揮著巨大的作用。在教學方面,幾乎所有理工科院校的電子信息類專業都開設了eda課程,主要目的是讓學生了解eda的基本概念和基本原理,掌握用hdl語言編寫規范的程序,掌握邏輯綜合的理論和算法,使用eda工具進行電子電路課程的實驗并進行簡單系統的設計,為今后工作打下基礎。在科研方面,主要利用電路仿真工具(ewb或pspice)進行電路設計與仿真,利用虛擬儀器進行產品測試,將cpld/fpga器件實際應用到儀器設備中,從事pcb設計和asic設計等。1.3 eda技術設計方法 1.3.1由底向上(bottom-up)的設計方法自底向上法是根據系統功能要求,從具體的器件、

9、邏輯部件或者相似系統開始,憑借設計者熟練的技巧和豐富的經驗通過對其進行相互連接、修改和擴大,構成所要求的系統。該方法是從底層即具體元件開始的,實際上無論是取用已有的模塊還是自行設計電路,其設汁成本和開發周期都優于自頂向下法;但由于設計是從最底層開始,所以難以保證總體設計的最佳性,例如電路結構不優化、能夠共用的器件沒有共用。1.3.2自頂向下(top-down)的設計方法自頂向下的設計方法利用功能分割手段,將設計由上到下進行層次化和模塊化分割,即對系統進行分層次(總系統層、子系統層、功能塊層、電路邏輯塊層等)設計和仿真。功能分割時,將系統功能分解為功能塊,功能塊再分解為邏輯塊,邏輯塊再分解為更小

10、的邏輯塊和電路元件,如此分割逐步地將設計細化,將功能逐步具體化、模塊化。這種設汁是逐漸逼近于具體電路的。圖1-1自頂向下的設計方法圖1-2數字系統結構框圖第二章 交通燈控制系統簡介隨著社會的發展,車輛越來越多,交通事故的發生已經嚴重的影響到了百姓的安全。所以,交通燈的出現已經極大力度的減少了事故的發生,交通燈在生活中已經變得越來越重要,嚴格的遵守交通燈的指揮,可以維持公共交通秩序,為國民的生活提供保障。然而交通燈的設計也是比較繁瑣的,所以利用eda技術可以十分有效的設計出交通燈的控制系統。2.1交通燈控制系統的應用場合隨著現在車輛的增多,不少車輛違法行駛,嚴重影響交通秩序,因此交通燈一般大多數

11、應用在以下路口。a、 十字路口b、 人流量比較大的路口c、車輛行駛比較多的路口d、車輛多、發生堵車的情況等2.2交通燈控制系統的系統構成路口交通燈控制系統與其他控制系統一樣,劃分為控制器和受控電路兩部分。控制器使整個系統按設定的工作方式交替指揮車輛及行人的通行,并接收受控部分的反饋信號,決定其狀態轉換方向及輸出信號,控制整個系統的工作過程。按照路口交通運行的實際情況,在本系統中,設定系統的工作情況如下。       路口交通燈控制系統的東西路有交通燈r(紅)、y(黃)、g(綠);東西人行安全通道燈:rxr(紅)、rxg(綠)。南北路有交通燈:r1(紅)、

12、y1(黃)、g1(綠);南北人行安全通道燈:rxr1(紅)、rxg1(綠),所有燈均為高電平點亮。設置15s的通行時間和5s轉換時間的變模定時電路,由預置輸入整數cnt決定是模15還是模5,輸入邏輯cx是用來決定計數到4時清零還是到14時清零。clk是外部提供的基準秒脈沖信號。x0、x1、x2、x3是由控制器輸出的表示計數時間的四位二進制數。一般情況下,當汽車行駛至十字交通路口時,有3種選擇: 向前,向左轉彎,向右轉彎。根據我國的交通規則規定,汽車是靠右行駛,向右拐彎只要走弧形的支干道即可,不需受十字交通燈的束縛。因此,本文主要考慮前行和左轉這兩種 情況。十字路口交通燈負責控制各走向紅綠燈的狀

13、態及轉換,并且各狀態之間有一定的時間過渡。同時,東西南北每條干道上都為人行橫道設置了紅綠燈,提醒行人在安全時刻穿越道路以保證行人的安全。2.3交通燈控制系統的作用交通燈控制系統的作用主要是實現城市十字交叉路口紅綠燈的控制。在現代化的大城市中,十字交叉路口越來越多,在每個交叉路口都需要使用紅綠燈進行交通指揮和管理,紅、黃、綠燈的轉換要有一個準確的時間間隔和轉換順序,這就需要有一個安全、自動的系統對紅、黃、綠燈的轉換進行管理,本系統就是基于此目的而開發的。如下圖所示:2-1十字路口交通管理信號燈第三章 交通燈控制系統的設計3.1設計目的1、掌握數字系統的設計流程。2、掌握利用原理圖與vhdl混合設

14、計數字系統的方法。3、掌握交通燈的設計原理與設計實現。3.2設計要求3.2.1基本要求1、 能顯示十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態,用兩組紅、黃、綠三色燈作為兩個方向的紅、黃、綠燈; 2、 南北向為主干道,每次通行時間為25s,東西向為支干道,每次通行時間為15s;3、 能實現正常的倒計時功能,用兩組數碼管作為東西、南北向的倒計時顯示。其中,黃燈:5s。4、 能實現特殊狀態的功能。按下sp鍵后,能實現以下特殊功能: (1)顯示倒計時的兩組數碼管閃爍; (2)計數器停止計數并保持在原來的狀態; (3)東西、南北路口均顯示紅燈狀態; (4)特殊狀態解除后能繼續計數; 5、 能實現

15、全清零功能。按下reset鍵后,系統實現全清零,計數器由初狀態計數,對應狀態的指示燈亮; 6.、用vhdl語言設計上述功能的交通燈控制器,并用層次化方法設計該電路; 7、 仿真、驗證設計的正確性。3.2.2附加要求1、時鐘輸入:clkin=2khz2、采用分頻器分成:1hz,然后提供給系統 3.3設計思路交通燈控制器的電路控制原理框圖如圖1所示,主要包括置數器模塊、定時計數器模塊、主控制器模塊和譯碼器模塊。置數器模塊將交通燈的點亮時間預置到置數電路中。計數器模塊以秒為單位倒計時,當計數值減為零時,主控電路改紅 綠 黃主控制器顯示器譯碼器置數器定時計數器特殊狀態清零紅 綠 黃圖3-1 電路控制原

16、理框圖變輸出狀態,電路進入下一個狀態的倒計時。核心部分是主控制模塊。表3-1狀態圖狀態主干道支干道時間/s00綠燈亮紅燈亮2001黃燈亮紅燈亮510紅燈亮綠燈亮1011紅燈亮黃燈亮5交通燈控制器的電路控制原理框圖如圖3-1所示,主要包括置數器模塊、定交通燈控制器的電路控制原理框圖如圖3-1所示,主要包括置數器模塊、定時計數器模塊、主控制器模塊和譯碼器模塊。置數器模塊將交通燈的點亮時間預置到置數電路中。計數器模塊以秒為單位倒計時,當計數值減為零時,主控電路改變輸出狀態,電路進入下一個狀態的倒計時。核心部分是主控制模塊。具體控制情況見上表3-1。3.4設計流程圖由以上要求可以得到該系統的程序流程圖

17、如圖3-2所示。其中,ga、ra、ya表示a支路的綠燈、紅燈、黃燈,gb、rb、yb表示b支路的綠燈、紅燈、黃燈,s表示特殊功能按鍵,t表示計時的時間。圖3-2交通燈設計控制電路流程圖3.5、器件下載編程與硬件實現在進行硬件測試時,按鍵k1對應復位端reset,按鍵k2對應緊急開關urgent。eda實驗開發系統上的時鐘cp2對應計數時鐘clk,數碼管m3、m4對應東西走向的時鐘顯示。led燈l16、l15、l14對應東西走向的綠燈g1、黃燈y1、紅燈r1。數碼管m1、m2對應南北走向的時鐘顯示。led燈l1、l2、l3對應南北走向的綠燈g2、黃燈y2、紅燈r2,對應的硬件結構示意圖如圖3-3

18、所示。圖3-3交通燈控制系統的硬件示意圖圖3-4硬件結構圖3.6設計步驟1、啟動quarrtus軟件;2、單擊菜單欄中的file/new命令,打開new對話框,選擇device design files中的block diagram/schematic,打開圖形編輯窗口;3、右擊鼠標,彈出菜單,點擊“insert/symbol”,畫一個圖形保存,同時創建一個工程;4、在同一個工程下,單擊菜單欄中的file/new命令,打開new對話框,選擇device design files中的vhdl files,輸入實訓的源程序;5、單擊菜單欄中的processstart compilation命令,啟

19、動全程編譯;6、編譯后加載源程序的symbol;7、畫出實訓的原理圖,通過兩組交通燈來模擬控制東西、南北兩條通道上的車輛通行,所有功能在實驗操作平臺上進行模擬通過。8、進行仿真,建立波形文件,單擊file/new命令,打開文件選擇窗口,然后單擊“other files”選項卡,選擇其中的“vector waveform file”選項;9、輸入信號節點,單擊viewutility windowsnode finder命令,添加端口引腳名;10、指定芯片管腳,單擊菜單欄中的assignmentspin,打開芯片管腳對話框。3.7實驗結果及波形圖3.7.1軟件仿真圖圖3-5軟件仿真波形3.7.2硬

20、件仿真在quartusii軟件中,通過對所設計的硬件描述語言代碼進行波形仿真后,達到了預期效果,于是,我們在該軟件上進行下載配置設置。在assignments菜單下選中devices,在family欄選擇acex1k,選中epf10k10lc84-4器件。再在assignments菜單下選中pins按照相應要求對管腳進行鎖定。最后在tools菜單下,選中programmer,對配置方式進行設置,這里選擇passive seril(ps)被動串行模式。選擇好要下載的硬件設備后點擊start即可開始編程下載了。圖3-6制定芯片管腳硬件仿真結束后,在實驗箱上顯示出結果如下圖:第四章 課程實訓總結通過

21、這次課程設計,我進一步加深了對電子設計自動化的了解。并進一步熟練了對quartusii軟件的操作。在編寫程序的過程中,遇到了很多問題,使我發現自己以前學習上存在的不足。通過與同學探討和請教老師,終于把問題都解決了,并加深了對交通燈原理和設計思路的了解。同時也掌握了做課程設計的一般流程,為以后的設計積累了一定的經驗。做課程設計時,先查閱相關知識,把原理吃透,確定一個大的設計方向,在按照這個方向分模塊的把要實現的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設定,運用我們所學的vhdl語言進行編程。總之,通過這次的設計,進一步了解了eda技術,收獲很大,對軟件編程、排錯調試、相關儀器設備

22、的使用技能等方面得到較全面的鍛煉和提高。我重新認識了quartus ii軟件和eda芯片。對大二所學的 eda課程又重新溫習了一遍,特別是vhdl語言的編程,好久沒有接觸到,遺忘了很多。 看起來很平常的十字路口交通燈,真正要自己去設計,還是有一定的困難的。里面還涉及到了一定的生活常識,比如主干道的綠燈點亮時間要比支干道的多,而且黃燈的點亮是在綠燈過渡到紅燈的時候出現,還有黃燈不是一直亮,是閃爍的,每一個細節都有可能影響整個系統的成敗。一個簡單的系統不僅僅需要課本知識,還有許多的生活常識也涉及到了。本次課程設計不僅讓我們將所學的課本知識溫故了一遍,并且很好的開闊了一

23、下我們的視野,培養了我們的綜合素質。 在編寫程序的過程中,遇到了很多問題,使我發現自己以前學習上存在的不足。通過與同學探討和請教老師,終于把問題都解決了,并加深了對交通燈原理和設計思路的了解。同時也掌握了做課程設計的一般流程,為以后的設計積累了一定的經驗。做課程設計時,先查閱相關知識,把原理吃透,確定一個大的設計方向,在按照這個方向分模塊的把要實現的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設定,運用我們所學的vhdl語言進行編程。總之,通過這次的設計,進一步了解了eda技術,收獲很大,對軟件編程、排錯調試、相關儀器設備的使用技能等方面得到較全面的鍛煉和提高。 

24、;在此,感謝給我提供幫助的老師和同學。附錄源程序: -ledcontrol.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcontrol is port(reset,clk,urgen :in std_logic; state :out std_logic_vector(1 downto 0); sub,set1,set2 :out std_logic);end ledcontrol;architecture a of ledcontrol is signal coun

25、t:std_logic_vector(6 downto 0); signal subtemp:std_logic;beginsub<=subtemp and(not clk);statelabel:process(reset,clk)beginif reset='1' then count<="0000000" state<="00"elsif clk'event and clk='1' then if urgen='0' then count<=count+1;subtem

26、p<='1'else subtemp<='0'end if; if count=0 then state<="00"set1<='1'set2<='1' elsif count=40 then state<="01"set1<='1' elsif count=45 then state<="10"set1<='1'set2<='1' elsif count=85 t

27、hen state<="11"set2<='1' elsif count=90 then count<="0000000"else set1<='0'set2<='0'end if;end if;end process statelabel;end a; -ledshow.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledshow is port( clk,

28、urgen :in std_logic; state :in std_logic_vector(1 downto 0); sub,set1,set2 :in std_logic; r1,g1,y1,r2,g2,y2 :out std_logic; led1,led2 :out std_logic_vector(7 downto 0);end ledshow;architecture a of ledshow is signal count1,count2:std_logic_vector(7 downto 0); signal setstate1,setstate2:std_logic_vec

29、tor(7 downto 0); signal tg1,tg2,tr1,tr2,ty1,ty2:std_logic;beginled1<="11111111" when urgen='1' and clk='0' else count1;led2<="11111111" when urgen='1' and clk='0' else count2;tg1<='1' when state="00" and urgen='0'

30、 else '0'ty1<='1' when state="01" and urgen='0' else '0'tr1<='1' when state(1)='1' or urgen='1' else '0'tg2<='1' when state="10" and urgen='0' else '0'ty2<='1' when state="11" and urgen='0' else '0'tr2<='1' when state(1)='0'or urgen='1' else '0'setstate1<= "01000000" when state="00" else "00000101"when state="11" else &qu

溫馨提示

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

評論

0/150

提交評論