基于FPGA的交通灯控制器设计(46页).doc
《基于FPGA的交通灯控制器设计(46页).doc》由会员分享,可在线阅读,更多相关《基于FPGA的交通灯控制器设计(46页).doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于FPGA的交通灯控制器设计-第 39 页基于FPGA的交通灯控制器设计学生姓名:学生学号:院 (系): 电气信息工程学院 年级专业:指导教师:助理指导教师:二一五年五月摘 要随着国民经济的不断提高,汽车数量不断增加,交通问题越来越引起重视,对交通灯控制器的要求也越来越高。设计一个性能可靠的交通灯控制器,对维持交通秩序和保证交通安全起着至关重要的作用,也是经济与社会发展的需要,极具实际意义。本文介绍基于FPGA的交通灯控制器设计。交通灯控制器可分为四个部分:信号灯显示部分、分频部分、倒计时部分和计时器部分,采用Verilog HDL语言进行系统描述,并结合Quartus软件进行系统设计与调
2、试。此设计的功能是控制在十字路口的主干道和支干道信号灯在每天的0点到6点之间不循环切换信号且无倒计时,而其他时间则按设置的顺序切换信号,并有倒计时显示。在主支干道设有重力传感器,检测该方向是否有车辆,如该方向无车辆而另一方向有车辆,则可以提前放行另一方向。关键词 交通灯控制器,FPGA,Verilog HDL,QuartusABSTRACTWith the constant improvement of the national economy and the car number increasing,the traffic problems become more and more att
3、ention, the requirement of traffic controller is higher and higher. Design a reliable performance of traffic light controller to maintain traffic order and guarantee the traffic safety plays an important role, is also the needs of economic and social development and extremely practical significance.
4、This paper introduces the traffic light controller design is based on FPGA . The traffic light controller can be divided into four parts: light display part, frequency division part, the countdown part and the timer part, using Verilog HDL language for system description, and combing Quartus softwar
5、e foe system design and debugging. The function of this design is to control the main branch road lights at the crossroads between 0 to 6 AM every day not switching signal without the countdown, while other times according to set the order of the switching signal, and the countdown display. In the m
6、ain trunk road with gravity sensor, detecting the direction of vehicles, such as the direction, no vehicle and another direction with vehicles, can release ahead of the other direction.Key words the traffic light controller, FPGA,Quartus, Verilog HDL目 录摘 要IABSTRACTII1 绪论11.1交通灯控制器的研究背景11.2 交通灯控制器的发展
7、现状11.3 交通灯控制器的发展趋势21.4 本课题的研究内容22 交通灯控制器系统设计方案论证32.1 交通灯控制器设计方案32.2 交通灯控制器设计方案选择32.3 交通灯控制器的设计要求32.4 交通灯控制器的设计思路43 控制器硬件设计63.1 Cyclone IV性能介绍63.1.1 FPGA概述63.1.2 FPGA的设计流程63.1.3 Cyclone IV E主要特性73.2 七段数码管简介83.2.1 七段数码管概述83.2.2 七段数码管动态显示原理93.3 交通灯控制器各模块性能分析93.3.1信号灯显示模块的性能分析93.3.2分频模块的性能分析103.3.3倒计时显示
8、模块的性能分析103.3.4计时器模块的性能分析114 控制器软件设计124.1 Verilog HDL简介124.1.1 Verilog HDL概述124.1.2 Verilog HDL模块设计124.2 交通灯控制器系统程序设计134.2.1 信号灯显示模块程序134.2.2 分频模块程序144.2.3 倒计时模块程序144.2.4 计时器模块程序155 软件仿真175.1 Quartus软件简介175.1.1 Quartus软件概述175.1.2 Quartus软件的设计流程175.2 程序调试过程185.3 软件仿真结果206 硬件测试与结果236.1 硬件下载测试236.1.1 引脚
9、分配236.1.2 硬件下载236.2 硬件测试结果24结 论26参 考 文 献27附录A:硬件实物图29附录B:硬件测试结果30附录C:交通灯控制器源程序31致 谢421 绪论1.1交通灯控制器的研究背景假如路口没有交通信号灯,来往的车辆该什么时候通行,行人该什么时候穿越公路,没有明确的指示,交通将会变得一团糟,同时也一定会有许多交通事故产生。因此,交通信号灯是道路交通不可缺少的部分,维护交通秩序,保证交通安全。世界上最早的交通信号灯是1858年在英国伦敦出现的已然煤气为光源的红、蓝两色的机械扳手式信号灯。20世纪初,一种由红绿黄三种色的圆形投光器组成的电气启动红绿灯出现在美国的大街。不久后
10、,又出现了带控制的红外红绿灯和红绿灯。20世纪中期,联合国对道路交通和道路标志信号协定的制定,使各信号灯的含义变得规范明确,绿灯信号代表通行,红灯信号代表禁行,黄灯信号代表警告。如今交通信号灯灯已经随处可见,人尽皆知,几乎在每个城市的每个路口都有其存在。起初,我国普遍使用的交通灯控制器基于单片机或 PLC 来设计的,功能比较简单,信号灯按照设置的顺序不断切换,有的还有计时显示。1.2 交通灯控制器的发展现状正如我们所见,现在的交通信号灯一般是设在路口比较醒目的位置,用红、绿、黄三种颜色的信号灯来指挥交通,这些信号灯是按照事先设定的顺序不断重复切换,有的还有一个倒计时的倒计时显示部分,提醒车辆还
11、剩余的通行时间和还需要等待的时间。支干道图1-1 十字路口交通示意图绿主干道黄红红黄绿我国传统交通灯控制器普遍是使基于中、小规模集成电路,采用单片机和PLC 控制芯片进行设计,功能比较简单。基于这些芯片的设计,其系统外围电路十分复杂,需要的电路元件很多,接线相应变得很复杂,并且程序修改也不灵活,控制上也不够精确,故障率比较高。因此,交通灯控制器的设计需要改进,需要采用高密度和性能强的器件和更好更优良的设计方法。1.3 交通灯控制器的发展趋势随着经济的发展,人们生活水平的不断提高,汽车的数量是在不断地增加。车辆的不断增加,对道路交通的考验也越来越大,一定会面对更多的交通问题。作为维护交通秩序和交
12、通灯来说,这样将对它们性能和效率提出更高的要求。随着FPGA器件不断向着更高速、更密集以及性能更强更灵活的方向发展,使其不仅与标准逻辑器件的成了旗鼓相当的竞争对手,也同掩模式专用集成电路产生竞争关系,同时也将逐渐将专用集成电路(ASIC)取而代之。因此,交通灯控制器设计将广泛采用现场可编程逻辑器件FPGA及硬件描述语言进行研究与设计,采用 Quartus软件进行了电路仿真和调试,对设计每个阶段进行仿真从而及时发现设计错误,并反复修改、编程,直到完全满足要求。采用这种方法设计的交通灯控制器,不仅可靠性强,而且具有实用性、实时性、易操作、人性化、造价低等特点。同时,在交通灯控制器的设计过程中还可以
13、加入电子信息技术、数据通信通讯技术、传感器技术、控制技术和计算机处理技术等有效应用于交通灯系统中,使交通灯控制器的功能更完善,性能更好。1.4 本课题的研究内容通过对交通灯控制器的研究背景,发展现状以及发展趋势的了解,可见,交通灯控制器的性能和可靠性需要进一步提升,设计方法需要改进。因此,本课题是基于FPGA的交通灯控制器设计,降低设计的成本和功耗,增强设计的灵活性和可靠性。本课题的主要研究内容是在FPGA基础上设计控制器控制交通信号灯在车流量不同的时间段内实现不同的作用,具体包括:在十字路口设置绿、黄、红三个信号灯分别控制主干道和支干道的通行;控制器控制交通信号灯按设定的顺序循环切换,并倒计
14、时;当主干道某一方向有车辆等待而另一方向无车辆等待,该方向可以提前放行;在早上0点,控制器暂停交通信号灯切换;在早上6点,控制器恢复交通信号灯正常切换。2 交通灯控制器系统设计方案论证2.1 交通灯控制器设计方案交通灯控制器是一个典型的数字系统设计,其设计方法也特别多,以前传统的交通灯控制器设计基本上采用单片机或PLC等来进行设计实现,然而其外围电路的复杂和芯片本身控制不精等缺点,是的这些设计越来越不能满足设计需要。所以,在本次设计就基于性能可靠的现场可编程逻辑器件FPGA和采用硬件描述语言来进行设计,并拟定了以下两种设计方案。方案一:基于FPGA器件,采用VHDL语言进行设计。VHDL语言是
15、常用的硬件描述语言之一,在数字电路设计中十分常用,深受设计者的欢迎。但是VHDL语言素来以严谨著称,其语法要求比较严格,书写相当规范。VHDL语言进行设计比较难,主要用于在门级开关电路描述方面,其程序化的接口也不可以无限扩展。VHDL语言在国内不被大多数集成电路设计的公司使用,而在国外学术界比较流行,特别是在欧洲发展得比较好。方案二:基于FPGA器件,采用Verilog HDL语言进行设计。Verilog HDL语言是另一种常用的硬件描述语言,定义了许多易于仿真的语法,其程序化的接口可以无限扩展,是一种功能强大的硬件描述设计语言。Verilog HDL语言与C语言的语法结构及其相似,简单易懂,
16、以其精简,格式自由以及易于学习等特点在集成电路设计中深受欢迎,在产业界非常流行。 2.2 交通灯控制器设计方案选择对于初学者来说,理解VHDL语言确实有一定的难度,要用它来进行完成一个数字电路的系统设计更是困难。做为电子专业的学生,学习过C语言,对C语言比较熟悉了解,所以理解Verilog HDL语言比较容易,而且其自由的书写格式,可以将思维放在电路设计本身,可以很方便完成整个系统的设计。所以,本次设计就采用方案二,基于FPGA器件,采用Verilog HDL语言来完成交通灯控制器设计。2.3 交通灯控制器的设计要求设计一个由主干道和支干道汇合形成的十字路口的交通灯控制器,其设计要求包括:(1
17、)主干道和支干道各设有一个绿、黄、红三个信号显示灯,用七段数码管实现倒计时显示;(2)在每天早上6点至晚上12点之间,主干道和支干道的通行状态相互交替,主干道通行时间为35秒,支干道通行时间为25秒,在每次主干道和支干道通行状态相互转换的过程中会有5秒的等待过渡时间,并且所有的计时都采用倒计时方式显示;(3)主支干道设有检测传感器来检测有无车辆等待,当该干道有有车量等待而另一干道无车辆,可以提前放行该干道;(4)在每天早上的0点到6点,此时间段内路上的车流量较少,主干道和支干道可以同时处于通行的状态,来往的车辆可以随时通行而不需要等待过渡。2.4 交通灯控制器的设计思路通过对交通灯控制器的设计
18、要求进行分析,可以发现采用Verilog HDL语言的有限状态机的设计思路,可以很好地实现其功能。交通信号灯共具有5个状态:主干道通行状态S0,主干道通行向支干道通行切换的过渡状态S1,支干道通行状态S2,支干道通行向主干道通行切换的过渡状态S3,主干道和支干道都通行的状态S4。S0、S1、S2、S3这4个状态是往复循环顺序切换的,S4状态则是在0点到早上6点才会出现的状态。S0状态时,主干道亮绿灯而支干道亮红灯,倒计时为35秒;S1状态时,主干道和支干道都亮黄灯,倒计时为5秒;S2状态时,支干道亮绿灯而主干道亮红灯,倒计时为25秒;S3状态时,主干道和支干道都亮黄灯,倒计时为5秒;S4状态时
19、,主干道和支干道都亮黄灯,此时无倒计时。S0S0S0S0S0图2-1 状态转换图要在设定时间段内保证交通信号灯的按照设定的顺序循环切换,只需要在系统程序中增加一个24小时的时钟计时,即可实现要求。当到达一个设定时间点时,产生一个信号让交通灯灯暂停切换,直到到达另一个时间点,产生一个信号让交通灯恢复正常工作。根据设计要求,可以将交通灯控制器系统的分成四个模块:信号灯显示模块、分频模块、倒计时显示模块和计时器模块,可采用自上而下的设计方法设计。0点6点计时器倒计时信号灯FPGA图2-2 系统原理框图分频器3 控制器硬件设计3.1 Cyclone IV性能介绍3.1.1 FPGA概述从PAL到PLD
20、到复杂可编程逻辑器件CPLD,可编程逻辑器件取得了巨大的进步,但是仍然存在不足,例如CPLD能够在单个器件中容纳大量的逻辑,但是不断增加逻辑数量,需要在CPLD中不断加入LAB(逻辑阵列模块),又需要有额外的PI(可编程互连阵列)布线来实现所有LAB的连接,其连接数量会呈指数增长,直到芯片管芯的连接数量超过逻辑数量,这限制了容量的扩展。解决方法是把LAB排列在网格中,从而产生了现场可编程门阵列FPGA的概念。FPGA是在CPLD基础上发展而来的一种现场可编程逻辑器件,对于 CPLD器件布线与容量之间的矛盾进行了改进。CPLD实现逻辑函数是采用可编程阵列来,而FPGA则是采用查找表(LUT)来实
21、现的,相比CPLD宏单元,它能够灵活建立函数和LE链,从而提高性能,减少资源浪费,进位逻辑和寄存器链布线的通用性也进一步提高了性能,增强了对资源的管理。FPGA中可以包含的查找表和触发器数量极多,从而可以实现规模更大且更加复杂的逻辑电路设计,可以避免了CPLD的阵列结构、触发器以及I/O端口数量上的限制。FPGA的芯片内部包含多种可编程资源:可编程逻辑单元(LE)、可编程布线、可编程I/O口、嵌入式存储器RAM、嵌入式乘法器、时钟以及锁相环(PLL)。对于复杂逻辑功能设计,FPGA的速率相对较高,由于LAB网格阵列,具有更丰富的逻辑资源。特别是对于高速通信应用,使用某些FPGAZ中的收发器成为
22、唯一的选择。一般来说,CPLD的功耗是比较低的。近几年来,随着生产工艺的进步,FPGA的生产成本大大降低,也具有许多低功耗特性,其功耗几乎与CPLD差不多,尤其在功能以及性能方面的优越性越来越突出,使其成为现在数字电路或系统设计的首选器件。总之,FPGA比CPLD等更高端,是高密度、高速度、高可靠性和低功耗的逻辑可编程器件,提供丰富的I/O端口和触发器,结构十分灵活几乎可以满足用户的各种需求。3.1.2 FPGA的设计流程将FPGA的设计方法归纳为一个简单的设计流成,Altera的全集成开发工具Quartus软件就完全支持这一流程。FPGA的设计流程具体如下。(1)源文件的编辑和编译。首先把需
23、要输入的设计思路以文本或图形的形式表达出来,再进行排错编译,同时为进一步的逻辑综合做准备。一般常用的源程序输入方式有原理图输入方式和文本输入方式两种。(2)逻辑综合和优化。经过一列操作把源文件分解成一系列逻辑电路和对应关系,最后得到门级电路或更底层的电路描述文件,即生成网表文件,该网表文件与FPGA基本结构是相对应的。(3)目标器件的布线/适配。在所选用的目标器件中建立与前面生成的网表文件相符合的基本逻辑电路的对应关系。(4)目标器件的编程下载。当前面的步骤,编译、综合、布线/适配等过程都没有出现问题,也就是说完全满足设计要求时,就可以将布线/适配器所产生的配置/下载文件通过下载电缆下载到目标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 交通灯 控制器 设计 46
限制150内