交通信号灯控制器代码及说明_第1页
交通信号灯控制器代码及说明_第2页
交通信号灯控制器代码及说明_第3页
交通信号灯控制器代码及说明_第4页
交通信号灯控制器代码及说明_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告课程名称:FPGA现代数字系统设计设计名称:交通信号灯控制器姓 名:* * *学号:2010000379专业:通信指导教师:* * *起止日期: 2010. 12. 25 - 2011. 1. 9课程设计任务书设计名称:设计要求:(1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个 入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮那么给行驶中 的车辆有时间停在禁行线外。(2)红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。(3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支 干道亮红

2、灯;支干道亮绿灯时,主干道亮红灯。(4)主、支干道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行 25s,设立45s、25s计时、显示电路。(5)在每次由绿灯亮到红灯亮的转换过程中,要亮5s黄灯作为过渡,使行驶中的车辆有 时间停到禁行线外,设立5s计时、显示电路。(6)发生紧急事件,如救护车、警车、抢险车通过,可以手动控制四个方向的红灯全亮。一、设计目的和意义通过应用Verilog语言在QuartusII软件平台上设计交通信号灯控制器,并借助硬件来测 试仿真效果。通过课程设计,熟悉硬件编程语言的应用,特别是有限状态机的灵活使用,为以 后进一步的学习实践打下良好的基础。二、设计

3、原理(1)主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2)选择1HZ时钟脉冲作为系统时钟。(3) 45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出, 每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。(4)交通灯状态变化如表1及图1所示:表1:交通灯状态图主干道(A) 状态主干道(A)交通灯 及显示时间支干道(B)交通灯 及显示时间支干道(B) 状态0绿(45s)MM红(50s)01黄(5s)oeM2红(30s)MM绿(25s)1M黄(5s)2Emergency红(0)MM红(0)Emergency图1:交通灯状态图(5)交通灯设计输入信

4、号4个:CLK (时钟),EN(使能),EMERGENCY (紧急),BCHECK (检测); 输出信号4个:LAMPA(主干道信号灯),LAMPB(支干道信号灯),AC0UNT(主干道计数器),BCOUNT(支干道计数器)。交通灯控制原理如图2所示。CLKeFTEMERGENCYBCHECKCLKLAMPA2.OENLAMPB2.OEMERGENCY0cLJUC IZACOUNT7.0DCCI IKITF7 HIdCUUN 1 /.ujINPUTVCCINPUTVCCtraffic controlpJTPUTButput11、LAMPA2.OTA而。目万r 1A cduZ 0 尸二rr前三汩

5、而行:而inst图2:交通灯原理图三、详细设计步骤(1)确定4个输入信号与4个输出信号,具体见图2;(2)将50MHZ时钟分频为1MHZ;(3)设计红黄绿3中信号灯切换的时间及顺序;(4)设计支路检测状态下的信号灯切换;(5)设计紧急(EMERGENCY)状态下信号灯的切换;(6)程序使用3always块山,详细代码如下:module traffic_control(CLK,EN,EMERGENCY,BCHECK,LAMPA,LAMPB,ACOUNT,BCOUNT);output2:0 ACOUNT,BCOUNT;output2:0 LAMPA,LAMPB;reg clkl;input CLK

6、,EN,EMERGENCY,BCHECK;reg2:0 numa,numb;reg tempa,tempb;reg|25:0count;reg2:0 counta,countb;reg2:0 ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft;reg2:0 LAMPA,LAMPB;/*信号定义与说明:CLK:为同步时钟;EN:使能信号,为1的话,那么控制器开始工作;LAMPA:控制A方向四盏灯的亮灭;其中,LAMPA0LAMPA2,分别控制A方向的绿灯、黄灯和 红灯;LAMPB:控制B方向四盏灯的亮灭;其中,LAMPB0LAMPB2,分别控制

7、B方向的绿灯、黄灯 和红灯;ACOUNT:用于A方向灯的时间显示,8位BCOUNT:用于B方向灯的时间显示,8位*/always (posedge CLK ) 将 50MHZ 时钟分频为 1MHZbeginif(count=49999999)begincount=0; clkl=clkl; end else count=count+1; end assign ACOUNT=numa; assign BCOUNT=numb; always (EN) if(!EN) begin ared =6; ayellow =2; agreen =4; bred =6; byellow =2; bgreen

8、=4; endalways (posedge clkl)/该进程控制 A 方向 beginif(EMERGENCY)/EMERGENCY高电平有效,手动控制begin numa=0;LAMPA=4;counta=0;tempa=0; endelse if(EN) begin if(!tempa)/亮灯 begin tempa=l; case(counta)/控制亮灯的顺序0: begin numa=agreen; LAMPA= 1; counta= 1; end 1: begin numa=ayellow; LAMPA=2; counta=2; end2: begin numa=ared; L

9、AMPA=4; counta=0; end default:LAMPA2) numa=numa-1;if(numa=2) begin numa=l ;tempa=0;if (BCHECK) &(counta=2) countal)if(numa|3:0=0) beginnuma3:0=4,bl001;numa7:4=numa7:4-l;endelsenuma3:0=numa3:0-1;if (numa=2)begin tempa=O;if (!BCHECK )& (counta=l) counta=0;end*/endendelsebeginLAMPA=3blOO;counta=0; temp

