版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、0沈陽理工大學課程設(shè)計專用紙目錄引言.11. 系統(tǒng)的設(shè)計要求 .2.2. 系統(tǒng)分析 .2.2.1系統(tǒng)構(gòu)成.2.2.2系統(tǒng)實現(xiàn)過程.3.3. 具體模塊設(shè)計 .4.3.1消抖模塊.4.3.2交通燈模塊.4.3.3交通燈時長設(shè)置模塊 .4.3.8整體結(jié)構(gòu)電路圖.5.4. 程序設(shè)計 .5.4.1消抖模塊源代碼.5.4.2交通燈時長設(shè)置模塊.6.4.3交通燈模塊.9.4.4頂層文件源代碼 .125. 運行結(jié)果與分析.1.56. 結(jié)束語 .17參考文獻.17引言不同的城市存在著不同的城市問題, 但其中有一個共同的問題就是城市交通。 在交叉路口如何解決混合交通流中的相互影響, 就是解決問題的關(guān)鍵所在! 隨著
2、 我國經(jīng)濟的穩(wěn)步發(fā)展, 人民生活水平的日漸提高, 越來越多的汽車進入尋常百姓 的家庭,再加上政府大力地發(fā)展公交、出租車行業(yè),道路上的車輛越來越多,使 得城市的交通成為了一個主要的問題。嚴重的擁堵現(xiàn)象,逐漸惡化的城市環(huán)境, 都給廣大市民帶來了許多困擾。 要解決這些問題不僅要求道路越來越寬闊, 而且 更需要有新的交通管理模式出臺。實現(xiàn)路口交通燈系統(tǒng)的控制方法很多,可以用標準邏輯器件、可編程序控制器PLG單片機等方案來實現(xiàn)。但是這些控制方法的功能修改及調(diào)試都需要硬件 電路的支持, 在一定程度上增加了功能修改及系統(tǒng)調(diào)試的困難。 交通系統(tǒng)未來的 發(fā)展趨勢就是要提高通行能力, 加強環(huán)境保護, 開展智能化運
3、輸和環(huán)保專項技術(shù) 的研究,并且要做到以人為本, 重點開展交通安全技術(shù)的研究, 在這個過程中要 確定經(jīng)濟合理的目標,促進新材料的廣泛應用和開發(fā)。EDA技術(shù)是用于電子產(chǎn)品設(shè)計中比較先進的技術(shù), 可以代替設(shè)計者完成電子 系統(tǒng)設(shè)計中的大部分工作, 而且可以直接從程序中修改錯誤及系統(tǒng)功能而不需要 硬件電路的支持, 既縮短了研發(fā)周期, 又大大節(jié)約了成本, 受到了電子工程師的 青睞。1.系統(tǒng)的設(shè)計要求為了滿足步行街的要求,此交通燈須具備以下功能:1 正常情況下保證主干道的暢通。2.當步行街道上的行人要穿過主干道時,通過設(shè)置的按鈕來發(fā)出請求。3.當有人按下此按鈕時,主干道變?yōu)辄S燈,設(shè)置計數(shù)器時間為X秒。4.
4、X秒過后,主干道變?yōu)榧t燈,計數(shù)器繼續(xù)計時(計時時間為 丫秒),在丫秒 內(nèi)若有人再次按按鈕,計數(shù)器不重新計時。5.步行街綠燈閃爍時間為丫1秒,(丫-丫1)秒后主干道變?yōu)榫G燈,車輛通行。且咬保證車輛通行一定時間(Z秒)。在此時間內(nèi),行人按按鈕無效。Z秒 過后,若有人再按下按鈕,又出現(xiàn)(3)中的狀態(tài)。計數(shù)器的計時時間長短XYZ可以任意設(shè)定。2. 系統(tǒng)分析2.1系統(tǒng)構(gòu)成行人按下紅燈按鈕設(shè)置馬路紅燈后按鍵的無效時間步行街自助式交通燈控制器控制器分為 3個模塊:消抖模塊,交通燈模塊, 交通燈時長設(shè)置模塊。2.2系統(tǒng)實現(xiàn)過程最初狀態(tài)是人行道紅燈,馬路綠燈。當有行人按下按鈕時,馬路的紅燈變?yōu)?黃燈,持續(xù)一個時
5、鐘周期的時間。然后馬路的黃燈變?yōu)榫G燈,此時人行道的紅燈 也變?yōu)榫G燈,然后持續(xù) HUMAN_TIME個時鐘的周期的時間。然后人行燈的綠 燈變?yōu)殚W爍的綠燈,持續(xù)2個時鐘的周期的時間,然后人行道的閃爍的綠燈變?yōu)?紅燈,此時馬路的紅燈也變?yōu)榫G燈。然后在 VEHICLE_TIME個時鐘周期內(nèi)人行 道為紅燈,馬路為綠燈狀態(tài)保持不變且行人按鍵無效。狀態(tài)如下:主干道信號燈步行街信號燈狀態(tài)R紅G綠Y黃R紅G綠主干道步行街道so01010通行禁行S100110車停靠禁行S210001禁行通行S31000禁行通行(綠燈閃爍S401010通行禁行3. 具體模塊設(shè)計3.1消抖模塊消抖模塊DITHER如圖2所示,使用硬件
6、消抖原理。3.2交通燈模塊交通燈模塊LIGHT如圖3所示,根據(jù)輸入GHUMAN_TIME,GHUMAN_CLKT 和 GVEHICLE_TIME 的值,進行減計數(shù),然 后根據(jù)值判斷狀態(tài)機的狀態(tài)。3.3交通燈時長設(shè)置模塊交通燈時長設(shè)置模塊COUNTER如圖4所示,根據(jù)設(shè)置按鍵人按鍵設(shè)置人行 道綠燈時長和按鍵屏蔽時長。圖2 DITHER模塊圖3 LIGHT模塊COURT: U5GI-MR.CO4H 廿甌l_SETrft_5ETRST圖4 COUNTER模塊3.8整體結(jié)構(gòu)電路圖圖5整體結(jié)構(gòu)電路圖4. 程序設(shè)計4.1消抖模塊源代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164
7、.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DITHER ISPORT(UPIN: IN STD_LOGIC;DOWNIN: IN STD_LOGIC;KEYOUT: OUT STD_LOGIC );END DITHER;ARCHITECTURE BEHA VE OF DITHER ISSIGNAL OUT1: STD_LOGIC;SIGNAL OUT2: STD_LOGIC;BEGINOUT1=NOT( OUT2 AND UPIN );OUT2=NOT( OUT1 AND DOWNIN );
8、KEYOUT=OUT1;END BEHA VE;4.2 交通燈時長設(shè)置模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COUNT ISPORT(CLK:IN STD_LOGIC;CLEAR: IN STD_LOGIC;CLKADD:IN STD_LOGIC;CLKSUB:IN STD_LOGIC;PRE_SET:IN STD_LOGIC;HUMAN_SET:IN STD_LOGIC;RST:IN STD_LOGIC;GHU
9、MAN_TIME:OUT INTEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:OUT INTEGER RANGE 31 DOWNTO 0;GVEHICLE_TIME: OUT INTEGER RANGE 31 DOWNTO 0);END COUNT;ARCHITECTURE BEHA VE OF COUNT ISSIGNAL HUMAN_TIME:INTEGER RANGE 31 DOWNTO 0;SIGNAL VEHICLE_TIME:INTEGER RANGE 31 DOWNTO 0;SIGNAL SSTATE:STD_LOGIC_VECTOR(3 DOWNTO 0
10、);SIGNAL SCLK:STD_LOGIC;END PROCESS;BEGINSSTATE=0000 WHEN PRE_SET=0 ELSEHUMAN_SET & CLEAR & CLKADD & CLKSUB;SCLK=CLKADD OR CLKSUB OR CLEAR;PROCESS (CLK)BEGINIF(CLK EVENT AND CLK=1)THENDSCLK=SCLK;END IF;END PROCESS;PROCESS(RST,CLEAR,DSCLK)BEGINIF(RST=1)THENVEHICLE_TIME VEHICLE_TIME VEHICLE_TIME VEHIC
11、LE_TIME VEHICLE_TIME VEHICLE_TIME VEHICLE_TIME VEHICLE_TIME= VEHICLE_TIME;END CASE;END IF;SIGNAL DSCLK:STD_LOGIC;END PROCESS;PROCESS (CLEAR,DSCLK)BEGINIF(RST=1)THENHUMAN_TIME HUMAN_TIME HUMAN_TIME HUMAN_TIME HUMAN_TIME HUMAN_TIME HUMAN_TIME HUMAN_TIME=HUMAN_TIME;END CASE;END IF;END PROCESS;PROCESS(P
12、RE_SET,RST)BEGINIF(RST=1)THENGHUMAN_TIME=5;GHUMAN_CLKT=7;GVEHICLE_TIME=15;ELSIF(PRE_SET EVENT AND PRE_SET=0)THENGHUMAN_TIME=HUMAN_TIME+1;GHUMAN_CLKT=HUMAN_TIME+3;GVEHICLE_TIME=HUMAN_TIME+VEHICLE_TIME+3;END IF;END BEHA VE;4.3 交通燈模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.A
13、LL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LIGHT ISPORT(SRED:OUT STD_LOGIC;ERED:OUT STD_LOGIC;SGREEN:OUT STD_LOGIC;EYELLOW:OUT STD_LOGIC;EGREEN:OUT STD_LOGIC;GT_SET:IN STD_LOGIC;GHUMAN_TIME:IN INTEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:IN INTEGER RANGE 31 DOWNTO 0GVEHICLE_TIME:IN INTEGER RANGE 31 DOWNTO 0;RE
14、QUEST:IN STD_LOGIC;CLK:IN STD_LOGIC;RST:IN STD_LOGIC);END LIGHT;ARCHITECTURE BEHA VE OF LIGHT ISTYPEIN_STATES IS(ST0,ST1,ST2,ST3,ST4);SIGNALCURRENT_STA TE:IN_STATES;SIGNALNEXT_STATE:IN_STATES;SIGNALSTART:STD_LOGIC;SIGNALSIG:INTEGER RANGE 31 DOWNTO 0;BEGINPROCESS(CURRENT_STA TE,RST)BEGINIF(RST=1 OR C
15、URRENT_STA TE=ST0)THENSTART=0;ELSESTART=1;END IF;END PROCESS;A:PROCESS(START,CLK,RST)BEGINIF(RST=1)THENSIG=0;ELSIF(CLK EVENT AND CLK=1)THENIF(START=1)THENIF(SIG=GVEHICLE_TIME)THENSIG=0;ELSESIG=SIG+1;END IF;ELSESIG=0;END IF;END IF;END PROCESS A;PROCESS(RST,CLK)BEGINIF(RST=1)THENCURRENT_STA TE=ST0;ELS
16、IF (CLKEVENT AND CLK=1)THENCURRENT_STA TEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0;IF(REQUEST=1 AND GT_SET=0)THENNEXT_STA TE=ST1;ELSENEXT_STA TEERED=0;EGREEN=0;EYELLOW=1;SRED=1;SGREEN=0;IF (SIG=1)THENNEXT_STA TE=ST2;ELSENEXT_STA TEERED=1;EGREEN=0;EYELLOW=0;SRED=0;SGREEN=1;IF(SIG=GHUMAN_TIME)THENNEXT
17、_STA TE=ST3;ELSENEXT_STA TEERED=1;EGREEN=0;EYELLOW=0;SRED=0;SGREEN=NOT CLK;IF(SIG=GHUMAN_CLKT)THENNEXT_STA TE=ST4;ELSENEXT_STA TEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0;IF(SIG=GHUMAN_CLKT)THENNEXT_STA TE=ST0;ELSENEXT_STA TEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0;NEXT_STATE=ST3;END CASE;END PROCE
18、SS;END BEHA VE;4.4 頂層文件源代碼Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity TrafficLight isPort(clk:in std_logic;clear:in std_logic;rclear:in std_logic;clkADD:in std_logic;rclkADD:in std_logic;clkSUB:in std_logic;rclkSUB:in std_logic;pre_set:in std_logic; human_set:in s
19、td_logic;rst:in std_logic;request:in std_logic;rrequest:in std_logic;clk_ls:in std_logic;sred,sgreen:out std_logic; ered,eyellow,egreen:out std_logic); End;Architecture behave of TrafficLight isComponent DITHER isPORT ( UPIN: IN STD_LOGIC;DOWNIN: IN STD_LOGIC;KEYOUT: OUT STD_LOGIC );End component;Co
20、mponent COUNT isPORT(CLK:IN STD_LOGIC;CLEAR:IN STD_LOGIC;CLKADD:IN STD_LOGIC;CLKSUB:IN STD_LOGIC;PRE_SET:IN STD_LOGIC;HUMAN_SET:IN STD_LOGIC;RST:IN STD_LOGIC;GHUMAN_TIME:OUT INTEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:OUT INTEGER RANGE 31 DOWNTO 0;GVEHICLE_TIME: OUT INTEGER RANGE 31 DOWNTO 0);End componen
21、t;Component LIGHT isPORT(SRED:OUT STD_LOGIC;ERED:OUT STD_LOGIC;SGREEN:OUT STD_LOGIC;EYELLOW:OUT STD_LOGIC;EGREEN:OUT STD_LOGIC;GT_SET:IN STD_LOGIC;GHUMAN_TIME:IN INTEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:IN INTEGER RANGE 31 DOWNTO 0GVEHICLE_TIME:IN INTEGER RANGE 31 DOWNTO 0;REQUEST:IN STD_LOGIC;CLK:IN S
22、TD_LOGIC;RST:IN STD_LOGIC);End component;portSignal TEMP_GHUMAN_TIME:INTEGER RANGE 31 DOWNTO 0;Signal TEMP_GHUMAN_CLKT:INTEGER RANGE 31 DOWNTO 0;Signal TEMP_GVEHICLE_TIME: INTEGER RANGE 31 DOWNTO 0;SignalTEMP_CLEAR,TEMP_CLKADD,TEMP_CLKSUB,TEMP_REQUEST:std_logic;BeginU1:DITHER port map(clear,rclear,T
23、EMP_CLEAR);U2:DITHER port map(clkADD,rclkADD,TEMP_CLKADD);U3:DITHER port map(clkSUB,rclkSUB,TEMP_CLKSUB);U4:DITHER port map(request,rrequest,TEMP_REQUEST);U5:COUNTmap(CLK,TEMP_CLEAR,TEMP_CLKADD,TEMP_CLKSUB,PRE_SET,HUMAN_SE T,RST,TEMP_GHUMAN_TIME,TEMP_GHUMAN_CLKT,TEMP_GVEHICLE_TIME );portU6:LIGHT map
24、(SRED,ERED,SGREEN,EYELLOW,EGREEN,PRE_SET,TEMP_GHUMAN_TIME,TEMP_GHUMAN_CLKT,TEMP_GVEHICLE_TIME,TEMP_REQUEST,CLK_LS,RST);End behave;5運行結(jié)果與分析按鍵彈起為高電平,按下為低電平。當按鍵按下時,UPIN變?yōu)榈碗奃OWNIN 變?yōu)楦唠娖?,并產(chǎn)生抖動。輸出的 KEYOUT信號消除抖動。(2)交通燈模塊仿真波形圖:給CLK 一個時鐘信號,在某一時刻開始賦給 RST 一個高電平,所有值恢復 默認。再給REQUEST賦值一個高電平,然后狀態(tài)機開始工作,EYELLOW(馬路的黃燈
25、)變?yōu)楦唠娖?,持續(xù)一個時鐘周期的時間。然后(1)消抖模塊仿真波形圖:圖6消抖模塊仿真波形圖圖7交通燈模塊仿真波形圖EGREEN(馬路的綠燈)變?yōu)楦唠娖?,此時SGREEN(人行道的綠燈)變?yōu)楦唠娖?,然后持續(xù)HUMAN_TIME 個時鐘的周期的時間。然后SGREEN(人行燈的綠燈)變?yōu)镹,持續(xù)2個時鐘的周 期的時間,然后SRED(人行道的紅燈)變?yōu)楦唠娖?,此時ERED(馬路的綠燈)變?yōu)?高電平。然后在VEHICLE_TIME個時鐘周期內(nèi)SRED(人行道紅燈)保持高電平, EGREEN(馬路的綠燈)保持為高電平。在此過程中,再次給 REQUEST高電平對 交通燈的電位沒有影響。(3)交通燈時長設(shè)置模
26、塊仿真波形圖:Q hosier T ime Ban0 isjjpoilfter:?1 line科刖硝SlEft940, 0 HE蠢h 0 120 a nF1M.&19 MO D0 u 320i0 RB 3W4 耐 加OR /4400巾專CLEAR1*0cm CUWM.TnrjirLTTirjUL-LJTrjLrLT-LJTrjLTrLrjmrLrLr. rLrLruTrrLJLTrirLrLrLirLrLr_ rn叫curari-11|田mJLL-ILLiS3.:也.1LNX.丄田刪和thS TErCLE 1L JU1IM1 XtlJ-HUMAN SEIrn 2 2工、ra.SET HSTrnLlLJ圖8交通燈時長設(shè)置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小區(qū)商業(yè)街物業(yè)社區(qū)文化活動贊助與支持服務合同2篇
- 2025年陶瓷行業(yè)標準制定與實施合同3篇
- 2025年私家車租賃車輛檢測與評估服務合同3篇
- 2025年勞務派遣合同審查協(xié)議
- 2025年云服務監(jiān)控協(xié)議
- 2025版?zhèn)€人房屋產(chǎn)權(quán)轉(zhuǎn)移合同模板4篇
- 二零二五年度綠色建筑改造項目合同書4篇
- 2025年垃圾處理和解協(xié)議
- 2025年混合贈與合同與贈與稅
- 2025版協(xié)議離婚法律援助與調(diào)解服務協(xié)議3篇
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學年部編版七年級歷史下冊
- 2025-2030年中國糖醇市場運行狀況及投資前景趨勢分析報告
- 冬日暖陽健康守護
- 水處理藥劑采購項目技術(shù)方案(技術(shù)方案)
- 2024級高一上期期中測試數(shù)學試題含答案
- 山東省2024-2025學年高三上學期新高考聯(lián)合質(zhì)量測評10月聯(lián)考英語試題
- 不間斷電源UPS知識培訓
- 三年級除法豎式300道題及答案
- 2024年江蘇省徐州市中考一模數(shù)學試題(含答案)
- 新一代飛機維護技術(shù)
- 幼兒園教師培訓:計數(shù)(數(shù)數(shù))的核心經(jīng)驗
評論
0/150
提交評論