海南大学信息科学技术学院《EDA技术课程设计报告》专业班级:2008级通信工程姓名:刘洋学号:20081604B062指导老师:刘文进老师1目录课程设计的要求及目的……………………………………………2前言…………………………………………………………………2一设计内容与目的………………………………………………21.1设计内容…………………………………………………31.2设计目的…………………………………………………3二方案设计………………………………………………………32.1设计思路…………………………………………………32.2设计总体框图……………………………………………42.3状态表……………………………………………………52.4电路原理图………………………………………………52.5静态显示电路……………………………………………5三功能电路的设计………………………………………………53.1细化的设计总体框图……………………………………53.2灯控制器电路设计………………………………………63.3计数器设计………………………………………………83.4显示控制部分设计………………………………………12四系统仿真图……………………………………………………13五设计心得会……………………………………………………14六参考文献………………………………………………………152交通信号灯控制器设计课程设计的要求及目的:1.了解电子设计的具体流程和方法。2.掌握电子设计的基本要求,能够运用所学的知识解决生活中的一些问题。3.初步掌握VHDL语言编程,并设计出一个有意义的小型系统。4.掌握MAX+plusⅡ软件的应用,并且了解相关硬件的组成和功能。5.用EDA(ElectronicDesignAutomation)或者原理图完成一个课题的设计,并达到相应的功能要求。前言伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。众所周知,随着生活的进步,我们身边的交通也日益繁忙,在众多的十字交叉路口,为了确保车辆安全,迅速地通行,就必须在每个入口设置红绿灯。本系统中设置了红,绿,黄三色共三种信号灯。红灯亮禁止一切该方向的行人和车辆通行,绿灯亮允许行人和车辆通行,黄灯亮则提示行驶中的车辆注意不要抢道,并让它们有时间停靠到禁行线之外或者加快通过,同时提醒行人加快行进或者等待下一次绿灯。人行道灯亮时,允许行人通过。为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通信号来进行指挥。利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。本交通信号灯控制系统以十字路口为例讲述设计的功能要求和设计的具体过程。一设计内容与目的:31.1设计内容:用EDA设计一个简单的交通灯控制器,具有如下功能:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。(2)用红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。(4)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。1.2设计目的:(1)掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的EDA知识进行掌握与实际应用。(2)学会在MAX+plusⅡ软件环境中仿真,熟悉软件的基本操作和运行环境。(3)锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。二方案设计:2.1设计思路(1)主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2)45秒、25秒、5秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控电路,由主控电路启、闭三色信号灯或启动另一计时电路。(3)主控电路是核心,这是一个时序电路,其输入信号为:车辆检测信号(A,B);45秒、25秒、5秒定时信号(C,D,E)。其状态转化图如下所示:42.2设计总体框图:52.3状态表主干道支干道指示灯亮灯时间指示灯亮灯时间红灯亮30s绿灯亮25s红灯亮黄灯亮5s绿灯亮45红灯亮50s黄灯亮5s红灯亮2.4电路原理图:2.5输出显示电路:静态扫描电路。三功能电路的设计3.1细化的设计总体框图根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图63.1所示3.2灯控制器电路设计由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄、左拐允许四盏信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐弯。信号灯变换次序为:主支干道交替允许通行,主干道每次放行40S,亮5S红灯让行驶中的车辆有时间停到禁行线外,左拐放行15秒,亮5S红灯;支干道放行30S,亮5S黄灯,左拐放行15秒,亮5S红灯,其中主支干道的红黄绿灯表示如MR、MY、MG、BR、BY、BG。程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYJTDKZISPORT(CLK,SM,SB:INSTD_LOGIC;MR,MY,MG,BR,BY,BG:OUTSTD_LOGIC);CLK交通灯控制及计时模块扫描显示模块LED显示7ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);SIGNALSTATE:STATE_TYPE;BEGINCNT:PROCESS(CLK)ISVARIABLES:INTEGERRANGE0TO45;VARIABLECLR,EN:BIT;BEGINIF(CLK'EVENTANDCLK='1')THENIFCLR='0'THENS:=0;ELSIFEN='0'THENS:=S;ELSES:=S+1;ENDIF;CASESTATEISWHENA=MR='0';MY='0';MG='1';BR='1';BY='0';BG='0';IF(SBANDSM)='1'THENIFS=45THENSTATE=B;CLR:='0';EN:='0';ELSESTATE=A;CLR:='1';EN:='1';ENDIF;ELSIF(SBAND(NOTSM))='1'THENSTATE=B;CLR:='0';EN:='0';ELSESTATE=A;CLR:='1';EN:='1';ENDIF;WHENB=MR='0';MY='1';MG='0';BR='1';BY='0';BG='0';IFS=5THENSTATE=C;CLR:='0';EN:='0';ELSESTATE=B;CLR:='1';EN:='1';ENDIF;WHENC=MR='1';MY='0';MG='0';BR='0';BY='0';BG='1';IF(SMANDSB)='1'THENIFS=25THENSTATE=D;CLR:='0';EN:='0';ELSE8STATE=C;CLR:='1';EN:='1';ENDIF;ELSIFSB='0'THENSTATE=D;CLR:='0';EN:='0';ELSESTATE=C;CLR:='1';EN:='1';ENDIF;WHEND=MR='1';MY='0';MG='0';BR='0';BY='1';BG='0';IFS=5THENSTATE=A;CLR:='0';EN:='0';ELSESTATE=D;CLR:='1';EN:='1';ENDIF;ENDCASE;ENDIF;ENDPROCESSCNT;ENDARCHITECTUREART;3.3计数器的设计根据路上状况,设计各个显示计时部分,包括45s、25s和5s,各部分采用顺时计数方法。各模块如下:程序如下:----CNT45S.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;9ENTITYCNT45SISPORT(SB,CLK,EN45:INSTD_LOGIC;DOUT45M,DOUT45B:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYCNT45S;ARCHITECTUREARTOFCNT45SISSIGNALCNT6B:STD_LOGIC_VECTOR(5DOWNTO0);BEGINPROCESS(SB,CLK,EN45)ISBEGINIFSB='0'THENCNT6B=CNT6B-CNT6B-1;ELSIF(CLK'EVENTANDCLK='1')THENIFEN45='1'THENCNT6B=CNT6B+1;ELSIFEN45='0'THENCNT6B=CNT6B-CNT6B-1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CNT6B)ISBEGINCASECNT6BISWHEN000000=DOUT45M=01000101;DOUT45B=01010000;WHEN000001=DOUT45M=01000100;DOUT45B=01001011;WHEN000010=DOUT45M=01000011;DOUT45B=01001000;WHEN000011=DOUT45M=01000010;DOUT45B=01000111;WHEN000100=DOUT45M=01000001;DOUT45B=01000110;WHEN000101=DOUT45M=01000000;DOUT45B=01000101;WHEN000110=DOUT45M=00111001;DOUT45B=01000100;WHEN000111=DOUT45M=00111000;DOUT45B=01000011;WHEN001000=DOUT45M=00110111;DOUT45B=01000010;WHEN001001=DOUT45M=00110110;DOUT45B=01000001;WHEN001010=DOUT45M=00110101;DOUT45B=01000000;WHEN001011=DOUT45M=00110100;DOUT45B=01101001;WHEN001100=DOUT45M=00110011;DOUT45B=00111000;WHEN001101=DOUT45M=00110010;DOUT45B=00110111;WHEN001110=DOUT45M=00110001;DOUT45B=00110110;WHEN001111=DOUT45M=00110000;DOUT45B=00110101;WHEN010000=DOUT45M=00101001;DOUT45B=00110100;WHEN010001=DOUT45M=00101000;DOUT45B=00110011;WHEN010010=DOUT45M=00100111;DOUT45B=00110010;WHEN010011=DOUT45M=00100110;DOUT45B=0011