10、a=0;endendalways (posedge clkl)/该进程控制B方向的四种灯beginif(EMERGENCY)/EMERGENCY高电平有效,手动控制beginnumb=0;LAMPB=4;countb=0;tempb=0;endelse if (EN)beginif(!tempb)begintempb=l;case (countb)0: begin numb=bred; LAMPB=4; countb=l; endbegin numb=bgreen; LAMPB=1; countb=2; endbegin numb=byellow; LAMPB=2; countb=0; end

11、 default:LAMPB2) numb=numb-l;if(numb=2) begin numb=l ;tcmpb=0;if(BCHECK )& (countb=l) countbl)if(!numb3:0)beginnumb3:0=9;numb7:4=numbf7:4-l;endelse numb3:0=numb3:0-l;if(numb=2)begin tempb=O;if(!BCHECK) & (countb=l) countb=0;end*/endendelsebeginLAMPB=3blOO;tempb=0; countb 1EN2BCHECK-3EMERGENCY04H LAM

12、PA08国 AC0UNT3 17国 LAMPB21国 BCOUNTMaster Time Bar:|硬AZ甑x 一 口团r10.0 ns20. 0 ns30. 0 ns15.325 ns,_n_n rLrLn rm nj LrLn n n rLrLrLn n rLn n rm n n rLn n rLn n n n n rLrLrLnjci )rrnx444图3: BCHECK低电平EMERGENCY低电平时,主干道和支干道的信号灯的显示状态从图4中可以看出,在支干道检测到无车辆通过或者紧急信号发生时,主干道和支干道的信号灯能够按照预先设计正确变换。Simulation WaveformsSi

13、mulation mode: FunctionallK325nT 生.37.32 ns Interval:22.0 nsStart:End:Name 0CEK- 1EN- 2BCHECK- 3EMERGENCY040 LAMPA080 ACOUNT._/17国 LANPB210 BCOUNTA Master Time Bar:A 英 乳 触-/I、1”2O.pns3O.pns40. 15.325 ns1 IWOTWlTWi rmTDTOOTUWLTLnJWUTrwmTOTUWETlTOTUTOTBCigDc : 4tnran tn xm(旭醯姻欧堂区短颐0(0回由妈近妈颐莎颐颜M H21X4X Hi iXw0图4: BCHECK EMERGENCY低电平或高电平时,主干道和支干道的信号灯的显示状态五、总结仿真结果符合设计要求,交通灯有规律的变化,显示倒计时;在检测支路无车辆和紧急情 况下,交通灯可以做出相应调整。设计中使用FSM (三段式),此方式描述方法虽然代码结构 复杂了一些,但是使FSM做到了同步寄存器输出,有利于实现交通灯控制。六、体会通过课程设计,更加体会到硬件编程语言的特点,与以前所

温馨提示

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

评论

0/150

提交评论