当前位置:文档之家› 基于FPGA的交通灯控制器设计

基于FPGA的交通灯控制器设计

基于FPGA的交通灯控制器设计
基于FPGA的交通灯控制器设计

交通灯控制器设计

专业:计算机应用技术

班级:计应2 班

学号:147030201

姓名:蔡利军

基于FPGA的交通灯控制器设计

摘要

超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。

交通灯控制系统可以实现路口红绿灯的自动控制。基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。

关键词:VHDL,交通灯,EDA

目录

前言 (1)

第1章 FPGA概述 (2)

1.1 FPGA的简介 (2)

1.2 FPGA的应用 (2)

第2章 VHDL硬件描述语言 (3)

2.1 VHDL程序基本结构 (3)

2.1.1 实体 (4)

2.1.2 结构体 (4)

2.1.3 库 (5)

2.2 VHDL语言 (5)

2.2.1 VHDL文字规则 (5)

2.2.2 VHDL数据对象 (5)

2.2.3 VHDL数据类型 (6)

2.2.4 VHDL 顺序语句 (6)

2.2.5 VHDL并行语句 (6)

第3章系统设计与仿真 (7)

3.1 系统介绍 (7)

3.1.1 设计任务 (7)

3.1.2 设计要求 (7)

3.2 系统设计仿真 (8)

3.2.1 顶层框图的设计 (8)

3.2.2 时序状态图的设计 (9)

3.2.3 工程设计流程框图: (10)

3.2.4 芯片的选择 (10)

3.2.5 各个模块的设计与仿真 (11)

结论 (27)

附录..................................... 错误!未定义书签。

前言

当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断进行更新换代,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师更愿意自己设计专业集成电路(ASIC)芯片,而且希望设计周期尽可能短,最好在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程器件(FPLD)。现场可编程门阵列(FPGA)即属其中应用最广泛的一种。

随着电子技术的发展,特别是大规模集成电路和计算机技术的研制和发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择,而电子电路的设计却变得越来越复杂,使用“语言”进行电子设计已成为一种趋势。现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。基于EDA技术的现场可编程门阵列(FPGA)电 (ASIC) ,在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考虑具体的硬件结构。基于EDA 技术的现场可编程门阵列(FPGA)电路,提出现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。VHDL语言是电子设计的主流硬件描述语言,它更适合进行行为描述,这种方式使得设计者专注于电路功能的设计,而不必过多地考虑具体的硬件结构。

第1章FPGA概述

1.1 FPGA的简介

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

目前以硬件描述语言所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。

1.2 FPGA的应用

FPGA的应用可分为三个层面:电路设计,产品设计,系统设计。

1.电路设计

连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA 应用的基石。事实上在电路设计中应用FPGA要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。

2.产品设计

把相对成熟的技术应用到某些特定领域开发出满足行业需要并能被行业客户接受的产品。这方面主要是FPGA技术和专业技术的结合问题,重点在性能, FPGA技术在这个领域是一个实现手段,FPGA因为具备接口,控制,功能IP,内嵌CPU等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计。

3.系统级应用

系统级的应用是FPGA与传统的计算机技术结合,实现一种FPGA 版的计算机系统如用Xilinx V-4, V-5系列的FPGA,实现内嵌POWER PC CPU, 然后再配合各种外围功能,这个平台上跑LINIX等系统这个系统也就支持各种标准外设和功能接口了,这对于快速构成FPGA大型系统来讲是很有帮助的。

第2章VHDL硬件描述语言

2.1 VHDL程序基本结构

一个相对完整的VHDL程序通常包含实体、结构体、配置、程序包和库5个部分。程序模板如下:

LIBRARY library name;

USE library name.package name.all;

ENTITY entity name IS

GENERIC

( parameter name :string:=default value;

parameter name :integer:=default value);

PORT

( input name,input name: IN STD-LOGIC;

Input vector name:IN STD_LOGIC_VECTOR( high DOWNTO low);

output name ,output name:OUT STD_LOGIC);

END entity name;

ARCHITECTURE a OF entity name IS

SIGNAL signal name:STD_LOGIC;

BEGIN

--process statement (optional)

:

--generate statement (optional)

END a;

2.1.1 实体

实体一般用来描述所设计的系统的外部接口信号,是可视部分;其中最重要的部分是端口说明。端口说明语句是对于一个设计实体界面的说明。端口名是赋予每个系统引脚的名称。一个实体通常有一个或多个端口,端口类似于原理图部件符合上的管脚。实体与外界交流的信息必须通过端口通道流入或流出。IEEE 1064标准包中定义了四种端口模式,其功能及符号分别是IN、OUT、INOUT、BUFFER、LINKAGE。

2.1.2 结构体

结构体用于描述系统内部的结构和行为,建立输入输出之间的关系。在一个实体中,可以含有一个或一个以上的结构体,而在每一个结构体中又可以含有一个或多个进程以及其他的语句。其中,实体名必须是被设计的实体的名字。结构体中的说明语句是对结构体的功能描述语句中将要用到的信号、数据类型、常数、元件、函数和过程等加以说明的语句。结构体包含两类语句:并行语句和顺序语句。在PROCESS中的语句是顺序执行的,当PROCESS所带的敏感信号发生变化时,PROCESS中的语句就会执行一遍。

2.1.3 库

库使用说明用于打开(调用)本设计实体将要用到的库,库是专门存放预编译程序包的地方。IEEE库:在IEEE库中有一个STD_LOGIC 的包,它是IEEE正式认可的包。STD库:STD库是VHDL的标准库,在库中有名为STANDARD的包。在使用库之前,一定要进行库说明,库的说明总是放在设计单元的前面。

2.2 VHDL语言

2.2.1 VHDL文字规则

