电子系统设计——交通信号灯.doc_第1页
电子系统设计——交通信号灯.doc_第2页
电子系统设计——交通信号灯.doc_第3页
电子系统设计——交通信号灯.doc_第4页
电子系统设计——交通信号灯.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一、课程设计目的伴随着社会的发展以及人类生活水平的提高,汽车的数量在D的DEA技术的发展和应用领域的扩大与深入,EDA技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。以下就是运用数字电子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。通过实践教学引导学生在理论指导下有所创新,为后继专业课的学习和日后工程实践奠定基础。二、 设计方案在设计方案之前,我们应明确课程设计的任务和要求:该系统完成对十字路口交通信号灯的控制,十字路口由一条南北方向的支干道(简称A道)和东西方向的主干道(简称B道)构成。A道安装有车辆检测传感器X,当该道有车时,传感器输出信号为高电平,当该道无车时,传感器输出低电平信号。十字路口交通灯控制规则为:当A道无车时,传感器输出X0,A道红灯一直亮,B道绿灯一直亮,直到60s定时时间到且A道有车为止;当B道通行15s且A道有车时,B道绿灯亮变成黄灯,经过5s后变成红灯亮,A道由红灯亮变成绿灯亮,直到30s定时时间到或者X0为止;最后A道黄灯亮,B道红灯亮,直到5s定时时间到,再回到B道绿灯亮,A道红灯亮的初始状态。2.1 问题分析设东西和南北方向的车流量大致相同,定为红灯30sec,黄5s从题目中计数值与交通灯的亮灭的关系如下图所示:0sec65sec黄灯亮红灯亮35sec红灯亮绿灯亮黄灯亮30sec5sec图2绿灯亮 B道A道2.2 制定设计方案如图3十字路口交通灯控制系统由定时器模块、控制器模块和输出模块组成。定时器模块由30s、5s、60s三个定时器构成,分别确定A道、B道通行时间(绿灯亮时间)、缓冲时间(黄灯亮时间)和禁止时间(红灯亮时间)。三个定时器采用以秒为时钟的计数器来实现,er,ey,er分别是三个定时计数器的工作使能信号,即当eg,ey,er为1时,相应的定时器计数;tm60、tm5、tm30为定时计数器的计数指示信号,当计数器在计数过程中,相应的指示信号为0,当计时时间到即计时结束时,相应的指示信号为1。交通灯控制器模块的作用是对系统工作状态的转换进行控制,根据十字路口交通控制信号灯控制规则则可得到系统状态转换表如图4示,其中ar,ay,ag和br,by,bg分别表示由控制器输出的A道和B道红、黄、绿灯点亮信号,eg、ey、er分别表示由控制器输出传给60s、5s、30s三个定时计数器的计数使能信号,x为输入控制器的车辆传感器信号,tm60、tm5、tm30分别表示由60s、5s、30s定时计数器产生的计时时间到信号,它们是控制器的输入信号。从图4可知系统有5个状态,编码为S0(00)、S1(01)、S2(10)、S3(11)、S4(xx),各信号高电平有效,低电平无效。输出模块的作用是将控制器输出的各个信号进行驱动以点亮对应的信号灯,。cpresetx定时器模块控制器模块30s定时器5s定时器60s定时器ertm20eytm20egtm15控 制 器brbyybgarayagclkclrx输出模块图3十字路口交通灯控制器状态转换表(图4)控制器输入控制器输出说明状态状态转换条件次态输出x*tm15 tm5 not(x)+tm20br by bgar ay ageg ey erB道绿灯,A道红灯S0(0 0)1 x xS1(0 1)001100100B道黄灯,A道红灯S1(0 1)x 1 xS2(1 0)010100010B道红灯,A道绿灯S2(1 0)x x 1S3(1 1)100001001B道红灯,A道绿灯S3(1 1)x 1 xS0(0 0)100010010三、 模块描述这次设计的交通灯系统主要分为三大模块:定时计数器模块和控制器模块和连接模块。3.1 定时计数器模块该模块分为三个定时电路,假设时基脉冲为1Hz,则需要设计一个60进制计数器、一个5进制计数器和一个30进制计数器,且每个计数器应具有计数使能控制端和计时时间到信号输出端。本课程设计中可采用异步清零、同步置位的4位十进制加法计数器74LS160构成。3.1.1 模30定时计数器 3.1.3 模60定时计数器 cpegresetTm60Counter60模60定时计数器Counter30cperresettm30模30定时计数器3.1.2 模5定时计数器 3.2控制器模块tm10tm5tm15xcpresetbrbybgarayagereyegcontroller控 制 器 模 块cpeyresettm5Counter5模5定时计数器四、VHDL实现4.1 模5定时计数器实现代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter5 isPORT (cp, ey,reset: IN STD_LOGIC; tm5: OUT STD_LOGIC);END counter5;ARCHITECTURE cnt5 of counter5 isbegin PROCESS(cp, reset) VARIABLE cnt: INTEGER RANGE 5 DOWNTO 0; begin if reset=1 then cnt:=0; elsif (cpEVENT AND cp=1) then if ey=1 and cnt5 then cnt:=cnt+1; else cnt:=0; end if; end if; if cnt=5 then tm5=1 ; else tm5=0; end if; end PROCESS;end cnt5;4.2 模30定时计数器实现代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter30 IS PORT(cp, er, reset: IN STD_LOGIC; tm30: OUT STD_LOGIC);END counter30;ARCHITECTURE cnt30 OF counter30 IS BEGIN PROCESS(cp, reset) VARIABLE cnt: INTEGER RANGE 30 DOWNTO 0 ;BEGIN IF reset=1 then cnt:=0; elsif (cpEVENT AND cp=1) then if er=1 and cnt30 then cnt:=cnt+1; else cnt:=0; end if;end if;if cnt=30 then tm30=1;else tm30=0; end if;end process;end cnt30;4.3 模60定时计数器实现代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter60 is PORT (cp, eg, reset: IN STD_LOGIC; tm60: OUT STD_LOGIC);END counter60;ARCHITECTURE cnt60 of counter60 isbegin PROCESS(cp, reset) VARIABLE cnt: INTEGER RANGE 60 DOWNTO 0;begin if reset=1 then cnt:=0; elsif (cpEVENT AND cp=1) then if eg=1 and cnt60 then cnt:=cnt+1; else cnt:=0; end if; end if; if cnt=60 then tm60=1 ; else tm60=0; end if; end PROCESS;end cnt60;4.4 控制器controller实现代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY controllor IS PORT(cp,x,reset,tm30,tm5,tm60:IN STD_LOGIC; br,by,bg,ar,ay,ag,er,ey,eg:OUT STD_LOGIC);end controllor;ARCHITECTURE behave_control OF controllor ISTYPE CONTROL_STATE IS (S0,S1,S2,S3) ;SIGNAL state:CONTROL_STATE:=S0;BEGINPROCESS(CP,X,RESET)BEGINIF RESET=1 THEN state if (x AND tm60)=1 THEN state IF tm5=1 THEN state if (NOT x)OR tm30)=1 THEN state IF tm5=1 THEN state=S0; END IF; END CASE; END IF;END PROCESS;br=1 when state=S2 or state=S3 else 0;by=1 when state=S1 else 0;bg=1 when state=S0 else 0; ar=1 when state=S0 or state=S1 else 0;ay=1 when state=S3 else 0;ag=1 when state=S2 else 0;er=1 when state=S2 else 0;ey=1 when state=S1 or state=S3 else 0;eg=1 when state=S0 else 0;end behave_control;4.5 连接模块(对各接口进行例化)实现代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY LATTICE;ENTITY RYG IS PORT(cp, reset, x: IN STD_LOGIC; br, by, bg, ar, ay, ag: OUT STD_LOGIC);END RYG;ARCHITECTURE BE_RYG OF RYG IS COMPONENT counter30 PORT(cp, er, reset: IN STD_LOGIC; tm30: OUT STD_LOGIC);END COMPONENT;COMPONENT counter5 PORT (cp, ey, reset: IN STD_LOGIC; tm5: OUT STD_LOGIC);END COMPONENT;COMPONENT counter60 PORT (cp, eg, reset: IN STD_LOGIC; tm60: OUT STD_LOGIC);END COMPONENT;COMPONENT controllor PORT(cp, x, reset, tm30, tm5, tm60: IN STD_LOGIC; br, by,bg, ar, ay, ag, er, ey, eg: OUT STD_LOGIC);END COMPONENT;signal tag1, tag2, tag3, tag4, tag5, tag6: std_logic;BEGINU1: counter30 PORT MAP(cp, tag1, reset, tag4);U2: counter5 PORT MAP(cp, tag2, reset, tag5);U3: counter60 PORT MAP(cp, tag3, reset, tag6);U4: controllor PORT MAP(cp, x, reset, tag4,tag5, tag6, br, by, bg, ar, ay, ag, tag1, tag2, tag3);END BE_RYG;五、调试仿真5.1 模30计数器调试仿真结果5.2 模5计数器调试仿真结果5.3 模60计数器调试仿真结果5.4 控制器controller调试仿真结果5.5 十字路口交通灯控制系统仿真波形六、课程设计回顾总结及心得体会 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,

温馨提示

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

评论

0/150

提交评论