基于fpga的交通灯控制器设计-学位论文.doc
《基于fpga的交通灯控制器设计-学位论文.doc》由会员分享,可在线阅读,更多相关《基于fpga的交通灯控制器设计-学位论文.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、综合课程设计报告 基于FPGA的交通灯控制器设计学 院 :通信与电子学院 专业班级 :电子科学与技术班 姓 名 : 学 号 : 指导老师 : 摘 要近年来,随着科技的飞速发展,FPGA的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,FPGA往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 交通灯控制器在城市交通监管中起着极其重要的作用。传统的交通灯控制器基本是通过单片机或者PLC实现。本文介绍基于FPGA技术和Quartus II开发平台实现十字路口交通灯控制器的的一种方案,实现了通过信号灯对路面状
2、况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。利用VHDL硬件描述语言描述各模块程序,并在Quartus II环下进行编译、仿真,生成顶层文件后下载在FPGA器件FLEX EPF10K10LC84上进行验证。验证结果表明,设计基本实现了交通灯控制器所要求的控制过程,包括倒计时时间显示功能、特殊状态控制功能和主、支干道的红、黄、绿灯交替显示功能,表明本文所述的的设计方案正确。 本文结合交通灯控制器的设计过程,简单介绍了硬件描述语言VHDL的结构模型和设计流程、 VHDL设计的优点及该语言在数字系统设计中的美好前景和重要地位。关键词:FPGA,交通灯控制器,
3、Quartus,VerilogHDL 目 录摘要1 FPGA/CPLD概述12 系统分析与总体方案32.1系统分析32.2 设计的总体方案33 硬件电路设计43.1分频器设计43.2 状态控制电路设计43.3计数器设计53.4译码显示电路设计54 ROBEI软件程序设计64.1扫描显示模块64.2状态转换模块74.3总体设计114.4测试文件125 程序仿真与分析125.1 仿真结果125.2 仿真结果分析146 心得体会16参考文献17附录181 FPGA/CPLD概述随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。城市交通基础设施供给滞后于高速机动化增长需求,道
4、路堵塞日趋加重,交通事故频繁,环境污染加剧等问题普遍存在。目前,全国大中城市普遍存在着道路拥挤、车辆堵塞、交通秩序混乱的现象,交通事故频发,这给人民的生命财产安全带来了极大的损失。如何解决城市交通问题已成为全社会关注的焦点和大众的迫切呼声。探究城市交通发展中存在问题的原因,无论是从宏观上还是从微观上分析,其根本原因在于城市交通系统的管理机制不适应。城市交通控制系(UTC ,Urban Traffic Control System)是现代城市智能交通系统(IDJ ,Intelligent transport system)的组成之一,主要用于城市道路交通的控制与管理。城市平交路口实现交通信号控制
5、是城市交通管理现代化的基本标志之一,是提高交通管理效能的重要技术手段。路口信号控制器是控制交叉路口交通信号的设备,它是交通信号控制的重要组成部分。各种交通控制方案,最终都要由路口信号控制器来实现。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。FPGA(现场可编程门阵列)和CPLD(复杂可
6、编程逻辑器件)都是可编程逻辑器件,他们是在PAL,GAL等逻辑器件的基础上发展起来的。同以往的PAL,GAL相比较FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD上就是一个子系统部件。这种芯片收到世界范围内电子工程设计人员的广泛关注和普遍欢迎。比较典型的就是Altera公司和Xilinx公司的CPLD器件系列和FPGA器件系列,他们开发较早,占用了较大的PLD市场。FPGA/CPLD芯片都是特殊的ASIC芯片,除了具有ASIC的特点外,还具有以下几个优点:随着VLSI(超大集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA/CPL
7、D芯片的规模也越来越大,其单片逻辑门数已达上百万门,它所实现的功能也越来越强,同时也可以实现系统集成,即片上系统SOC。FPGA/CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担芯片风险和费用,设计人员只需在自己的实验室就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA/CPLD的资金投入就少,减少了潜在的花费。用户可以反复的编程,擦除,使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。FPGA/CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入,编译,优化,仿真,直至最后芯片的制作。
8、当电路有少量的改动,更能显示FPGA/CPLD的优势。在线可编程技术(ISP)使得使用FPGA/CPLD的产品可以做到远程升级。 2课程设计总体方案2.1系统分析 通过分析可以知道,所要设计的十字路口交通灯控制电路要能够使南北、东西各四个灯(红、黄、绿),三个灯能够按顺序依次亮灭。而且要求绿灯亮转红灯亮之前要先转黄灯亮5秒,还要求三种灯的点亮时间能够以倒计时的形式显示出来。可以用verilog HDL语言合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。使用基于FPGA的方法具有周期短、使用灵活、易于修改等明显的优点。而且,随着FPGA器件,设计语言和电子设计自动化工具的发展和
9、改进,越来越多的电子系统采用FPGA来设计。未来使用FPGA器件设计的产品将出现在各个领域。因此此次的交通灯控制器将基于FPGA的设计方案来实现所需要的功能。 2.2 设计的总体方案 根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图3.1所示:CLK时钟分频模块交通灯控制及计时模块扫描显示模块LED显示数码管位码数码管段码图2.2 系统的框图3 硬件电路设计3.1分频器设计 分频器实现的是将高频时钟信号转换成低频时钟信号,用于触发控制器、计数器和扫描显示电路。具体实物模块如图:图3.1 分频器模块3.2 状
10、态控制电路设计状态控制器的作用是根据计数器的计数值控制各方向上发光二极管的亮、灭,当计时时间到达,状态控制器就响应,自动跳转到下一个状态。此外,当检测到特殊情况(EMI =1)发生时,无条件点亮红灯的二极管(急救灯按下EMI=1,则东西南北都亮红灯,在这种状态下原来的状态必须保持,即东西南北方向定时时间保持不变。急救灯未按下或者按下后恢复,则继续计时(计时通过计数器ct),同时恢复东西南北原来灯的状态)。具体实物模块如图:图3.2控制电路模块3.3计数器设计这里需要的计数器的计数范围为0-80。计到80后,下一个时钟沿回复到0,开始下一轮计数。此外,当检测到特殊情况(EMI =1)发生是,计数
11、器暂停计数,而系统复位信号RESET则使计数器异步清零。图3.3计数器模块3.4译码显示电路设计根据状态控制器所控制的状态和计数器的计时时间,选择当前状态下的显示器,使显示器输出当前状态下的数码管亮、灭指令,其中数码管的显示采用动态扫描显示。具体实物模块如图:图3.4译码显示电路模块4 robei软件程序设计114.1扫描显示模块: /*扫描显示*/parameter _0 = 7b1000000,_1 = 7b1111001,_2 = 7b0100100,_3 = 7b0110000,_4 = 7b0011001,_5 = 7b0010010,_6 = 7b0000010,_7 = 7b11
12、11000,_8 = 7b0000000,_9 = 7b0011000;reg 6:0rTen_SMG_Data;initial beginrTen_SMG_Data = 7b0000000;endalways ( posedge clk or negedge nrst )if( !nrst )beginrTen_SMG_Data = 7b1111111;endelsecase( ten_data )4d0 : rTen_SMG_Data = _0;4d1 : rTen_SMG_Data = _1;4d2 : rTen_SMG_Data = _2;4d3 : rTen_SMG_Data = _
13、3;4d4 : rTen_SMG_Data = _4;4d5 : rTen_SMG_Data = _5;4d6 : rTen_SMG_Data = _6;4d7 : rTen_SMG_Data = _7;4d8 : rTen_SMG_Data = _8;4d9 : rTen_SMG_Data = _9;endcase/*/reg 6:0rOne_SMG_Data;initial beginrOne_SMG_Data = 7b0000000;endalways ( posedge clk or negedge nrst )if( !nrst )beginrOne_SMG_Data = 7b111
14、1111;endelsecase( one_data )4d0 : rOne_SMG_Data = _0;4d1 : rOne_SMG_Data = _1;4d2 : rOne_SMG_Data = _2;4d3 : rOne_SMG_Data = _3;4d4 : rOne_SMG_Data = _4;4d5 : rOne_SMG_Data = _5;4d6 : rOne_SMG_Data = _6;4d7 : rOne_SMG_Data = _7;4d8 : rOne_SMG_Data = _8;4d9 : rOne_SMG_Data = _9;endcase/*/assign ten_s
15、mg_data = rTen_SMG_Data;assign one_smg_data = rOne_SMG_Data;/*/4.2状态转换模块:/*状态转换*/parameter state_0 = 2b00,state_1 = 2b01,state_2 = 2b10,state_3 = 2b11;reg 1:0CS;reg 1:0flag;reg 3:0count_H , count_L;reg 3:0count_H1 , count_L1;reg ECS;reg2:0light_zhu; /light_zhu0 ?light_zhu1 ?light_zhu2 ?reg2:0light_z
16、hi; /light_zhi0 ?light_zhi1 ?light_zhi2 ?initial beginCS = 2b00;flag = 2b00;ECS = 1;count_H = 4b0000;count_L = 4b0000;count_H1 = 4b0000;count_L1 = 4b0000;light_zhu = 3b000;light_zhi = 3b000;endalways ( posedge clk_1Hz or negedge nrst )if(!ECS)beginECS = 1;endelsebeginif( !nrst )beginCS = state_0;fla
17、g = 2b00;state_0_init;endelsecase( CS )state_0: if( flag = 2b00 ) /状态0, 35sbeginif( !count_H & ( count_L = 4b0110 ) ) /5sbeginflag = 2b01;CS = state_1;state_1_init; /state_1endelse if( !count_L )begincount_L = 4b1001;count_H = count_H-1;endelsebegincount_L = count_L-1;endif( !count_L1 )begincount_L1
18、 = 4b1001;count_H1 = count_H1-1;endelsebegincount_L1 = count_L1-1;endendstate_1: if( flag = 2b01 ) /状态1,5sbeginif( !count_L )beginflag = 2b10;CS = state_2;state_2_init; /状态2endelsebegincount_L = count_L-1;count_L1=count_L;ECS = 0;endendstate_2: if( flag = 2b10 ) /状态2,25sbeginif( !count_H & ( count_L
19、 = 4b0110 ) ) /5sbeginflag = 2b11;CS = state_3;state_3_init; /state_3endelse if( !count_L )begincount_L = 4b1001;count_H = count_H-1;endelsebegincount_L = count_L-1;endif( !count_L1 )begincount_L1 = 4b1001;count_H1 = count_H1-1;endelsebegincount_L1 = count_L1-1;endendstate_3: if( flag = 2b11 ) /状态3,
20、5sbeginif( !count_L )beginflag = 2b00;CS = state_0;state_0_init; /状态0endelsebegincount_L = count_L-1;count_L1 = count_L;ECS = 0;endenddefault: beginflag =2b00;CS = state_0;endendcaseend/*/task state_0_init;begin/主干道绿灯45秒只干道count_H = 4b0100; /高位为4count_L = 4b0101; /低位为5count_H1 = 4b0101; /高位5count_L1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 fpga 交通灯 控制器 设计 学位 论文
限制150内