博客
关于我
基于fpga的交通灯的设计
阅读量:300 次
发布时间:2019-03-01

本文共 1236 字,大约阅读时间需要 4 分钟。

交通灯控制设计

课程设计目的与要求

本课程设计旨在通过FPGA核心实现交通灯控制器,研究一个十字路口的信号灯控制系统。系统需要支持两条车道的交替运行,且每条车道的通行时间可设定不同。信号灯采用LED光柱或数码管倒计时显示,并支持紧急情况下的双向红灯触发功能。

目的
  • 使用FPGA芯片作为控制核心,设计交通灯信号灯控制器。
  • 每个路口设置红、绿、黄三色信号灯,实现车辆的正常通行和应急情况下的控制。
  • 采用LED光柱或数码管倒计时方式进行时间显示。
要求
  • 东西、南北两个方向信号灯必须交替工作,且通行时间可设定不同。
  • 信号灯采用LED光柱或数码管倒计时显示方式。
  • 系统支持紧急情况下的双向红灯触发。
  • 每个路口使用两位七段数码管进行倒计时显示。
  • 分工
    • 马浩宁:负责电路设计、程序调试及PCB绘制。
    • 张晓涵:负责电路制作、焊接及论文撰写。
    • 王春燕:负责资料收集与整理。

    FPGA模块方案论证及选择

    FPGA模块由四个部分组成:顶层控制模块(top_traffic)、交通灯控制模块(traffic_light)、数码管显示模块(seg_led)和LED灯控制模块(led)。顶层模块负责对其他三个子模块进行配置并完成信号连接,实现各模块之间的数据传递。

    • 顶层模块(top_traffic):完成子模块的配置,实现信号连接,并将驱动信号输出给外设(交通信号灯)。
    • 交通灯控制模块(traffic_light):控制信号灯状态转换,输出实时状态信号和时间数据给数码管显示模块和LED灯控制模块。
    • 数码管显示模块(seg_led):接收并处理东西、南北方向的实时时间数据,驱动对应数码管进行显示。
    • LED灯控制模块(led):根据接收到的状态信号驱动东西、南北方向的LED发光。

    原理设计

    基本原理

    FPGA开发板的P6扩展口用于外接交通信号灯模块。信号灯模块由12个LED组成,采用共阳型数码管控制。由于东西、南北方向的LED亮灭状态一致,减少了控制信号的引脚数量。

    系统组成框图

    交通灯控制模块将时间数据连接至数码管显示模块,状态信号连接至LED灯控制模块。系统总体框架如图所示,实现信号灯和数码管的驱动控制。

    单元电路设计
    • FPGA最小系统:包括FPGA芯片、下载电路、外部时钟、复位电路和电源。
    • 数码管显示电路:采用PNP型三极管驱动四组两位共阳数码管,基极低电平有效。

    总体电路图

    交通灯控制模块将时间数据连接至数码管显示模块,状态信号连接至LED灯控制模块,驱动交通信号灯外设工作。

    软件设计

    系统软件流程图如图所示,展示了程序设计流程。

    元件列表

    项目 数量 描述
    发光二极管(红绿黄) 12个
    2.54单排针 1*40
    三极管8550 4个
    排母 2排
    共阳极数码管组 4组
    FPGA模块 1块

    方案实现与测试

    本课题通过FPGA控制实现了交通灯信号灯的逻辑设计,实验现象如图所示。系统符合设计要求,能够正常运行,支持不同车道的通行时间设定及紧急情况下的双向红灯触发功能。

    转载地址:http://psxo.baihongyu.com/

    你可能感兴趣的文章
    Numpy多项式.Polynomial.fit()给出的系数与多项式.Polyfit()不同
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy学习笔记3-array切片
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>
    NUMPY矢量化np.prod不能构造具有超过32个操作数的ufunc
    查看>>
    Numpy矩阵与通用函数
    查看>>
    numpy绘制热力图
    查看>>
    numpy转PIL 报错TypeError: Cannot handle this data type
    查看>>
    Numpy闯关100题,我闯了95关,你呢?
    查看>>
    nump模块
    查看>>
    Nutch + solr 这个配合不错哦
    查看>>
    NuttX 构建系统
    查看>>
    NutUI:京东风格的轻量级 Vue 组件库
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NutzWk 5.1.5 发布,Java 微服务分布式开发框架
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    Nuxt Time 使用指南
    查看>>
    NuxtJS 接口转发详解:Nitro 的用法与注意事项
    查看>>
    NVDIMM原理与应用之四:基于pstore 和 ramoops保存Kernel panic日志
    查看>>