VHDL文字主要包括数值和标识符。数值型文字主要有数字型、字符串型和位串型。数字型文字有:整数文字(十进制数)、实数文字(十进制数,必须带有小数点)、以数字基数表示的文字。字符串型文字有:文字字符串、数位字符串、标识符。

2.2.2 VHDL数据对象

在VHDL中,数据对象类似于一种容器,接受不同数据类型的赋值。数据对象有3种:即常量、信号、变量。常量是固定值,不能在程序中被改变。变量时一个局部量,是一个临时数据,没有物理意义。它只能在Process和Function中定义,必须在进程和子程序的说明性区域说明,并只在其内部有效。信号是描述硬件系统的基本数据对象,代表连接线,Port也是一种信号。

2.2.3 VHDL数据类型

VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有相同的数据类型的量才能互相传递和作用。VHDL 的基本类型有:bit(位)、bit-Vector(位矢量)、Boolean、time、character、string、integer 、real。

2.2.4 VHDL 顺序语句

VHDL有如下六类基本顺序语句:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。

赋值语句有信号赋值语句和变量赋值语句两种。流程控制语句共有五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句。

IF语句根据条件句产生的判断结果:TRUE 或 FALSE,有条件地选择执行其后的顺序语句。 CASE语句根据满足的条件直接选择多项顺序语句中的一项执行。空操作语句不完成任何操作,它常用于CASE语句中,利用它来表示所余的不用条件下的操作行为——满足所有可能的条件。

2.2.5 VHDL并行语句

结构体中的并行语句主要有七种:并行信号赋值语句、进程语句、块语句、条件信号赋值语句、元件例化语句(其中包括类属配置语句)生成语句、并行过程调用语句。

第3章系统设计与仿真

3.1 系统介绍

交通灯控制器用于自动控制十字路口交通灯和计时器,指挥各种车辆和行人安全通行。

3.1.1 设计任务

设计一个十字路口交通控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行;倒计时显示器用来显示允许通行或禁止通行的时间倒计时。

3.1.2 设计要求

在十字路口东西方向和南北方向各设一组左转灯、;显示的顺序为:左转灯绿灯黄灯红灯。

在东西方向和南北方向各设一组倒计时显示器。倒计时只显示对应方向上的红灯倒计时和绿灯倒计时。其余的状态不显示倒计时。左转灯、红灯、绿灯和黄灯亮的时间分别是15秒、80秒、45秒、5秒。状态表如表3-1所示:

表3-1 交通灯状态转换表

状态S0 S1 S2 S3 S4 S5

东西方向红红红

左转

绿黄

亮灯15 45 5 15 45 5

南北方向

左转

绿黄红红红

亮灯15 45 5 15 45 5

3.2 系统设计仿真

对于交通灯控制器,可基于Quartus II 软件,采用层次化混合输入方式进行设计,即顶层采用原理图设计,底层采用VHDL语言设计。

3.2.1 顶层框图的设计

顶层原理图设计可以依据系统框图进行,有分频模块、控制模块、倒计时模块、红绿灯显示模块、译码模块、译码显示模块6六部分组成,如图3-1 所示:

图3-1 顶层原理图系统框图3.2.2 时序状态图的设计

图3-2 交通灯时序状态图

3.2.3 工程设计流程框图:

新建工程

新建原理图文件或

VHDL文件

输入程序或编辑原

理图

编译,若有错,修改程序,

直至无错

建立波形文件,导入管

编译波形文件,查看仿真结

果,保存

图3-3 工程设计流程框图

3.2.4 芯片的选择

在这次毕业设计中,我们选用的FPGA芯片是Altera公司的Cyclone (飓风)系列的芯片,型号为:EP1C3T144C8。它是基于1.5V的,采用0.13um全铜SRAM工艺、TQFP封装,有5980个逻辑单元,2个锁相环,20个M4K RAM块,其中每个RAM为4kbit,可以另加一位奇偶校验位。

3.2.5 各个模块的设计与仿真

1. 模块设计

该模块可将频率为1KHZ的脉冲波,经过分频变为频率为1HZ的脉冲波,这样我们就得到了周期为1S的脉冲波。分频器程序清单如下:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity fenpinqi is

port ( clk1khz:in std_logic;

clk1hz:out std_logic);

end fenpinqi;

architecture a of fenpinqi is

begin

process( clk1khz )

variable q: integer:=0 ;

variable r:std_logic:='0';

begin

if clk1khz'event and clk1khz='1' then

if q=512 then r:=not r; q:=0;

else q:=q+1;

end if;

clk1hz<=r;

end if;

end process;

end a;

分频器程序仿真结果如图3-4所示:

图3-4 分频器程序仿真结果图

在分频器程序仿真结果图中,clk1khz 为输入脉冲信号,频率为1khz;clk1hz为输出脉冲信号,频率为1hz。从图中,我们可以看出clk1hz 的周期为1s。这表明程序的确把1khz的信号分频成1hz的信号。

2. 模块设计

control模块可根据clk的脉冲信号输出S的值,下游模块根据S的值来决定红绿灯的状态。同时对倒计时的信号赋初值。control模块程序清单:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity control is

port( clk:in std_logic;

s:out std_logic_vector(2 downto 0);

loadat,loadbt:out std_logic;

at,bt:out integer range 0 to 80);

end control;

architecture a of control is

signal t:integer;

begin

process(clk)

begin

if clk'event and clk='1' then

loadat<='0';loadbt<='0';

if t=0 then s<="000"; at<=80; loadat<='1';

elsif t=15 then s<="001"; bt<=45; loadbt<='1';

elsif t=60 then s<="010";

elsif t=65 then s<="011"; bt<=80; loadbt<='1';

