毕业设计论文-基于FPGA的交通灯设计_第1页
毕业设计论文-基于FPGA的交通灯设计_第2页
毕业设计论文-基于FPGA的交通灯设计_第3页
毕业设计论文-基于FPGA的交通灯设计_第4页
毕业设计论文-基于FPGA的交通灯设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的交通灯设计29-摘要交通信号指示灯是城市中交通指挥疏导中不可缺少的智能工具。以前用到的大多数交通灯的控制系统都是采用单片机或者PLC进行设计开发的。本文将采用VHDL硬件描述语言来论述各模块代码,并在QuartusII开发环境下进行编译,在硬件板子上进行调试和演示。在计算机上运行成功并生产生成顶层文件后下载在FPGA器件EP2C5T144开发板子上进行验证。通过调试结果显示,本文的设计完全可以满足现在交通指挥的需求,包括时间提示显示、相关状态控制和主、支干道的红、黄、绿灯交替显示功能。本文在交通灯控制的基础上,对硬件描述语言以及其设计流程做了简单介绍。EDA工具是一种十分重要的VHDL语言开发工具,它是一款能够对设计过程中任何一个环节或者阶段进行计算机模拟的强大工具,因而,该工具能够确保准确的设计,减少设计周期,大大降低成本。基于FPGA的交通灯控制器具有较高的可靠性、擦写迅速、高效的运算能力、故障少、设计简单、质量轻以及体积不大等优势。本次设计将采用EP2C5T144最小系统开发板,因为它的体积不大,可以轻松嵌入到外围电路中,完全可以快速进行逻辑判断,数据计算以及系统运算等。本文采用QuartusII软件进行开发,运用自顶向下的新型设计方法。关键词:自动、逻辑、交通灯、EDA、FPGA

