步行街道自助式交通灯控制器的设计_第1页
步行街道自助式交通灯控制器的设计_第2页
步行街道自助式交通灯控制器的设计_第3页
步行街道自助式交通灯控制器的设计_第4页
步行街道自助式交通灯控制器的设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物理科学与电子信息学院EDA课程设计报告书姓名: 张连兵 班级: 电信(一)班 学号: 1334301124 时间: 2016年 06月 14 日 .一:论文题目步行街道自助式交通灯控制器的设计.二:课程论文要求1. 正常情况下保证主干道的畅通。2. 当步行街道上的行人要穿过主干道时,通过设置的按钮来发出请求。3. 当有人按下此按钮时,主干道变为黄灯,设置计数器时间为3秒。4. 3秒过后,主干道变为红灯,计数器继续计时(计时时间为30秒),在30秒内若有人再次按按钮,计数器不重新计时。5. 步行街绿灯闪烁时间为5秒,25秒后主干道变为绿灯,车辆通行。且咬保证车辆通行一定时间(30秒)。在此时间

2、内,行人按按钮无效。30秒过后,若有人再按下按钮,又出现(3)中的状态。6. 计数器的计时时间长短XYZ可以任意设定。.三:设计方案1 系统设计方案根据系统设计要求有两种实现方法,一种是采用EDA的实验软件来实现系统要求;另一种采用基本门电路和各种触发器电路元件来实现。方案一:EDA设计方法(软件:max_plus10.0)根据系统设计要求,系统设计采用自顶而下的设计方法,顶层设计采用原理图设计方法,系统的整体设计原理图如图(1)所示,它右去抖模块设置计数模块和交通灯控制三部分组成。(1) 去抖模块去抖模块的作用在于消除按键的抖动,因为当输入信号在高低电平之间转换时,在转换的瞬间会产生毛刺,使

3、信号波形不稳定,从而使系统不能正常工作,因此要加入去抖模块。(2) 设置计数模块设置计数模块的是设置并存储主干道方向和步行街道方向的时间长短。主干道方向需要设置的时间包括主干道黄灯信号时间,红灯信号时间和主干道车辆允许通行的最短时间,步行街道方向需要设置的时间为步行街道的闪烁时间。(3) 交通灯控制模块(4) 交通灯模块通过采用状态机来实现,用于存储交通灯的五种状态。五种状态的集体说明如下表。状态主干道信号灯步行街信号灯主干道步行街道R红G绿Y黄R红G绿S001010通行禁行S100110车停靠禁行S210001禁行通行S31000禁行通行(绿灯闪烁S401010通行禁行方案二:用硬件来实现本

4、系统要求的功能其基本组成部分和方案一一样,但不同的是用硬件来实现三个模块的逻辑功能。对于去抖模块,可采用下图所示的防抖动输出电路来解决。课本P216 4.4题对于计数模块,设置计数模块的是设置并存储主干道方向和步行街道方向的时间长短。所以需要两个可以计数并存储的计数器来实现,综上所述,两个方案各有各的优点,但根据时代的发展要求,选择方案一是首选!因为方案二要焊接的电路板太多,对于有实际用处的逻辑电路一般是进行设计·仿真后有功能实现就大批量生产,如果采用电路板焊接来实现,会增加工作时间,并且不一定能买到合适的元件来满足设计要求,而方案一采用EDA技术来实现实验功能,在出现问题后容易进行

5、解决并进行修正。所以本实验采用方案二进行设计。.四:设计过程1:根据系统设计方案二编写各模块的元程序如下:(1) 去抖模块的VHDL源程序(dither.vhd) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.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 DITHE

6、R;ARCHITECTURE BEHAVE OF DITHER ISSIGNAL OUT1: STD_LOGIC;SIGNAL OUT2: STD_LOGIC;BEGINOUT1<=NOT( OUT2 AND UPIN );OUT2<=NOT( OUT1 AND DOWNIN ); KEYOUT<=OUT1;END BEHAVE; 产生图形如下(2):设置计数模块的VHDL源程序如下(count.vhd) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_

7、LOGIC_ARITH.ALL;ENTITY COUNT IS PORT(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 INTEG

8、ER RANGE 31 DOWNTO 0); END COUNT;ARCHITECTURE BEHAVE OF COUNT IS SIGNAL 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 SSTATE<="000"WHEN PRE_SET=&#

9、39;0' ELSE HUMAN_SET & CLEAR & CLKADD & CLKSUB; SCLK<=CLKADD OR CLKSUB OR CLEAR; PROCESS (CLK) BEGIN IF(CLK' EVENT AND CLK='1')THEN DSCLK<=SCLK; END IF; END PROCESS; PROCESS(RST,CLEAR,DSCLK) BEGIN IF(RST='1')THEN VEHICLE_TIME<=8; ELSIF(DSCLK' EVENT AN

10、D DSCLK='1')THEN CASE SSTATE IS WHEN "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; WH

