ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:125.63KB ,
资源ID:9367610      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9367610.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VerilogHDL的交通灯控制器设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VerilogHDL的交通灯控制器设计.docx

1、VerilogHDL的交通灯控制器设计课程设计报告2015-2016学年第2学期课程设计名称: 电子综合设计EDA课程设计院係): 电子信息学院 专业:电子信息工程 班级: 电子1313: XX 学号: 1310034303xx综合实验时间: 2016/7/112016/7/15指导教师:提交时间: 2016/7/15 电机学院课程设计任务书课程名称电子综合设计EDA课程设计 课程代码 033117P1课程设计课题清单1、 数字式竞赛抢答器2、 自动售票机3、 乒乓球比赛游戏机4、 电子密码锁5、 出租车自动计费器6、 洗衣机控制器7、 交通信号灯控制器8、 电梯控制器设计时间2016年7月1

2、1日2016年7月15日一、课程设计任务汇总设计任务:交通信号灯控制器功能要求:丨、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口, 在每个入口处设萱红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行, 黄灯亮则给行驶中的车辆有时间停在禁行线外;2、 红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来 的信号;3、 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯 时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯;4、 主、支干道均有车时,两者交替允许通行,主干道每次放行时间A,支干道 每次放行时间A,设立A、B计时显示电路;5、在每次由绿灯

3、亮到红灯亮的转换过程中,要亮黄灯C时间作为过渡,使行 驶中的车辆有时间停到禁行线外,设立C计时显亦电路。时间ABC二、对课程设计成果的要求(包括课程设计报告、图纸、图表、实物等软硬件 要求)1.课程设计基本要求课题分析、查阅资料、方案论证、方案实现、系统联调、撰写课程设计报 告2.成果要求(1)系统方案 (2)电路RTL原理图(3) VerilOg源程序和流程图(或状态机转移图)VeriIOg测试程序(5)设计说明书(课程设计报告)三、课程设计工作进度计划:时间安排容星期一下达任务星期二程序设计星期三程序调试星期四撰写报告星期五考核答辩四、主要参考资料:指导书:VeriIOg数字系统设计教程夏

4、宇闻编善航空航天大学参考资料:EDA设计实验教程艾明晶编著清华大学第一章设计原理 41设计要求 412设计思路和原理 413实现方法 4第二章 VeriIOgHDL程序设计 621整体设计 62.2具体设计 7第三章仿真测试 73.1波形仿真 7第四章设计总结 10第一章设计原理11设计要求设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态 剩余秒数主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行 35s,支干道每次放行25s0每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时 间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显

5、示红灯状态。用LED灯显示 倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能 实现特殊状态的功能显示。1.2设计思路和原理(1)主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2)选择IHZ时钟脉冲作为系统时钟。(3)45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出, 每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。(4)交通灯状态变化如表】及图1所示:主干道(A) 状态主干道(A)交通灯 及显示时间支干道(B)交通灯 及显示时间支干道(B) 状态0绿(45S)红(50S)01黄(5s)C2红(30S)绿(2

6、5s)1O黄(5s)2Emerge IICy红(0)M红(0)EmergenCy*1交通灯状态图检测到支 路无行人 和车辆图1交通灯状态图 交通灯设计输入信号4个:CLK(时钟),EN(使能),EMERGENCY!紧急),BCHECK(检测);输出信号4个:LAMPA(干道信号灯),LAMPB(干道信号灯),ACONT(干道 计数器),BCOUNT(支干道计数器)。交通灯控制原理如图2所示图2交通灯原理图1.3实现方法本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通 灯,用4

7、个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信 号提供。第二章VMOgHDL程序设计21整体设计根据上章设计原理,交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规,本次设计了三个状态之间的循环转化,其真值表及状态转化图如下所 示:图2交通灯控制状态转化说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿 灯及支干道红灯亮起,进入状态Ol后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮 起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计

8、时程序,七段数 码管显示程序,数码管显示扫描程序,其系统结构图如下所示:hold图3交通灯控制系统结构图其中rst为复位信号,CIk为时钟信号,hold为特殊情况控制信号,输入hold时两个方向 红灯无条件亮起。2.2具体设计根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如 下elk:为计数时钟;qclk:为扫描显示时钟;en:使能信号,为1的话,则控制器开始工作;rst:复位信号,为1的话,控制及技术回到初始状态;hold:特殊情况控制信号,为1的话,则两个方向无条件显示为红灯;IightI:控制主干道方向四盏灯的亮灭;其中,Iightl 0Iight2

9、,分别控制主干道方 向的绿灯、黄灯和红灯;Iight2:控制支干道方向四盏灯的亮灭;其中,ight20Iight22,分别控制支干道 方向的绿灯、黄灯和红灯;uml:用于主干道方向灯的时间显示,8位,可驱动两个数码管;um2:用于支干道方向灯的时间显示,8位,可驱动两个数码管; counter:用于数码管的译码输岀;stl, st2:数码管扫描信号0详细设计步骤:(1)确定4个输入信号与4个输出信号,具体见图2; 将50MHZ时钟分频为IMHZ;(3)设计红黄绿3号灯切换的时间及顺序;(4)设计支路检测状态下的信号灯切换; 设计紧急(EMERGENCY)状态下信号灯的切换; 程序使用3lwys