AbstractTrafficlightcontrollerplaysaveryimportantroleintheregulationofurbantraffic.Thetraditionaltrafficlightcontrollerisbasedonsingle-chipmicrocomputerorPLC.ThispaperintroducesaschemebasedonFPGAtechnologyandIIQuartusdevelopmentplatformtorealizetheintersectiontrafficlightcontroller.UsingVHDLhardwaredescriptionlanguagedescriptionofthemoduleprogram,andintheIIQuartusenvironmenttocompile,simulate,generatethetoplevelfilesdownloadedintheFPGAdeviceEPF10K10LC84FLEXforverification.Theverificationresultsshowthatthebasicdesigntoachievethecontroloftrafficlightcontroller,includingthecountdowntimedisplayfunctionandmainfunction,thespecialstatecontrol,aroadofred,yellow,andgreenlightdisplayfunctionalternately,indicatingthatthedesignschemeiscorrect.Inthispaper,thedesignprocessofthetrafficlightcontroller,andbrieflyintroducesthehardwaredescriptionbrightprospectinthedigitalsystemdesignofVHDLlanguagestructuremodelandprocessdesign,VHDLdesignadvantagesandthelanguageandanimportantposition.EDAtoolsforelectronicdesignpersonnelisextremelyimportant,itcanineachstageofelectronicdesign,thelevelofcomputersimulationandverification,toensurethedesignaccuracyandcanshortenthedesigncycleandreducedesigncost.Canrealizetheautomaticcontroloftrafficlightscrossroadstrafficlights.BasedontheFPGAdesignoftrafficlightssystemhashighreliability,real-timeflash,highoperationspeed,thefailurerateislow,thecircuitissimple,andthevolumeissmall.ThisdesignusesAlteracycloneiiseriesep2c5t144chipasthecoreoftheminimumsystem,itcaneasilyembedintotheactualtrafficlightsapplicationsystem,canrealizethefunctionofthesimplelogiccontrol,dataacquisition,signalprocessingandmathematicalcomputing;usingQuartusIIsoftwareasadevelopmentplatform;usingtop-downdesignKeywords:automatic,logic,trafficlights,EDA,FPGA目录摘要 IAbstract II目录 III前言 11绪论 21.1论文研究背景及意义 21.2FPGA开发的历史及简介 31.3EP2C5T144最小系统介绍 41.4本文研究的主要内容 52硬件设计 62.1硬件开发环境介绍 62.2硬件开发环境平台搭建 62.3原理图设计 113软件设计 123.1软件开发平台介绍 123.2软件开发平台搭建 133.3程序设计 143.3.1程序设计分析 153.3.2程序设计中需要注意的问题 194实物模型展示 204.1实物模型介绍 204.2实物模型演示方法 214.2仿真说明 23总结 25参考文献 26致谢 27附件1部分程序源代码 28前言交通灯控制指挥系统,其本质就是规范和管理行人和车辆穿越路口的行为,从确保人和车辆能够安全、快速、合理和有效通过。在现在,交通灯控制器安装在各个路口上,大大提高了路口行人和车辆的通行安全性和规范性,减少了交通事故的发生几率。目前实现交通灯控制有很多方案,比如采用PLC[1](可编程序控制器)、标准逻辑器件、51单片机[2]等方案来进行开发。若采用单片机平台进行开发设计,其大致电路框架包括基于单片机的主控电路、电源电路、显示电路和无线收发控制电路四个部分组成。控制电路的芯片为51单片机或者STC单片机都可以。同时需要一个3.3V或者5.5CV的DCDC,数码管显示电路和无线收发控制电路是由数据发射模块和编码芯片两部分组成。电路设计相对复杂不说,而且还需要进行软件的设计。虽然基于单片机的交通灯控制系统具有运行稳定,功能较多,灵活性比较好等优势,但是任然存在许多问题。特别是电路的修改比较花费时间,设计比较繁琐,在一定程度下增加了设计成本和维护周期。可编程控制器PLC的优势在于是可靠性较好和稳定性较高,但是其也有诸多问题。PLC是一个封闭的结构,所以不同PLC控制器的兼容性较差,而且不同的PLC在程序设计上也存在着差异。这就意味着,一旦选择一种PLC之后,就只能按照该型号PLC的相关方式进行编编程,而且需要学习相关的设计语言规律,这些问题大大的的限制了PLC的灵活性和多元性。与前两者相比,基于FPGA的开发方案,不仅具有很好灵活性,稳定性,而且编程语言是完全统一性,而且更简单和稳定。因而,此次交通灯的控制器开发设计采用基于VHDL语言,FPGA的方式进行设计,不仅经济节约和而且更加可靠稳定。其开发设计也相对更加简单,故障维护也比较容易,更加适合目前城市交通指挥的需求。

