EDA課程設(shè)計-交通燈.doc
《EDA課程設(shè)計-交通燈.doc》由會員分享,可在線閱讀,更多相關(guān)《EDA課程設(shè)計-交通燈.doc(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
交通信號燈控制電路設(shè)計1、 概述 城市道路交叉口是城市道路網(wǎng)絡(luò)的基本節(jié)點(diǎn),也是網(wǎng)絡(luò)交通流的瓶頸。目前,大部分無控制交叉口都存在高峰小時車流混亂、車速緩慢、延誤情況嚴(yán)重、事故多發(fā)、通行能力和服務(wù)水平低下等問題。特別是隨著城市車流量的快速增長,城市無控制道路交叉口的交通壓力越來越大。因此,做好基于EDA技術(shù)平臺的交叉口信號控制設(shè)計是緩解交通阻塞、提高城市道路交叉口車輛通行效率的有效方法。交通信號控制的目的是為城市道路交叉口(或交通網(wǎng)絡(luò))提供安全可靠和有效的交通流,通常最為常用的原則是車輛在交叉口的通過量最大或車輛在交叉口的延誤最小。交通信號燈控制電路是顯示主干道和支干道交替放行時間并用試驗(yàn)箱左上角的彩燈來代替信號燈的一種實(shí)際電路。設(shè)計一個基于FPGA的紅綠燈交通信號控制器。假設(shè)某個十字路口是由一條主干道和一條次干道匯合而成,在每個方向設(shè)置紅綠黃三種信號燈,紅燈亮禁止通行,綠燈亮允許通行。黃燈亮允許行駛中車輛有時間停靠到禁止線以外。本課程的基本原理是在合適的時鐘信號的控制下,使主干道與支道的紅黃綠燈循環(huán)顯示,用VHDL語言編輯文本程序,按設(shè)計要求連接好線以后,進(jìn)行波形仿真,仿真結(jié)果正確后下載程序并對試驗(yàn)箱進(jìn)行調(diào)試,使其最終的顯示結(jié)果符合設(shè)計要求。二、方案設(shè)計與論證在硬件時鐘電路的基礎(chǔ)上,采用分頻器,輸出一個1S的時鐘信號,在時鐘信號的控制下,實(shí)現(xiàn)主干道和支干道紅綠燈交替顯示。 紅綠燈交通燈控制器層次設(shè)計:EDA技術(shù)的基本設(shè)計方法有電路級設(shè)計方法和系統(tǒng)級設(shè)計方法。電路級設(shè)計方法已經(jīng)不能適應(yīng)新的形勢,本系統(tǒng)采用的是系統(tǒng)級層次設(shè)計方法,對整個系統(tǒng)進(jìn)行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電路用一片F(xiàn)PGA芯片實(shí)現(xiàn),首先用VHDL語言編寫各個功能模塊程序,最后通過綜合器和適配器生成最終的目標(biāo)器件,然后用頂層原理圖將各功能模塊連接起來。下面給出各模塊的VHDL設(shè)計過程和仿真結(jié)果。1、 系統(tǒng)時序發(fā)生電路clk_gen的VHDL設(shè)計在紅綠燈交通信號控制系統(tǒng)中,大多數(shù)的情況是通過自動控制的方式指揮交通的。因此,為了避免意外事件的發(fā)生,電路必須給一個穩(wěn)定的時鐘(clock)才能讓系統(tǒng)正常運(yùn)作。但為了配合高峰時段,防止交通擁擠,有時也必須使用手動控制,即讓交警能夠順利地指揮交通。Clk_gen電路最主要的功能就是產(chǎn)生一些額外的輸出信號,并將其用做后續(xù)幾個電路的使能(enable)控制與同步信號處理。 該電路的核心部分就是分頻電路,通過對外接信號發(fā)生器提供1kHz的時鐘信號進(jìn)行1000分頻,得到一個周期為1秒的輸出使能信號ena_lhz(占空比1:1000)和flash_lhz(占空比1:1);4分頻后得到紅綠燈信號譯碼電路所需的頻率為250Hz的顯示使能信號ena_scan。architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;2、 開關(guān)控制部分的ASM圖i、j、k、分別代表開關(guān)狀態(tài);1表示開關(guān)閉合,為高電平;0表示開關(guān)斷開為低電平。當(dāng)開關(guān)處于不同的狀態(tài)時,分別給變量G不同的值,用來實(shí)現(xiàn)控制通行時間。X=i&j&kX=001X=010X=100G=29G=39G=49yyyG=0x=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x=001then g:=29;elsif x=010then g:=39;elsif x=100then g:=49;else g:=0;end if;3、 信號燈轉(zhuǎn)換控制部分的ASM圖Rm、Ym、Gm分別表示主干道紅、黃、綠;Rf、Yf、Gf分別表示支道紅、黃、綠;S表示燈亮的時間;nclr是計時器的清零端,低電平有清零;en是計時器的使能端,高電平使能。Gm=1Rf=1S=GS=S+1nclr=1en=1Ym=1Rf=1S=3Rm=1Gf=1S=GS=3 Rm=1Yfrm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=1;gm=0; rf=1;yf=0;gf=0;if s=3 thenstate =c;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=0;gf=1;if s=g thenstate =d;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=1;gf=0;if s=3 thenstate =a;nclr:=0;en:=0;Elsestateclr,CLK=clk,q=Q); u2: kongzhi port map(i=i,j=j,k=k,clk=Q,rm=rm,ym=ym,gm=gm1,rf=rf,yf=yf,gf=gf); u3:count_down port map(RE,CLK,ena_1Hz_1,recount_1,load,S,next_state_1); NEXT_S=next_state_1;end architecture JTD;分頻器代碼 library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpingqi isport (CLR,CLK:in std_logic ; q:buffer std_logic);end fenpingqi;architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;3、交通燈控制器代碼 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongzhi isport (clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic);end kongzhi; architecture arc of kongzhi istype state_type is (a,b,c,d);signal state:state_type;signal x:std_logic_vector(2 downto 0);Beginx=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x=001then g:=29;elsif x=010then g:=39;elsif xrm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=1;gm=0; rf=1;yf=0;gf=0;if s=3 thenstate =c;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=0;gf=1; if s=g thenstate =d;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=1;gf=0;if s=3 thenstate =a;nclr:=0;en:=0;Elsestate=d;nclr:=1;en:=1;end if;end case;end if;end process cnt;end arc;4、兩位七段譯碼輸出顯示代碼LIBRAYR IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY count_down IS port(reset, clk, ena_1Hz, recount: in std_logic; load: in std_logic_vector(7 downto 0); seg7:out std_logic_vector(15 downto 0); next_state: out std_logic);end; ARCHITECTURE BEHAVIOR of count_down IS signal cnt_ff:std_logic_vector(7 downto 0); begin count:process(clk,reset) begin if (reset=1) then cnt_ff=00000000; seg7=0000000000000000; elsif (clkevent and clk=1) then if ena_1Hz=1 then if (recount=1) then cnt_ff=load-1; else cnt_ffseg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)=0011111100111111; end case; end if; end process; next_state = 1 when cnt_ff=1 else 0; end BEHAVIOR;- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- EDA 課程設(shè)計 交通燈
鏈接地址:http://www.szxfmmzy.com/p-6707815.html