EDA交通信号控制器VHDL的设计.docVIP

  • 7
  • 0
  • 约6.71千字
  • 约 14页
  • 2018-08-28 发布于湖北
  • 举报
PAGE PAGE 15 交通信号控制器的VHDL的设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 支干道 主干道 图1 路口交通管理示意图 A B C D 主干道交通灯 绿(40秒) 黄(4秒) 红(20秒) 红(4秒) 支干道交通灯 红 红 绿 黄 表1 交通信号灯的4种状态 设计要求: (1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。 二、设计原理 1、设计目的: 学习EDA开发软件和Quartus = 2 \* ROMAN \* MERGEFORMAT II的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。 设计说明: 在事先准备及老师指导后,将此次设计分4个模块,来解决交通灯的各项特性。 (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: 负责红绿灯的显示秒数十位 三、设计方案 状态寄存器秒脉冲信号发生器计数器CLK 状态寄存器 秒脉冲信号发生器 计数器 时间显示数据输出 次态发生器 次态发生器 信号灯输出信号 信号灯输出 图2 交通信号灯控制器程序原理框图 进程将CLK信号分频后产生1秒信号,然后构成两个带有预置数功能的十进制计数器,并产生允许十位计数器计数的控制信号。状态寄存器实现状态转换和产生状态转换的控制信号,下个模块产生次态信号和信号灯输出信号,以及每一个状态的时间值。 经过四个模块的处理,使时间计数、红绿灯显示能够正常运行。 四、程序清单: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY traffic IS

文档评论(0)

1亿VIP精品文档

相关文档