1绪论1.1论文研究背景及意义现在城市发展迅速,然而城市的交通问题却越来越严重。城市的交通道路交通压力越来越大,经常会有交通拥堵,甚至是交通事故发生,交通疏导不及时也是造成这些问题重要原因。如今,全国几乎所有城市或多或少的都存在这交通拥堵,交通混乱,甚至造成严重的交通事故,这给人们的出行以及车辆行驶带来了极大的安全隐患,甚至造成生命和财产的重大损失。那么如何能够快速指挥和疏导交通,规范和约束行人和车辆的行为,构建一个合理规范的交通秩序,是目前的当务之急。经研究调查发现,城市中拥堵的主要因素是由当前城市交通指挥制度以及管理机制等问题不完善造成的,现今城市正准备打造一个智慧城市,其中的包含智慧交通,而智能交通正是城市道路上最重要的一块。本设计采用了FPGA方案设计则正好大大满足了智慧交通的理念。它将实现城市的每个路口运用交通控制系统从而控制整个城市的交通,包括系统的改进,道路的疏通,以及各路口的指挥。尤其是在十字路口,它将把现代化技术融入其中,打造成一个智慧的交通路口。为了确保路口行人与车辆能够合理、有序、安全和快速的通过相关区域,采用交通信号灯来进行指挥和疏导交通情况,将大大降低事故发生的几率以及确保交通通畅,人车有序通过。随着生活水平的提高,人们对生活质量的要求不断增加,汽车的数量还在不断增加,研究和设计现代智能交通灯具有很好实际意义。现今EDA的技术发展越来越快,人们利用EAD技术越来越方便于电路。利用EDA技术和FPGA方法来实现交通灯的设计,非常的复合目前的需求,具有设计周期短,效果稳定,维护方便以及运用简单等诸多特点。这种设计方案也是符合目前电子技术发展的方向的,是比较合理。1.2FPGA开发的历史及简介FPGA或CPLD芯片都是ASIC相关芯片系列中比较特殊的一种,其不仅具有ASIC芯片自身的特点之外,还具有如下的独特的特点:随着VLSI(超大集成电路)工艺的不断提高,现能将几毫米见方的硅片上集成上万至百万晶体管,无数个晶体管排列在一起,这样做的话既能大大的缩小空间,降低成本,而且还能保持原有的功能。FPGA/CPLD芯片的所含的规模也越来越大,其中,光是单片逻辑门数就已经达上百万门。因此,它能够所实现的功能也越来越强,能在上面完成系统集成,即SOC(片上系统)。况且,每个FPGA/CPLD芯片都有质量保证,因为每块芯片在出厂之前都做过测试,测试结果达标才能投入市场,因此,设计人员完全不需要承担任何风险,设计人员只需要完成自己的设计,通过软硬件完成设计的最终步骤。所以,FPGA/CPLD的资金投入就少,减少了潜在的花费。假如使用FPGA的设计方案,用户可以随意的擦数以及编程,需要实现什么样的功能完全由用户自己决定,这样用户就能完成在不懂任何电路的情况下实现交通灯的多种功能。FPGA/CPLD芯片中还包含多种功能,比如输入工具,这样大大方便了用户将程序输入的步骤,还有仿真工具,以及版图设计工具等多种功能,多种功能的集合,大大的方便了设计人员,有了这些功能,设计人员就能够快速的完成电路及程序的输入以及调试。Iverson于1962年的时候提出了硬件描述语言(VHDL),详细的讲解了语言的基本内容和基本结构,以及利用该语言在各种层次上对数字系统的建模方法,从此之后,各国出现了多种硬件描述语言,比如美国的DATAI/O公司的ABEL-HDL、Verilog公司开发的VerilogHDL以及日本电子工业振兴协会开发的UDL/I语言。但是由于这些硬件描述语言的与其公司的硬件产品密切相关,本身就是为其公司设计而成,不能推广开来,而且语法杂乱,因此造成了信息交流不便以及设备维护的种种困难。但自从1987年VHDL(超高速硬件描述语言)被定为IEEE标准(IEEE-STD-1076)以来,VHDL已被工业界广泛认可,并在工业界推广开来,越来越多的人使用VHDL语言,VHDL已成为数字系统设计和存档的重要工具,极大的提高了数字系统的设计水平和效率,在此方面大大的影响了工业界,给工业界带来了无法估计的价值。VHDL的出现,不仅在工业界取得了重大作用,而且在大规模的数字电路系统领域发挥的很大的作用,比如在逻辑领域这块,相比于传统的方法,利用VHDL将更加便捷,因此,VHDL将成为EDA领域的重要组成部分。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,分成外部(或称可视部分,及端口)和内部(或称不可视部分),这样分开之后,两者分开处理,既涉及了实体的内部功能,又能完成算法部分,大大的提高了处理水平。当对一个设计实体定义了外部界面后,在处理外部界面时,一旦其内部开发完成后,内部的文件就能够被其他设计使用,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。1.3EP2C5T144最小系统介绍本开发板采用的主芯片FPGA型号为Altera公司最新的CycloneIV系列中的EP2C5T144,等效门数大约为50万门(是CycloneEP1C3(10万门)的5倍)。开发板的电源系统需要的电源大小是5V直流电源,通过板上的LDO电源系统出来,然后给FPGA系统的各个元件提供所需的各种电压,并且可以向外输出5V、3.3V两种电压。电源系统出来后则是板上配的EPCS4配置芯片,JTAG和AS两种下载端口,方便下载程序,以及50MHz有源晶振,给系统提供时钟信号。FPGA的所有引脚均是通过两个40Pin的2.54mm标准排针接口引出,引脚的大小符合国际标准,并与国际流行的DE2开发板上的扩展接口管脚兼容,因此假如有先有的扩展卡,都可以拿来使用。系统内设有8个LED发光二极管,其作用是用来做I/O的输出显示。除此之外,系统内还有4个按键开关、8位数字拨码开关组成的I/O输入,其作用是用来控制系统的功能。PCB板是采用四层板设计,板子的性能以及稳定性相当可靠。通过扩展接口可以将同样的多块FPGA板以层叠的形式集成在一起简单扩充系统的容量,相当于多块硬盘结合成一块大的硬盘,这样不仅扩大了容量,还能省去不少空间。除此之外,PCB板形成了多Nios嵌入式并行处理器的小型实验系统,可以驳接SRAM、SDARM、七段LED、LCD、Video/Audio、AD/DA等设备和其他各种形式的用户外设接口板。该开发板主要是为学习FPGA/HDL/嵌入式Nios等数字逻辑的学生和爱好者提供一种简单廉价的实验平台。开发板要求的输入电压是5V。通过U2:LM1085-3.3的LDO芯片出来将会到3.3V的电压。再通过AMS1117-1.2的LDO芯片,通过AMS1117-2.5的LDO芯片U4产生FPGACycloneIV芯片内部PLL所需要的独立电源。其中有3.3V电压是给FPGA的IO提供的。也就是说本设计采用了简化的FPGAIO引脚电平是+3.3V,而不提供给用户CycloneIV其它不同电平标准的I/O电平选择方式。+1.2V电压是提供给FPGA内核的工作电压,+2.5V是FPGA内部PLL的专用工作电压。1.2V电压的纯净程度要求比较高,故采用钽电容滤波。1.4本文研究的主要内容交通灯控制电路是的作用主要是用于城市的交通疏通,每当有大量车辆出入造成堵塞的时候,交通灯控制电路就能体现它的用处了。交通信号灯在人与车辆交替行驶时,能实现红灯、黄灯、绿灯的自动指挥,更好的实现现代化交通管理。交通灯指示告诉我们,绿灯亮时,准许车辆通行,但转弯的车辆不得妨碍被放行的直行车辆、行人通行;黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。在每个城乡的十字路口,一般都在每条道路上各有一组红、黄、绿交通信号灯,这样的用意就是在于保证交通秩序和行人安全。在未设置信号灯的路口,车辆和行人应当按照机动车信号灯的表示通行。交通灯控制电路将会自动控制十字路口的交通灯的切换,安全的指挥各种车辆以及行人通过,真正的实现城乡交通的自能化管理。一个十字路口的交通控制器,不光是交通灯的切换,更重要的是将十字路口的四个方向合理运转,方向有东南西北,东西方向的红绿灯状态一样,南北方向的红绿灯状态一样,每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行。本论文则简要的介绍了FPGA芯片的特点以及设计意义,本系统是以QuartusII软件为开发平台,然后通过VHDL硬件描述语言来编写程序,以及设计原理图以输入方式来设计交通灯。FPGA芯片是一款功能非常强大,可多次编程及擦除的逻辑芯片,本系统采用了FPGA设计ASIC电路,用户将不需要投片生产,基于FPGA交通灯控制器设计就能实现相应的功能。FPGA的内部有着丰富的触发器和I/O引脚。FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA的开发,是ASIC电路中风险最小、开发费用最低、设计周期最短的器件之一。FPGA采用高速的CHMOS工艺,功耗低,性能强,可直接与CMOS和TTL电平兼容。因此用FPGA完成交通灯的设计不光要合理,更注重的是芯片的选用。本论文通过设计交通安全指挥灯,从而来形象的指挥行人和车辆的安全通行。在十字路口处,是发生危险的重点去,因此在十字路口的东西南北四个方向必须合理安排。东西方向的交通信号灯状态保持一致,南北方向的交通信号灯状态也保持一致。其中每个方向有左转灯、红灯、绿灯和黄灯,共四盏。左转灯亮说明车辆可以左转通行;红灯亮说明禁止车辆直行和左转;绿灯亮说明允许车辆直行和右转;黄灯亮说明即将禁止车辆直行和左转。在每个方向上均设有一个倒计时显示器,以显示禁止或允许通行的倒计时间。2硬件设计2.1硬件开发环境介在本次毕业设计中,笔者的硬件开发环境是AD14,即AltiumDesigner14硬件开发环境。AD14是AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。该软件全面集成了原理图设计、原件绘制、原件封装绘制、PCB板图绘制以及电气仿真等等功能,为开发者提供一个优秀的开发环境和灵活的运用平台,目前最高版本为AltiumDesigner15.0.7。AltiumDesigner开发工具全面包括继承包括Protel99SE、ProtelDXP在内的以前相关版本的相关功能和优势外,继续添加了一些新的创新的功能,该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。由于AltiumDesigner在继承先前Protel软件功能的基础上,综合了FPGA设计和嵌入式系统软件设计功能,AltiumDesigner对计算机的系统需求比先前的版本要高一些。AltiumDesigner不仅拥有强大的PCB设计能力,而且还有强大的逻辑仿真分析能力,是一款特别适合初学者使用的PCB绘制软件。该软件主要任务包括:1..电气原理图开发回执;2.印刷电气属性电路板PCB设计;3.FPGA程序及其仿真的设计;4.嵌入式系统电路设计开发;5.3DPCB模型绘制及其演示。 2.2硬件开发环境平台搭建上一节笔者介绍本次硬件设计的软件为AltiumDesigne14.0,下面笔者简单介绍AD14如何建立工程项目工程。步骤一:启动AD软件,如下图2.2.1:图2.2.1AD启动界面步骤二:在启动后的界面如下图2.2.2所示:

