教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

基于FPGA的交通灯控制器设计(VHDl代码全,各个模块均调试通过)

来源:网络收集 时间:2026-08-31
导读: 按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。 2.3 FPGA主控实现方案设计 结合已有的PLC实现和单片机应用实现的经验,并吸收两种设计的优势之处,再根据交通灯控制系

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

2.3 FPGA主控实现方案设计

结合已有的PLC实现和单片机应用实现的经验,并吸收两种设计的优势之处,再根据交通灯控制系统的设计要求和FPGA模块化功能实现,确定了以下方案,因每个方向相对的信号灯状态及倒计时显示器的显示完全一致,根据设计要求和系统所具有的功能,交通灯控制器系统框图如图2-6 所示。

图2-6 交通灯控制器系统框图

确定的方案中,系统具有复位功能,能使系统重新开始计时;在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通的,但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制。为此主体包括系统复位,手动/自动,红绿灯切换,主控模块,显示器,报警器。具体主控部分用FPGA来实现。

图2-7 交通灯通行示意图

结合实现方案,主要有东西、南北、南北左拐,东西左拐,跟手动控制5种工作方式,具体由M2~M0设定,具体如表2-1。

2-1 交通灯工作方式表

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

方式 M2(0:自动, M1(0:A向, M0(O:直行,

1:手动)

1 2 3 4 5

0 0 0 0 1

1:B向)

0 0 1 1 *

1:左拐)

0 1 0 1 *

当出现特殊情况时,可选择方式1 到方式4 中的任何一种方式,停止正常运行,进入特殊运行状态。此时交通灯按工作方式显示,计时电路停止计时,计时时间闪烁显示。当系统总复位时,控制电路和计时电路复位,信号灯全部熄灭。

3 各功能模块的设计与实现

3.1总体设计思路

3.1.1系统组成框图

结合设计任务要求和确定的实现方案,假设某个十字路口是由一条主干道和一条次干道回合而成,在每个方向设置红绿黄3种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停考到禁止线以外。

按照自顶向下的层次化设计方法,整个系统可分为4个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。其系统组成方框图如图3-1所示。

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

图3-1 交通灯控制器系统组成框图

在自动控制模块时,绿灯亮为55秒,黄灯亮为5秒,红灯亮为60秒。其外部硬件电路方面包括:两组红绿灯(配合十字路口的双向指挥控制)、两级七段显示器(配合绿灯倒计时显示)、一组手动与自动控制开关(针对交通警察指挥交通控制使用)。

3.1.2交通灯的状态转换图

图3-2 主干道状态转换

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

图3-3 支干道状态转换

由上面的两个干道的状态转换图可知,两个方向的先设计成并列的,即都是按照倒计时信号进行状态跳转,然后再加入两者之间的限制关系和SIGNAL信号。

交通灯的控制过程可以分为四个阶段,对应的输出有四种状态,分别为S0,S1,S2,S3,四个阶段的灯亮状态如表3-2。

表3-2 四个阶段的灯亮状态表

状态

灯亮情况

格雷码 00 01 11 10

S0状态 主干道绿灯亮,支干道红灯亮 S1状态 主干道黄灯亮,支干道红灯亮 S2状态 主干道红灯亮,支干道绿灯亮 S3状态 主干道红灯亮,支干道黄灯亮

对于上述的S0和S2状态要加以说明:首先,当主干道方向55秒计时结束时,若支干道方向无车时,这时控制器应继续运行在S0状态,再运行55秒,等到下一次计时结束时再行判断;当主干道55秒计时结束,若支干道方向有车,则按照状态转换图进行跳转。同理,支干道也执行相同的处理。

其次,当支干道开始绿灯亮时,规定必须保持支干道方向一直有车时,支干道方向的绿灯才能继续维持,否则在计数未结束但支干道无车时,执行从S2状态跳转到S3状态;若支干道有车一直维持到55秒计数结束,那么也要执行状态转换。

3.2 功能模块设置及实现

结合前面的系统设计框图和状态设置,把主控部分分为主控制模块,55秒倒计时模块,5秒倒计时模块,倒计时时间选择驱动模块,倒计时时间选择模块,1KHz时钟信号模块,1Hz计数时钟信号模块,倒计时时间数据多路选择模块,动态显示驱动模块,显示数据多路选择模块,显示数据译码模块。

系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各个功能模

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

块连接起来。下面分别来介绍各个功能模块的实现和调试过程。

3.2.1主控制模块

该模块主要完成根据外部输入信号Reset、SW控制输出,用于控制交通灯的信号Red1,Red2,Yellow1,Yellow2,Green1,Green2。这中间包含了必要的内部模块之间的信号EN_in(来自倒计时时间选择驱动模块)。其源代码见附录1,其仿真结果与编译后的结果如图3-4,3-5所示。

图3-4 主控模块

图3-5 仿真结果

从图3-5可以简单地检查主控模块设计的逻辑上的正确性,同时也可以看到一些简单的延时信息。确认基本正确后,进行下面模块的设计与分析。

3.2.2 55秒倒计时模块

该模块主要完成55秒的倒计时,控制红灯的点亮时间。实际中在1分钟内还要有绿到黄灯的转换以提醒车辆与行人,所以选择了55秒作为绿灯的点亮时间。其源代码见附录1,其仿真结果与编译后的结果如图3-6,3-7所示。

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

图3-6 55秒倒计时模块

图3-7 仿真结果

从图3-7可以简单地检查55秒倒计时模块的逻辑上的正确性,同时也可以看到一些简单的延时信息。确认基本正确后,进行下面模块的设计与分析。

3.2.3 5秒倒计时模块

该模块主要完成5秒的倒计时,控制黄灯的点亮时间。实际中在1分钟内还要有红到黄灯的转换以提醒车辆与行人,所以选择了55秒作为红灯的点亮时间后,黄灯的点亮时间必定为5秒。其源代码见附录1,其仿真结果与编译后的结果如图3-8,3-9

所示。

图3-8 5秒倒计时模块

按照自顶向下的层次化设计方法,整个系统可分为4 个模块,系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。

图3-9 仿真结果

从图3-9可以简单地检查5秒倒计时模块的逻辑上的正确性,同时也可以看到一些简单的延时信息。确认基本正确后,进行下面模块的设计与分析。

3.2.4倒计时时间选择驱动模块

该模块只要完成倒计时时间长短选择的功能,输入信号来自两个倒计时模块,当倒计数完成是产生一个脉冲用于驱动 …… 此处隐藏:5411字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于FPGA的交通灯控制器设计(VHDl代码全,各个模块均调试通过).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1730700.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)