步行街道自助式交通燈控制器_第1頁
步行街道自助式交通燈控制器_第2頁
步行街道自助式交通燈控制器_第3頁
步行街道自助式交通燈控制器_第4頁
步行街道自助式交通燈控制器_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄1、設(shè)計(jì)內(nèi)容與要求21.1設(shè)計(jì)內(nèi)容21.2設(shè)計(jì)要求22、總體框圖3設(shè)計(jì)方案32.1.1方案一32.1.2方案二42.1.3最正確方案選擇5總體框圖53、選擇器件64、功能模塊74.1去抖模塊74.1.1VHDL源程序〔〕74.1.2生成的模塊84.1.3仿真圖84.2分頻器模塊84.2.1VHDL源程序〔DIV.VHD〕84.2.2生成的模塊104.2.3仿真圖104.3設(shè)置計(jì)數(shù)器模塊104.3.1VHDL源程序(COUNT.VHD)104.3.2生成的模塊134.3.3仿真圖144.4交通燈控制模塊144.4.1VHDL源程序〔〕14生成的模塊18仿真圖185、總體設(shè)計(jì)原理圖195.1整體組裝設(shè)計(jì)原理圖195.2整體仿真圖205.3管腳分布20參考文獻(xiàn)21步行街道自助式交通燈控制器1、設(shè)計(jì)內(nèi)容與要求1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)一個步行街道上受行人控制的交通燈控制器,它要實(shí)現(xiàn)的功能如下:在沒有行人要通過街道時,主干道保持通行。假設(shè)有行人要通過街道,按下按鍵,發(fā)出請求,數(shù)秒后,主干道禁行,行人可以通過。用VHDL語言編輯程序,在QuartusII軟件進(jìn)行綜合,生成相應(yīng)的模塊,然后連接各個模塊,再綜合、適配,下載到芯片,做最后的測試,看能否實(shí)現(xiàn)其功能,能否到達(dá)設(shè)計(jì)目標(biāo)。1.2設(shè)計(jì)要求正常情況下保持主干道的暢通。當(dāng)步行街道上的行人要穿過主干道時,通過設(shè)置的按鈕來發(fā)出請求。當(dāng)有人按下此按鈕時,主干道變?yōu)辄S燈,設(shè)置計(jì)數(shù)器計(jì)時時間為X秒。X秒過后,主干道變?yōu)榧t燈,計(jì)數(shù)器繼續(xù)計(jì)時〔計(jì)時時間為Y秒〕,在Y秒內(nèi)假設(shè)有人再次按按鈕,計(jì)數(shù)器不重新計(jì)時。步行街道綠燈閃爍時間為Y1秒,〔Y—Y1〕秒后主干道變?yōu)榫G燈,車輛通行,且要保證車輛通行一定時間〔Z秒〕。在此時間內(nèi),行人按按鈕無效。Z秒過后,假設(shè)有人再按下按鈕,又出現(xiàn)3中的狀態(tài)。計(jì)時器的計(jì)時時間長短X、Y、Z可以任意設(shè)定。2、總體框圖方案一根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法。系統(tǒng)的整體組裝設(shè)計(jì)原理圖由分頻模塊、去抖模塊、設(shè)置計(jì)數(shù)模塊和交通燈控制模塊四局部組成。(1)去抖模塊去抖模塊的作用在于消除按鍵的抖動。因?yàn)楫?dāng)輸入信號在上下電平之間轉(zhuǎn)換時,在轉(zhuǎn)換的瞬間會產(chǎn)生毛刺,使信號波形不穩(wěn)定,從而使系統(tǒng)不能正常工作,因此參加去抖模塊。(2)分頻模塊分頻模塊的作用在于實(shí)現(xiàn)從高頻到低頻的轉(zhuǎn)換,使輸入到電路的頻率能滿足電路的需要而又不會燒毀電路中的器件。(3)設(shè)置計(jì)數(shù)模塊設(shè)置計(jì)數(shù)模塊的設(shè)置并存儲主干道方向和步行街道方向的時間長短。主干道方向需要設(shè)置的時間包括主干道黃燈信號時間、紅燈信號時間和主干道車輛允許通行的最短時間,步行街道方向需要設(shè)置的時間為步行街道綠燈的閃爍時間。(4)交通燈控制模塊交通燈控制模塊采用狀態(tài)機(jī)來實(shí)現(xiàn),用于存儲交通燈的五種狀態(tài)。五種狀態(tài)的具體說明如下狀態(tài)表所示。表1狀態(tài)表狀態(tài)主干道信號燈步行街信號燈主干道步行街道R〔紅〕G〔綠〕Y〔黃〕R〔紅〕G〔綠〕ST001010通行禁行ST100110車停靠禁行ST210001禁行通行ST31000禁行通行〔綠燈閃爍〕ST401010通行〔Z秒內(nèi)〕禁行方案二依照設(shè)計(jì)要求,系統(tǒng)采用自底向上的設(shè)計(jì)方法。系統(tǒng)整體由交通燈控制模塊、計(jì)數(shù)模塊和分頻模塊三局部組成?!?〕交通燈控制模塊交通燈控制模塊主要實(shí)現(xiàn)設(shè)計(jì)要求的五種狀態(tài)之間的轉(zhuǎn)換,所以采用狀態(tài)機(jī)來設(shè)計(jì)。五種狀態(tài)如表1所示。〔2〕計(jì)數(shù)模塊計(jì)數(shù)模塊模塊主要作用控制五種狀態(tài)之間的轉(zhuǎn)換時間,根據(jù)設(shè)計(jì)要求,設(shè)置步行街和主干道兩個方向的交通燈時間。主干道方向需要設(shè)置的時間包括主干道黃燈信號時間、紅燈信號時間和主干道車輛允許通行的最短時間,步行街道方向需要設(shè)置的時間為步行街道綠燈的閃爍時間?!?〕分頻模塊由于較大的頻率可能使各個狀態(tài)之間的轉(zhuǎn)換過快,無法更好的觀察,所以采用分頻模塊,把高頻率分成低頻率,更好實(shí)現(xiàn)設(shè)計(jì)。最正確方案選擇方案一采用自頂向下設(shè)計(jì)方法,整個設(shè)計(jì)是從系統(tǒng)頂層開始的,結(jié)合模擬手段,可以從一開始就掌握所實(shí)現(xiàn)系統(tǒng)的性能狀況,結(jié)合應(yīng)用領(lǐng)域的具體要求,在此時就調(diào)整設(shè)計(jì)方案,進(jìn)行性能優(yōu)化或折衷取舍。隨著設(shè)計(jì)層次向下進(jìn)行,系統(tǒng)性能參數(shù)將得到進(jìn)一步的細(xì)化與確認(rèn),并隨時可以根據(jù)需要加以調(diào)整,從而保證了設(shè)計(jì)結(jié)果的正確性,縮短了設(shè)計(jì)周期。方案二采用自底向上的設(shè)計(jì)方法,設(shè)計(jì)從系統(tǒng)的底層開始,不過設(shè)計(jì)好后不易修改,而且還不易設(shè)計(jì)。所以,我們采用方案一。圖1整體設(shè)計(jì)框圖3、選擇器件裝有QuartusII軟件的微型計(jì)算機(jī)。計(jì)算機(jī)的硬件盡可能高,至少可以實(shí)現(xiàn)QuartusII軟件的使用。硬件實(shí)現(xiàn)的芯片為PFGA/CPLD,芯片管腳的數(shù)量要保證足夠設(shè)計(jì)的程序所要使用的數(shù)量,并且使其所有管腳都有可分配的管腳,可以實(shí)現(xiàn)QuartusII上綜合、適配的程序下載后可以順利實(shí)現(xiàn)。五個LED燈,用來顯示交通燈,即:行人方向紅燈、行人方向綠燈和車輛方向紅燈、車輛方向綠燈、車輛方向黃燈五個方向的亮滅。4、功能模塊4.1去抖模塊這個模塊的主要作用是消除按鍵在敲擊時產(chǎn)生的抖動。當(dāng)UPIN為低電平,DOWNIN為高電平時,表示按鍵按下,KEYOUT有高電平輸出;當(dāng)UPIN為高電平,DOWNIN為低電平時,表示按鍵彈起,KEYOUT有低電平輸出。VHDL源程序〔DITHER.VHD〕LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYDITHERISPORT(UPIN:INSTD_LOGIC;DOWNIN:INSTD_LOGIC;KEYOUT:OUTSTD_LOGIC);ENDDITHER;ARCHITECTUREBEHAVEOFDITHERISSIGNALOUT1:STD_LOGIC;SIGNALOUT2:STD_LOGIC;BEGINOUT1<=NOT(OUT2ANDUPIN);OUT2<=NOT(OUT1ANDDOWNIN);KEYOUT<=OUT1;ENDBEHAVE;生成的模塊圖2DITHER模塊仿真圖圖3去抖模塊仿真圖仿真分析:輸入UPIN、DOWNIN都為低電平時,輸出KEYOUT為高電平;輸入UPIN為高電平、DOWNIN為低電平時,輸出KEYOUT為低電平;輸入UPIN為低電平、DOWNIN為高電平時,輸出KEYOUT為高電平;輸入UPIN、DOWNIN都為高電平時,輸出KEYOUT為低電平。4.2分頻器模塊這個模塊的主要主要是轉(zhuǎn)換頻率,把高頻率轉(zhuǎn)換成低頻率。分頻后的頻率更能適應(yīng)電路的要求,使電路可以更好的運(yùn)行。VHDL源程序〔DIV.VHD〕LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDIVIS PORT ( CLK_IN:INSTD_LOGIC; DIV_OUT:OUTSTD_LOGIC );ENDDIV;ARCHITECTUREaOFDIVISSIGNALFRE_N:INTEGERSIGNALCLK_TMP:STD_LOGIC; BEGIN DIV_OUT<=CLK_TMP; PROCESS(CLK_IN) BEGIN IFFALLING_EDGE(CLK_IN)THEN IFFRE_N<=9THEN FRE_N<=0; CLK_TMP<=NOTCLK_TMP; ELSE FRE_N<=FRE_N+1; ENDIF; ENDif; ENDPROCESS;ENDa;生成的模塊圖4DIV模塊仿真圖圖5分頻器模塊仿真圖仿真分析:輸入CLK_IN信號經(jīng)過十二個周期后,輸出DIV_OUT第一個上升沿來臨,實(shí)現(xiàn)了分頻的作用。4.3設(shè)置計(jì)數(shù)器模塊這個模塊的主要作用是設(shè)置并存儲主干道方向和步行街道方向的時間長短。此模塊預(yù)置了有效信號,通過加計(jì)數(shù)和減計(jì)數(shù)加大和減小預(yù)知的信號,從而實(shí)現(xiàn)對行人通行時間、行人方向信號燈閃爍時間和車輛通行時間的控制。VHDL源程序(COUNT.VHD)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYCOUNTISPORT(CLK:INSTD_LOGIC;CLEAR:INSTD_LOGIC;CLKADD:INSTD_LOGIC;CLKSUB:INSTD_LOGIC;PRE_SET:INSTD_LOGIC;HUMAN_SET:INSTD_LOGIC;RST:INSTD_LOGIC;GHUMAN_TIME:OUTGHUMAN_CLKT:OUTGVEHICLE_TIME:OUT);ENDCOUNT;ARCHITECTUREBEHAVEOFCOUNTISSIGNALHUMAN_TIME:INTEGERSIGNALVEHICLE_TIME:INTEGERSIGNALSSTATE:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALSCLK:STD_LOGIC;SIGNALDSCLK:STD_LOGIC;BEGINSSTATE<="0000"WHENPRE_SET='0'ELSEHUMAN_SET&CLEAR&CLKADD&CLKSUB;SCLK<=CLKADDORCLKSUBORCLEAR;PROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENDSCLK<=SCLK;ENDIF;ENDPROCESS;PROCESS(RST,CLEAR,DSCLK)BEGINIF(RST='1')THENVEHICLE_TIME<=8;ELSIF(DSCLK'EVENTANDDSCLK='1')THENCASESSTATEISWHEN"0100"=>VEHICLE_TIME<=0;WHEN"0101"=>VEHICLE_TIME<=0;WHEN"0110"=>VEHICLE_TIME<=0;WHEN"0111"=>VEHICLE_TIME<=0;WHEN"0001"=>VEHICLE_TIME<=VEHICLE_TIME-1;WHEN"0010"=>VEHICLE_TIME<=VEHICLE_TIME+1;WHENOTHERS=>VEHICLE_TIME<=VEHICLE_TIME;ENDCASE;ENDIF;ENDPROCESS;PROCESS(CLEAR,DSCLK)BEGINIF(RST='1')THENHUMAN_TIME<=4;ELSIF(DSCLK'EVENTANDDSCLK='1')THENCASESSTATEISWHEN"1100"=>HUMAN_TIME<=0;WHEN"1101"=>HUMAN_TIME<=0;WHEN"1110"=>HUMAN_TIME<=0;WHEN"1111"=>HUMAN_TIME<=0;WHEN"1001"=>HUMAN_TIME<=HUMAN_TIME-1;WHEN"1010"=>HUMAN_TIME<=HUMAN_TIME+1;WHENOTHERS=>HUMAN_TIME<=HUMAN_TIME;ENDCASE;ENDIF;ENDPROCESS;PROCESS(PRE_SET,RST)BEGINIF(RST='1')THENGHUMAN_TIME<=5;GHUMAN_CLKT<=7;GVEHICLE_TIME<=15;ELSIF(PRE_SET'EVENTANDPRE_SET='0')THENGHUMAN_TIME<=HUMAN_TIME+1;GHUMAN_CLKT<=HUMAN_TIME+3;GVEHICLE_TIME<=HUMAN_TIME+VEHICLE_TIME+3;ENDIF;ENDPROCESS;ENDBEHAVE;生成的模塊圖6COUNT模塊仿真圖圖7計(jì)數(shù)器模塊仿真圖仿真分析:當(dāng)PRE_SET下降沿時,GHUMAN_TIME、GHUMAN_CLKT、GVEHICLE_TIME三個數(shù)組輸出信號發(fā)生跳轉(zhuǎn),三者關(guān)系符合GVEHICLE_TIME<=HUMAN_TIME+VEHICLE_TIME+3??梢钥闯觯瑵M足計(jì)數(shù)器的預(yù)定功能。4.4交通燈控制模塊這個模塊的主要作用是交通燈五種狀態(tài)的實(shí)現(xiàn)。此模塊采用狀態(tài)機(jī)來實(shí)現(xiàn)交通燈的五種狀態(tài),設(shè)置了行人方向和車輛方向的五個交通燈,即行人方向紅燈、行人方向綠燈和車輛方向紅燈、車輛方向綠燈、車輛方向黃燈。并設(shè)置了請求信號輸入,作為行人要通過主干道的按鈕。VHDL源程序〔LIGHT.VHD〕LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYLIGHTISPORT(SRED:OUTSTD_LOGIC;SGREEN:OUTSTD_LOGIC;ERED:OUTSTD_LOGIC;EGREEN:OUTSTD_LOGIC;EYELLOW:OUTSTD_LOGIC;GT_SET:INSTD_LOGIC;GHUMAN_TIME:ININTEGERRANGE31DOWNTO0;GHUMAN_CLKT:ININTEGERRANGE31DOWNTO0;GVEHICLE_TIME:ININTEGERRANGE31DOWNTO0;REQUEST:INSTD_LOGIC;CLK:INSTD_LOGIC;RST:INSTD_LOGIC);ENDLIGHT;ARCHITECTUREBEHAVEOFLIGHTISTYPEIN_STATESIS(ST0,ST1,ST2,ST3,ST4);SIGNALCURRENT_STATE:IN_STATES;SIGNALNEXT_STATE:IN_STATES;SIGNALSTART:STD_LOGIC;SIGNALSIG:INTEGERBEGINPROCESS(CURRENT_STATE,RST)BEGINIF(RST='1'ORCURRENT_STATE=ST0)THENSTART<='0';ELSESTART<='1';ENDIF;ENDPROCESS;A:PROCESS(START,CLK)BEGINIF(RST='1')THENSIG<=0;ELSIF(CLK'EVENTANDCLK='1')THENIF(START='1')THENIF(SIG=GVEHICLE_TIME)THENSIG<=0;ELSESIG<=SIG+1;ENDIF;ELSESIG<=0;ENDIF;ENDIF;ENDPROCESSA;PROCESS(RST,CLK)BEGINIF(RST='1')THENCURRENT_STATE<=ST0;ELSIF(CLK'EVENTANDCLK='1')THENCURRENT_STATE<=NEXT_STATE;ENDIF;ENDPROCESS;PROCESS(CLK,CURRENT_STATE)BEGINCASECURRENT_STATEISWHENST0=>ERED<='0';EGREEN<='1';EYELLOW<='0';SRED<='1';SGREEN<='0';IF(REQUEST='1'ANDGT_SET='0')THENNEXT_STATE<=ST1;ELSENEXT_STATE<=ST0;ENDIF;WHENST1=>ERED<='0';EGREEN<='0';EYELLOW<='1';SRED<='1';SGREEN<='0';IF(SIG=1)THENNEXT_STATE<=ST2;ELSENEXT_STATE<=ST1;ENDIF;WHENST2=>ERED<='1';EGREEN<='0';EYELLOW<='0';SRED<='0';SGREEN<='1';IF(SIG=GHUMAN_TIME)THENNEXT_STATE<=ST3;

溫馨提示

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

評論

0/150

提交評論