elsif t=80 then s<="100"; at<=45; loadat<='1';

elsif t=125 then s<="101";

end if;

t<=t+1;

end if;

if t=130 then t<=0; end if;

end process;

end a;

control模块程序仿真结果如图3-5所示:

图3-5 control模块程序仿真结果图

在control模块程序仿真结果图中,只有一个输入信号clk,它是一个频率为1hz的时钟脉冲信号,输出信号有3个分别是s、at、bt。程序中,通过变量t的值来确定输出信号s的值,并由此确定将要赋

得倒计时的初值,然后赋给at,bt。在每次给at,bt赋值时,都会使另一个输出信号loadat,loadbt变成高电平,从而可以触发下一模块的装载。

3. daojishi模块设计

该模块用来接收control模块的输出作为初值,并进行减一操作,最后把减一得结果输出。程序里每检测到一个脉冲clk,就进行一次减一操作。atdaojishi模块程序清单:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity atdaojishi is

port ( clk,loadat:in std_logic;

atin:in integer range 0 to 80;

atout:out integer range 0 to 80);

end atdaojishi;

architecture a of atdaojishi is

signal countat:integer range 0 to 80;

begin

process

begin

wait until rising_edge(clk);

if loadat='1' then countat<=atin;

else countat<=countat-1;

end if;

end process;

atout<=countat;

end a;

atdaojishi模块程序仿真结果如图3-6所示:

图3-6 atdaojishi模块程序仿真结果图

在atdaojishi模块程序仿真结果图中,clk为1hz的输入信号,loadat为at计数器的装载信号,当loadat为高电平时,将输入信号atin的值装载到计数器中,开始执行减一操作,每接受一次clk,执行一次,并将结果输出。

4. daojishi模块设计

该模块用来接收control模块的输出作为初值,并进行减一操作,最后把减一得结果输出。程序里每检测到一个脉冲clk,就进行一次减一操作。btdaojishi模块程序清单:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity btdaojishi is

port ( clk,loadbt:in std_logic;

btin:in integer range 0 to 80;

btout:out integer range 0 to 80);

end btdaojishi;

architecture a of btdaojishi is

signal countbt:integer range 0 to 80;

begin

process

begin

wait until rising_edge(clk);

if loadbt='1' then countbt<=btin;

else countbt<=countbt-1;

end if;

end process;

btout<=countbt;

end a;

btdaojishi模块程序仿真结果如图3-7所示:

图3-7 btdaojishi模块程序仿真结果图

在btdaojishi模块程序仿真结果图中,clk为1hz的输入信号,loadbt为bt计数器的装载信号,当loadbt为高电平时,将输入信号btin的值装载到计数器中,开始执行减一操作,每接受一次clk,执行一次,并将结果输出。

5. Main模块设计

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity main is

port ( s:in std_logic_vector(2 downto 0);

lrgy:out std_logic_vector(7 downto 0)); end main;

architecture a of main is

begin

process(s)

variable b:std_logic_vector(7 downto 0);

begin

case s is

when "000" => b:="01001100";

when "001" => b:="01000010";

when "010" => b:="01000001";

when "011" => b:="11000100";

when "100" => b:="00100100";

when "101" => b:="00010100";

when others => b:="00000000";

end case;

lrgy<=b;

end process;

end a;

(完整版)基于FPGA的智能交通灯的设计毕业设计

目录 摘要 ............................................................. I 1 前言 (1) 2 交通红绿灯控制电路的发展与技术现状 (2) 2.1 交通控制系统以及交通红绿灯控制电路的发展现状 (2) 2.2 智能交通红绿灯控制电路技术的现状 (3) 3 VHDL、FPGA、Quartus ii简介 (5) 3.1 VHDL简介 (5) 3.1.1 VHDL简介 (5) 3.1.2 VHDL语言的特点 (6) 3.2 FPGA简介 (8) 3.2.1 PLD器件的设计特点 (8) 3.2.2 FPGA的基本结构 (10) 3.2.3 采用FPGA设计逻辑电路的优点 (11) 3.3 Quartus II 的简介 (12) 4 具体方案论证与设计 (13) 4.1 具体方案论证 (13) 4.2系统算法设计 (15) 4.3 具体电路原理图 (16) 4.4 电路仿真图 (16) 5 实验结果 (17) 总结 (18) 参考文献 ......................................... 错误!未定义书签。附录: .. (19)

基于FPGA的十字路口交通信号灯 摘要 本文主要介绍十字路口交通灯控制器的设计。首先,介绍交通控制系统以及交通红绿灯控制电路的发展现状;然后采用硬件描述语言进行的交通灯控制器设计。重点介绍了控制系统各部分的设计,以及各个模块之间的同步处理。为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城镇交通现状,利用VHDL语言、采用层次化混合输入方式,设计了具有3种信号灯和倒计时显示器的交通信号灯控制系统,在 QuartusⅡ下进行仿真,并下载到FPGA中制作成实际的硬件电路进行了模拟运行.使用该方法设计的交通灯控制系统电路简单、运行可靠、易于实现,可实现对交通信号的控制和显示功能。 关键词 FPGA;QUARTUS ii;HDPLD;十字路口交通灯控制器; Based on FPGA intersection traffic lights Abstract This paper describes the design of intersection traffic signal controller.First, the introduction of traffic control systems and traffic light control circuit of the development status; then using language designed for the traffic light controller.Focus on various parts of the control system

基于FPGA下的交通灯控制器设计

引言 随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。 现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。 城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。

第一章软件介绍 1.1 QuartusⅡ介绍 本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。在做交通灯控制器设计时选择的编程语言是VHDL语言。 在这里简单的介绍一下QuartusⅡ的基本部分。图1-1-1是一幅启动界面的图片。在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。 图 1-1-1 启动界面 开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

