交通灯信号控制器设计说明_第1页
交通灯信号控制器设计说明_第2页
交通灯信号控制器设计说明_第3页
交通灯信号控制器设计说明_第4页
交通灯信号控制器设计说明_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 交通灯信号控制器设计 学 院: 信息工程学院专 业: 通信工程班 级:姓 名:指导教师: 完成日期: 2010年6月1日目 录引言1一绪论1(一)课题背景与意义1(二)课题任务要求2二 FPGA技术与开发工具介绍2(一) FPGA芯片2(二)VHDL语言简介4(三) MAX+PLUS II软件6三基于VHDL交通灯控制器设计和仿真7(一)设计思想介绍7(二)系统各功能模块的实现8(三)系统综合设计与仿真10(四)软件调试过程中遇到的问题11四系统调试与实现12(一)GW48-CK系统概述12(二) GW48-CK系统工作原理13(三)实验电路与管脚定义14(四)实验箱上验证时遇到的一些问题1

2、6(五)交通灯信号控制硬件测试16五毕业设计总结20结束语21参考文献21摘 要自从交通灯诞生以来,其部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。本设计主要在 MAX+plus环境下运用VHDL进行交通灯信号控制设计,并在GW48-CK型开发实验箱上的FPGA器件EPF10K10LC84-4芯片上进行硬件模拟实现。关键词:智能化,交通灯,VHDL,MAX+plusAbstractSince the inception of traffic lights, the internal of the circuit control systems have b

3、een continuously improved ,and start variety of design,which make the traffic lights more intelligent . The design mainly using VHDL for traffic signal control design in the MAX + plus environment, and Conduct Hardware Simulation in the device EPF10K10LC84-4 chip of FPGA in GW48-CK-type development

4、boxKeyword:IntelligentTraffic lights VHDL MAX + plus 引 言随着电子设计自动化(EDA)的发展,电子系统的设计技术和设计工具发生了深刻的变化。利用硬件描述语言对数字系统的硬件电路进行描述是EDA的关键技术之一。VHDL (Very High Speed Integrated Circuit Hardware Description Language)语言是目前主流的硬件描述语言,它具有很强的电路描述和建模能力,且有与具体硬件电路无关和与设计平台无关的特性,在语言易读性和层次化结构设计方面表现出强大的生命力和应用潜力。在城市车流量日益增加的今天

5、,交通信号控制器扮演着越来越重要的角色。目前交通信号控制器可采用MCU、PLC和PLD等多种形式进行控制。其中采用MCU进行控制的特点是系统可塑性较强,控制模式灵活多样,但系统的组成除单片机芯片外还需要扩展较多的外围电路;采用PLC进行控制的特点是编程较方便,容易扩展输入输出通道,但系统硬件成本较高;采用PLD器件进行控制的特点是控制简单灵活,仅需要配置简单的外围电路即可实现特定的功能,这对于简化交通信号控制器的设计、普与交通信号控制器的应用将起到积极的推动作用。文中采用VHDL语言,运用计数器设计方法对交通信号控制器进行设计,并且利用EDA开发工具MAX+PLUS II对代码分别进行全程编译

6、和仿真,最后在FPGA器件上进行下载验证一 绪 论本设计系统是基于VHDL的模拟交通灯控制系统,具有一定的现实意义。本课题的目的是以VHDL为基础,通过可编程逻辑器件CPLD/FPGA 的EPF10K10LC84-4,LED数码管显示和LED灯完成十字路口的工作状态模拟,并且通过按键有效的监视控制主,支干道是否有车辆通过,由监控结果自动调节主,支干道的放行时间,等待时间和状态转换时间。(一) 课题背景与意义随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计

7、算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市如、等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部

8、门亟待解决的主要问题。和谐的城市交通具有很重要的现实意义。城市交通是城市经济生活的命脉,是衡量一个城市文明进步的标志,对于城市经济的发展和人们说水平的提高起着十分重要的作用。作为城市交通网的主要组成部分,交叉口是道路通行能力的瓶颈和交通堵塞与事故的多发地。城市的交通堵塞,大部分由于交叉口的通行能力不足或没有充分利用造成的,这导致车流中断,事故增多,延误严重。对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。(二)课题任务要求1.运用VHDL实现对十字路口交通灯信号控制编程,在MAX+PLUS II

