1、本科毕业设计(论文)(20 届)基于 FPGA 的交通信号灯控制电路的设计所在学院专业班级 通信工程学生姓名指导教师完成日期目录摘要 .IIAbstract .III第一章 引言 .11.1 研究背景 .11.2 研究目的和意义 .11.3 课题设计的原理与方法 .2第二章 FPGA 概述 .32.1 FPGA 简介 .32.2 FPGA 的发展应用及技术 .32.2.1 FPGA 的发展应用 .32.2.2 FPGA 的技术特点 .42.3 FPGA 在交通灯上的研究 .4第三章 硬件描述语言 VHDL.53.1 VHDL 的基本结构 .53.2 VHDL 语言的基本要素 .63.3 VHD
2、L 语言的发展及优势 .7第四章 交通灯的系统设计与仿真 .84.1 系统介绍 .84.1.1 设计任务 .84.1.2 设计要求 .84.2 系统设计与仿真 .84.2.1 顶层框图的设计 .84.2.2 工程设计流程框图 .94.2.3 各模块的设计与仿真 .10结论 .25参考文献 .26致谢 .27基于 FPGA 的交通信号灯控制电路的设计摘要随着城市的不断发展与进步以及人们生活水平的不断提高,改善城市交通的交通问题显得日趋重要。研究交通问题具有重大的现实意义和理论意义,因此交通问题引起许许多多的学者关注。为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城市交通现状,利用 VHD
3、L 语言、采用层次化混合输入方式,设计了包含左转指示灯在内的具有 4 种信号灯和倒计时显示器的交通信号灯控制系统,利用 MAX+PLUS开发工具集成开发环境下进行综合、仿真,并下载到 FPGA 中制作成实际的硬件电路进行了模拟运行。使用该方法设计的交通灯控制系统电路简单、运行可靠、易于实现,可实现对交通信号的控制和显示功能。本文针对当前交叉路口交通控制信号灯信号配比固定不变的问题,传统的交通灯控制系统多数基于单片机或 PLC 实现,本文介绍的是基于 FPGA 交通灯系统的一种方案,重点实现对交通信号灯合理延时和管制的功能的设计方法。应用 VHDL 的数字电路实验降低了数字系统的设计难度,这在电
4、子设计领域已得到设计者的广泛采用。该系统可实现十字路口红绿灯及左转弯控制和倒计时显示,仿真结果结果表明系统能够自动控制交通灯转变。关键词:交通灯;FPGA;VHDLThe traffic lights on FPGA design of control circuitAbstractIn city development and progress as well as people living standard rise ceaselessly, improve the city traffic problems appear increasingly important.Study the
5、 traffic problem has great realistic meaning and theoretical significance ,So the traffic problem cause many scholars。In order to overcome the traffic lights control system of the disadvantages of traditional design method, more adaptable to urban traffic situation, used language, adopt hierarchical
6、 VHDL hybrid input way ,Devised , left turn indicator has four lights and countdown displays the traffic lights control system, using MAX + PLUS development tool under the integrated development environment comprehensive, simulation, and downloaded to make practical FPGA in simulated operation hardw
7、are circuit。Using this method to design of traffic light control system circuit is simple, reliable operation, easy to be realized, can realize the traffic signal control and display function.This article in view of the current intersection traffic control lights signal ratio fixed problem, the trad
8、itional traffic control system based on single-chip microcomputer and PLC majority, are introduced in this paper the traffic light system based on FPGA realizing a scheme to the traffic lights, especially the function of delay and control reasonable design method. Application VHDL digital circuit ex
9、periment reduces the digital system design difficulty in electronic design field , this has been the designers widely adopted. The system can realize intersection traffic lights and turn left control and countdown show, the simulation results the results show that the system can automatically contro
10、l traffic signals shift.Keywords : Traffic lights, fpga, vhdl第一章 引言1.1 研究背景 最早的交通灯出现于一八六八年英国伦敦。那时的交通灯只有红、绿两色,经改良后,再增加一盏黄色的灯,红灯表示停止,绿灯则表示通行,黄灯表示准备。人类自从有历史以来就重视交通在社会经济中的巨大作用,我国古代就有城市交通道路的记载,例如秦、汉时代以咸阳、长安为中心的驰道网,是在“其平如砥,其直如矢”的周道基础上补充,发展起来的。路线更繁密,路况更良好,设施更完善。随着社会经济的发展,城市交通问题越来越引起人们的关注,人、车、路三者关系的协调,已成为交通
11、管理部门需要解决的重要问题之一 1。第一盏名副其实的三色灯( 红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。不同的城市存在着不同的城市问题,但其中有一个共同的问题就是城市交通。随着我国经济的稳步发展,人民生活水平的日渐提高,越来越多的汽车进入寻常百姓的家庭,再加上政府大力地发展公交、出租车行业,道路上的车辆越来越多,使得城市的交通成为了一个主要的问题。严重的拥堵现象,逐渐恶化
12、的城市环境,都给广大市民带来了许多困扰。1.2 研究目的和意义目的:为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。在交叉路口如何解决混合交通流中的相互影响,就是解决问题的关键所在。要解决这些问题不仅要求道路越来越宽阔,而且更需要有新的交通管理模式出台。旧有的交通控制系统的弊病和人们越来越高的要求激化了矛盾,使原来不太突出的交通问题被提上了日程。经济的发展和社会的进步,使道路交通成为社会活动的重要组成部分。意义:对交通的管控能力,也就从侧面体现了这个国家对整个社会的管理控制能力,因此我们国家越来越重视运用各种高科技手段来加强对交通的管控能力,这不仅是衡量城市
13、交通管理水平的标志,更是城市交通发展的重要目标。此设计方法兼顾普遍性和适用性,即可以减轻工作量,将工作科学化、规范化,智能化,研究交通问题具有重大的现实意义和理论意义。1.3 课题设计的原理与方法为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城镇交通现状,利用VHDL 语言、采用层次化混合输入方式,设计了包含左转指示灯在内的具有4 种信号灯和倒计时显示器的交通信号灯控制系统 2。传统的交通灯控制系统多数基于单片机或PLC 实现,由于PLC 本身具有通信联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理 3。本人主要研究采用FPGA 作为
14、主芯片构成构成路口交通灯控制系统的设计与开发任务。基于FPGA(Field Programmable Gate Array)的设计与仿真具有串、并行工作方式和高可靠性、高速、规模大、设计制造成本低、设计开发周期短、质量稳定、开发工具先进、标准产品无需测试等优点,因而在电子系统中得到广泛应用。为了提高电子设计工作的效率,缩短开发周期,提出了一种基于FPGA 的交通控制器设计方法。FPGA芯片采用硬件描述语言(Hardware DescriptionLanguage)编写片内各个模块。在用VHDL 语言进行电路设计时,应充分认识到VHDL语言的特点,从设计思想、语句运用及描述方法上等多方面对电路进
15、行优化设计。分别编写系统时钟模块(分频器 )、 控制模块、a倒计时模块、b倒计时模块、译码模块、译码显示模块、顶层文件设计等单元,并对这些模块进行了综合编译仿真和验证。以上工作在MAX+PLUSII软件平台下按照 FPGA的设计流程进行开发,MAX+PLUSlI用作代码和原理图输入以生成硬件模块。通过参考其他的相关文献,对照研究如基于单片机、基于分立元件等其他设计手段的优缺点,我们认为使用基于FPGA的设计方法具有周期短,设计灵活,易于修改等明显的优点,而且随着FPGA器件、设计语言和电子设计自动化工具的发展和改进,越来越多的电子系统采用FPGA来设计,还有通过FPGA设计电子系统,一旦该系统
16、可以达到一定规模的量产,很容易转化为ASIC芯片设计 4。在本文中采用VHDL语言设计交通灯控制系统,借助其功能强大的语言结构,简明的代码描述复杂控制逻辑设计,与工艺无关特性,在提高工作效率的同时达到求解目的,并通过VHDL语言的综合工具进行相应硬件电路生成,具有传统逻辑设计方法所无法比拟的优越性 5。第二章 FPGA 概述2.1 FPGA 简介FPGA 是现场可编程门阵列(Field Programmable Gate Array)的简称 【6】 。它是在可编程器件的基础上进一步发展的产物。与 PAL、GAL 从器件上相比,它的优点是可以实时的对外加或内置的 RAM 或 EPROM 编程,实
17、时地改变器件功能,实现现场可编程或在线重配置,是科学实验、样机研制、小批量产品生产的最佳选择器件。由于 FPGA 具有开发周期短、编程灵活、可靠性高等优点,所以非常适合在实验室中使用。可编程逻辑设计是近年来在电子设计领域中出现的一门新技术,它把复杂的数字系统转化为用一两个可编程逻辑器件即可实现的/片上 0 系统;把系统的更新换代转化为简单的在系统编程设计;把后期的系统调试转移到设计实现之前在计算机上进行的时序仿真 7。FPGA 的应用研究对科研工作者的作用也是显而易见的。FPGA 集成了功能丰富的硬件知识产权(Hard IP Core) 。这些 Hard IP Core 一般完成高速、复杂的设
18、计标准。FPGA 正逐步进入一些过去只有ASIC 才能完成的设计领域。FPGA 一般采用同步时钟设计;用全局时钟驱动以及门控时钟树驱动;FPGA 一般采用时序驱动方式在各级专用布线资源上灵活运用。目 前 以 硬 件 描 述 语 言 所 完 成 的 电 路 设 计 , 可 以 经 过 简 单 的 综 合 与 布 局 , 快 速 的烧 录 至 FPGA 上 进 行 测 试 , 是 现 代 IC 设 计 验 证 的 技 术 主 流 。2.2 FPGA 的发展应用及技术2.2.1 FPGA 的发展应用从 1985 年 FPGA 诞生于 XILINX 公司,FPGA 已经历了将近 20 多个年头,从当初
19、的几百个门电路到现在的几百万门、几千万门,从原来的上千元的天价到现在几元的超低价,可谓是出现了翻天覆地的变化。早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可擦除只读存贮器 (EPROM)和电可擦除只读存贮器(EEPROM)三种。FPGA 作为一种高新的技术,已经逐渐普及到了各行各业,无论是消费类、通信类、电子行业都无处不在它的身影。FPGA 的应用可分为四个方面:直接使用,间接使用,硬件仿真,专用集成电路。(1)直接使用:像 CPLD 那样直接用于产品的电路系统板上。在大规模和超大规模逻辑资源、低功耗与价格方面,FPGA 比 CPLD 有更大的优势。(2)间接使用:其方法是先利
20、用 FPGA 完成系统机的设计,包括电路板的定型,然后将充分检验的成功的设计软件。这样获得的 FPGA 无须配置 ROM,单片成本很低。(3)硬件仿真:因为 FPGA 是 SRAM 结构,所以 FPGA 器件能用作各种电路系统的不同规模逻辑芯片功能的实用性仿真,一旦仿真通过,就能为系统配以与之相适应的逻辑器件。(4)专用集成电路 ASIC 设计仿真:对于产品量非常大,需要专用的集成电路,或者是单片系统的设计,有时需要使用 FPGA 对设计进行仿真测试。2.2.2 FPGA 的技术特点20 世纪 80 年代中期 A1tera 和 Xilinx 公司相继推出了类似于 PAL 结构的扩展型标准门阵列
21、类似的 FPGA(Field programmable Gate Array),具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可实现较大规模的电路,编程也很灵活,与门阵列等其它 ASIC(Application Specific IC)相比,同时具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。2.3 FPGA 在交通灯上的研究我们尝试将数字电子技术实验与可编程逻辑器件 FPGA 应用相结合,设计了多功
22、能交通信号控制器实验 8。基于 FPGA 技术的发展和应用领域的扩大与深入,它作为一种高新的技术,在电子信息、通信、自动控制用计算机等领域电子行业都无处不在它的身影,因此 FPGA 重要性日益突出。制系统可以实现路口红绿灯的自动控制。基于 FPGA 设计的交通灯控制系统具有电路简单、可靠性强、实时快速擦写、运算速度高、故障率低、可靠性高,而且体积小的特点。根据硬件描述语言 VHDL 的设计文件,能自动地完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件
23、的方式来完成对系统硬件功能的描述。在 MAX+PLUS软件平台上使用 VHDL 语言,采用自顶向下的设计方法对系统进行了模块化设计和综合,并进行了仿真。 第三章 硬件描述语言 VHDL3.1 VHDL 的基本结构VHDL 是一个国际标准,按照 IEEE 的规则。这种语言的定义是非专有。VHDL 不是一个信息模型,数据库模式,一种模拟器,一个工具或一种方法。然而,对于有效地利用 VHDL 这种方法和工具是最基本的。一个完整的 VHDL 程序通常包含实体(Entity)、构造体(Architecture)、配置(configuration)、包集合 (package)和库(Library) 五个部
24、分。实体、构造体配置和包集合是可以进行编译的源程序单元,库用于存放已编译的实体、构造体、包集合、配置 9。(1)实体:是 VHDL 的基本单元,有实体说明和结构体两部分组成。实体一般用来描述所设计的系统的外部接口信号,是可视部分;其中最重要的部分是端口说明。实体一般格式如下:ENTITY 实体名 ISGENERIC(类属表); PORT(端口表); ;ENDENTITY 实体名 ;(2)结构体:结构体用于描述系统内部的结构和行为,建立输入输出之间的关系。结构体中的说明语句是对结构体的功能描述语句中将要用到的信号、数据类型、常数、元件、函数和过程等加以说明的语句。结构体一般格式如下:ARCHIT
25、ECTURE 结构体名 OF 实体名 ISBEGIN并行处理语句 ;END 结构体名;(3)程序包:程序包由两部分组成,分别是包体说明和程序包体。包集合存放各设计模块能共享的数据类型、常数、子程序等。程序包中所有声明对实体都是可见的。程序包一般格式如下:PACKA GE 程序包名 IS说明语句 ;END 程序包名;PACKAGE BODY 程序包名 IS说明语句 ;END BODY;(4)库: 库使用说明用于打开(调用)本设计实体将要用到的库,库是专门存放预编译程序包的地方。在使用库之前,一定要进行库说明,库的说明总是放在设计单元的前面。STD 库:STD 库是 VHDL 的标准库,在库中有名为STANDARD 的包,IEEE 库:在 IEEE 库中有一个 STD_LOGIC 的包,它是 IEEE正式认可的包。(5)配置:配置用于从库中选取所需单元来组成系统设计的不同规格的不同版本,使被设计系统的功能发生变化。配置语句的书写格式为: