1、EDA课程设计交通信号灯控制器设计海南大学信息科学技术学院EDA技术课程设计报告目 录课程设计的要求及目的2前言 2一 设计内容与目的 21.1 设计内容 31.2 设计目的 3二 方案设计 32.1 设计思路32.2 设计总体框图42.3 状态表52.4 电路原理图52.5 静态显示电路5三 功能电路的设计 5 3.1 细化的设计总体框图5 3.2 灯控制器电路设计6 3.3 计数器设计8 3.4 显示控制部分设计12四 系统仿真图13五 设计心得会14六 参考文献15交通信号灯控制器设计课程设计的要求及目的:1了解电子设计的具体流程和方法。2. 掌握电子设计的基本要求,能够运用所学的知识解
2、决生活中的一些问题。3. 初步掌握VHDL语言编程,并设计出一个有意义的小型系统。4. 掌握MAX+plus 软件的应用,并且了解相关硬件的组成和功能。5. 用EDA(Electronic Design Automation)或者原理图完成一个课题的设计,并达到相应的功能要求。前言伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。众所周知,随着生活的进步,我们身边的交通也日益繁忙,在众多的十字交叉
3、路口,为了确保车辆安全,迅速地通行,就必须在每个入口设置红绿灯。本系统中设置了红,绿,黄三色共三种信号灯。红灯亮禁止一切该方向的行人和车辆通行,绿灯亮允许行人和车辆通行,黄灯亮则提示行驶中的车辆注意不要抢道,并让它们有时间停靠到禁行线之外或者加快通过,同时提醒行人加快行进或者等待下一次绿灯。人行道灯亮时,允许行人通过。为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通信号来进行指挥。利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。本交通信号灯控制系统以十字路口为例讲述设计的功能要求和设计的具体过程。一 设计内容与目的: 1.1 设计内容: 用E
4、DA设计一个简单的交通灯控制器,具有如下功能:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。(2)用红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。(4)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄
5、灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。1.2 设计目的:(1)掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的EDA知识进行掌握与实际应用。(2)学会在MAX+plus 软件环境中仿真,熟悉软件的基本操作和运行环境。(3)锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。二 方案设计:2.1设计思路(1) 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2) 45秒、25秒、5秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控电路,由主控电路启、闭三色信号
6、灯或启动另一计时电路。(3) 主控电路是核心,这是一个时序电路,其输入信号为:车辆检测信号(A,B); 45秒、25秒、5秒定时信号(C,D,E)。其状态转化图如下所示:2.2 设计总体框图:2.3状态表主干道支干道指示灯亮灯时间指示灯亮灯时间红灯亮30s绿灯亮25s红灯亮黄灯亮5s绿灯亮45红灯亮50s黄灯亮5s红灯亮2.4 电路原理图:2.5 输出显示电路 : 静态扫描电路。三 功能电路的设计3.1细化的设计总体框图根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图3.1所示3.2 灯控制器电路设计由一条
7、主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄、左拐允许四盏信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐弯。信号灯变换次序为:主支干道交替允许通行,主干道每次放行40S,亮5S红灯让行驶中的车辆有时间停到禁行线外,左拐放行15秒,亮5S红灯;支干道放行30S,亮5S黄灯,左拐放行15秒,亮5S红灯,其中主支干道的红黄绿灯表示如MR、MY、MG、BR、BY、BG。程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ IS PORT(CLK,SM,SB:IN S
8、TD_LOGIC; MR,MY,MG,BR,BY,BG:OUT STD_LOGIC);END ENTITY JTDKZ;ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D);SIGNAL STATE:STATE_TYPE;BEGINCNT:PROCESS(CLK)IS VARIABLE S:INTEGER RANGE 0 TO 45; VARIABLE CLR,EN:BIT; BEGIN IF(CLKEVENT AND CLK=1) THEN IF CLR=0THEN S:=0; ELSIF EN=0THEN S:=S; ELSE S
9、:=S+1; END IF; CASE STATE IS WHEN A=MR=0;MY=0;MG=1; BR=1;BY=0;BG=0; IF(SB AND SM)=1THEN IF S=45 THEN STATE=B;CLR:=0;EN:=0; ELSE STATE=A;CLR:=1;EN:=1; END IF; ELSIF(SB AND (NOT SM)=1THEN STATE=B;CLR:=0;EN:=0; ELSE STATEMR=0;MY=1;MG=0; BR=1;BY=0;BG=0; IF S=5 THEN STATE=C;CLR:=0;EN:=0; ELSE STATEMR=1;M
10、Y=0;MG=0; BR=0;BY=0;BG=1; IF(SM AND SB)=1THEN IF S=25 THEN STATE=D;CLR:=0;EN:=0; ELSE STATE=C;CLR:=1;EN:=1; END IF; ELSIF SB=0THEN STATE=D;CLR:=0;EN:=0; ELSE STATEMR=1;MY=0;MG=0; BR=0;BY=1;BG=0; IF S=5 THEN STATE=A;CLR:=0;EN:=0; ELSE STATE=D;CLR:=1;EN:=1; END IF; END CASE; END IF; END PROCESS CNT; E
11、ND ARCHITECTURE ART; 3.3 计数器的设计 根据路上状况,设计各个显示计时部分,包括45s、25s和5s,各部分采用顺时计数方法。各模块如下:程序如下:-CNT45S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT45S ISPORT(SB,CLK,EN45:IN STD_LOGIC;DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S;ARCHITECTURE ART
12、OF CNT45S ISSIGNAL CNT6B:STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(SB,CLK,EN45) ISBEGINIF SB=0 THEN CNT6B=CNT6B-CNT6B-1;ELSIF(CLKEVENT AND CLK=1)THENIF EN45=1 THEN CNT6B=CNT6B+1;ELSIF EN45=0 THEN CNT6BDOUT45M=01000101;DOUT45BDOUT45M=01000100;DOUT45BDOUT45M=01000011;DOUT45BDOUT45M=01000010;DOUT45BDOU
13、T45M=01000001;DOUT45BDOUT45M=01000000;DOUT45BDOUT45M=00111001;DOUT45BDOUT45M=00111000;DOUT45BDOUT45M=00110111;DOUT45BDOUT45M=00110110;DOUT45BDOUT45M=00110101;DOUT45BDOUT45M=00110100;DOUT45BDOUT45M=00110011;DOUT45BDOUT45M=00110010;DOUT45BDOUT45M=00110001;DOUT45BDOUT45M=00110000;DOUT45BDOUT45M=0010100
14、1;DOUT45BDOUT45M=00101000;DOUT45BDOUT45M=00100111;DOUT45BDOUT45M=00100110;DOUT45BDOUT45M=00100101;DOUT45BDOUT45M=00100100;DOUT45BDOUT45M=00100011;DOUT45BDOUT45M=00100010;DOUT45BDOUT45M=00100001;DOUT45BDOUT45M=00100000;DOUT45BDOUT45M=00011001;DOUT45BDOUT45M=00011000;DOUT45BDOUT45M=00010111;DOUT45BDOU
15、T45M=00010110;DOUT45BDOUT45M=00010101;DOUT45BDOUT45M=00010100;DOUT45BDOUT45M=00010011;DOUT45BDOUT45M=00010010;DOUT45BDOUT45M=00010001;DOUT45BDOUT45M=00010000;DOUT45BDOUT45M=00001001;DOUT45BDOUT45M=00001000;DOUT45BDOUT45M=00000111;DOUT45BDOUT45M=00000110;DOUT45BDOUT45M=00000101;DOUT45BDOUT45M=0000010
16、0;DOUT45BDOUT45M=00000011;DOUT45BDOUT45M=00000010;DOUT45BDOUT45M=00000001;DOUT45BDOUT45M=00000000;DOUT45B=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;-CNT25S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT25S ISPORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,D
17、OUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY ;ARCHITECTURE ART OF CNT25S IS SIGNAL CNT5B:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINPROCESS (SB,SM,CLK,EN25) IS BEGINIF SB=0 OR SM=0THENCNT5B=CNT5B-CNT5B-1;ELSIF(CLKEVENT AND CLK=1)THENIF EN25=1THENCNT5B=CNT5B+1;ELSIF EN25=0THENCNT5BDOUT25B=00100101;DOUT2
18、5MDOUT25B=00100100;DOUT25MDOUT25B=00100011;DOUT25MDOUT25B=00100010;DOUT25MDOUT25B=00100001;DOUT25MDOUT25B=00100000;DOUT25MDOUT25B=00011001;DOUT25MDOUT25B=00011000;DOUT25MDOUT25B=00010111;DOUT25MDOUT25B=00010110;DOUT25MDOUT25B=00010101;DOUT25MDOUT25B=00010100;DOUT25MDOUT25B=00010011;DOUT25MDOUT25B=00
19、010010;DOUT25MDOUT25B=00010001;DOUT25MDOUT25B=00010000;DOUT25MDOUT25B=00001001;DOUT25MDOUT25B=00001001;DOUT25MDOUT25B=00001000;DOUT25MDOUT25B=00000110;DOUT25MDOUT25B=00000101;DOUT25MDOUT25B=00000100;DOUT25MDOUT25B=00000011;DOUT25MDOUT25B=00000010;DOUT25MDOUT25B=00000001;DOUT25MDOUT25B=00000000;DOUT2
20、5M=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;-CNT05S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT05S ISPORT(CLK,EN05M,EN05B:IN STD_LOGIC;DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT05S;ARCHITECTURE ART OF CNT05S ISSIGNAL CNT3B:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK,EN05M,EN05B) ISBEGINIF(CLKEVENT AND CLK=1)THENIF EN05M=1 THEN CNT3B=CNT3B+1;ELSIF EN05B=1 THEN CNT3B=CNT3B+1;ELSIF EN05B=0 THEN CNT3BDOUT5DOUT5DOUT5DOUT5DOUT5DOUT5=00
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2