基于FPGA的交通灯课程设计报告

总体设计要求和技术要点 1.任务及要求 (1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 (2)红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。 (3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (4)主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。 (5)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。 (6)按《湖南涉外经济学院课程设计管理办法》要求提交课程设计报告。 工作内容及时间进度安排 第17周:周1---周2 :立题、论证方案设计 周3---周5 :程序设计与调试 第18周:周1---周3 :硬件调试与测试、撰写课程设计报告 周4---周5 :验收答辩 课程设计成果 1.与设计内容对应的软件程序 2.课程设计总结报告

摘要 本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用VHDL 作为设计功能描述语言,选用Altera公司的EP1K30144-PIN TQFP最为主控芯片,实验报告中简要介绍了FPGA器件,并给出了设计原理图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。 Abstract This experiment designed for independent choice experiment, experiment choice which has the function of the countdown display red yellow green traffic design, description language (VHDL as design function is applied in the experiments, the most main control chip select MAX II EPM240T100C5 Altera company, experiment report, this paper briefly introduces the MAX II device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.

基于FPGA的交通灯设计说明

交通信号灯控制器

目录 第一章系统设计 1.1设计要求 (3) 1.2 方案比较 (3) 1.3方案论证 (3) 1.3.1总体思路 (4) 1.3.2设计方案 (5) 第二章单元电路设计 2.1 4位二进制计数器 (6) 2.2 两位二进制计数器 (6) 2.3定时时间到检测电路 (6) 2.4红黄绿灯输出控制电路 (6) 2.5计时器 (6) 第三章软件设计 3.1用VHDL编写程序 (6) 3.2 程序流程 (7) 3.3程序清单及仿真 (7) 第四章系统测试 (7) 第五章结论 (8) 参考文献 (9) 附录 (10)

0 引言 随着经济的飞速发展,现代化交通管理成了当今的热点问题。一个完善的交通控制功能,可使混乱的交通变得井然有序,从而保障了人们的正常外出。本系统通过设计一交通信号灯控制器,达到交通控制的目的。除实现交通灯基本的控制功能外,系统还可显示该灯本次距灯灭所剩的时间,具有更完善的控制功能,使行人提前做好起、停准备,具有更强的实用性。 第1章 系统设计 1.1设计要求 (1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间。 (2) 交通灯红变绿是直接进行的,没有间隔时间。 (3) 主干道上的绿灯时间为20秒,支干道的绿灯时间为10秒。 (4) 在任意时间,显示每个状态到该状态结束所需要的时间。 1.2方案比较 要实现对交通灯的控制,有很多的方案可供选择。 方案一:由两块CMOS 集成电路完成定时和序列控制功能,三只双向晶体管完成实际的电源切换功能。电路中采用10V 负电源(可由市电电压经降压、整流、滤波、稳压而得)、CD4049集成电路、计数器CD4017等器件。其中双向晶闸管选用400V 、4A 的,二极管选用BY127型和1N4148型,稳压管选用10V 、1W 的。因直接使用市电工作,故在安装和使用时安全系数较低,且硬件电路复杂,所用器件多。 方案二:运用VHDL 语言分别控制分频和状态机两个模块, 即信号源经分频器分频后得到1Hz 脉冲,输出脉冲控制状态机中预置四个状态的循环,从而达到交通控制作用.该方案电路结构简单,使用器件少,易于安装和使用.但不宜于电路扩展,适用围小,应用不广泛. 方案三:采用VHDL 语言输入的方式实现交通信号灯控制器,并灵活运用了通用元件CBU14和CBU12作为4位二进制计数器和两位二进制计数器,简化了硬件电路,同时也给调试、维护和功能的扩展、性能的提高带来了极大的方便。 分析以上三种方案的优缺点,显然第三种方案具有更大的优越性、灵活性,所以采用第三种方案进行设计。 1.3 方案论证 1.3.1 总体思路 系统交通管理示意图如图1.3.1. 主干道 支干道 图1.3.1 路口交通管理示意图 由此可得出交通信号灯A 、B 、C 、D 的4种状态:

基于FPGA的十字路口交通灯控制器设计

石河子大学信息科学与技术学院 成绩存档 学期:2014 至2015学年第一学期 考试科目:电子EDA技术课程设计 专业:电子信息工程 班级:2012 (1)班 姓名: 学号: 任课教师:钟福如

目录 一、实验目的 (1) 二、测试方法 (1) 三、总的设计流程 (1) 四、交通灯控制器的具体设计方案 (1) 五、主要功能设计与仿真 (2) 1、时钟分频模块 (2) 2、交通灯控制模块 (3) 六、顶层文件 (8) 七、心得体会 (9) 八、参考文献 (10)

基于FPGA的十字路口交通灯控制器设计 一、实验目的: 弄懂交通灯的控制逻辑,注意是十字路口,分人行道与车道。车道分别有直行、左转、右转指示,且每个指示三种颜色:红绿黄,红绿转换时间设定2分钟,红与绿之间转换之前有30秒黄灯的闪烁;人行道有红、绿灯指示,红绿转换时间间隔2分钟,且在红绿转换之间有30秒的黄灯闪烁 二、测试方法: 输入技术脉冲信号,仿真波形的输出端的交通指示灯能按题目要求变化. 三、总的设计流程 首先根据交通灯控制器的功能要求,将功能要求转化成系统流程图,然后对系统进行模块的划分、定义各个模块的具体功能。再开始对各个模块用VHDL语言编程,并在Quartus II环境下进行编译及功能仿真。 四、交通灯控制器的具体设计方案

主干道 支 干 道 图1 十字路口交通灯控制器的平面图 实现红黄绿灯的自动指挥。通过交通灯控制器要能够使用于一条由主干道和支干道交汇处的十字路口(假设东西方向为主干道,南北方向为支干道)。且遵循“主干道优先考虑”原则,主、支干道红、绿灯亮的时间不完全一致,在正常情况下主干道允许车辆通行的时间更长。在绿灯转换为红灯的过程中有黄灯进行,使车辆有足够的时间停下来。另外由VHDL语言合理设计交通灯控制器的功能,以使绿、黄、红灯的转换有一个准确的转换顺序和时间间隔。依据设计要求,最终画出如图所示的系统框图。(图1)

基于FPGA的交通灯(verilog)

基于同步FSM交通信号控制器 试验目的 1、进一步熟悉FSM原理; 2、交通信号控制逻辑的抽象建模方法; 3、掌握同步有限状态机的置位与复位方法; 3、掌握编写可综合的FSM一般指导原则; 试验原理 Verilog HDL和VHDL亍为描述用于综合还只有十年的历史,可综合风格的VerilogHDL和VHD啲语法只是它们各自语言的一个子集;HDL的可综合性研究近年来非常活跃,可综合子集的国际标准目前尚未最后形成,因此,各厂商的综合器所支持的HDL子集也略有不同;对于有关可综合的VerilogHDL的内容我们只着重于介绍RTL算法级和门级结构的描述;把一个时序逻辑抽象成一个同步有限状态机是设计可综合VerilogHDL 模块的关键。有限状态机是设计各种时序逻辑电路的关键。具体的有限状态机的原理可以参看试验七有关原理的介绍。下面介绍一般的可综合有限状态机的编写原则 每个always 块只能有一个事件控制@(event_expression) ,而且要紧跟在 always 关键字后面; always 可以表示时序逻辑或者组合逻辑;也可以用always 块既表示电平敏感的锁存器又同时表示组合逻辑; 带有posedge或negedge关键字的事件表达式表示边沿触发的时序逻辑,没有posedge或negedge关键字的表示组合逻辑或者电平敏感的锁存器,或者两者都表示; 每个表示时序的always 块只能由一个时钟跳变沿触发,置位和复位最好也由该始终跳变沿触发; 每个在always 块中赋值的信号必须定义为reg 类型或者整型; Always 块中应该避免组合反馈回路; 实验步骤和实验内容 1、本试验交通信号控制灯的逻辑关系该交通信号灯控制器用于控制一条主干道与一 条乡村公路的交叉口的交通 ( 如图8-1 所示) ,它必须具有下面的功能;由于主干道上来往的车辆较多,因此控制主干道的交通信号灯具有最高优先级,在默认情况下,主干道的绿灯点亮;乡村公路间断性地有车经过,有车来时乡村公路的交通灯必须变为绿灯,只需维持一段足够的时间,以便让车通过。只要乡村公路上不再有车辆,那么乡村公路上的绿灯马上变为黄灯,然后变为红灯;同时,主干道上的绿灯重新点亮;一传感器用于监视乡村公路上是否有车等待,它向控制器输入信号X;如果X=1,则

基于FPGA的交通灯设计报告

合肥学院综合课程设计报告 题目:基于FPGA的交通灯设计 专业:电子信息工程 班级:09电子(2)班 姓名:周峰 导师: 成绩: 2012年12月11日

基于FPGA的交通灯设计 一:题目要求 1:主干道绿灯时,支干道红灯亮,反之亦然,两者交替允许通行。主干道每次放行40秒,支干道每次放行30秒。每次路灯亮,前10秒为左转灯亮,后5秒为黄灯亮。余下为直行灯亮、 2:能实现正常的倒计时显示功能。 3:能实现总体清零功能;计数器由初始状态开始计数,对应状态的指示灯亮。二:题目分析 1:在十字路口东西方向和南北方向各设一组左转灯、;显示的顺序为:左转灯绿灯黄灯红灯。 2:设计一个倒计时显示器。倒计时只显示总体时间。主干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、30秒、25秒、5秒。支干道左转灯、红灯、绿灯和黄灯亮的时间分别是10秒、40秒、15秒、5秒状态表如表3-1所示:3 三:选择方案 1:方案一 在VHDL设计描述中,采用自顶向下的设计思路,该思路在自顶向下的VHDL 设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。根据实验设计的结构功能,来确定使用哪些模块以及这些模块之间的关系。通过上面的分析,不难得知可以把交通灯控制系统划分为3个模块:时钟模块、控制模块、分频模块。 2:方案二 不采用方案一的分模块设计,直接用进程写程序。该程序由7个进程组成,进程P1将CLK信号分频后产生1秒信号,P2形成0-49的计数器,进程P3、P4用来控制的信号灯亮灭的,其中P5、P6产生数码管显示的倒数的十进制形式。进程P7实现状态转换和产生状态转换的控制信号,进而控制数码管显示。 由于方案一中使用进程会使程序变得很复杂,不易理解,所以我采用了方案二。

基于FPGA的交通灯设计(状态机)

基于FPGA的交通灯设计规范 一、功能描述: 本设计实现一个交通信号灯,具体功能如下: 1.异步信号复位,复位后1组为红灯亮2组为绿灯亮,数码管显示从24开始 依次递减计数 2.实现红黄绿灯的延时交替亮灭,分两组灯,1组红灯亮时,2组为黄灯,5 秒后,1组红灯亮,2组绿灯亮;25秒后,1组黄灯亮,2组红灯亮;5秒后,1组绿灯亮,2组红灯亮。如此交替重复 3.计时时间25秒、5秒显示在数码管上。分别为:从24依次递减到0,从4 依次递减到0 二、输入输出信号描述:

系统结构框图 顶层模块说明: 1、fenpin:将50MHz晶振转为1Hz作为时钟频率; 2、delay:计数延时; 3、state:指出状态转移顺序; 4、shuma:将计数延时用数码管输出显示。 设计说明: 设计分为分频、延时、状态机、数码管显示四个模块。分频,将50MHz的系统时钟转为1Hz。计数延时,让状态机能在合适的时间点进行状态切换。状态机,完成状态间的切换,输出。数码管显示,将延时模块的计时输出值转换为数码管输出显示。 状态机的输出状态信号标志flag=out[1]|out[4],即为:判断此时的两组输出是否有黄灯亮。flag_data=flag,作为计数延时模块的输入,用状态信号标志flag_data和计数值cnt来共同控制计数模块是5秒还是25秒。 四、子模块描述: 4.1、fenpin:分频模块 1、功能描述 将实验板上的50MHz的石英晶振频率转为1Hz。 2、管脚描述

每当clock时钟上升沿来临时,内部寄存器sum从0递加,加至25000000时,对clk进行取反操作,则可得到频率为1Hz的clk时钟 4.2、delay:延时模块 1、功能描述 计数延时,让状态机能在合适的时间点进行状态切换。 用计数值和状态信号标志的与结果(cnt==0 && flag_data)来判断计数延时的初始值应为24还是4 4.3、state:状态机模块 1、功能描述 完成状态间的切换,输出。 状态信号标志flag=out[1]|out[4]。即为检测当前是否有黄灯亮。 注:out[5:3]对应1组灯的:红黄绿 out[2:0]对应2组灯的:红黄绿 4.4、shuma:数码管显示模块 1、功能描述 将延时模块的计时输出值转换为数码管输出显示。

基于FPGA的交通灯设计开题报告

西京学院 本科毕业设计(论文)开题报告题目:基于FPGA的交通灯设计 教学单位:xxx 专业:xxx 学号: xxx 姓名: xxx 指导教师:xxx xxxx年xx月 开题报告填写要求

1.开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业设计(论文)工作前期内完成,经指导教师签署意见及所在院(系)审查后生效。 2.开题报告内容必须按教务处统一设计的电子文档标准格式(可从教务处网页上下载)填写并打印(禁止打印在其它纸上后剪贴),完成后应及时交给指导教师签署意见。 3.开题报告字数应在1500字以上,参考文献应不少于15篇(不包括辞典、手册,其中外文文献2篇),文中引用参考文献处应标出文献序号,“参考文献”应按照国标GB 771至少4—87《文后参考文献著录规则》的要求书写。 4.指导教师意见和所在院(系)意见用黑墨水笔书写,并亲笔签名。 5. 年、月、日的日期一律用阿拉伯数字书写,例:“2005年11月26日”或“2005-11-26”。

1.毕业设计(论文)题目背景、研究意义及国内外相关研究情况。 1、课题背景和意义: 今年来,随着汽车数量的猛增,我国中大型城市的城市交通,正面临着严峻的考验,从而导致交通问题的日益严重,其主要表现如下:交通事故的频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益增加等。日常的交通堵塞成为人们司空见惯而有不得不忍受的问题。在这种背景字儿,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。 和谐的城市交通具有很重要的现实意义,城市交通是城市经济生活的命脉,是衡量一个城市文明进步的标志,对于城市经济的发展和人民生活水平的提高起着十分重要的作用。作为城市交通网的重要组成部分。交叉口是道路通行能力的瓶颈和交通阻塞及事故的多发地。城市的交通拥堵,大部分是由于交叉口的通行能力不足或没有充分利用造成的,这导致车流中断、事故增多、延误严重。对交叉实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。所以,改变和完善我国现有的交通系统已成为当务之急。 2、国内外研究情况: 目前设计交通灯的方案有很多,有应用CPLD设计实现交通灯控制方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通灯设计的方法;还有用FPGA实现交通灯的设计;目前国内的交通灯一半设计在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1、两车道的车辆轮流放行时间相同,在十字路口,经常一个车道为主干道,车辆较多,放行时间应长些;另一车道为副干道,车辆较少,放行时间应短些。2、两条干道的红绿时间不能随时间改变而修改。

基于FPGA的交通红绿灯控制器

基于FPGA的交通红绿灯控制器 姓名: 学号: 专业: 班级:

目录 1.设计思路 (3) 1.1设计思想 (3) 1.2 系统功能与要求 (1) 1.3总体设计............................. 错误!未定义书签。 2.主要模块设计程序 (4) 2.1主控制模块 (4) 2.2主程序 (5) 2.3定时计数器模块 15 3. 所实现功能说明........................... 错误!未定义书签。 3.1实现功能 (14) 3.2仿真波形 (14) 4. 所设计原理图及故障分析................... 错误!未定义书签。 5.心得体会.................................. 错误!未定义书签。参考文献. (18) 附录1 元件清单............................. 错误!未定义书签。附录2 管脚. (20)

1.设计思路 1.1设计思想 交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文利用FPGA的相关知识设计了交通灯控制系统,可以根据实际情况,交通拥堵时由交通警察人工控制某方向上的放行时间,以便按照交通负荷疏导阻塞车辆。整个设计系统通过Max+PlusⅡ软件进行了模拟仿真,并下载到FPGA器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。1.2 系统功能与要求 交通红绿灯控制器,假定十字交叉路口的两个方向各有一组红,黄,绿三个灯组成的交通灯设计一个可以由交通警察人工控制的红绿灯控制器,要求:(1)正常时,交通放行十字交叉路口的横纵两个方向,放行时间相等; (2)交通堵塞时,由交通警察人工控制某个方向的放行时间,以便按照交通负荷疏导阻塞车辆; (3)在正常运行状态下,两组交通灯按以下规律自动进行转换,在不同时刻分别放行不同方向的车辆: (绿,红)2s→(绿,黄红)0.5s→(黄,红)2s→(黄红,红)2s→(红,黄)1s→(红,绿)5s→(红,黄绿)0.5s→(红,黄)2s→(红,黄绿)2s→(黄,红)1s→(绿,红)3s(括号内以逗号分割的分别为横,纵两方向点亮的交通灯,横向红绿黄灯分别用LEDR0,LEDG0,LEDG1,表示,纵向红绿黄分别用LEDR4,LEDG4,LEDG5表示) (4)人工控制放行的方法是,在欲放行某个方向时按下该方向的“放行”按钮(控制)横向使用KEY0控制纵方向使用KEY1),则红绿灯自动将相应方向的道路方向,此后不会放行另一方向的道路,这时候若只按一次“恢复到正常状态”(KEY3),则整个系统恢复到正常运行状态。 (5)可使用VERLOG HDL语言和原理图来设计系统并对系统进行仿真和下载

基于FPGA的交通灯控制器设计

交通灯控制器设计 专业:计算机应用技术 班级:计应2 班 学号:147030201 姓名:蔡利军

基于FPGA的交通灯控制器设计 摘要 超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。 交通灯控制系统可以实现路口红绿灯的自动控制。基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。 关键词:VHDL,交通灯,EDA

目录 前言 (1) 第1章 FPGA概述 (2) 1.1 FPGA的简介 (2) 1.2 FPGA的应用 (2) 第2章 VHDL硬件描述语言 (3) 2.1 VHDL程序基本结构 (3) 2.1.1 实体 (4) 2.1.2 结构体 (4) 2.1.3 库 (5) 2.2 VHDL语言 (5) 2.2.1 VHDL文字规则 (5) 2.2.2 VHDL数据对象 (5) 2.2.3 VHDL数据类型 (6) 2.2.4 VHDL 顺序语句 (6) 2.2.5 VHDL并行语句 (6) 第3章系统设计与仿真 (7) 3.1 系统介绍 (7) 3.1.1 设计任务 (7) 3.1.2 设计要求 (7) 3.2 系统设计仿真 (8) 3.2.1 顶层框图的设计 (8) 3.2.2 时序状态图的设计 (9) 3.2.3 工程设计流程框图: (10) 3.2.4 芯片的选择 (10) 3.2.5 各个模块的设计与仿真 (11) 结论 (27) 附录..................................... 错误!未定义书签。

基于FPGA的交通灯控制器设计_课程设计报告

《EDA技术》课程实验报告 课程名称:EDA技术及应用 报告题目:交通灯控制器设计 学部:信息科学与工程 姓名: 学号: 班级: 同组者: 指导教师:

信息科学与工程学院2012-2013学年第二学期

课程设计任务书 报告题目交通灯控制器的设计完成时间 6.19 学生姓名陈外流专业 班级 电信 1002班 指导教师曹铁军职称教授总体设计要求和技术要点 1.任务及要求 (1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 (2)红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。 (3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (4)主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。 (5)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。 (6)按《湖南涉外经济学院课程设计管理办法》要求提交课程设计报告。 工作内容及时间进度安排 第17周:周1---周2 :立题、论证方案设计 周3---周5 :程序设计与调试 第18周:周1---周3 :硬件调试与测试、撰写课程设计报告 周4---周5 :验收答辩 课程设计成果 1.与设计内容对应的软件程序 2.课程设计总结报告

摘要 本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用VHDL 作为设计功能描述语言,选用Altera公司的EP1K30144-PIN TQFP最为主控芯片,实验报告中简要介绍了FPGA器件,并给出了设计原理图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。 Abstract This experiment designed for independent choice experiment, experiment choice which has the function of the countdown display red yellow green traffic design, description language (VHDL as design function is applied in the experiments, the most main control chip select MAX II EPM240T100C5 Altera company, experiment report, this paper briefly introduces the MAX II device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.

基于FPGA设计——交通灯

FPGA课程设计——交通灯控制器 通信工程学院 电科0701班 罗超(17)

第一部分技术规范 1.1功能描述: 实现一个由一条主干道和一条支干道的汇合点形成的十字路口的交 通灯控制器,具体功能: (1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。 (2) 主干道处于长允许通行状态,而支干道有车来时才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。 (3) 当主干道、支干道均有车时,两者交替允许通行,主干道每次通行45 秒,支干道每次通行25 秒,在每次由绿灯向红灯转换的过程中,要亮5 秒的黄灯作为过渡,并进行减计时显示。每个周期结束时都要进行支干道是否有车的检测,若有车则进行下一个周期,若没有,则主干道亮绿灯,支干道亮红灯,直到检测到支干道有车。 1.2系统总体框图: 根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。

I/O 管脚的描述 名称 方向 电平 位宽 功能 clk Input 3.3V 1 系统时钟信号(10KHZ ) carsignal Input 3.3V 1 检测支路是否有车 rst Input 3.3V 1 复位信号 led Output 3.3V 6 LED 灯 sel Output 3.3V 7 数码管段码 seg Output 3.3V 4 数码管位码 时钟分频模块 交通灯控制模块 扫描显示译码模块 clk rst carsignal 计时模块 数码管段码 sel 数码管位码 seg LED 灯

基于FPGA交通灯设计

河南科技学院新科学院数字系统课程设计报告书 课题名称基于FPGA的交通灯设计 院系新科学院 姓名学号夏文平、2013280218 专业班级通信工程、通信132 指导教师刘艳昌、雷进辉 设计时间2014-2015学年第2学期12、13周 2015年 6月 5 日

摘要 (1) 关键词 (1) Ⅰ课程设计目的 (1) Ⅱ设计任务及要求 (1) Ⅲ系统设计总体方案 (2) Ⅳ各模块具体实现 (2) ㈠分频模块 (2) ㈡倒计时模块 (3) ㈢转码模块 (5) ㈣交通控制模块 (6) Ⅴ系统仿真及硬件下载 (10) Ⅵ遇到的问题及分析 (12) Ⅶ结论与心得 (12) 参考文献 (13)

摘要 交通灯信号控制器通常要实现自动控制和手动控制其红绿灯的变化,基于FPGA设计的交通灯信号控制器电路简单、可靠性好。 本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。利用QuartusⅡ对设计结果进行仿真,发现系统工作性能良好。据此设计而成的硬件电路,也实现了控制要求。 关键词:交通灯自动控制手动控制 Ⅰ课程设计目的。 巩固加深所学电子技术课程的基本知识,提高综合运用所学知识的能力。同时培养学生选用参考书、查阅手册、图表和文献资料的能力,提高解决实际问题的能力。并且,在设计方案分析比较、设计计算、电路安装等缓解掌握使用电路的设计方法。然后提高学生的动手能力,掌握仪器设备的正确使用方法。最后了解与课题有关的电路以及元器件的工程技术规范,能按课程设计任务数的要求编写设计说明书,可以正确反映设计和实验成果,能正确绘制电路图等。 Ⅱ设计任务及要求。 设计一个十字路口的交通灯控制电路,要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次的通行时间都设为25秒。要求黄灯先亮5秒,才能变换运行车道并且黄灯亮时另一干道的红灯按1Hz 的频率闪烁。要求通行时间及黄灯亮的时间均可在60秒内任意设定。

交通灯实验报告详解

基于FPGA 实现的交通灯控制器 一、实验室名称 通信实验室(实训楼二楼) 二、实训内容 本实验为Verilog HDL 的程序设计仿真,通过实验掌握状态机,时序CLK 的控制模块,及时序同步的控制方式。 实验要求: 1.LED 灯显示交通灯状态。 2.7段数码管显示当前状态剩余时间。 状态要求: 1.主干道绿灯亮35s 支道绿灯亮25s 。 2.当主干道绿灯亮时,支道亮红灯。 3.由绿灯转红灯时,黄灯亮5s 。 3.时钟为1KHz 。能实现倒计时显示。 4.由初始状态开始计数,对应状态指示。 三、实验原理 3.1设计思路和原理 本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。循环往复的直行这个过程。其过程如下图所示: 状态 主干道 支干道 秒数(S ) 1 绿灯 红灯 35 2 黄灯 红灯 5 3 红灯 绿灯 25 4 红灯 黄灯 5 状态1: 主干道绿灯亮 支干道红灯亮 35秒 状态3: 主干道红灯亮 支干道绿灯亮 25秒 状态4: 主干道红灯亮 支干道黄灯亮 5秒 状态2: 主干道黄灯亮 支干道红灯亮 5秒

3.2实现方法 本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED 模拟两个方向上的交通灯,用两个7段数码管显示主干道上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。 3.3整体设计 交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序。 3.4具体设计 根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如下: clk //实验箱 1K Hz的时钟计时 g1,g2,r1,r2,y1,y2; //g、r、y依次为绿green红red黄灯yellow,1为主干道,2为支道 四、实训步骤 1、建立工程文件 1)打开Quartus II 8.1,点击File,New Project Waizard:Introdution,点击Next创建新的工程给命名为qiuge80fen,点击next,选择cyclone III芯片,类型为FPGA,芯片型号EP3C40F78C08, )选择软件中的菜单File>New Project Wizard,新建一个工程。 2)点击NEXT进入工作目录,第一个输入框为工程目录输入框,用户可以输入如e:/eda等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。用户可以设定如EXP1,一般情况下工程名称与实体名称相同。使用者也可以根据自已的实际情况来设定。

(完整版)基于FPGA的交通灯毕业设计论文

基于FPGA的交通灯设计 摘要EDA工具对于电子设计人员来说极其重要,它可以在电子设计的各个阶段、层次进行计算机模拟验证,确保设计的准确性,可缩短设计周期,降低设计成本。本文介绍的是数字信号交通灯,利用EDA设计工具,采用VHDL语言开发设计,并通过FPGA(即现场可编程门阵列)芯片设计来实现系统控制功能。 数字信号交通灯可以实现十字路口红绿灯的自动控制。基于FPGA的交通灯设计系统具有可靠性强、实时快速擦写、运算速度高、故障率低、电路简单,且体积小的特点。本毕业设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能;使用QuartusII软件作为开发平台;采用自顶向下的设计思路对系统进行模块化设计和综合,并通过波形仿真和硬件实现两种方式实现并验证数字信号交通灯的功能。 关键词VHDL,交通灯,EDA ABSTRACT

EDA tools is extremely important to electronic designers, to ensure the accuracy of the design ,it can verify computer simulations in all stages and levels of electronic design ,it can also shorten the design cycle and reduce design costs .This article describes a digital signal traffic lights ,using EDA design tools ,and VHDL ,and FPGA(the Field Programmable Gate Arrays),through the chip to design system control functions. Digital signal traffic light traffic lights can achieve automatic control of the crossroads .The design of FPGA-based traffic light system , lower rate of fault, simple circuit and small volume. During this graduation project, I take the Altera Corporation CycloneII series EP2C5T144 chip as the minimum system core, it can be easily embedded in the actual application of the traffic light system, it can do simple logic control, data acquisition, signal processing, mathematical calculations and other functions;using QuartusII as development platform; using top-down design ideas to system modular design and synthesis, and through waveform simulation and two ways to complete and verify the function of digital signal traffic lights.

相关主题
文本预览
相关文档 最新文档