数字电路-交通灯控制器-实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课题1.4.2:交通灯控制器

一.设计课题的任务要求:

(一)、实验目的

1. 熟练掌握VHDL 语言和QuartusII 软件的使用;

2. 理解状态机的工作原理和设计方法;

(二)、相关知识

本实验要利用CPLD 设计实现一个十字路口的交通灯控制系统,与其他控制系统一样,本系统划分为控制器和受控电路两部分。控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。

路口交通灯控制系统的有东西路和南北路交通灯R(红)、Y(黄)、G(绿)三色,所有灯均为高电平点亮。设置20s 的通行时间和5s 转换时间的变模定时电路,用数码管显示剩余时间。提供系统正常工作/复位和紧急情况两种工作模式。

(三)、实验任务

1.基本任务:

设计制作一个用于十字路口的交通灯控制器。

1). 南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒;

2). 当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行;

3). 用数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;

二.系统设计(包括设计思路、总体框图、分块设计)

(一)设计思路

1.总体设计----输入部分:

1)CLK时钟频率输入,可由实验板上直接提供,为准确确定时间长度,选择1024Hz信号。

2)紧急状态按键拨码开关EMERGENCY,当将其置为高电平,表示紧急情况发生,两个方向均为红灯

亮,计时停止;当置其为低电平,信号灯和计时器恢复原来状态,正常工作。

3)复位拨码开关RESET,当将其置为高电平,表示复位,工作停止,全部回到初始状态;当置其为低

电平,重新开始工作。

2.总体设计----输出部分:

1)东西方向和南北方向各使用3个LED显示,LIGHT1,LIGHT2,红黄绿各代表红黄绿灯。

2)东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。

(二)总体框图

1.输入输出示意图

2.模块示意图

3.流程图

4.RTL图

5.状态显示

红绿灯显示状态状态

S0 南北绿灯亮,东西红灯亮

S1 南北黄灯亮,东西红灯亮

S2 南北红灯亮,东西绿灯亮

S3 南北红灯亮,东西黄灯亮

S4 南北东西红灯都亮

(三)分块设计-------在VHDL设计中,采用自顶向下的设计思路。

1.顶层模块中,根据硬件设计,设置如下端口:

◆外部时钟信号:CLK

◆紧急状态按键:EMERGENCY

◆南北方向状态灯:LIGHT1

◆东西方向状态灯:LIGHT2

◆数码管显示信号:NUM

◆控制数码管:B_OUT

2.在底层中,把不同功能分模块设计。

◆FREQUENCY模块,由于外部时钟信号CLK的频率为1024Hz,而实际需要的内部计时时钟频率为

1Hz,需要一个分频电路。

输入端口:CLK外部时钟信号

输出端口:CLK_OUT分频后信号

◆COUNTER模块,由于整个过程的显示周期为50秒,即50个状态,所以该模块为计数器模块,计

数周期为50,输入为1Hz的外部时钟,并加入紧急信号和复位信号,当输入紧急信号,计数停止,

当输入复位信号,计数置1.通过该计数器的计数输出信号来控制LIGHT模块和COUNTDOWN模块

的状态。

输入端口:CLK时钟信号,EMERGENCY紧急信号,RESET复位信号

输出端口:COUNTER计数状态信号

◆COUNTDOWN模块,倒计时显示模块,通过输入的COUNTER和CLK来控制数码管共阴极和7

段数码管数字显示控制。

输入接口:CLK时钟信号,COUNT计数器信号

输出接口:CAT_TEMP共阴极控制,NUMIN数字输出

◆bian_ma_6模块:将输入接口的CAT_TEMP共阴极控制转换为三八译码器的输入端。

输入端口:CAT_TEMP共阴极控制

输出端口:b_out;

◆SHOW模块,接收数字信号,进行7位数码管显示译码输出。

输入接口:NUMIN输入信号

输出接口:NUM译码输出

◆LIGHT信号灯控制模块,使用状态机,双进程控制5个状态

输入接口:COUNT计数器信号,EMERGENCY紧急状态控制

输出接口:LIGHT1,LIGHT2信号灯输出

三.仿真波形及波形分析

仿真波形

1.状态周期为1~50,在每个状态内,数码管共阴极进行扫描,且扫描同时数码管显示进行循环变化

2.周期状态,在1~20,21~25,26~45,46~50进行红绿灯显示变化

3.一整个周期状态1~50,在1~20,21~25,26~45,46~50进行红绿灯显示变化

4.多个周期循环

5.紧急状态和复位状态

四.源程序(注释)

●FREQUENCY--分频模块:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY FREQUENCY IS

PORT(

CLK:IN STD_LOGIC;

CLK_OUT:OUT STD_LOGIC

);

END FREQUENCY;

ARCHITECTURE FREQ OF FREQUENCY IS

SIGNAL TEMP:INTEGER RANGE 0 TO 1023;----设置分频1023,则为1Hz

BEGIN

相关文档
最新文档