FPGA实验四:交通灯控制器设计

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
实验设计一个十字路口的交通灯控制,分为东西和南北两个部分。每个部分有五盏灯,分别为左转灯、直行灯、右转灯、人行道灯及黄灯,另外还有一个倒计时。左转灯、直行灯、右转灯、人行道灯亮表示允许通行,灯灭表示禁止通行;黄灯亮表示即将有信号灯的状态发生改变;倒计时显示了到下一状态的时间。 2.状态表(0表示灯灭,1表示灯亮) 时间度量 东西方向  南北方向 东西方向 南北方向 t/s ← ↑ → 行人 黄 ← ↑ → 行人 黄 倒计时/s 倒计时/s 0~13 0 1 1 0 0 0 0 0 0 0 13 45 13~15 0 1 1 0 1 0 0 0 0 0 2   15~28 0 1 0 1 0 0 0 0 0 0 13   28~30 0 1 0 1 1 0 0 0 0 0 2   30~43 1 0 0 0 0 0 0 0 0 0 13   43~45 1 0 0 0 1 0 0 0 0 0 2   45~58 0 0 0 0 0 0 1 1 0 0 45 13 58~60 0 0 0 0 0 0 1 1 0 1   2 60~73 0 0 0 0 0 0 1 0 1 0   13 73~75 0 0 0 0 0 0 1 0 1 1   2 75~88 0 0 0 0 0 1 0 0 0 0   13 88~90 0 0 0 0 0 1 0 0 0 1   2 3.状态图(低电平表示灯灭,高电平表示灯亮) 4.顶层设计图 如图所示,交通灯控制主要分为三个模块,交通灯状态控制,交通灯显示和倒计时。交通灯状态控制模块:接受频率为1Hz的时钟信号,根据该信号进行处理,对交通灯显示和倒计时模块给出相应的状态编号(12个状态)。交通灯显示模块:通过相应的状态设置两组交通灯的亮灭。倒计时模块:通过相应的状态确定倒计时的基数及显示。
设计任务 (一)有一条主干道和一条支干道的汇合点形成十字交叉路口,主干道为东西向,支干道为南北向。为确保车辆安全,迅速地通行,在交叉道口的每个入口处设置了红,绿,黄3色信号灯。 (二)要求: (1)主干道绿灯亮时,支干道红灯亮,反之亦然,两者交替允许通行,主干道每次放行55s,支干道每次放行25s。每次由绿灯变为红灯的过程中,黄灯亮5s作为过渡。 (2)能实现正常的倒计时显示功能。 (3)能实现总体清零功能:计数由初始状态开始计数,对应状态的指示灯亮。 (4)能实现特殊状态的功能显示:进入特殊状态时,东西、南北路口均显示红灯状态。 Verilog HDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。利用Verilog的设计描述可被不同的工具(包括验证仿真、时序分析、测试分析以及综合)所支持,可用不同件来实现。而可编程件的广泛应用,为数字系统的设计带来了极大的灵活性。由于可编程件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样快捷方便。 本文用Verilog HDL设计了一个交通灯控制系统,主干道交通灯按绿-黄-红变化,支干道交通灯按红-绿-黄变化。设计采用了自顶向下的设计方法,首先根据功能将电路分为div(包括div1和div2)、counter、controller、Fenwei(包括Fenwei1和Fenwei2)、demx模块,然后针对每个模块进行开发。利用QuartusII6.0中的仿真工具对每个模块进行仿真,保证功能正确。在此基础上,将所有模块连接起来,形成完整的设计,并用QuartusII6.0中的仿真工具再次仿真。仿真结果表明功能正确,符合设计要求。最后利用QuartusII6.0将程序下载到Altera FPGA芯片EP1C3T144C8中,实际结果表明电路工作正常,满足了设计要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值