10、块,详细代码如下:总体程序见程序清单所示第三章仿真测试3.1波形仿真在仿真软件下创建工程,新建编辑设计文件,将程序输入,整体编译后,新建波形仿真 文件。设責仿真时间,时钟周期,输入输出端口,进行波形仿真。具体仿真波形图及说明如 下所示:仿真截止时间:IOOus;时钟:CIk lus, qclkJus3.1.1正常工作时波形仿真图Name rM 58ST3 US10. OO Ce il f / Ke-IUmChCOOlOJUlMnuuJlfiUUUUUl3 u&::::/.=:.J:W(KXWX=XXX;Q:X:XXX;Q:X :: :::: :::::: :::::: :::::: tl ho

11、ld: :;: .,C.:XXwXxxxfe 屯 counterfoil)Oliliiilm1Ife 20Iien1 dk1 qclk0图4没有紧急借况时主干道和支干道的信号灯的显示状态DOUXZ- H I OfiAUigcliM !.j.zSB. Q2C7 “90100MmnjJIOwOeCxRe numlRe num2(7宅 tU2COUntCft6 Stl rt2ODOOOolIOOIOOIOOOlOOOlIOlIOlI图5没有紧急借况时主干道和文干道的Ar号灯的显示状态 10.0Qqf(GSS0S3S555350M浓洱 弹:洽的:世:* Mj a* j :. *gjgjgJliInJU

12、InnIlrOXXnwmnm咤 nmip 0 Re num2P.O) 畔 IighW20】 电 IighUg 熨 COUrltef(6XJ) $11 1 $12l Clk l qclk 1 rst 1 rstl 1 hddoooo CoIOOOOO 100 Ooi IoiIoiI图6没有紧急惜况时主干道和支干道的信号灯的显示状态8. 3743S7VaIUGW60:;:;:0:0OOIOC:l holdInlUmnnn::::::Y :: :: :: ?: ::::::::::::QgXCCC*:X沁X沁號CWCCXCCCCCCCC曲沖XCeC林力沁;1-:zLaeOUSJJJ IiPO ! H

13、uml(T-O)OOOOOIOi IM num2(7. CoUnterteIolIOlI1 StI0Ifa $1201 “11 CIk0l11曲0Name图7没有紧急At况时主干道和支干道的值号灯的显示状态图8没有紧急情况时主干道和文干道的信号灯的显示状态.I VaIUC IM uml(7X)QOLIOLOI Re num2(7)OOIIOlQi Re hghtU2:0j100 Rg ght2(2X)100 Re uMef60IIOlIoIIo 5t21len1 dk Ii Adk10lrst01 itl0I4 hold1匕二亠 I土亠丄一亠2严12. 613982 l-2l I-X-I-X-

14、I-I-I-I“亠,IH0101jXXXXXXXXOolIOIOI JXXX Wb ? 01 :Com 二nodLLLLTLL2LJinJ-T-Lf1TJ1-J-LJLJI ZZ_I -1nurUuVUifUiWRrUUlnfmiJmnnJmwUWoImurtIgF ! G I mhaX图9有紧急If况时主干道和支干道的信号灯的显示状态波形仿真主要完成了控制与计数以及数码管显示的波形图。numlznum2分别表示主干 道和支干道的倒计时,num! =OOIOOOOO主干道计时20秒nUm2二OOIoOlOl支干道计时 25秒;Sl用来表示主干道最短通车时间是否已到,到了 sl = l; S2用

15、来表示支干道最长通车 时间是否已到,到了 s2二1,控制输出量从高位到低位分别表示红,黄,绿为IightI=O01, Iight2= 100, COUnter用于时钟计数。hold为紧急情况时主干道和支干道的信号灯为红灯。图6顶层文件图结果分析:仿真结果符合设计要求,交通灯有规律的变化,显示倒计时;在检测支路无车 辆和紧急情况下,交通灯可以做岀相应调整。设计中使用FSM (三段式),此方式描述方法虽 然代码结构复杂了一些,但是使FSM做到了同步寄存器输出,有利于实现交通灯控制。第四章设计总结这次课程设计,通过对交通等控制器设计,解决了之前课上存在的一些困惑,就是对测 资料. 试程序的编写,调试

16、,对于测试程序有了很大的提升。在程序编写和调试过程中从图书馆借 阅了很多相关程序,并对原理和算法进行理解,收获很大。对于课题,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真, 仿真成功后就可以进行顶层文件的编写了,在顶层文件的编写过程中遇到了一些问题,特别 是各模块之间的连接,以及信号的定义,总是有错误。有的时候信号的定义容易出现混淆, 在反复的修改过后,顶层文件终于能够编译成功了。在波形仿真的过程中,同样遇到了困难, 有的时候会出现仿真时间过长的问题,这个时候应该修改系统时钟的频率。在设计的过程中 还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此

17、次 的课程设计。这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的 知识,同时锻炼了自己的能力。通过这次课程设计,并进一步熟练了对XilinX ISE软件的操作。通过与同学探讨和请 教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。同时也掌握了做 课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识, 把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的 形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的VeriIOg语言进行编 程。总之,通过这次的设计,进一步了解了 EDA技术,收获很大,对软

18、件编程,排错调试, 相关仪器设备的使用技能等方面得到较全面的锻炼和提高。程序清单module sy(enlkzqclkstrstlzhold,numbm2jightljight2zcontecstbst2); input e,clkZqCIkJStZhOIdZrStl;OUtPUtStbSt2;OUtPUt7:0 umLnum2;OUtPUt6:0 COU nter;OUtPUt2:0 IightlJight2;reg timLtim2ZStLSt2;regl :0 StateIZState2zste;reg2:0IightIJight2;reg 3:0 num;reg 6:0 counter

19、;reg7:0 nurlznum2;reg7:0 red 1 zred2zgreen 1 ,green2,yellowl ZyeIIOW2;always (en )if(!e)begin 设責计数初值green l=8,b00110101;redl=8lbl101;yellowl =8,b000101;gree2=8,b00100101;red2=8lbl 10101;yellow2v 二 8b00000101;endalways (POSedge CIk )beginif(rst) 复位与特殊情况控制beginIightl =3,b001;n Uml =gre enl;endelse if(

20、hold)beginIightl =3,b 100;numl=gree nl;endelse if(e)begin 使能有效开始控制计数If(Itiml)/开始控制begin 主干道交通灯点亮控制tirl=l;CaSe(StateI)2*b00:begin num 1 =greenl;IightlV二3b001;Statel=2b01;end 2,b01:begin num 1 =yellowl ;lightl =3,b010;StateI =2,bl 1 ;end 2,b 11:begin num 1 =red 1;Iight 1 =3,b 100;State 1 =2,b 10;end 2

21、,b 10:begin num 1 =yellow 1 ;light 1 =3,b010;State 1 =2,b00nd default:IightI 0)if(numl 3:0=0)beginnuml 3=4,bl001;nUmI 7:4V二numl 7:4卜 1;endelse nurl 3:0=numl 3:0)-1;if(nUmI=I) timl=0;endendelsebegi nIightI =3,b010;numl=2,b00;timl=0;endendalways (POSedge CIk )beginif(rst) 复位与特殊情况控制begi nIight2=3,bl;nu