图2.2.2步骤三:如图2.2.3所示,在打开的界面中,打开菜单中选择File—>project—>PCBProject,即可创建一个工程项目。图2.2.3步骤四:创建完成后,在窗口的左边会出现如下控制台,如图2.2.4所示:图2.2.4步骤五:如图2.2.5所示,将鼠标移动至项目工程图标处,单机鼠标左键,在弹出下拉菜单中选择“addnewtoProject”选项,在弹出的菜单中,就可以添加原理图和PCB制作图板了,如图所示:图2.2.5在选择“schematic”,就是添加原理图制作文件,如图2.2.6所示为原理图制作窗口:图2.2.6自此就可以开始设计原理图了。2.3系统分析根据下面的系统框架图我们可以分析得知,论文中所涉及的十字路口交通灯只能疏导控制系统必须具有能够指挥前进和左转的功能,还有拥有行人指示灯的功能,并且是控制绿黄红灯按相关顺序进行循环亮和灭的。而且要求绿灯亮转红灯亮或者转左转灯亮之前要先转黄灯亮5秒,左转灯亮转红灯亮之前也要先转黄灯亮5秒,红灯亮可以直接转绿灯或左转灯亮(四种灯的循环顺序如图2.1所示)。还要求四种颜色灯的点亮时间能够通过倒数计时的方式进行显示。可以用VHDL语言合理设计系统功能,使红黄绿左转灯的转换有一个准确的时间间隔和转换顺序。图2.3指示灯转换顺序采用基于FPGA逻辑编程的方法来进行该设计,具有编程简单、操作灵活、便于优化升级的特点。同时,目前FPGA元器件的快速进步,编程设计和原理图电路设计等设计平台的快速发展和进步,FPGA的设计方式越来越受到关注和运用。根据设计需求和该系统必须所具有功能,并参考相关的文献资料经现在的方案设计画出十字路智能口交通灯控制系统框图如下图所示,这也是本次设计的总体方案,框图如下图2.4所示:CLKCLK时钟分频模块交通灯控制及计时模块扫描显示模块LED显示数码管位码数码管段码图2.4系统的框图2.4原理图设计1.数码管的时间显示以及信号灯切换电路的设计原理如下图所示,如下图2.3所示为显示电路部分,图2.3显示以及信号灯电路如图所示,本文的交通灯的显示和指示灯电路,就是由图2.3相同的四个电路构成,分别指示四个路口的交通情况。这里要求的开发板上必须要设定一个计数器,且计数值为0-60。当计数值达到60后,下一个时钟沿回复到0,开始下一轮计数。但是,如何系统检测发现了特殊状况(EMI=‘1’)的出现时,计数器将会迅速暂停工作,此时本系统的复位信号RESET将命令计数器强制清零。这样每一个电路的控制端口都直接连接在开发板上,便于开发对整个系统的控制是完美的。由于采用的FPGA芯片的时钟频率是50MHz,需要将其分频为1Hz。也就是说当前模块的分频为50M,且将相关频率瞬间变换成1Hz的脉冲波信号,这样得到的相关脉冲波的周期将可以达到1S。假如系统能够达到分频50M,这时在仿真图上是根本观察不了的,也就无法进行准确的验证和测试,所以在仿真的时候,最好是将分频系数调小一些,大约20分频就可以了,这时候就可以很清楚的从图中得到并分析对时钟输入信号的分频了,如图2.4所示,Reset是复位信号,CLK_50MHz是输入时钟频率,CLK_1Hz是输出时钟频率,从图中可以看出,输出频率CLK_1Hz确实是输入时钟频率CLK_50MHz的20分频。交通灯信号计时显示部分,是按照相关输入的STATUS信号,产生相应的指示灯的信号,其直接可以控制交通灯的点亮或熄灭,在指示灯信号显示电路程序测试真结果中,不难发现,STATUS是一种输入信号,而它是必须按照状态控制模块产生的脉冲信号,即STATUS信号,一种六种状态,依次为000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6);EW_LRGY(8位)是东西方向上交通信号灯的状态,SN_LRGY(8位)是南北方向上交通信号灯的状态,依次为左转、红、绿、黄,对应着EW_LRGY、SN_LRGY的前四位,‘1’表示点亮,‘0’表示熄灭,后四位均为0,表示四个灯的阴极接负极。

