




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳理工大学课程设计专用纸目录引言 .11.系统的设计要求 .22.系统分析 .22.1系统构成 .22.2系统实现过程 .33.具体模块设计 .43.1消抖模块 .43.2交通灯模块 .43.3交通灯时长设置模块 .43.8整体结构电路图 .54.程序设计 .54.1消抖模块源代码 .54.2交通灯时长设置模块 .64.3交通灯模块 .94.4顶层文件源代码 .125.运行结果与分析 .156.结束语 .16参考文献 .170精品文档引言不同的城市存在着不同的城市问题,但其中有一个共同的问题就是城市交通。在交叉路口如何解决混合交通流中的相互影响,就是解决问题的关键所在!随着我国经济的稳步发展
2、,人民生活水平的日渐提高,越来越多的汽车进入寻常百姓的家庭,再加上政府大力地发展公交、出租车行业,道路上的车辆越来越多,使得城市的交通成为了一个主要的问题。严重的拥堵现象,逐渐恶化的城市环境,都给广大市民带来了许多困扰。要解决这些问题不仅要求道路越来越宽阔,而且更需要有新的交通管理模式出台。实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器 PLC、单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。交通系统未来的发展趋势就是要提高通行能力,加强环境保护,开展智能化运输和环保专项技术的研究,并且要做到以人为本,
3、重点开展交通安全技术的研究,在这个过程中要确定经济合理的目标,促进新材料的广泛应用和开发。EDA 技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研发周期,又大大节约了成本,受到了电子工程师的青睐。1欢迎下载精品文档1. 系统的设计要求为了满足步行街的要求,此交通灯须具备以下功能:1正常情况下保证主干道的畅通。2. 当步行街道上的行人要穿过主干道时,通过设置的按钮来发出请求。3. 当有人按下此按钮时,主干道变为黄灯,设置计数器时间为X 秒。4.X 秒过后,主干道变为红灯,计数器继续计时(
4、计时时间为Y 秒),在 Y 秒内若有人再次按按钮,计数器不重新计时。5. 步行街绿灯闪烁时间为 Y1 秒,(Y-Y1)秒后主干道变为绿灯,车辆通行。且咬保证车辆通行一定时间 (Z 秒)。在此时间内,行人按按钮无效。 Z 秒过后,若有人再按下按钮,又出现( 3)中的状态。计数器的计时时间长短 XYZ可以任意设定。2. 系统分析2.1系统构成行人按下红灯按钮消抖模块设置人行道绿灯时长交通灯模块消抖模块状态机模块计数器模块设置交通灯时长模块控制模块消抖模块。2欢迎下载精品文档设置马路红灯后按键的无效时间步行街自助式交通灯控制器控制器分为3 个模块:消抖模块,交通灯模块,交通灯时长设置模块。2.2系统
5、实现过程最初状态是人行道红灯, 马路绿灯。 当有行人按下按钮时, 马路的红灯变为黄灯,持续一个时钟周期的时间。 然后马路的黄灯变为绿灯, 此时人行道的红灯也变为绿灯,然后持续 HUMAN_TIME个时钟的周期的时间。然后人行灯的绿灯变为闪烁的绿灯,持续 2 个时钟的周期的时间,然后人行道的闪烁的绿灯变为红灯,此时马路的红灯也变为绿灯。然后在 VEHICLE_TIME个时钟周期内人行道为红灯,马路为绿灯状态保持不变且行人按键无效。状态如下:主干道信号灯步行街信号灯状态主干道步行街道RG绿Y黄R红G绿红S001010通行禁行S100110车停靠禁行S210001禁行通行S31000禁行通行(绿灯闪
6、烁S401010通行禁行。3欢迎下载精品文档3. 具体模块设计3.1 消抖模块消抖模块 DITHER如图 2 所示,使用硬件消抖原理。3.2交通灯模块交通灯模块 LIGHT如图 3 所示,根据输入GHUMAN_TIME,GHUMAN_和CLKTGVEHICLE_TIME的值,进行减计数,然后根据值判断状态机的状态。3.3交通灯时长设置模块交通灯时长设置模块COUNTER如图 4 所示,根据设置按键人按键设置人行道绿灯时长和按键屏蔽时长。图 2 DITHER 模块图 3 LIGHT 模块图 4 COUNTER模块。4欢迎下载精品文档3.8整体结构电路图图 5 整体结构电路图4. 程序设计4.1
7、消抖模块源代码LIBRARY IEEE;ENTITY DITHER ISPORT(UPIN: IN STD_LOGIC;DOWNIN: IN STD_LOGIC;KEYOUT: OUT STD_LOGIC );END DITHER;ARCHITECTURE BEHAVE OF DITHER ISSIGNAL OUT1: STD_LOGIC;SIGNAL OUT2: STD_LOGIC;BEGIN。5欢迎下载精品文档OUT1=NOT( OUT2 AND UPIN );OUT2=NOT( OUT1 AND DOWNIN );KEYOUT=OUT1;END BEHAVE;4.2交通灯时长设置模块LI
8、BRARY IEEE;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;GHUMAN_TIME:OUT INTEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:OUT INTEGER RANGE 31 DOWNTO 0;GVEHICLE_TIME: OUT INTEGER RANGE 31 DOWNTO 0);EN
9、D COUNT;ARCHITECTURE BEHAVE 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);SIGNAL SCLK:STD_LOGIC;SIGNAL DSCLK:STD_LOGIC;BEGIN。6欢迎下载精品文档SSTATE=0000 WHEN PRE_SET=0 ELSEHUMAN_SET & CLEAR & CLKADD & CLKSUB;S
10、CLK=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 VEHICLE_TIME VEHICLE_TIME VEHICLE_TIME VEHICLE_TIME VEHICLE_TIME= VEHICLE_TIME;END CASE;END IF;END PROCESS;PROCESS
11、 (CLEAR,DSCLK)BEGIN。7欢迎下载精品文档IF(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(PRE_SET,RST)BEGINIF(RST=1)THENGHUMAN_TIME=5;GHUMAN_CLKT=7;GVEHICLE_TIME=15;ELSIF(PRE_SET EVENT AND PRE_SET=0)THENGHUMAN_TIM
12、E=HUMAN_TIME+1;GHUMAN_CLKT=HUMAN_TIME+3;GVEHICLE_TIME=HUMAN_TIME+VEHICLE_TIME+3;END IF;END PROCESS;END BEHAVE;。8欢迎下载精品文档4.3交通灯模块LIBRARY IEEE;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 IN
13、TEGER RANGE 31 DOWNTO 0;GHUMAN_CLKT:IN INTEGER RANGE 31 DOWNTO 0;GVEHICLE_TIME: IN INTEGER RANGE 31 DOWNTO 0;REQUEST:IN STD_LOGIC;CLK:IN STD_LOGIC;RST:IN STD_LOGIC);END LIGHT;ARCHITECTURE BEHAVE OF LIGHT ISTYPEIN_STATESIS(ST0,ST1,ST2,ST3,ST4);SIGNALCURRENT_STATE:IN_STATES;SIGNALNEXT_STATE:IN_STATES;
14、SIGNALSTART:STD_LOGIC;SIGNALSIG:INTEGER RANGE 31 DOWNTO 0;BEGINPROCESS(CURRENT_STATE,RST)BEGIN。9欢迎下载精品文档IF(RST=1 OR CURRENT_STATE=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
15、;ELSESIG=SIG+1;END IF;ELSESIG=0;END IF;END IF;END PROCESS A;PROCESS(RST,CLK)BEGINIF(RST=1)THENCURRENT_STATE=ST0;ELSIF (CLKEVENT AND CLK=1)THENCURRENT_STATEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0; IF(REQUEST=1 AND GT_SET=0)THENNEXT_STATE=ST1;ELSENEXT_STATEERED=0;EGREEN=0;EYELLOW=1;SRED=1;SGREEN=0;
16、IF (SIG=1)THENNEXT_STATE=ST2;ELSENEXT_STATEERED=1;EGREEN=0;EYELLOW=0;SRED=0;SGREEN=1;IF(SIG=GHUMAN_TIME)THENNEXT_STATE=ST3;ELSENEXT_STATEERED=1;EGREEN=0;EYELLOW=0;SRED=0;SGREEN=NOT CLK;IF(SIG=GHUMAN_CLKT)THEN。11欢迎下精品文档NEXT_STATE=ST4;ELSENEXT_STATEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0;IF(SIG=GHUM
17、AN_CLKT)THENNEXT_STATE=ST0;ELSENEXT_STATEERED=0;EGREEN=1;EYELLOW=0;SRED=1;SGREEN=0;NEXT_STATE=ST3;END CASE;END PROCESS;END BEHAVE;4.4顶层文件源代码Library ieee;Entity TrafficLight isPort(clk:in std_logic;clear:in std_logic;rclear:in std_logic;clkADD:in std_logic;rclkADD:in std_logic;。12欢迎下精品文档clkSUB:in std
18、_logic;rclkSUB:in std_logic;pre_set:in std_logic;human_set:in std_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;
19、DOWNIN: IN STD_LOGIC;KEYOUT: OUT STD_LOGIC );End component;Component 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 DOWNT
20、O 0;GVEHICLE_TIME: OUT INTEGER RANGE 31 DOWNTO 0);End component;Component LIGHT is。13欢迎下精品文档PORT(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 0
21、;GVEHICLE_TIME: IN INTEGER RANGE 31 DOWNTO 0;REQUEST:IN STD_LOGIC;CLK:IN STD_LOGIC;RST:IN STD_LOGIC);End component;Signal 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;Signal TEMP_CLEAR,TEMP_CLKADD,TE
22、MP_CLKSUB,TEMP_REQUEST:std_logic;BeginU1:DITHER port map(clear,rclear,TEMP_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:COUNTportmap(CLK,TEMP_CLEAR,TEMP_CLKADD,TEMP_CLKSUB,PRE_SET,HUMAN_SET,R
23、ST,TEMP_GHUMAN_TIME,TEMP_GHUMAN_CLKT,TEMP_GVEHICLE_TIME);U6:LIGHTportmap(SRED,ERED,SGREEN,EYELLOW,EGREEN,PRE_SET,TEMP_GHUMAN_TIME,TEMP_GHUMAN_CLKT,TEMP_GVEHICLE_TIME,TEMP_REQUEST,CLK_LS,RST); End behave;。14欢迎下精品文档5. 运行结果与分析(1) 消抖模块仿真波形图:图 6 消抖模块仿真波形图按键弹起为高电平,按下为低电平。当按键按下时, UPIN 变为低电 DOWNIN 变为高电平,并产生
24、抖动。输出的 KEYOUT信号消除抖动。(2) 交通灯模块仿真波形图:图 7 交通灯模块仿真波形图给 CLK一个时钟信号, 在某一时刻开始赋给 RST一个高电平,所有值恢复默认。再给 REQUEST赋值一个高电平, 然后状态机开始工作, EYELLOW(马路的黄灯 )变为高电平,持续一个时钟周期的时间。 然后 EGREEN(马路的绿灯 ) 变为高电平,此时 SGREEN(人行道的绿灯 ) 变为高电平, 然后持续 HUMAN_TIME个时钟的周期的时间。然后 SGREEN(人行灯的绿灯 ) 变为 N,持续 2 个时钟的周期的时间,然后SRED(人行道的红灯 ) 变为高电平,此时 ERED(马路的绿灯 ) 变为高电平。然后在VEHICLE_TIME个时钟周期内 SRED(人行道红灯 ) 保持高电平,EG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第2.6讲 指数与指数函数(解析版)-2024年高考数学一轮复习精讲精练宝典(新高考专用)
- 浙教版2023小学信息技术六年级上册《算法的多样性》教学设计及反思
- (一模)萍乡市2025年高三第一次模拟考试历史试卷(含答案解析)
- 2025年B2B营销业务 AI提示词手册
- 陶瓷拦水带施工方案
- 高楼地铁隧道施工方案
- 砂浆基础知识培训课件
- 2025年山东聊城高三一模高考数学试卷试题(含答案详解)
- 2025年药具科技工作培训标准教案
- 写赠予房产合同范例
- (精心整理)林海雪原阅读题及答案
- 适合汽车行业的英语爱好者
- 专用夹具设计说明书
- 气缸选型介绍.ppt课件
- 国内汽车产销数据四个统计口径数据利益链
- 消防设施检测内容及流程
- 零序保护整定说明
- 帆船帆板俱乐部创业计划书
- 砌体墙的基本构造做法及附图
- 第二章 法国学前教育
- 精雕JDPaint常用快捷键
评论
0/150
提交评论