9、环境编译,仿真,综合,并在GW48-CK型开发实验箱上实现硬件验证。2. 主干道和支道交叉路口的信号灯控制:优先保证主干道的畅通 。平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆通行要穿行主干道时,才将交通灯切向“主干道红灯支道绿灯” 此外,每次通行时间不得短于30S,状态交换过程出现的状态持续时间都为4S二 FPGA技术与开发工具介绍(一) FPGA芯片1. FPGA的结构特点尽管FPGA和CPLD与其他类型的PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:二维的可配置逻辑功能模块(ConfigurableLogic Blocks, CLB),构成了PLD器件的逻辑

10、组成核心;输入输出模块(Input/Output Blocks, IOB),连接逻辑块的互连资源;可编程部互连资源(Programmable Interconnection, PI),由各种长度的连线线段组成,其中也有一些可编程的连接开关,用于逻辑快之间、逻辑快与输入/输出块之间的连接。2.FPGA的优点FPGA芯片是特殊的ASIC芯片,除了具有ASIC的特点之外,还具有以下几个优点:(1)随着超大规模集成电路VLSI(Very Large Scale IC)工艺的不断提高,单一芯片部可以容纳上百万个晶体管。FPGA芯片的规模也越来越大,其单片逻辑门数已经达到上百万门,所能实现的功能也越来越强

11、,同时还可以实现系统集成。(2)FPGA芯片在出厂前100都做过测试,不需要设计人员承担投片风险和费用。设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA投入资金少,节省了许多潜在的花费。(3)用户可以反复的编程、擦除、使用,或者在外围电路部动的情况下,用不同软件就可以实现不同的功能;因此,用FPGA试制样片,能以最快的速度占领市场。FPGA软件包中有各种输入工具、仿真工具、版图设计工具与编程器等全线产品,使电路设计人员在很短的时间就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路中有少量改动时,更能显示出FPGA的优势。电路设计人员

12、使用FPGA进行电路设计时,不需要具备专门的IC深层次的知识。FPGA软件易学易用,可以使设计人员集中精力进行电路设计,快速将产品推向市场。3.FPGA的分类和使用在FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件(如:.pof)。如何将编程文件烧到FPGA芯片上呢?(1)SRAM BaseSRAM Base的FPGA本身就像一个SRAM,在开机后其必须经过一个称为Configuration(配置)的过程。Configuration可将设计加载到电路板上的FPGA中,其方式一般通过各家厂商提供的特殊Download cable(下载电缆),或是在FPGA旁边加块PROM的方式实现。

13、但在关机后,FPGA的容消失,直到下次重新开机Configuration后,FPGA才能恢复正常的功能,Altera、Xilinx、Lucent等公司都采用这种方式,也是现在用的最多一种方式。由于LUT (Look-up table)主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。(2)Anti-FuseAnti-Fuse(反熔丝)的FPGA本身则像一个fuse-array,将

14、设计载入FPGA的过程一般称为刻录,因为它是将FPGA的fuse熔断,因此在执行这个动作以后,FPGA的功能就固定了,即使掉电后重起其功能仍然存在。对于这种FPGA,就不需要外加专用的配置芯片。但是这种方式的FPGA只能写一次,所以危险性很大,初期的开发过程比较麻烦,费用也比较高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,可耐高低温,可以加密,所以它在一些有特殊要求的领域中运用更多,如军事与航空航天。(二)VHDL语言简介VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的

15、一种使用围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Lang

16、uage.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。1. VHDL的优点:当前ASIC制造商都自己开发了HDL语言,但是都不通用,只有美国国防部开发的VHDL语言成为了IEEE. STD_1076标准,并在全世界得到了承认。该语言集成了各种HDL语言的优点,使数字系统设计更加简单和容易。其具体优点如下:(1) VHDL 语言功能强大 , 设计方式多样VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功

17、能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。(2) VHDL 语言具有强大的硬件描述能力VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数

18、据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3) VHDL 语言具有很强的移植能力VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VH

19、DL 语言允许采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用(6)VHDL的使用非常灵活VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),