图2.4整个指示电路

3软件设计3.1软件开发平台介绍在本次毕业设计中,主要运用的软件开发环境是QuartusII,QuartusII是Altera公司的新一代功能跟强大的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL语言等多种不同设计形式和方法,其内部它本身独立的综合器以及独立高效仿真器,能够进行从程序设计输入到相关硬件的设置和模拟仿真等设计流程。QuartusII可以在XP系统、Linux系统包括Unix系统上都可以进行安装运行,同时该软件兼容Tcl脚本语言,而且还具有人性化的用户UI环境可以体验,具有很快的操作速度和运行速度,高度的界面统一性,功能强大实用,操作简单等特点。QuartusII兼容Altera的相关IP核,同时内嵌了LPM/MegaFunction宏定义的功能模块底层库,这样用户很容易调用相关的函数模块进行编程设计,对用户而言更加简单和方便。另外该软件开发平台也支持相关第三方的EDA开大平台。比如支持Synplifypro、LenoardoSpecturn以及Modelsem等第三方EDA工具来完成设计任务和仿真。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。该软件开发平台进一步改进了系统模块工具中的LogicLock模块分析和设计功能,另外也增加了FastFit编译的选项。事实上,在QuartusII开发平台目前的运用已经十分的普遍,在很多领域随着FPGA编程的普及,不可避免的运用到了相关的QuartusII开发平台,因为该平台操作相对比较简单,而且也比较容易理解,学起来也比较快,操作更加顺手。另外,其具有强大的编译和分析功能,特别是在处理复杂逻辑运算时,可以直接调用其内嵌的大量的处理工具。因此,该平台收到了极大的欢迎。3.2QuartusII的设计流程介绍如图3.1所示就是QuartusII的设计流程图,图3.1设计流程图该软件开发平台的具体的操作过程如下所示:首先,进行设计之前,需要建立一个工作库的文件夹和并且新建相关的编译设计和程序编写的文件。然后,开始创建相关的工程文件。编程完毕后,就开始进行编译程序进行调试。调试没有语法错误后,就可以进行时序仿真时序仿真后,如果没有问题,就可以进行引脚锁定最后,就可以将程序下载到相关硬件环境中实际验证3.3程序设计1用VHDL编写程序,来实现交通灯控制器的原理框图如图3.3示图3.3交通信号灯控制器程序原理框图程序中的时钟信号clk为石英晶体(327868HZ)分频后的8Hz标准信号作为产生1秒信号的输入信号,为LED数码管驱动电路(MC4511)提供输入信号,用于县市交通灯所处的状态的时间。6个输出信号(对应两组红黄绿灯,FR1、FY1和FG1为主干道红黄绿灯信号,FR2、FY2和FG2为支干道红黄绿灯信号)。该程序由7个进程组成,进程P1和P2将8Hz标准信号分频后产生1秒信号(carry),进程P1和P2进程P3、P4和P5进程构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号(en)。进程P6实现状态转换和产生状态转换的控制信号(load),进程P7产生次态信号(next_state)和信号灯输出信号(FR1、FY1、FG1、FR2、FY2和FG2),以及每一个状态的时间值(即计数器的预置数)和下一个状态。3.3.1程序设计分析图3.4程序流程图上图就是本次设计的程序流程图3.3.2程序分析与仿真一个完整的VHDL语言程序通常包括实体(Entity)、构造体、配置、包集合(Package)和库(Library)5个部分组成。下面结合实际的程序来加以说明。首先是更灯函数的转换如下图3.3所示whenew_yellow0=>ew_state<=ew_turnl;ew_secondH:=2;ew_secondL:=0;--下一状态的左转灯whenew_turnl=>ew_state<=ew_yellow1;ew_secondH:=0;ew_secondL:=5;--下一状态的黄灯whenew_yellow1=>ew_state<=ew_red;ew_secondH:=8;ew_secondL:=0;--下一状态的红灯whenothers=>ew_state<=ew_red;ew_secondH:=8;ew_secondL:=0;--下一状态的红灯2.显示器片选casecntis–显示时间when0=>L<="000";dled<=display(ew_secondH);when1=>L<="001";dled<=display(ew_secondL);when2=>L<="010";dled<=X"00";when3=>L<="011";dled<=X"00";when4=>L<="100";dled<=X"00";when5=>L<="101";dled<=X"00";when6=>L<="110";dled<=display(sn_secondH);when7=>L<="111";dled<=display(sn_secondL);endcase;endif;endprocess;endcontrol;关于各种信号依次是:clk:系统输入时钟50MHzrst_n:系统异步复位信号LEDDX:东西向的LED红绿灯rledDX:东西向的人行道红灯LEDNB:南北向的LED红绿灯rledNB:南北向的人行道红灯SGMDX:东西向的数码管段选SGMNB:南北向的数码管段选SWDX:东西向的数码管位选SWNB:南北向的数码管位选仿真图如下图3.5所示图3.5信号仿真图**产生计时信号2*/always@(posedgeclkornegedgerst_n)begin if(!rst_n) begin scountb<='d2; cntb<='d0; end elseif(start_countb==1'b1) begin if(cntb>=50000000) begin cntb<='d0; if(scountb>'d0) scountb<=scountb-'d1; else scountb<='d0; end else cntb<=cntb+'d1; end else scountb<=timesb;end4实物模型展示4.1实物模型介绍图4.1交通灯模型图如图4.1所示,这就是本文设计的一个智能交通等的大致模型,从图上可以看出,每一个路口有三个指示和两个行人指示灯。考虑到实验室所用的FPGA器件EP2C5T144最小系统板上的数码管数量比较少以及LED逻辑状态的指示管数量相对比较有少,因此,本论文设计的十字路口交通灯控制器不具有左拐弯功能,仅实现主、支干道红、黄、绿灯、倒计时数的显示,初始化设置以及特殊状态控制功能。实现红黄绿灯的智能控制和管理系统的广泛运用是目前现代城市构建智能交通指挥疏导系统的重要研究课题。通过对上面模型图的分析,可以明白本设计,是介绍的一种基于FPGA的十字路口智能交通灯控制系统,该系统分别由四组红、黄、绿灯以及四组红绿灯组成,其中四组的红黄绿灯是指挥十字路口车辆的,四组红绿灯是指挥行人的。另外由VHDL语言在相关开发系统板上对所以灯的开关进行系统合理的控制,使得所有颜色的灯按照一定规律循环亮和灭。4.2实物模型演示方法该模拟平台只要给其通上电源后,系统开发板会自动启动在一个计算周期内,该交通控制指挥系统有四种运行模式,包括S0、S1、S2、S3四个不同的状态。四种状态的运行模式为S0→S1→S2→S3,S3结束后,返回到S0状态,整个运行周期连续为60s。R表示信号的重置,相关设置重置后系统开始自动按原来规律进行循环。SPC是一种紧急的控制信号,一旦该信号电平置高后系统自动切换至S6状态,该状态解除后,系统将被初始化,自动变为S0。WE和SN是两组控制不同方向左转的控制信号。当直行方向允许通车后,WE将被置高,系统被切换值S4模式,同样S4状态解除后,系统切换至S1模式。当直行方向禁止通车后,SN将被置高,此时系统将会变成S5状态,S5状态解除后,系统立刻变成S3状态,又以此循环下去。每一组红绿灯的状态指示方式如下:S0:直行道路点亮绿的,另一直行道路显示红灯。也就是说此时一条直行道路可以通车,另一条直行道路将被禁止通车,整个状态维持60s。S1状态:一条直行道路亮黄灯、另一条亮红灯。这个时候第一条直行道路即将禁止通行,另一侧的直行通道任然禁止通车,这个状态将维持5S。4.3效果展示如下图所示,这就是硬件运行后的效果图,图4.3效果图1

总结利用网络和图书馆的有效资源,并且参考阅读了很多的资料,并进行仔细分析和研究,充分验证后作出了相关的设计思路;最后按照该方案,通过向同学老师请教,最终完成了这个课题任务。本设计是通过利用VHDL语言进行程序设计的,以芯片EP2C5T144的FPGA试验箱为开发平台,通过简单的外围电路,以双色LED的变换过程,模拟交通十字路口交通灯的红绿两个信号灯的变化,本设计综合分析了多种通行情况的可能,加入了比较了人性化的声音和时间提示功能。因为硬件芯片I/O口数量实在无法满足相关需求,在硬件测试过程中不得不删除了一部分软件调试中的功能,比如由三行道改为了双行道,但是这并不意味着该系统功能在软件仿真上不能实现。同时,我深深体会到了通过FPGA在设计数字电路方面,具有操作方便、设计简洁的特点,这让我相信未来数字电路的应用必将更加广泛。另外,我深深的感觉到:从事研发和设计的相关工作,必须要保持勤奋、踏实、认真、不放弃的学习态度,坚持这种态度才能让自己的学习和工作做得更好。让我认识自己能力,找准自己的不足点,加强相关点的学习和认知。更重要的是,这一次毕业设计让我学会了如何面对艰难、如何别人合作和交流、如何独立思考和应对不确定问题。让我深刻了解到,成功之初的艰辛,只有认真找到问题的实质,真正理解到问题的根本后,才能够有更有效的找到解决问题的方法。最后敬请各位专家、老师和同学对论文的不足和谬误之处提出宝贵的指导意见和建议,谢谢。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究HYPERLINK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论