基于FPGA的交通灯控制器设计21674
- 格式:doc
- 大小:906.01 KB
- 文档页数:9
基于FPGA的交通灯控制器实验设计1引言计算机硬件课程是高等院校计算机科学与技术专业的必修课,这些课程比较抽象,难于理解,因此实验教学起着至关重要的作用。
学生通过实验可以对比较抽象的元器件及硬件电路加深理解。
同时一些学生对计算机硬件的学习不感兴趣,认为硬件课程用途不大。
针对这些,本文给出了基于FPGA的交通灯控制器实验项目设计,将生活中的实际应用与学生所学的硬件理论知识联系起来,让学生感到学有所用,极大程度地激发了学生对计算机硬件知识学习的兴趣,从而促进了硬件课程教学的顺利进行。
可编程器件的广泛应用,为数字系统的设计带来了极大的灵活性。
由于可编程器件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计如同软件设计那样快捷方便。
通常使用硬件描述语言,进行数字电子系统设计。
用软件设计方法来完成硬件电路的设计,非常容易上手,消除了学生对硬件实验的畏惧感。
本实验使用VHDL语言进行设计,采用自顶向下的设计方法,容易让学生理解和掌握。
2实验相关技术与开发环境2.1FPGA技术FPGA(Field Programmable Gate Array)即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的使用非常灵活,同一片FPGA通过不同的编程数据可以产生不同的电路功能。
FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。
随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。
2.2QuartusII开发环境Altera的QuartusII设计软件提供一个非常容易适应特定设计所需要的完整的多平台设计环境。
它是一个可编程片上系统(SOPC)设计的综合性环境。
QuartusII软件包括FPGA设计所有阶段的解决方案。
题目 基于FPGA 的交通灯控制器的设计与实现专业 电子信息 班级 1 学号 12 姓名 张扬 主要内容、基本要求、主要参考资料等:模拟十字路口交通信号灯的工作过程,利用交通灯模块上的两组红、黄、绿LED 发光二极管作为交通信号灯,设计一个交通信号灯控制器。
设计说明:有两条公路,一条是交通主干道,另一条是支干道。
在主干道和支干道的交叉路口上,设置了红、黄、绿灯,进行交通管理,如图1所示。
支干道主干道图 1 路口交通管理示意图基本要求如下:① 交通灯从绿变红时,有4s 黄灯亮的间隔时间;② 交通灯从红变绿是直接进行的,没有间隔时间;③ 主干道的绿灯时间为20s ,支干道的绿灯时间为10s ;④ 在任意时间,显示每个状态开始到结束所需要的时间。
由此可以得出交通信号灯A ,B ,C ,D 的4种状态,如表1所示。
表 1 交通信号灯的4种状态 交通信号灯 A B C D主干道的交通灯 绿(20s ) 黄(4s ) 红(10s ) 红(4s )支干道的交通灯红红绿黄主要参考资料:【1】张洪润.FPGA/CPLD应用设计200例(上册)[M].北京:北京航空航天大学出版社,2009.【2】潘松.EDA技术实用教程(第三版)[M].北京:科学出版社,2006. 完成期限:2009年11月到2010年6月指导教师签章:专业负责人签章:2009年11月6日诚信承诺本人__________声明,本论文及其研究工作是由本人在导师指导下独立完成,论文所利用的一切资料均符合论文著作要求,且在参考文献中列出。
作者签字:年月日摘要近年来,随着社会上特别是城市中机动车保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要。
在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理[1]。
本课题以FPGA硬件描述语言为设计手段,完成了交通信号灯控制电路的开发,其中交通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿的转换有一个准确的时间间隔和转换顺序,当然这就需要一个自动和安全的系统对红、黄、绿灯的转换进行控制。
课程设计一、设计任务要求基于FPGA的交通灯控制器设计1、总体要求:实现十字路口的交通灯有序显示2、具体要求:按照开发板上的两组红、黄、绿做为南北双向指示灯红灯亮60秒,绿灯亮55秒,黄灯亮5秒要求采用状态机实现状态切换3、附加要求:采用两组两位数码管实现时间倒计时显示二、设计思路1、总体设计方案由设计任务要求可知输入部分有:CLK时钟频率输入,可由实验板上直接提供,本设计选用1kHZ时钟频率。
输出部分有:1)东西方向和南北方向各使用3个LED显示,红黄绿各代表红黄绿灯。
2)东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。
由于为共阴极控制,输出三个SEL0,SEL1,SEL2信号控制选择数码管显示,A,B,C,D,E,F,G信号为输出显示的内容。
3)R1,G1,Y1;R2,G2,Y2信号分别为东西南北红绿灯的输出控制信号。
总体设计软件原理图如下所示设计方案原理图:图1A对应13脚; B对应30脚;C对应15脚; D对应31脚;E对应33脚; F对应32脚;G对应35脚; R1对应4脚;R2对应5脚;Y1对应3脚;Y2对应10脚;G2对应8脚;SEL0对应14脚; SEL1对应11脚;SEL2对应12脚.CLK对应24脚;交通灯系统结构图如下所示:红黄绿红黄绿图2状态切换的状态图如下图:图2、模块设计及结果在VHDL设计中,采用自顶向下的设计思路。
顶层模块中,根据硬件设计,设置如下端口:外部时钟信号:Clk东西方向状态灯控制信号:R1,G1,Y1;南北方向状态灯控制信号:R2,G2,Y2;(1)分频模块:由于外部时钟信号clk的频率为1KHz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。
输入端口:clk外部时钟信号输出端口:clk_out分频后信号源程序代码如下:数码管显示信号:A,B,C,D,E,F,G;数码管共阴极控制:SEL0,SEL1,SEL2;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Frequency1 isport(clk:in std_logic; --外部时钟信号clk_out:out std_logic --分频后信号);end Frequency1;architecture Frequency1_arc of Frequency1 isbeginprocess(clk)variable temp:integer range 0 to 999;beginif(clk'event and clk='1')thenif(temp=999)then --分频计数temp:=0;clk_out<='0';elsetemp:=temp+1;clk_out<='1';end if;end if;end process;end;图4(2)状态选择模块:由于共需要显示4个数字,需要循环点亮7位数码管,该模块通过输入的时钟信号,循环输出4个选择信号。
基于FPGA的交通灯控制电路设计本文介绍了一种基于FPGA的交通灯控制电路设计。
交通灯控制是城市交通管理的一个重要部分,它有助于维护交通秩序,减少交通事故,提高交通效率。
在本电路设计中,我们使用FPGA作为主控制器,并通过数码管、按钮和LED模块与外部交互。
同时,我们还采用了状态机设计方法,以实现灵活的控制逻辑和连续的动态过渡。
首先介绍了本电路设计的硬件设计。
在本设计中,我们使用了FPGA作为主控制器,数码管用于显示当前状态,按钮用于进行手动控制,LED模块用于显示当前灯颜色。
在硬件设计中,我们通过适当的寄存器和时钟模块,实现了稳定的时序控制和同步操作。
接着,我们介绍了本电路设计的软件设计。
在软件设计中,我们采用了状态机设计方法,将交通控制逻辑分为多个状态,通过状态间的转移完成交通灯的切换控制。
具体地,我们将交通灯控制状态划分为三种:绿灯、黄灯和红灯。
在每种状态下,我们通过计数器和状态转移条件来实现精确的时间控制和灯颜色的自动切换。
同时,为了提高控制的灵活性,我们设计了手动控制模式,让用户可以通过按钮手动切换交通灯状态。
最后,我们介绍了本电路设计的实现结果。
在实现过程中,我们使用了Quartus II软件进行综合、布局和验证,并将设计的电路下载到FPGA开发板上进行实验。
实验结果表明,本交通灯控制电路设计实现了稳定、灵活和精确的交通控制,能够满足不同的交通道路需求。
综上所述,本文介绍了一种基于FPGA的交通灯控制电路设计,通过硬件和软件设计,实现了稳定、灵活和精确的交通控制。
该设计可以为城市交通管理提供帮助,为交通事故和交通拥堵的缓解做出贡献。
FPGA综合设计实验报告题目基于FPGA的交通灯控制器的设计作者专业日期 2013年3月29日1.设计任务:基于FPGA的交通灯控制器的设计2.设计要求:(1)十字路口由一条东西方向的主干道和一条南北方向的支干道构成,主干道和支干道均有红、黄、绿3种信号灯;(2)保持主、支干道红、绿交替变换;(3)绿灯转红灯过程中,先由绿灯转为黄灯,5秒后再由黄灯转为红灯;同时对方由红灯转为绿灯;(4)系统需具有复位及特殊情况紧急处理功能。
(5)了解交通灯控制器的工作原理,完成控制器的硬件电路设计及软件设计。
3.总体设计方案:从题目中计数值与交通灯的亮灭的关系如图(1)所示。
当主干道绿灯55秒和5秒黄灯过渡时,支干道必须禁止通行,即支干道红灯亮55+5=60秒;当支干道由红灯转为绿灯时,支干道亮55秒绿灯和5秒黄灯过渡,此时主干道红灯应亮55+5=60秒。
图1 交通灯控制要求4.硬件电路基本原理分析:动态LED显示的设计方法是将不同LED模块的所有的LED的驱动端一对一地连接到一起,而将其公共极(阴极或阳极)分别由不同的IO口来驱动(主要针对7段码和LED点阵模块)。
动态显示方式主要是出于简化电路和产品成本考虑在大多数场合都可以达到用户要求。
动态显示虽然占用的CPU时间多,但使用的硬件少,能节省线路板空间。
另外,本设计显示需要使用的是4个七段显示数码管。
在计时结果显示电路中,七段数码管显示部分是一个不容忽视的环节,如若处理不得当,可能引起系统功率过大,产生散热问题,严重时甚至会导致系统的烧毁。
为了解决好以上问题,下面就对七段数码管显示电路做简要的分析和介绍。
通常点亮一个LED所需的电流是5~50 mA,通电的电流愈大,LED的亮度愈高,相对的也会使其寿命缩短。
一般以10 mA的导通电流来估算它所必须串联的阻值,其计算方式参考如图1所示。
图1 单个LED的串接电阻计算方式七段显示器可分为共阳极、共阴极型两种,它们都可以等效成8个LED的连接电路,其中如图2就是共阴极型七段显示器的等效电路和每节LED的定义位置图。
交通灯控制器设计专业:计算机应用技术班级:计应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的交通灯设计专业:电子信息工程班级: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实现状态转换和产生状态转换的控制信号,进而控制数码管显示。
由于方案一中使用进程会使程序变得很复杂,不易理解,所以我采用了方案二。
四:方案二ASM图设计开关控制部分ASM图ASM图说明:i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。
当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。
基于FPGA的交通灯控制器设计_毕业设计论文摘要:随着城市交通拥堵问题的日益严重,交通灯控制器作为城市交通管理的重要组成部分,起着至关重要的作用。
在传统的交通灯控制系统中,使用的是基于微控制器或PLC的硬件实现方式,无法满足日益复杂的交通需求。
本论文提出了一种基于FPGA的交通灯控制器设计方案,通过利用FPGA的高度可编程性和并行处理能力,实现了对交通灯状态的实时监控和控制。
设计方案通过数码管和按钮进行交互,利用图形化编程软件进行开发和调试。
实验结果表明,所设计的FPGA交通灯控制器具有优异的性能和稳定性,能够满足各种交通场景下的需求。
关键词:交通灯控制器;FPGA;并行处理;图形化编程一、引言随着城市交通流量的不断增加,传统的交通灯控制系统已经不能满足日益复杂的交通需求。
传统的交通灯控制器使用的是基于微控制器或PLC的硬件实现方式,无法提供足够的计算性能和并行处理能力。
因此,本论文提出了一种基于FPGA的交通灯控制器设计方案,通过利用FPGA的高度可编程性和并行处理能力,实现对交通灯状态的实时监控和控制。
二、设计方案本设计方案采用了FPGA作为控制器的核心,通过图形化编程软件进行开发和调试。
设计方案将交通灯控制分为四个主要模块:状态监控模块、状态控制模块、显示模块和按钮模块。
状态监控模块通过检测车辆和行人的状态,实时监控交通灯的状态。
状态控制模块根据交通流量和优先级进行状态切换和调度。
显示模块将交通灯状态显示在数码管上,方便行人和司机观察。
按钮模块通过按钮输入交通灯的初始状态,实现手动控制。
三、系统实现本系统采用Xilinx FPGA开发板进行实现,使用Verilog HDL进行程序编写。
在设计过程中,通过数码管和按钮进行交互,实现手动控制和状态显示。
图形化编程软件使得开发和调试更加便捷,节省了开发周期和人力资源。
四、实验结果通过对实验数据的分析和对比,我们发现所设计的FPGA交通灯控制器在交通流量大、复杂交叉路口和斑马线等特殊情况下,都能够稳定运行并保证交通流畅度。
2.3 FPGA 主控实现方案设计结合已有的 PLC 实现和单片机应用实现的经验,并吸收两种设计的优势之处,再根据交通灯控制系统的设计要求和 FPGA 模块化功能实现,确定了以下方案,因每个方向相对的信号灯状态及倒计时显示器的显示完全一致,根据设计要求和系统所具有的功能,交通灯控制器系统框图如图 2-6 所示。
图 2-6 交通灯控制器系统框图确定的方案中, 系统具有复位功能, 能使系统重新开始计时; 在红绿灯交通信号系统中, 大多数的情况是通过自动控制的方式指挥交通的, 但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制。
为此主体包括系统复位,手动 /自动,红绿灯切换,主控模块,显示器,报警器。
具体主控部分用 FPGA 来实现。
图 2-7 交通灯通行示意图结合实现方案,主要有东西、南北、南北左拐,东西左拐,跟手动控制 5种工作方式,具体由 M2~M0设定,具体如表 2-1。
表2-1 交通灯工作方式表方式 M2(0:自动, 1:手动 M1(0:A向,1:B向M0(O:直行, 1:左拐1 0 0 02 0 0 13 0 1 04 0 1 15 1 * *当出现特殊情况时,可选择方式 1 到方式 4 中的任何一种方式,停止正常运行,进入特殊运行状态。
此时交通灯按工作方式显示,计时电路停止计时,计时时间闪烁显示。
当系统总复位时,控制电路和计时电路复位,信号灯全部熄灭。
3 各功能模块的设计与实现3.1总体设计思路3.1.1系统组成框图结合设计任务要求和确定的实现方案, 假设某个十字路口是由一条主干道和一条次干道回合而成, 在每个方向设置红绿黄 3种信号灯, 红灯亮禁止通行, 绿灯亮允许通行。
黄灯亮允许行驶中车辆有时间停考到禁止线以外。
按照自顶向下的层次化设计方法, 整个系统可分为 4个模块, 系统时序发生电路、红绿灯计数时间选择模块、定时控制电路、红绿灯信号译码电路。
其系统组成方框图如图 3-1所示。
基于FPGA的交通灯控制器的设计交通灯控制器是现代城市交通系统中至关重要的组成部分。
传统的交通灯控制器通常是基于微控制器或单片机设计的,但随着技术的发展,基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)的交通灯控制器越来越受到关注。
本文将介绍基于FPGA的交通灯控制器的设计。
FPGA是一种可编程逻辑器件,具有高度灵活性和可重配置性。
与传统的微控制器相比,FPGA能够并行处理多个任务,提供更高的性能和更低的延迟。
在交通灯控制器的设计中,这种并行处理的能力可以显著提高交通信号的响应速度和效率。
首先,我们需要确定交通流量检测的方式。
常用的交通流量检测方法有传感器检测、视频图像处理和无线通信等。
在基于FPGA的交通灯控制器设计中,我们可以选择使用传感器检测的方法。
传感器可以通过检测来往车辆的存在与否来确定交通流量,然后将这些数据传输到FPGA中进行处理。
其次,我们需要设计合适的交通灯控制算法。
传统的交通灯控制算法主要基于定时控制,但这种方法无法根据实际交通流量进行动态调整。
在基于FPGA的交通灯控制器设计中,我们可以采用基于车辆检测数据的自适应控制算法。
该算法可以根据交通流量的变化情况灵活地调整交通信号的周期和相位,以实现最优的交通流控制。
接下来,我们需要将交通灯控制算法实现在FPGA上。
使用HDL (Hardware Description Language)编程语言,如Verilog和VHDL,可以将交通灯控制算法描述为硬件逻辑电路。
然后,通过使用FPGA的开发工具,将HDL代码编译成可在FPGA上运行的位流文件。
通过将交通灯控制算法实现在FPGA上,可以实现高速的并行处理和低延迟的响应。
最后,我们需要连接FPGA与交通灯控制设备。
FPGA可以通过GPIO (General Purpose Input/Output)接口与其他设备进行通信。
通过将FPGA的输出信号与交通灯控制设备的输入信号连接,可以实现对交通灯的控制。
基于F P G A交通灯控制器设计This model paper was revised by the Standardization Office on December 10, 2020摘要随着现代城市及交通工具的发展,交通事故也急剧增加,为了改善交通秩序及减少交通事故,交通灯起着越来越重要的作用。
在越来越多的城市的各个路口上安装了交通灯,来改善交通秩序。
现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。
而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。
基于FPGA 设计的交通灯控制系统电路简单、可靠性好。
本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。
在QuartusⅡ下对系统进行了综合与仿真。
仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。
关键词:FPGA,交通灯控制器,QuartusⅡ,Verilog HDLAbstractWith the development of modern cities and transport, traffic accidents also increased dramatically, plays an increasingly important role in order to improve traffic order and reduce traffic accidents and traffic lights. More and more all the roads of the city to installtraffic lights to improve traffic city, more and more control of the day-to-day running of the traffic light traffic command and management. And a complete set of traffic light control system is usually to achieve automatic control and manual control to achieve the conversion of its traffic lights. FPGA design-based traffic light control system circuit is simple and good reliability. The design using Verilog HDL language using hierarchical mixed input, and can control the four junctions of red, yellow, green, and turn left at the four signal lights, so that a particular law of change. QUARTUS Ⅱ system synthesis and simulation. The simulation results show that the system can achieve the crossroads of traffic lights and turn left control and countdown display and can automatically control the traffic lights into.Key Words:FPGA ,traffic light controller, Quartus II, The Verilog HDL目录第第4第1236 7 8 9第1章绪论交通灯的简介交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
基于FPGA的交通灯控制课程设计报告课程设计报告设计题目:基于FPGA的交通灯控制专业班级学号学生姓名指导教师设计时间教师评分2012年12月14日目录1、概述 (1)1.实验目的 (1)1.2课程设计的组成部分 (1)2、交通灯设计的内容 (2)3、总结 (5)3.1课程设计进行过程及步骤 (5)3.2体会收获及建议 (10)4、教师评语 (10)5、成绩 (11)1、概述1.实验目的(1)熟悉利用QuartursⅡ开发数字电路的基本流程和QuartursⅡ软件的相关操作。
(2)掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载等基本操作。
(3)了解VerilogHDL语言设计或原理图设计方法。
(4)通过本知识点的学习,了解交通灯的工作原理,掌握其逻辑功能及设计方法。
1.2课程设计的组成部分(1)系统功能:实现十字路口的交通灯显示。
(2)系统要求:a. 要求控制南北、东西方向各3个灯(红、黄、绿)的亮灭;b. 用LED0-LED5六个灯来代表红绿灯,其中LED0-LED2表示南北方向的红,黄,绿灯,LED3-LED5表示东西方向的红,黄,绿灯。
c. 要求南北方向红灯亮5秒,同时东西方向绿灯亮3秒,绿灯结束后,东西方向黄灯亮2秒。
转东西红灯亮5秒,同时南北绿灯亮3秒,绿灯结束后,南北黄灯亮2秒,一直循环。
(3)引脚分配:2、交通灯设计的内容主程序module jtd(clk,led);input clk;output[7:0]led;reg[7:0]led;reg[4:0]state;always @ (posedge clk)begin state = state + 5'b00001;case(state)5'b00000:led<=8'b00001001;5'b00001:led<=8'b00100001; //南北红灯亮5秒,东西绿灯亮3秒,在转东西黄灯2秒5'b00010:led<=8'b00000000;5'b00011:led<=8'b00100001;5'b00100:led<=8'b00000000;5'b00101:led<=8'b00100001;5'b00110:led<=8'b00000000;5'b00111:led<=8'b00010001;5'b01000:led<=8'b00000000;5'b01001:led<=8'b00010001;5'b01010:led<=8'b00000000;5'b01011:led<=8'b00001100; //东西红灯亮5秒,南北绿灯亮3秒,在转南北黄灯2秒5'b01100:led<=8'b00000000;5'b01101:led<=8'b00001100;5'b01110:led<=8'b00000000;5'b01111:led<=8'b00001100;5'b10000:led<=8'b00000000;5'b10001:led<=8'b00001010;5'b10010:led<=8'b00000000;5'b10011:led<=8'b00001010;5'b10100:led<=8'b00000000;default:state=5'b00000;endcaseendendmodule分频器部分,获得便于试验观察的时钟信号module fpq(clk_out,clk_in);input clk_in;output clk_out;reg clk_out;reg[25:0] counter; //50_000_000=1011_1110_1011_1100_0010_0000_00 parameter cnt=25_000_00; // 50MHz is the sys clk,50_000_000=2FAF080always @(posedge clk_in)begincounter<=counter+1;if(counter==cnt/2-1)beginclk_out<=!clk_out;counter<=0;endendendmodule3、总结3.1课程设计进行过程及步骤a. 用Quartus II 8.0 (32-Bit)软件建立工程:b.在工程建立好后,再建立verilog HDL filec.建好verlog HDL file 后,在里面写入两个程序(一个主程序,一个子程序),将写好的程序保存,并编译,确定没有错误后,输入引脚分配。
综合课程设计报告《基于FPGA的交通灯控制器设计》学院:通信与电子学院专业班级:电子科学与技术班姓名:学号:指导老师:摘要近年来,随着科技的飞速发展,FPGA的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,FPGA往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。
交通灯控制器在城市交通监管中起着极其重要的作用。
传统的交通灯控制器基本是通过单片机或者PLC实现。
本文介绍基于FPGA 技术和Quartus II开发平台实现十字路口交通灯控制器的的一种方案,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
利用VHDL硬件描述语言描述各模块程序,并在Quartus II环下进行编译、仿真,生成顶层文件后下载在FPGA器件FLEX EPF10K10LC84上进行验证。
验证结果表明,设计基本实现了交通灯控制器所要求的控制过程,包括倒计时时间显示功能、特殊状态控制功能和主、支干道的红、黄、绿灯交替显示功能,表明本文所述的的设计方案正确。
本文结合交通灯控制器的设计过程,简单介绍了硬件描述语言VHDL的结构模型和设计流程、 VHDL设计的优点及该语言在数字系统设计中的美好前景和重要地位。
关键词:FPGA,交通灯控制器,QuartusⅡ,Verilog HDL目录摘要....................................................................................................................1 FPGA/CPLD概述 (1)2 系统分析与总体方案 (3)2.1系统分析 (3)2.2 设计的总体方案 (3)3 硬件电路设计 (4)3.1分频器设计 (4)3.2 状态控制电路设计 (4)3.3计数器设计 (5)3.4译码显示电路设计 (5)4 robei软件程序设计 (6)4.1扫描显示模块 (6)4.2状态转换模块 (7)4.3总体设计........................................................... 错误!未定义书签。
基于F P G A的交通灯控制器设计毕业设计Modified by JEEP on December 26th, 2020.基于FPGA的交通灯控制器设计摘要超高速硬件描述语言VHDL,是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述,利用EDA工具可以在电子设计的各个阶段、各个层系进行计算机模拟验证,保证设计过程的正确性,可大大降低设计成本,缩短设计周期。
本文介绍的数字秒表设计,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。
交通灯控制系统可以实现路口红绿灯的自动控制。
基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。
本设计采用Altera公司Cyclone系列的EPlC3T1444C8芯片,在Quartus II软件平台上使用VHDL语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。
该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。
关键词:VHDL,交通灯,EDATHE LIGHT CONTROLLER BASED ON FPGA DESIGNABSTRACTWith the development of the economy, microelectronic technology, computer technology and the automatic theory are developed rapidly. Its application is becoming more and more widely. But the traffic light as an important traffic,it also has developed quickly with the improving requirement of the all the system of the traffic light, The system of traffic control which designed based on FPGA is received by more and more people.The system of traffic control can realize the automatic control of traffic light in a intersection. The system of traffic control which designed based on FPGA has many characteristics such as simple circuit, reliable operation, toerase function quickly with real-time applications, high speed, high reliability, low failure rate, and sma ll volume. By using the platform of software design system Quartus II and the form of the VHDL language, we simulate the system by using EPlC3T1444C8 Mars device and the result show that the download system can automatically control the traffic lights.KEY WORDS: VHDL,traffic light,EDA目录前言当今社会是数字化的社会,是数字集成电路广泛应用的社会。
基于FPGA交通灯控制器设计引言:近年来,城市交通的快速发展给城市交通管理带来了巨大的挑战。
交通灯系统是一项重要的交通管理设施,能够保证出行的安全和有序。
传统的交通灯控制器通常基于微控制器或PLC,但是随着FPGA(Field Programmable Gate Array)技术的发展,越来越多的交通灯控制器开始采用FPGA来实现,以提供更高的实时性和可编程性。
设计目标:本文旨在设计一个基于FPGA的交通灯控制器,以实现交通灯的准确、稳定和快速的切换,以提高交通流量的效率和道路的安全性。
FPGA交通灯控制器的设计:FPGA交通灯控制器的设计主要包括以下几个步骤:1.系统功能设计:首先,需要确定系统的功能需求,即要实现的交通灯控制策略。
例如,可以采用定时控制、感应控制或组合控制等方式来决定交通灯的切换规则。
2.硬件设计:根据系统功能需求,设计FPGA的硬件电路,包括FPGA芯片的选择、外围电路的设计和电源等。
3. 程序设计:编写FPGA的逻辑代码,实现交通灯控制的算法和逻辑。
可以使用硬件描述语言(HDL)如Verilog或VHDL来实现。
4.仿真验证:使用FPGA开发工具进行仿真验证,确保交通灯控制器的功能和性能达到设计要求。
5.硬件调试和优化:根据仿真结果,对硬件电路进行调试,并优化电路设计,以提高交通灯控制器的性能和稳定性。
6.硬件实现:将设计好的交通灯控制器加载到FPGA芯片中,并与其他外围设备(如传感器、通信模块等)进行连接。
7.系统测试和验收:对交通灯控制器进行系统测试,验证其在实际环境中的功能和性能,并根据实际需求进行调整和优化。
设计考虑:在设计FPGA交通灯控制器时1.实时性:交通灯控制需要具备高实时性,能够及时响应交通信号的变化,并快速切换信号灯。
2.稳定性:交通灯控制器需要具备稳定性,能够保持信号灯的状态稳定和可靠。
3.可编程性:FPGA交通灯控制器应具有良好的可编程性,能够根据需求进行灵活配置和调整。
数字系统课程设计基于FPGA的交通控制灯设计姓名:学号:班级:摘要随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。
人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。
因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。
有了交通灯,人们的安全出行也有了很大的保障。
自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。
尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。
本课程设计运用erilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示,并最后进行了软件实现,达到了系统要求的功能。
设计原理设计要求设计一个交通控制器,用LED 显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s ,支干道每次放行25s 。
每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s 。
能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。
用LED 灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。
能实现特殊状态的功能显示, 设计思路和原理本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。
设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。
循环往复的直行这个过程。
其过程如下图所示:绿灯亮黄灯亮红灯亮0s35s30s65s0s绿灯亮红灯亮黄灯亮60s25s65s主干道方向支干道方向图1.交通灯点亮时间控制说明实现方法本次采用文本编辑法,即利用Verilog HDL 语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。
设计中用两组红黄绿LED 模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。
Verilog HDL 程序设计整体设计根据上章设计原理,交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,其真值表及状态转化图如下所示:状状00状状11状状10状状01状状状状状状状状状状状状00状状10状状11状状01状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状001100010010001010100010图2.交通灯控制状态转化说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。
进入10状态两路黄灯亮起。
结束一个循环,从00状态重新开始循环。
为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序,其系统结构图如下所示:状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状状rstclk hold1KHz 1Hz1Hz图3.交通灯控制系统结构图其中rst 为复位信号,clk 为时钟信号,hold 为特殊情况控制信号,输入hold 时两个方向红灯无条件亮起。
具体设计根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如下clk:为计数时钟;qclk:为扫描显示时钟;en:使能信号,为1 的话,则控制器开始工作;rst:复位信号,为1的话,控制及技术回到初始状态;hoid:特殊情况控制信号,为1的话,则两个方向无条件显示为红灯;light1:控制主干道方向四盏灯的亮灭;其中,light1[0]~light[2],分别控制主干道方向的绿灯、黄灯和红灯;light2:控制支干道方向四盏灯的亮灭;其中,light2[0] ~ light2[2],分别控制支干道方向的绿灯、黄灯和红灯;num1:用于主干道方向灯的时间显示,8 位,可驱动两个数码管;num2:用于支干道方向灯的时间显示,8 位,可驱动两个数码管;counter:用于数码管的译码输出;st1,st2:数码管扫描信号。
输入输出及中间变量设置如下:module traffic(en,clk,qclk,rst,rst1,hold,num1,num2,light1,light2,counter,st1,st2);input en,clk,qclk,rst,hold,rst1;output st1,st2;output[7:0] num1,num2;output[6:0]counter;output[2:0] light1,light2;reg tim1,tim2,st1,st2;reg[1:0]state1,state2,ste;reg[2:0]light1,light2;reg[3:0]num;reg[6:0]counter;reg[7:0] num1,num2;reg[7:0] red1,red2,green1,green2,yellow1,yellow2;1.二极管点亮控制该部分程序的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的译码电路。
此外,当检测到特殊情况(hold=‘1’)发生时,无条件点亮红灯的二极管,当检测到复位信号,两个方向计数与控制回复到00状态。
因为主、支干道两个方向二极管点亮的顺序与延迟时间不同,顾编写两个独立的部分来控制,具体程序如下:1)主干道方向always @(posedge clk )beginif(rst) 正常工作时波形仿真图图4. 正常工作时波形仿真图图形说明波形仿真主要完成了控制与计数以及数码管显示的波形图。
en为低电品时,计数器置初值,高电平时开始正常控制与计数。
控制发光二极管首次输出为“light1=001,light2=100”,表示主干道路绿灯亮,支杆道路红灯亮,计数器num1和num2从“00110101”开始递减计数,计数至“00000000”时,进入下一个状态,控制输出量为light=010,light2=010,表示主、支干道黄灯均亮起,计数器num1和num2从“00000101”开始计数递减,计数至”00000000”时进入下一个状态,light=100,light2=001,表示主干道路红灯亮,支杆道路绿灯亮。
Counter根据num1,num2变化随时钟上升沿输出译码后的数据。
由于屏幕显示大小有限,未仿真出一个完整周期。
2. 特殊情况仿真波形图5. 特殊情况仿真波形图形说明当hold输入高电平时,在时钟上升沿的控制下,light 1与light2被强制置位为”100”,表示两路红灯均亮起3. 复位情况仿真波形图6. 复位情况仿真波形图形说明当rst输入高电平时,在时钟上升沿控制下,计数与控制都回到00状态,即light1=001,light2=100,计数器num1和num2从“00110101”开始递减计数。
硬件调试完成时序仿真确认无误后,进行实验箱管脚设置,注意设置完成后一定要再进行一次全局仿真,使程序真正对应于硬件输出输出。
具体连接说明如下所示输入变量:rst、clk、qclk、hold、en其中en,hold,rst接”0-1”拨码开关,以稳定的输出可变化的电平。
计数时钟clk接实验箱上1Hz时钟,扫描显示时钟qclk接125Khz时钟。
输出变量:light1[2:0]、light2[2:0]、counter[6:0]、st1、st2其中light1[0] 、light2[0]分别接绿色的发光二极管;light1[1]、light2[1] 分别接黄色的发光二极管;light1[2]、light2[2]分别接红色的发光二极管。
counter[0]~counter[6],分别接七段数码管的a~f,st1、st2分别接试验箱上”4-16”译码器的低两位。
完成接线后将程序烧写到芯片上,开始功能调试。
分辨改变使能信号,复位信号以及特殊情况信号,观察数码管以及发光二级管情况。
程序清单module traffic(en,clk,qclk,rst,rst1,hold,num1,num2,light1,light2,counter,st1,st2);input en,clk,qclk,rst,hold,rst1;output st1,st2;output[7:0] num1,num2;output[6:0]counter;output[2:0] light1,light2;reg tim1,tim2,st1,st2;reg[1:0]state1,state2,ste;reg[2:0]light1,light2;reg[3:0]num;reg[6:0]counter;reg[7:0] num1,num2;reg[7:0] red1,red2,green1,green2,yellow1,yellow2;always @(en )if(!en)begin 复杂数字电路与系统的V erilog HDL设计技术 [M ].北京: 北京航空航天大学出版社, 1998[2] 郭梯云. 移动通信[M ]. 西安: 西安电子科技大学出版社, 1995[3] [法]M ichelMouly, M arie Bernadet te Pautet1GSM 数字移动通信系统[M ]. 骆健霞, 顾龙信, 徐云霄译. 北京: 电子工业出版社, 1996[4] 张毅刚, 乔立岩. 虚拟仪器软件开发环境L abW indow söCV I 610 编程指南[M ]. 北京: 机械工业出版社, 2002[5] 刘国权.GSM 手机的测试[J ].中国无线电管理, 2003[6] 俞定玖, 刘湘慧. GSM 数字蜂窝移动交换系统测试[J ]. 电信科学, 2000[7] 张明. V erilog HDL 实用教程[M ]. 成都: 电子科技大学出版社, 1999[8] Hyde D C. Bucknell Handbook on V erilog HDL 1Computer Science Department, Bucknell U niversity L ew is burg, 1995[9] 康华光. 电子技术基础(数字部分) [M ]. 北京: 高等教育出版社, 1988。