20、设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。2. VHDL设计电路主要的工作过程(1)编辑用文本编辑器输入设计的源文件(为了提高输入效率,可用某些专用编辑器)。(2)编译用编译工具将文本文件编译成代码文件,并检查语法错误。(3)功能仿真(前仿真)在编译前进行逻辑功能验证,此时的仿真没有延时,对于初步的功能检测非常方便。(4)综合将设计的源文件用自动综合工具由语言转换为实际的电路图(门电路级网表),但此时还没有在芯片中形成真正的电路,就好像是把设计者脑海中的电路画成了原理图。(5)布局、布线用已生成的网表文件,再根据CPLD(或FPGA)器件的容量和结构,用自动布局布线工

21、具进行电路设计。首先根据网表文件容和器件结构确定逻辑门的位置,然后再根据网表提供的门连接关系,把各个门的输入输出连接起来,类似于设计PCB(印刷电路板)时的布局布线工作。最后生成一个供器件编程(或配置)的文件,同时还会在设计项目中增加一些时序信息,以便于后仿真。(6)后仿真(时序仿真)这是与实际器件工作情况基本一样的仿真,用来确定设计在经过布局、布线之后,是否仍能满足设计要求。如果设计的电路时延满足要求,则可以进行器件编程(或配置)。(三) MAX+PLUS II软件Max+plus是世界上最大可编程逻辑器件的供应商之一Altera公司推出的一款FPGA/CPLD开发平台。它具有多种原理图输入

22、和文本输入(采用硬件语言)两种输入手段,如原理图输入和文本输入(采用硬件语言)。具备编辑,编译,仿真,综合,下载等功能。用户可以在此软件中完成从源代码输入到最后烧制到芯片的全部开发工作。虽然此软件支持的VHDL语句比专业的仿真和综合工具要少,但是由于它的简单易用和All-in-one(全部功能都集成在一个软件中)特征,在国高等院校教学中得到广泛的应用。1. MAX+PLUS II电路设计流程:(1) 设计输入 MAX + plus 支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们的混合输入。本文采用的事VHDL文本输入。 (2)设计

23、处理 设计输入完后,用MAX + plus 的编译器编译、查错、修改直到设计输入正确,同时将对输入文件进行逻辑简化、优化,最后生成一个编程文件。 这是设计的核心环节。 (3)设计检查MAX + plus 为设计者提供完善的检查方法设计仿真和定时分析。其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时延。这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。 (4) 器件编程 当电路设计、校验之后,MAX+plus 的Pro

24、grammer 将编译器所生成的编译文件下载到具体的CPLD 器件中,即实现目标器件的物理编程 。结构流程图如下所示:图2.1三 基于VHDL交通灯控制器设计和仿真(一) 设计思想介绍欲设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:1.主,支干道各设一个黄,绿,红指示灯,两个显示数码管。 2.支干道没有车辆通过时,主干道处于常允许通行状态。3.当主干道无车辆通行而支干道有车辆通行时,主干道状态灯由“红绿黄”周期显示,支干道状态灯由“绿黄红”周期显示。4.当主、支道均有车时,主干道状态灯由“绿黄红”周期显示,支干道状态灯由“

25、红绿黄”周期显示。5.主,支干道允许通行(绿灯)时间均为35S,禁止通行(红灯)时间均为39S,每次由亮绿灯到亮红灯的转换过程中,要亮4S的黄灯作为过渡,并进行减计时显示。整个结构原理图3.1如下所示:图3.1 基于VHDL交通灯信号控制设计结构原理图(二)系统各功能模块的实现1.计数器模块:主要对clock时钟的每一上升沿计数,即实现秒计数。除此之外,还实现了对整个交通灯的状态控制。图3.2 计数器模块图形文件模块功能实现主要程序部分见附录1 2.控制器模块: 实现对整个交通灯的功能控制,包括监控主干道,支干道是否有普通车辆或特殊车辆通过;红,黄,绿灯状态转变以与持续时间倒计时控制。图3.3

