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

    你可能感兴趣的文章
    poj 2965 The Pilots Brothers' refrigerator-1
    查看>>
    poj 3026( Borg Maze BFS + Prim)
    查看>>
    POJ 3041 - 最大二分匹配
    查看>>
    POJ 3041 Asteroids(二分匹配模板题)
    查看>>
    Qt笔记——标准文件对话框QFileDialog
    查看>>
    poj 3083 Children of the Candy Corn
    查看>>
    POJ 3083 Children of the Candy Corn 解题报告
    查看>>
    POJ 3253 Fence Repair C++ STL multiset 可解 (同51nod 1117 聪明的木匠)
    查看>>
    Qt笔记——控件总结
    查看>>
    poj 3262 Protecting the Flowers 贪心
    查看>>
    poj 3264(简单线段树)
    查看>>
    Qt笔记——布局管理三件套分割窗口、停靠窗口和堆栈窗口
    查看>>
    poj 3277 线段树
    查看>>
    POJ 3349 Snowflake Snow Snowflakes
    查看>>
    POJ 3411 DFS
    查看>>
    poj 3422 Kaka's Matrix Travels (费用流 + 拆点)
    查看>>
    Qt笔记——官方文档全局定义(二)Functions函数
    查看>>
    POJ 3468 A Simple Problem with Integers
    查看>>
    poj 3468 A Simple Problem with Integers 降维线段树
    查看>>
    poj 3468 A Simple Problem with Integers(线段树 插线问线)
    查看>>