EDA课程设计交通信号灯控制器设计_第1页
EDA课程设计交通信号灯控制器设计_第2页
EDA课程设计交通信号灯控制器设计_第3页
EDA课程设计交通信号灯控制器设计_第4页
EDA课程设计交通信号灯控制器设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、海南大学信息科学技术学院海南大学信息科学技术学院edaeda 技术课程设计报告技术课程设计报告目目 录录课程设计的要求及目的课程设计的要求及目的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六六 参考文献参考文献15交通信号灯控制

2、器设计交通信号灯控制器设计课程设计的要求及目的:课程设计的要求及目的:1了解电子设计的具体流程和方法。2. 掌握电子设计的基本要求,能够运用所学的知识解决生活中的一些问题。3. 初步掌握 vhdl 语言编程,并设计出一个有意义的小型系统。4. 掌握 max+plus 软件的应用,并且了解相关硬件的组成和功能。5. 用 eda(electronic design automation)或者原理图完成一个课题的设计,并达到相应的功能要求。前言前言伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。eda 技术的发展和应用领域也在不断

3、的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。众所周知,随着生活的进步,我们身边的交通也日益繁忙,在众多的十字交叉路口,为了确保车辆安全,迅速地通行,就必须在每个入口设置红绿灯。本系统中设置了红,绿,黄三色共三种信号灯。红灯亮禁止一切该方向的行人和车辆通行,绿灯亮允许行人和车辆通行,黄灯亮则提示行驶中的车辆注意不要抢道,并让它们有时间停靠到禁行线之外或者加快通过,同时提醒行人加快行进或者等待下一次绿灯。人行道灯亮时,允许行人通过。为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通信号来进行指挥。利用 eda 技术设计交通灯来

4、完成这个需求就显的更加迫切,同样也是非常的实用和合理。本交通信号灯控制系统以十字路口为例讲述设计的功能要求和设计的具体过程。一一 设计内容与目的:设计内容与目的: 1.1 设计内容: 用 eda 设计一个简单的交通灯控制器,具有如下功能:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。(2)用红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道

5、亮绿灯时,主干道亮红灯。主、支干道均有车时,两者交替允许通行,主干道每次放行 45 秒,支干道每次放行 25 秒,设立 45 秒、25 秒计时、显示电路。(4)在每次由绿灯亮到红灯亮的转换过程中,要亮 5 秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立 5 秒计时、显示电路。1.2 设计目的:(1)掌握十字路口交通灯控制的设计原理,并能够运用 vhdl 编程语言编写出实验程序,进一步对所学的 eda 知识进行掌握与实际应用。(2)学会在 max+plus 软件环境中仿真,熟悉软件的基本操作和运行环境。(3)锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。二二 方案设计:

6、方案设计:2.1 设计思路(1(主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2(45 秒、25 秒、5 秒定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,定时结束信号也输入到主控电路,由主控电路启、闭三色信号灯或启动另一计时电路。(3(主控电路是核心,这是一个时序电路,其输入信号为:车辆检测信号(a,b) ; 45 秒、25 秒、5 秒定时信号(c,d,e) 。其状态转化图如下所示:2.2 设计总体框图:2.3 状态表主干道支干道指示灯亮灯时间指示灯亮灯时间红灯亮绿灯亮25s红灯亮30s黄灯亮5s绿灯亮45红灯亮黄灯亮5s红灯亮50s2.4 电路原理图:2.5

7、输出显示电路 : 静态扫描电路。三三 功能电路的设计功能电路的设计3.1 细化的设计总体框图根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图 3.1 所示clk交通灯控制及计时模块扫描显示模块led 显示3.2 灯控制器电路设计由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄、左拐允许四盏信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐弯。信号灯变换次序为:主支干道交替允许通行,主干道每次放行 40s,亮 5s 红灯让行驶中的车辆有时

8、间停到禁行线外,左拐放行 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 std_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 st

9、ate: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:=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; els

10、e 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;my=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=0

11、then 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; end architecture art; 3.3 计数器的设计 根据路上状况,设计各个显示计时部分,包括 45s、25s 和 5s,各部分采用顺时计数方法。各模块如下:程序如下:-cnt45s.vhdlibrary ieee;use ieee.std_

12、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 of cnt45s issignal cnt6b:std_logic_vector(5 downto 0);beginprocess(sb,clk,en45) isbeginif sb=0 then cnt6b=cnt6b-cnt6b-1;els

13、if(clkevent and clk=1)thenif en45=1 then cnt6b=cnt6b+1;elsif en45=0 then cnt6bdout45m=01000101;dout45bdout45m=01000100;dout45bdout45m=01000011;dout45bdout45m=01000010;dout45bdout45m=01000001;dout45bdout45m=01000000;dout45bdout45m=00111001;dout45bdout45m=00111000;dout45bdout45m=00110111;dout45bdout45

14、m=00110110;dout45bdout45m=00110101;dout45bdout45m=00110100;dout45bdout45m=00110011;dout45bdout45m=00110010;dout45bdout45m=00110001;dout45bdout45m=00110000;dout45bdout45m=00101001;dout45bdout45m=00101000;dout45bdout45m=00100111;dout45bdout45m=00100110;dout45bdout45m=00100101;dout45bdout45m=00100100;d

15、out45bdout45m=00100011;dout45bdout45m=00100010;dout45bdout45m=00100001;dout45bdout45m=00100000;dout45bdout45m=00011001;dout45bdout45m=00011000;dout45bdout45m=00010111;dout45bdout45m=00010110;dout45bdout45m=00010101;dout45bdout45m=00010100;dout45bdout45m=00010011;dout45bdout45m=00010010;dout45bdout45

16、m=00010001;dout45bdout45m=00010000;dout45bdout45m=00001001;dout45bdout45m=00001000;dout45bdout45m=00000111;dout45bdout45m=00000110;dout45bdout45m=00000101;dout45bdout45m=00000100;dout45bdout45m=00000011;dout45bdout45m=00000010;dout45bdout45m=00000001;dout45bdout45m=00000000;dout45b=00000000;end case

17、;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,dout25b:out std_logic_vector(7 downto 0);end entity ;architecture art of cnt25s is signal cnt5b:std_logic_vector(4 downto 0)

18、;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;dout25mdout25b=00100100;dout25mdout25b=00100011;dout25mdout25b=00100010;dout25mdout25b=00100001;dout25mdout25b=00100000;dout25md

19、out25b=00011001;dout25mdout25b=00011000;dout25mdout25b=00010111;dout25mdout25b=00010110;dout25mdout25b=00010101;dout25mdout25b=00010100;dout25mdout25b=00010011;dout25mdout25b=00010010;dout25mdout25b=00010001;dout25mdout25b=00010000;dout25mdout25b=00001001;dout25mdout25b=00001001;dout25mdout25b=00001

20、000;dout25mdout25b=00000110;dout25mdout25b=00000101;dout25mdout25b=00000100;dout25mdout25b=00000011;dout25mdout25b=00000010;dout25mdout25b=00000001;dout25mdout25b=00000000;dout25m=00000000;end case;end process;end architecture art;-cnt05s.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logi

21、c_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

22、then cnt3b=cnt3b+1;elsif en05b=0 then cnt3bdout5dout5dout5dout5dout5dout5=00000000;end case;end process;end architecture art;3.4 显示控制部分设计 根据从 jzkz 部件中检测到个路况,从而使不同路况显示不同的计数时间,模块如下:程序如下:-xskz.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xskz isport(en45,en25,en05m

23、,en05b:in std_logic;ain45m,ain45b:in std_logic_vector(7 downto 0);ain25m,ain25b,ain05:in std_logic_vector(7 downto 0);doutm,doutb:out std_logic_vector(7 downto 0);end entity xskz;architecture art of xskz is beginprocess(en45,en25,en05m,en05b)isbeginif en45=1thendoutm=ain45m(7 downto 0);doutb=ain45b(

24、7 downto 0);elsif en05m=1thendoutm=ain05(7 downto 0);doutb=ain05(7 downto 0);elsif en25=1thendoutm=ain25m(7 downto 0);doutb=ain25b(7 downto 0);elsif en05b=1thendoutm=ain05(7 downto 0);doutb=ain05(7 downto 0);end if;end process;end architecture art;四四 总体仿真波形总体仿真波形图 4.1 jtdkzwzb.vhd 的全局仿真结果图 4.2 jtdkz

25、wzb.vhd 的局部仿真结果从图 4.1 和图 4.2 可以看出,本设计符合设计初衷,完成看所要求的设计任务。五五 设计心得体会设计心得体会经过为其两周的课程设计,本人受益匪浅。这是我们自己大学三年以来自己第一次动手设计自己的东西,而不仅仅是停留在理论上。这一次的课程设计让我懂得了理论的指导意义,同时也深深知道自己实际动手能力的缺乏,深深认识到加强自己的理论指导实践的能力的紧迫性和重要性。选了交通灯控制这一小项目,因为它很简单,很容易的就用原理图或者状态机设计完成。这是我选择它的最重要的原因。但是看是简单的交通灯控制,却让我明白,要想靠自己成功的完成,还得老老实实的花大力气去做。刚开始,由于

26、max+plus 这软件对我来说完全陌生,不知道怎么操作,我花了几乎三天的时间去熟悉它,但是还是不能很好的“驾驭”它,而 vhdl 语言虽然简单,可是由于仓促上阵,一时间难以接受。在开始的两天,完全不知从何下手,我几乎有点想放弃的感觉,尽管之前参加过课程设计的同学都说很简单,但是我觉得非也。接下来的几天,实验室,图书馆,旧书店开始出现了忙碌的身影,我拼命的找资料。有关 eda 的和电子系统设计的书,我前后下来看了不少于 6 本,研究书中的有关例子,寻求设计思路和设计方法,方案,同时学习 vhdl 这门硬件描述语言,边学边做,仿佛自己在做一个惊天动地大项目, “废寝忘食” 。在进行课程设计这两周,是我最忙的两周,每天晚上几乎都到奋战到 10 点才回去,很冷,但是我还是坚持下来了,尽管后面的项目做得不是很成功,但是我觉得我还是收获了不少,至起码我懂得了 vhdl 语言,学

温馨提示

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

评论

0/150

提交评论