26、 控制器模块图形文件 模块功能实现主要程序部分见附录2.3.分位器器模块: 实现对红,黄,绿灯状态持续时间的分位作用,让两个数码管能分别显示十位,个位。图3.4 控制器模块图形文件模块功能实现主要程序部分见附录3.(三)系统综合设计与仿真 1.交通灯控制器顶层文件原理图3.5如下所示:图3.5 顶层文件原理图2. MAX+PLUS II中的仿真如图3.6所示:图3.6 交通灯信号控制仿真波形Clock:时钟输入;Hold:特殊车辆监控键。高电平时表示有特殊车辆通过,此时,主干道,支干道全变为红灯状态且计数停止,变为低电平后计数恢复正常。Mr: 主干道车量监控键,高电平时表示有车连通过,反之则表

27、示无。Br: 支干道监控键,高电平时表示有车连通过,反之则表示无。Reset:数码管计数复位键,高电平时所有计数恢复到初始状态。R,G,Y,R1,G1,Y1分别表示主,支干道的红,绿,黄灯。(四) 软件调试过程中遇到的问题由于大学期间应用到VHDL的编程的设计较少,因此对VHDL没有过系统的学习,实践经验就更少,以致在学习实践过程中碰到了不少问题,但随着学习的逐渐深入,不断的练习实践,这些问题也逐步解决了。1. 程序编译过程中遇到的问题(1)首次编译成功一个程序后,紧接着编译第二个程序,提示框显示编译成功,可是在做顶层文件原理图仿真时,一直提示有错误。后来经过仔细检查才发现,原来我编译第二个程

28、序时,没有把工作文件设我当前文件。(2)编译文件时,跳出“type in waveform element must be “std_logic_vector” 错误提示框。后来经过不断查阅相关书籍,终于发现了问题所在:VHDL语言是一种强类型语言,对每个常数,变量,信号等的数据类型都有一个要求,只有一样数据类型的量,才能相互传递。我所编写的程序数据输出类型是std_logic_vector(),而信号声明的数据类型为Integer,在数据传递过程中,我没有经过任何转变,直接将信号值赋予输出变量,所以出现了以上错误提示框。在所有数据类型更改为一致后,这个问题也就迎刃而解了。 2.程序仿真仿真中

29、遇到的问题将编译成功的文件进行波形仿真后,发现输出信号的波形为一条直线,就是说没有信号输出。点击“放大镜”或者用鼠标拖动波形图下方滚动条,还是没有波形变化。后来才发现原来我设置的“End time”太小了,以至于不能显示完整的波形。解决方案:在波形文件下,点击软件“EDIT”下拉菜单,选择“End time”,将其时间设的大些;同时也可以在波形文件下,选择菜单“Option”下拉菜单,点击“Grid size”将时钟周期设置小些。四 系统调试与实现(一)GW48-CK系统概述1含Multi-task Reconfiguration电路结构(多功能重配置结构,本公司设备特有)。该电路结构由CPL

30、D和单片机联合控制,能仅通过一个键,完成纯电子切换(有的产品只能通过许多机械开关手动切换)的方式选择12种不同的实验系统硬件电路连接结构,大大提高了实验系统的连线灵活性,但又不影响系统的工作速度(手工插线方式虽然灵活,但严重影响系统速度和电磁兼容性能,不适合高速FPGA/SOPC等电子系统实验设计)。26大FPGA/CPLD公司下载功能和自动识别功能,即能对不同公司的FPGA/CPLD都可进行实验开发(此亦为本公司EDA产品特有的功能),如Altera、Xilinx、Lattice、Vantis、Atmel等;3FPGA/CPLD万能接插口;智能译码模块; 41Hz50MHz标准时钟源; 数字

31、频率计; 5含VGA、UART、PS/2、FPGA/单片机等接口; 6符合一般教学大纲的A/D和D/A;311构成的A/D;7±12、5、3.3、2.5V混合电压源; 8良好电磁兼容性的SX8200-J高速高密主板;9用于信号发生器实验的有源滤波; 10除所有常规数字系统设计与验证性实验外,还包括许多设计与创新型实验项目,如VGA口、PS/2、硬件RS232、FPGA对PC机通信、FPGA/CPLD开发、电子设计竞赛培训与开发等40余种典型EDA实验项目,11可以配不同规模的适配板,FPGA、CPLD、或模拟EDA(ispPAC)(二) GW48-CK系统工作原理GW48-CK系统结

