博客
关于我
基于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/

    你可能感兴趣的文章
    Node.js卸载超详细步骤(附图文讲解)
    查看>>
    Node.js基于Express框架搭建一个简单的注册登录Web功能
    查看>>
    Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
    查看>>
    Node.js安装及环境配置之Windows篇
    查看>>
    Node.js安装和入门 - 2行代码让你能够启动一个Server
    查看>>
    node.js安装方法
    查看>>
    Node.js官网无法正常访问时安装NodeJS的方法
    查看>>
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    nodejs + socket.io 同时使用http 和 https
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>