11、EN "0010" => VEHICLE_TIME<= VEHICLE_TIME+1; WHEN OTHERS => VEHICLE_TIME<= VEHICLE_TIME; END CASE; END IF;END PROCESS;PROCESS (CLEAR,DSCLK) BEGIN IF(RST='1')THEN HUMAN_TIME<=4; ELSIF (DSCLK' EVENT AND DSCLK ='1')THEN CASE SSTATE IS WHEN "1100"=&g

12、t; 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; WHEN OTHERS=> HUMAN_TIME<=

13、HUMAN_TIME; END CASE;END IF;END PROCESS;PROCESS(PRE_SET,RST) BEGIN IF(RST='1')THEN GHUMAN_TIME<=5; GHUMAN_CLKT<=7; GVEHICLE_TIME<=15; ELSIF(PRE_SET' EVENT AND PRE_SET='0')THEN GHUMAN_TIME<=HUMAN_TIME+1; GHUMAN_CLKT<=HUMAN_TIME+3; GVEHICLE_TIME<=HUMAN_TIME+VEHICL

14、E_TIME+3; END IF; END PROCESS;END BEHAVE;产生图形如下:(3)交通灯控制模块的VHDL源程序(SR.VHD) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LIGHT IS PORT(SRED: OUT STD_LOGIC; ERED: OUT STD_LOGIC; SGREEN: OUT STD_LOGIC; EYELLOW: OUT STD_LOGIC; EGREEN: OUT S

15、TD_LOGIC; GT_SET: IN STD_LOGIC; GHUMAN_TIME: IN INTEGER 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 IS TYPE IN_STATES IS (ST0,ST1,ST2,ST3

16、,ST4); SIGNAL CURRENT_STATE: IN_STATES; SIGNAL NEXT_STATE: IN_STATES; SIGNAL START: STD_LOGIC; SIGNAL SIG: INTEGER RANGE 31 DOWNTO 0; BEGIN PROCESS(CURRENT_STATE,RST) BEGIN IF(RST='1' OR CURRENT_STATE=ST0)THEN START<='0' ELSE START<='1' END IF; END PROCESS; A:PROCESS(ST

17、ART,CLK) BEGIN IF(RST='1')THEN SIG<=0; ELSIF(CLK' EVENT AND CLK='1')THEN IF(START='1')THEN IF(SIG=GVEHICLE_TIME)THEN SIG<=0; ELSE SIG<=SIG+1; END IF; ELSE SIG<=0; END IF; END IF; END PROCESS A;PROCESS(RST,CLK) BEGIN IF(RST='1')THEN CURRENT_STATE<=ST

18、0; ELSIF (CLK'EVENT AND CLK='1')THEN CURRENT_STATE<=NEXT_STATE; END IF;END PROCESS;PROCESS(CLK,CURRENT_STATE) BEGIN CASE CURRENT_STATE IS WHEN ST0=> ERED<='0'EGREEN<='1'EYELLOW<='0'SRED<='1'SGREEN<='0' IF(REQUEST='1' AN

19、D GT_SET='0')THEN NEXT_STATE<=ST1; ELSE NEXT_STATE<=ST0; END IF; WHEN ST1=> ERED<='0'EGREEN<='0'EYELLOW<='1'SRED<='1'SGREEN<='0' IF (SIG=1)THEN NEXT_STATE<=ST2; ELSE NEXT_STATE<=ST1; END IF; WHEN ST2=> ERED<='1&#

20、39;EGREEN<='0'EYELLOW<='0'SRED<='0'SGREEN<='1' IF(SIG=GHUMAN_TIME)THEN NEXT_STATE<=ST3; ELSE NEXT_STATE<=ST2; END IF; WHEN ST3=> ERED<='1'EGREEN<='0'EYELLOW<='0'SRED<='0'SGREEN<=NOT CLK; IF(SIG=GHUMAN

21、_CLKT)THEN NEXT_STATE<=ST4; ELSE NEXT_STATE<=ST3; END IF; WHEN ST4=> ERED<='0'EGREEN<='1'EYELLOW<='0'SRED<='1'SGREEN<='0' IF(SIG=GHUMAN_CLKT)THEN NEXT_STATE<=ST0; ELSE NEXT_STATE<=ST4; END IF; WHEN OTHERS=> ERED<='0'

22、EGREEN<='1'EYELLOW<='0'SRED<='1'SGREEN<='0'NEXT_STATE<=ST3; END CASE; END PROCESS;END BEHAVE;产生图形如下:2:实验仿真(1) zongtu.scf.五:实验现象(1):在实验室中进行仿真和连线后,可得到5个LED发光二极管来表示的简单交通灯模型,5个灯中由三个(红,黄,绿)来代表主干道上的车辆通行指示灯,而另外的两个红灯和绿灯用来指示人行道上的行人。 .六:实验心得与体会通过这次课程设计,在收获知识的同时,还

23、收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。 与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论