欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于EDA的VHDL语言设计的交通灯.docx

    • 资源ID:3555124       资源大小:396.96KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于EDA的VHDL语言设计的交通灯.docx

    1、基于EDA的VHDL语言设计的交通灯师学院本科生课程设计论文基于Verilog HDL的RS编码器设计院 系电子与通信工程学院专 业通信工程学 生 班 级通信111班姓 名韦仁良学 号3指导教师单位电子与通信工程学院指导教师宇宁 【摘 要】随着社会上特别是城市中机动车辆保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要,在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理。本文以VHDL硬件描述语言为设计手段,完成了交通信号灯控制电路的设计,其通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿灯的转换有

    2、一个准确的时间间隔和转换顺序。所设计的交通信号灯控制电路经过在Quartus 软件下进行模拟仿真,观察其波形,证明所设计的交通信号灯控制电路完全可以实现预定的功能,并有一定的实用性。【关键词】 VHDL; Quartus; 交通灯【题目要求】 用有限状态机设计一个交通灯控制器,设计要求:A路和B路,每路都有红、黄、绿三种灯,持续时间为:红灯45s、黄灯5s、绿灯40s。A、B路交通灯的转换状态是:(1)A红、B绿 (持续时间40s);(2)A红、B黄 (持续时间5);(3)A绿、B红 (持续时间40s);(4)A黄、B红 (持续时间5s);【系统总体设计原理】 50MHz1秒分频器交通灯控制器

    3、4000Hz分频器发光二极管显示模块 数码管外部时钟该系统主要由分频模块fen50m_1s、控制模块traffic_control、转换模块bin2bcd以及显示模块display电路构成。其中分频模块fen50m_1s主要将系统输入的基准时钟信号转换为1Hz的激励信号,驱动控制模块工作。控制模块traffic_control根据计数情况对交通灯的亮灭及持续时间进行控制。转换模块bin2bcd将控制模块设计的亮灯时间的二进制转换为bcd码。显示模块display主要将亮灯时间以倒计时的形式通过数码显示出来【时钟分频模块】系统时钟脉冲为50MHz,为满足各个模块脉冲需求,需要分频成2Hz和400

    4、0Hz的脉冲。 fen50m_1s模块设计,实现频率由50MHz到2Hz的转变,达到我们需要的1s的要求,模块如下图: 分频器一 端口说明:clkin:输入50MHz时钟脉冲clkout:输出2Hz脉冲fen50m_1s实现Verilog语言描述如下:module fen50m_1s(clkin,clkout); input clkin; output clkout; reg clkout; reg 24:0 q; always (posedge clkin) begin if (q=24999999) begin q=0; clkout=clkout; end else q=q+1; end

    5、endmodule 编译结果: 分频器二fen50m_4000模块设计,实现频率由50MHz到4000Hz的转变 分频器二端口说明:clkin:输入50MHz时钟脉冲clkout:输出4000Hz脉冲分频器fen50m_4000模块实现程序:module fen50m_4000(clkin,clkout); input clkin; output clkout; reg clkout; reg 24:0 q; always (posedge clkin) begin if (q=12499) begin q=0; clkout=clkout; end else q=q+1; endendmod

    6、ule编译结果: 【交通灯控制及计时模块】 端口说明:Clock:输入时钟信号,上升沿有效。Reset:复位信号,高电平有效。Red1、yellow1、green1:分别表示A路的红灯、黄灯、绿灯显示信号,高电平有效。Red2、yellow2、green2:分别表示B路的红灯、黄灯、绿灯显示信号,高电平有效。Timea:A路绿灯亮时间,高电平有效。Timeb:B路红灯亮时间,高电平有效。Alarm:倒计时信号输出实现程序:module traffic_control(clock,reset,red1,yellow1,green1,red2,yellow2,green2,timea,timeb,

    7、alarm);input clock,reset;output red1,yellow1,green1,red2,yellow2,green2,alarm;output 7:0 timea,timeb;reg 1:0 state=2b00;reg 7:0 timea=40; /A路绿灯亮时间reg 7:0 timeb=45; /B路红灯亮时间reg red1=1b0,yellow1=1b0,green1=1b1; /A绿灯亮reg red2=1b1,yellow2=1b0,green2=1b0; /B红灯亮 reg alarm=1b0; always (posedge clock or pos

    8、edge reset)begin if (reset) begin state=2b00; timea=40; timeb=45; end else begin case (state) 2b00: begin if (timea=0) /A绿灯亮时间40S结束 begin timea=5; /A黄灯亮时间5S red1=1b0; yellow1=1b1; green1=1b0; /A黄灯亮 red2=1b1; yellow2=1b0; green2=1b0; /B红灯继续亮 state=2b01; /转到A黄灯,B红灯 end else begin timea=timea-1; /A绿灯亮时

    9、间40S- timeb=timeb-1; /B红灯亮时间45S- state=2b00; end end 2b01: begin if (timea=0) /A黄灯亮5S时间结束 begin timea=45; /A红灯亮时间45S timeb=40; /B绿灯亮时间40S red1=1b1; yellow1=1b0; green1=1b0; /A红灯亮 red2=1b0; yellow2=1b0; green2=1b1; /B绿灯亮 alarm=1b0; state=2b10; /转到A红灯,B绿灯 end else begin timea=timea-1; /A黄灯亮时间3S- timeb

    10、=timeb-1; /B红灯亮时间3S- alarm=alarm; yellow1=yellow1; state=2b01; end end 2b10: begin if (timeb=0) /B绿灯亮40S时间结束 begin timeb=5; /B灯黄亮时间5S red1=1b1; yellow1=1b0; green1=1b0; /A红灯亮 red2=1b0; yellow2=1b1; green2=1b0; /B黄灯亮 state=2b11; /转到A红灯,B黄灯 end else begin timea=timea-1; /A红灯亮时间- timeb=timeb-1; /B绿灯亮时间

    11、- state=2b10; end end 2b11: begin if (timeb=0) /B黄灯亮5S时间结束 begin timea=40; /A绿灯亮时间40S timeb=45; /B绿灯亮时间45S red1=1b0; yellow1=1b0; green1=1b1; /A绿灯亮 red2=1b1; yellow2=1b0; green2=1b0; /B红灯亮 alarm=1b0; state=2b00; /转到A绿灯,B红灯 end else begin timea=timea-1; /A红灯亮时间- timeb=timeb-1; /B黄灯亮时间- alarm=alarm; y

    12、ellow2=yellow2; state=90) begin numa=9; numb=numin-90; end else if (numin=80) begin numa=8; numb=numin-80; end else if (numin=70) begin numa=7; numb=numin-70; end else if (numin=60) begin numa=6; numb=numin-60; end else if (numin=50) begin numa=5; numb=numin-50; end else if (numin=40) begin numa=4;

    13、numb=numin-40; end else if (numin=30) begin numa=3; numb=numin-30; end else if (numin=20) begin numa=2; numb=numin-20; end else if (numin=10) begin numa=1; numb=numin-10; end else begin numa=0; numb=numin; end endendmodule编译结果:【数码管显示译码和扫描模块】 驱动交通信号LED灯以及倒计时器数码管的显示,模块如下图: 端口说明:Scanclk:4000Hz时钟脉冲Ewh,s

    14、mh:输入高4位BCD码Ewl,sml:输入高4位BCD码Ledout:数码管段选Ledsel:数码管位选Verilog语言描述如下:module display(scanclk,ewh,ewl,snh,snl,ledout,ledsel);input scanclk;input 3:0 ewh,ewl,snh,snl;output 6:0 ledout;output 3:0 ledsel;reg 6:0 ledout;reg 3:0 ledsel;reg 3:0 bcd;reg 2:0 q;always (posedge scanclk)begin q=q+1; case(q) 3b000:

    15、begin ledsel=4b0111;bcd=ewh;end 3b001:begin ledsel=4b1011;bcd=ewl;end 3b010:begin ledsel=4b1101;bcd=snh;end 3b011:begin ledsel=4b1110;bcd=snl;end default:begin ledsel=8b11111111;bcd=4bzzzz;end endcaseendalways (bcd)begin case(bcd) 4b0000:ledout=7b0111111; 4b0001:ledout=7b0000110; 4b0010:ledout=7b101

    16、1011; 4b0011:ledout=7b1001111; 4b0100:ledout=7b1100110; 4b0101:ledout=7b1101101; 4b0110:ledout=7b1111101; 4b0111:ledout=7b0000111; 4b1000:ledout=7b1111111; 4b1001:ledout=7b1101111; default:ledout=7b0000000; endcaseendendmodule编译结果:【各模块电路符号】顶层电路图如下:顶层文件原理图顶层文件编译结果如下:【硬件验证结果】1、引脚配置如下:2、硬件验证效果如下:按照设计好的

    17、原理图,运行Quartus软件,运用模块化设计方法,创建图形设计文件,画出所设计的交通灯控制器总框图并连接,对其进行测试,编译,得到结果如图所示:【总结】 本设计借助FPGA器件及其支撑软件,快速明确的验证了交通灯控制功能。通过此次EDA课程设计,我系统的学习了课本上的相关知识,对程序设计有了一定思路;通过实验课的学习,在程序的调试方面也学到了很多东西。其中在编程中也出现了很多的问题,但通过老师同学的帮助下,把问题一一解决了。其实只要我们自己认真看书,仔细分析,仔细调试,就一定会发现错误,真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中。在这个设计过程中我深刻

    18、地体会到刻苦努力与认真对待的重要性,进一步巩固了自己所学的专业基础知识,提高了自己解决问题的能力。本设计使得我有了一次非常好的将理论与实践结合的机会,并使我从中学到了新知识。通过学习EDA这门课程,懂得了Quartus这个软件的基本操作、用Verilog语言编写一些简单的程序,我知道我还需要不断的学习,才能更好地掌握这一门课程。最后我想特别的感宇宁老师,感您的悉心指导,您渊博的学识,谦虚、严谨的治学态度、灵活的思维方式、认真的工作作风和对学生的关心都令我佩服不已,谆谆教诲使我受益匪浅!我会继续努力的!参考文献 参考文献1 王金明.数字系统设计与Verilog HDLM.:电子工业.2011.1.2 昕燕,周凤臣,聂春燕.EDA技术实验与课程设计M.:清华.2006.5.


    注意事项

    本文(基于EDA的VHDL语言设计的交通灯.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开