22、m2=red2;endelse if(hold)begi nIight2=3,bl;n r2=red2;endelse if(e)begi nif(!tim2)begi ntim2=l;CaSe(StateI)2b00:begin num2=red2;Iight2=3,b 100;State2=2,b01 冷nd2,b0kbegin num2=yellowl Jight2=3lb010;State2=2,b 1 Jend2,bl l:begin num2=green2;Iight2v二3b001;StCIte2v二2bl0;end2,b 10:begin um2=yellow2;Iight2=

23、3,b010;State2=2*b00;end default:Iight20)if(num23:0=0)begi nnum23:0v 二 4bl001;num27:4=num27:4-l;endelse num23:0=num23:0-l;if(num2=l) tim2=0;endendelsebegi ntim2=0;State2=2,b00;Iight2=3,b010;endendalways (POSedge qclk)begin 数码管扫描if(rstl)beginstl =0;st2=0;endelsebegincas(st2rstl)ZbOOibegi n num=numl 3r

24、0Xst2zstl=2,b01; end 2lb0 Iibegin num=num 1 7:4:st2rst 1 =2,b 10; end 2*bl0:begin num=num23:0;st2zstl=2,bl 1: end 2,bl l:begin num=num27:4;st2zstl=2*b00; end en dcaseendendalways (POSedge qclk)begin 数码管译码显示case( num)4,b0000: COUnter=7,b0111111:/04,b0l: COUnter=7,b00110; /14,b0010: COUnter=7,bIOl 101

25、1:/24,b0011: COUnter=7,b IOOl 111:/34,b0100: COUnter=7,bll00110; /44,b0101: COUnter=7,b 1101101:/54,b0110: COUnter=7,bll 11101:/64,b0111: COUnter=7,b00111;/74,bl000: COUnter=7,bll 11111:/84,bll: COUnter=7,b 1101111:/9 default: COUnter=7,b0111111:/0 en dcaseenden dmodule测试程序:module syy;/ InPUtSreg en

26、;reg elk;reg qclk;reg rst;reg rstl;reg hold;/ OUtPUtSWire 7:0 nUm1;Wire 7:0 um2;Wire 2:0 Iightl;Wire 2:0 Iight2;Wire 6:0 counter;Wire stl;Wire st2;/ InStantiate the Unit Under TeSt (UUT)Sy UUt (.en(en),.clk(clk)z .qclk(qclk)z.rst(rst)z .rstl (rstl)z.hold(hold),.numl (uml)z.n Um2(num2)z.1 ightl (Iightl),.1 ight2(light2), Counter(Counter)r.stl (stl)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1