32、构原理图4.1如下所示:图4.1 GW48-CK系统结构原理图1BL1:实验或开发所需的各类基本信号发生模块。其中包括最多至8通道的单次脉冲信号发生器、高低电平信号发生器、BCD码或16进制码(8421码)信号发生器。所有这些信号的发生主要由BL6主控单元产生,并受控于系统板上的8个控制键。 2BL5:CPLD/FPGA输出信息显示模块,其中包括直通非译码显示、BCD七段译码显示、16进制全码七段译码显示、两组8位发光管显示、16进制输入信号显示指示、声响信号指示等。同样,所有这些显示形式与形式的变换皆由BL6转换和独立控制。3在BL6的监控程序中安排了多达12种形式各异的信息矢量分布,即“电

33、路重构软配置”。由此可见,虽然GW48系统从硬件结构上看,是一个完全固定下来的实验系统,但其功能结构却等同于12套实验接口迥异的实验系统(参见第二节)。4BL3:此模块主要是由一目标芯片适配座以与上面的CPLD/FPGA 目标芯片和编程下载电路构成。通过更换目标板,就能对多种目标芯片进行实验。5BL6使GW48系统的应用结构灵活多变,实际应用中,该模块自动读取BL7的选择信息,以确定信息矢量分布。实验前,可根据实验类型,以与所需的CPLD/FPGA 目标芯片的I/O接口位置,从14实验电路结构图中找到相适应的实验系统功能结构,并将该图的编号键入BL7,系统即刻进入了所需要的接口和实验模式。(三

34、)实验电路与管脚定义1.实验电路结构图:本次交通灯设计使用的是GW48CK型EDA实验开发系统中的模式五,其电路结构图4.2如下:图4.2电路结构图设计过程中所使用元器件:Mr由键4控制,Br由键3控制,Hold由键2控制,Reset由键1控制,D6,D7,D8,分别用以显示主干道红,黄,绿灯;D3,D2,D1分别用以显示支干道绿,黄,红灯。数码管8,7分别显示主干道倒计时的十位和个位,数码管2,1分别显示支干道倒计时的十位和个位。2. 管脚定义:设计所使用的芯片为EPF10K10LC84-4,由实际所选模式五电路结构图中所用元器件,管脚锁定文件如表4.3所示:I/O标识引脚名称引脚号mrPI

35、O38brPIO27holdPIO16resetPIO05RPIO1525YPIO1424GPIO1323R1PIO817Y1PIO918G1PIO1019zhuganH3.0PIO47- PIO4479,78,73,72zhuganL3.0PIO43- PIO4071,70,67,66zhidaoH3.0PIO23- PIO2038,37,36,35zhidaoL3.0PIO19-PIO1630,29,28,27图4.3管脚锁定文件表(四) 实验箱上验证时遇到的一些问题1.程序的功能仿真和时序仿真编译都已经已经通过了,在进行程序下载烧制前,硬件设置中选择byteblaster(mv)时,pa

36、rallel port与其他几个口都是灰色,点击ok,就弹出“can't find programming hardware”对话框。在经过仔细检查排错后,终于发现我所使用的win XP 由于系统自保护机制,需要安装下载电缆的驱动程序。安装下载驱动后,一切工作正常。(五)交通灯信号控制硬件测试 1.GW48-CK型EDA实验箱所用输入输出元件如4.4所示:图4.4 GW48-CK型EDA实验箱所用输入输出元件示意图2.硬件测试结果:(1)当支干道没有车辆时(主干道可有车辆通过或者没有车辆通过),此时,一直处于主干道绿灯,支干道红灯状态,硬件结果如下所示:图4.5.支干道没有车辆通过时(

37、2)当支干道有车辆通过且主干道没有车辆通过时,主干道为红灯,支干道为绿灯。此时,主干道数码管进行39S的倒计时计数,然后主干道变为绿灯,数码管进行35S的倒计时计数,接着主干道变为黄灯,主干道数码管进行4S的倒计时计数,之后再转为39S的红灯状态,依次循环;支干道数码管首先进行35S的绿灯倒计时计数,然后是4S的黄灯倒计时计数,接着是39S的红灯倒计时计数,之后变为绿灯,依此循环。具体状态结构如图4.6所示:图4.6支道有车而主干道没车的状态结构图硬件实物结果图4.7所示(按下复位键1,数码管计数恢复至状态初始值):图4.7 支干道有车通过而主干道没车辆通过时(3)当支干道和主干道均有车辆通过

