基于VHDL的交通灯设计(EDA课程设计报告)!!_精品.doc
文本预览下载声明
PAGE
EDA课程设计实验报告
交通信号控制器的VHDL的设计
一、设计任务及要求:
设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求:
交通灯从绿变红时,有4秒黄灯亮的间隔时间;
交通灯红变绿是直接进行的,没有间隔时间;
主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;
在任意时间,显示每个状态到该状态结束所需的时间。
支干道
主干道
图1 路口交通管理示意图
A
B
C
D
主干道交通灯
绿(40秒)
黄(4秒)
红(20秒)
红(4秒)
支干道交通灯
红
红
绿
黄
表1 交通信号灯的4种状态
设计要求:
采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。
编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。
二 设计原理
1、设计目的:
学习DEA开发软件和Quartus = 2 \* ROMAN II的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制
2’
(1)第一模块:clk时钟秒脉冲发生电路
在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。
模块说明:
系统输入信号:
Clk: 由外接信号发生器提供256的时钟信号;
系统输出信号: full:产生每秒一个脉冲的信号;
(2)第二模块:计数秒数选择电路
计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。
模块说明:
系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号;
系统输出信号: tm: 产生显示电路状态转换信号
tl:倒计数值 秒数个位变化控制信号
th:倒计数值 秒数十位变化控制信号
(3)第三模块:红绿灯状态转换电路
本电路负责红绿灯的转换。
模块说明:
系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号;
tm: 接收计数秒数选择电路状态转换信号;
系统输出信号: comb_out: 负责红绿灯的状态显示。
(4)第四模块:时间显示电路
本电路负责红绿灯的计数时间的显示。
模块说明:
系统输入信号:tl:倒计数值 秒数个位变化控制信号;
th:倒计数值 秒数十位变化控制信号;
系统输出信号: led7s1: 负责红绿灯的显示秒数个位。
led7s2: 负责红绿灯的显示秒数十位。
三、设计方案
定时时间到检测电路
定时时间到检测电路
计时器预置数产生电路状态发生器(两位二进制计数器)
计时器
预置数产生电路
状态发生器(两位二进制计数器)
时间显示数据输出
红黄绿灯输出
红黄绿灯输出
控制电路(RYG)
红黄绿灯信号输出
1秒时钟脉冲信号发生器
1秒时钟脉冲信号发生器
图2 交通信号灯控制器的原理框图
采用VHDL语言输入的方式实现交通信号灯控制器
秒脉冲信号发生器(进程P1和P2)
秒脉冲信号发生器(进程P1和P2)
状态寄存器
(进程P6)
计数器
(进程P3、P4和P5)
时间显示数据输出
次态发生器
次态发生器
信号灯输出信号
(进程P7)
信号灯输出
显示全部