38、时,主干道为绿灯,支干道为红灯。此时,支干道数码管进行39S的倒计时计数,然后支干道变为绿灯,数码管进行35S的倒计时计数,接着支干道变为黄灯,支干道数码管进行4S的倒计时计数,之后再转为39S的红灯状态,依次循环;主干道数码管首先进行35S的绿灯倒计时计数,然后是4S的黄灯倒计时计数,接着是39S的红灯倒计时计数,之后变为绿灯,依此循环。具体结构图如4.8所示:图4.8主干道与支干道均有车辆通过时的状态结构特硬件实物结果图4.9所示(按下复位键1,数码管计数恢复至状态初始值):图4.9 主干道和支干道均有车辆通过时(4)在任何状态下,当监控到有特殊紧急车辆通过时。主干道与支干道均为红灯,并且

39、数码管停止计数,特殊紧急车辆通过后,系统恢复原来状态,数码管计数也恢复正常计数。硬件实物结果如4.10所示:图4.10 有特殊紧急车辆通过时五 毕业设计总结通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;是我在校期间向学校所交的最后

40、一份综和性作业,从老师的角度来说,指导做毕业设计是老师对学生所做的最后一次执手训练。其次,毕业设计的指导是老师检验其教学效果,改进教学方法,提高教学质量的绝好机会。毕业的时间一天一天的临近,毕业设计也接近了尾声。在不断的努力下我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的大概总结,但是真的面对毕业设计时发现自己的想法基本是错误的。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识太理论化了,面对单独的课题的是感觉很茫然。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通

41、过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。 总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在此要感我们的指导黄老师对我悉心的指导,感老师们给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了

42、许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。结束语利用MAX+plus II软件平台具有的强大仿真和应用系统功能,以与在FPGA进行数字系统设计时所具有的灵活方便,周期短的特点。采用VHDL硬件描述语言完成交通灯系统功能设计,并通过下载到GW48-CK型试验箱,实现了基于FPGA器件的EPF10K10LC84-4交通灯系统控制的硬件测试。参考文献1 黄任

43、, VHDL入门解惑经典实例经验总结 航空航天大学2005.012 邢建平,曾繁泰,VHDL程序设计教程 清华大学 2005.113 松,王国栋. VHDL实用教程 电子科技大学 2001.14 邹虹. 数字电路与逻辑设计 人民邮电 2008.035 明,松. 数字电子技术基础 科学 2008.106恒,卢飞成.FPGA/VHDL快速工程实践入门与提高.航空航天大学出版,2003.47罗勇,晓军.基于FPGA的交通灯控制和实现 电子器件 2008年03期 8文畅.基于FPGA/CPLD和VHDL语言的交通灯控制系统设计 电脑知识与技术2007年第9期附录:1.计数器模块功能实现主要程序部分:P

44、1:process(clock,reset,hold) begin if rising_edge(clock) then if reset='1' then countnum<=0; elsif hold='1' then countnum<=countnum; else if countnum=77 then countnum<=0; else countnum<=countnum+1; end if; end if; end if; end process p1 ;2.控制器功能实现主要程序部分:P2: process(clock,m

45、r,br,hold,countnum) begin IF hold='1' then R<='1'R1<='1' G<='0' G1<='0' Y<='0'Y1<='0' ELSIF rising_edge(Clock) THEN IF (not br)='1' THEN R<='0'R1<='1' G<='1' G1<='0' Y<=&#

46、39;0'Y1<='0' NumA<=0;NumB<=0; ELSIF (br and not mr)='1' THEN IF CountNum<=38 THEN NumA<=39-CountNum; R<='1' G<='0' Y<='0' ELSIF CountNum<=73 THEN NumA<=74-CountNum; R<='0' G<='1' Y<='0' ELSE NumA<=78-Count

温馨提示

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

评论

0/150

提交评论