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

下载本文档

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

文档简介

1、PAGE PAGE 46基于FPGA的交通灯设计摘 要 EDA工具对于电子设计人员来说极其重要,它可以在电子设计的各个阶段、层次进行计算机模拟验证,确保设计的准确性,可缩短设计周期,降低设计成本。本文介绍的是数字信号交通灯,利用EDA设计工具,采用VHDL语言开发设计,并通过FPGA(即现场可编程门阵列)芯片设计来实现系统控制功能。数字信号交通灯可以实现十字路口红绿灯的自动控制。基于FPGA的交通灯设计系统具有可靠性强、实时快速擦写、运算速度高、故障率低、电路简单,且体积小的特点。本毕业设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到

2、实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能;使用QuartusII软件作为开发平台;采用自顶向下的设计思路对系统进行模块化设计和综合,并通过波形仿真和硬件实现两种方式实现并验证数字信号交通灯的功能。关键词 VHDL,交通灯,EDAABSTRACTEDA tools is extremely important to electronic designers, to ensure the accuracy of the design ,it can verify computer simulations in all stages and levels o

3、f electronic design ,it can also shorten the design cycle and reduce design costs .This article describes a digital signal traffic lights ,using EDA design tools ,and VHDL ,and FPGA(the Field Programmable Gate Arrays),through the chip to design system control functions.Digital signal traffic light t

4、raffic lights can achieve automatic control of the crossroads .The design of FPGA-based traffic light system has a lot of features ,such as high reliability ,real-time quick erase ,high-speed operation, lower rate of fault, simple circuit and small volume. During this graduation project, I take the

5、Altera Corporation CycloneII series EP2C5T144 chip as the minimum system core, it can be easily embedded in the actual application of the traffic light system, it can do simple logic control, data acquisition, signal processing, mathematical calculations and other functions;using QuartusII as develo

6、pment platform; using top-down design ideas to system modular design and synthesis, and through waveform simulation and hardware implementation two ways to complete and verify the function of digital signal traffic lights.Key Words:VHDL, Traffic light, EDA目 录 TOC o 1-3 h z u HYPERLINK l _Toc29447316

7、4 绪论 PAGEREF _Toc294473164 h 1 HYPERLINK l _Toc294473165 1 简述EDA PAGEREF _Toc294473165 h 3 HYPERLINK l _Toc294473166 1.1 EDA技术及其发展 PAGEREF _Toc294473166 h 3 HYPERLINK l _Toc294473167 1.2 EDA技术的优势 PAGEREF _Toc294473167 h 3 HYPERLINK l _Toc294473168 2 FPGA概述 PAGEREF _Toc294473168 h 7 HYPERLINK l _Toc2

8、94473169 2.1 FPGA的简介 PAGEREF _Toc294473169 h 7 HYPERLINK l _Toc294473170 2.2 FPGA设计交通灯的意义 PAGEREF _Toc294473170 h 7 HYPERLINK l _Toc294473171 3 硬件描述语言VHDL PAGEREF _Toc294473171 h 9 HYPERLINK l _Toc294473172 4 QuartusII软件 PAGEREF _Toc294473172 h 10 HYPERLINK l _Toc294473173 4.1 QuartusII简介 PAGEREF _T

9、oc294473173 h 10 HYPERLINK l _Toc294473174 4.2 基于QuartusII的设计流程 PAGEREF _Toc294473174 h 10 HYPERLINK l _Toc294473175 5 系统设计与仿真 PAGEREF _Toc294473175 h 12 HYPERLINK l _Toc294473176 5.1 系统介绍 PAGEREF _Toc294473176 h 12 HYPERLINK l _Toc294473177 5.1.1 设计任务 PAGEREF _Toc294473177 h 12 HYPERLINK l _Toc2944

10、73178 5.1.2 设计要求 PAGEREF _Toc294473178 h 13 HYPERLINK l _Toc294473179 5.2 系统设计仿真 PAGEREF _Toc294473179 h 14 HYPERLINK l _Toc294473180 5.2.1 系统框图的设计 PAGEREF _Toc294473180 h 14 HYPERLINK l _Toc294473181 5.2.2 工程设计流程框图 PAGEREF _Toc294473181 h 15 HYPERLINK l _Toc294473182 5.2.3 芯片的选择 PAGEREF _Toc2944731

11、82 h 15 HYPERLINK l _Toc294473183 5.2.4 各个模块的设计与仿真 PAGEREF _Toc294473183 h 15 HYPERLINK l _Toc294473184 结 论 PAGEREF _Toc294473184 h 26 HYPERLINK l _Toc294473185 参考文献 PAGEREF _Toc294473185 h 27 HYPERLINK l _Toc294473186 附 录 1 PAGEREF _Toc294473186 h 28 HYPERLINK l _Toc294473187 附 录 2 PAGEREF _Toc2944

12、73187 h 36 HYPERLINK l _Toc294473188 答 谢 PAGEREF _Toc294473188 h 37绪论在现代城市的日常运行控制中,车辆的交通控制越来越重要,道路超负荷承载现象严重,致使交通事故逐年增加。因此解决好交通信号灯控制问题是保障城市交通有序、安全、快速运行的重要保证。当今社会是数字集成电路广泛应用的社会,数字集成电路本身在不断进行更新换代,随着微电子技术的发展, 特别是大规模集成电路和计算机技术的研制和发展,通过“语言”进行电子设计已成为一种趋势。这样既可以使工程师根据自己的意愿设计开发ASIC,而且可以缩短设计周期。现场可编程门阵列(FPGA)即属

13、其中应用最广泛的一种,而且基于EDA技术的现场可编程门阵列(FPGA)在数字系统设计和控制电路中越来越受到重视。VHDL是电子开发主流语言之一,这使得工程师不必过多考虑硬件具体结构,专注于电路功能的设计,适合进行行为描述。DEA技术的发展和应用领域的扩大与深入,在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出,因此本论文研究基于FPGA的交通灯设计。交通灯控制电路是用于城市交通疏导的管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和

14、行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。本论文简要介绍了FPGA器件的特点和设计意义,以QuartusII软件为开发平台,通过VHDL硬件描述语言以及原理图的输入方式来设计交通灯。交通灯控制器用于自动控制十字路口交通灯和计时器。设计一个十字路口交通控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行

15、车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行。1 简述EDA1.1 EDA技术及其发展EDA(Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。在现代高新

16、电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格的说,EDA技术应该是两者的结合,是这两个技术领域共同孕育的奇葩。现在,传统ASIC和FPGA之间的界限正变得模糊。系统级芯片不仅集成了RAM和微处理器,也集成了FPGA。整个EDA和IC设计工业都朝着这个方向发展。1.2 EDA技术的优势传统的数字电子系统或IC设计中,手工设计占了较大的比例。手工设计一般先按电子系统的具体功能要

17、求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑化简,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,进行实测和调试。所以手工设计存在如下缺点:(1)复杂电路的设计、调试十分困难;(2)无法进行硬件系统仿真,如过程中存在错误,查找和修改十分不便;(3)设计过程中产生大量文档,不易管理;(4)对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;(5)只有设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同之处:(1)用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行

18、计算机模拟验证,保证设计过程的正确性,大大降低设计成本,缩短设计周期;(2)EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。这些库都是EDA公司于半导体生产厂商紧密合作、共同开发的;(3)某些HDL(如VHDL)是文档型的语言,极大的简化了设计文档的管理;(4)EDA技术最为瞩目的功能,即最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机,就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试和仿真操作,在完成实际系统的安装后还能对系

19、统上的目标器件进行所谓边界扫描测试。这一切极大地提高了大规模系统电子设计的自动化程度;(5)无论传统的应用电子系统设计的如何完美,使用了多么先进的功能器件,都掩盖不了一个无情的事实,即该系统对于设计者来说,没有任何自主知识产权可言,因为系统中的关键性的器件往往并非出自设计者之手,这将导致系统在许多情况下的应用直接受到限制。基于EDA技术的设计则不同,由于用HDL表达的成功的专用功能设计在实际目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权,再无受制于人之虞;(6)传统的电子设计方法至今没有任何标准规范加以约束,因此,设计

20、效率低,系统性能差,开发成本高,市场竞争力也小。而EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用的,IP核具有规范的接口协议。良好的可移植和可测试性,为系统开发提供了可靠的保证;(7)从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案之中;(8)EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。2 FPGA概述2.1 FPGA的简介现场可编程

21、门阵列,即FPGA(FieldProgrammable Gate Array),它由若干独立的可编程逻辑模块组成,具体包括输入输出模块IOB、可编程逻辑模块CLB、互连资源IR和一个用于存放编程数据的静态存储器。它是在可编程器件的基础上进一步发展的产物,用户可以通过编程将这些模块连接成所需要的数字系统。因为这些模块的排列形式和门阵列(GA)中单元的排列形式相似,所以沿用了门阵列这个名称。FPGA属于高密度PLD,其集成度可达百万门/片以上。FPGA中除了个别的几个引脚外,大部分引脚都与可编程的IOB相连,均可根据需要设置成输入端或输出端。每个CLB中都包含组合逻辑电路和存储电路(即触发器)两部

22、分,可以设置成规模不大的组合逻辑电路或时序逻辑电路。为了能将这些CLB灵活的连接成各种应用电路,在CLB指尖的布线区内配置了丰富的连线资源。FPGA作为专用集成电路领域中的一种半定制电路,不仅克服了原有可编程器件门电路数有限的缺点,而且解决了定制电路的不足问题。生产FPGA的公司有XILINX、TI、ALTERA等。2.2 FPGA设计交通灯的意义 FPGA是一个功能强大的可编程逻辑芯片,采用FPGA设计ASIC电路,用户不需要投片生产,就能得到所需的芯片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS

23、工艺,功耗低,可以与CMOS、TTL电平兼容。所以用FPGA完成交通灯的设计合理可行。3 硬件描述语言VHDL硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL有下列几种:VHDL、Verilog HDL、System Verilog、和System C。其中VHDL、Verilog在现在EDA设计中使用最多,也得到几乎所有的主流EDA工具的支持。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,于1983年有美国国防部(DOD)发起创建,由IEEE(The Institu

24、te of Electrical and Electronics Engineers)进一步发展并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了VHDL的标准版本之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述

25、和系统描述的能力,在语言易读性和层次化结构化设计方面表现了强大的生命力和应用潜力。用VHDL进行电子系统设计的一个很大优点是设计者可以专心致力于其功能的实现,而不需对不影响功能的与工艺有关的因素花费过多的时间和精力。4 QuartusII软件4.1 QuartusII简介QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。QuartusII在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusII的更新换代产品,其界面友好,使用便捷。QuartusII提供了一种与结构无关的设计环境,使设计者能方

26、便地进行设计输入、快速处理和器件编程。Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。QuartusII包括模块化的编辑器。编辑器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。可以通过选择Start Compilation来运行所有的编辑器模块,也可以通过选择Start单独运行各个模块。4.2 基于QuartusII的设计流程(1)建立工作库文件夹和编

27、辑设计文件;(2)创建工程;(3)全程编译工程;(4)时序仿真;(5)引脚锁定;(6)下载至硬件系统验证。5 系统设计与仿真5.1 系统介绍设计交通灯是为了自动控制各个十字路口倒计时器和交通信号灯,从而使行人和各种车辆能够安全通过。5.1.1 设计任务本论文通过设计一个十字路口的交通灯来形象指挥行人和车辆的安全通行。十字路口处,方向分为东西南北四个方向。东西方向的交通信号灯状态保持一致,南北方向的交通信号灯状态也保持一致。其中每个方向有左转灯、红灯、绿灯和黄灯,共四盏。左转灯亮说明车辆可以左转通行;红灯亮说明禁止车辆直行和左转;绿灯亮说明允许车辆直行和右转;黄灯亮说明即将禁止车辆直行和左转。在

28、每个方向上均设有一个倒计时显示器,以显示禁止或允许通行的倒计时间。十字路口交通灯如图5.1所示:图5.1十字路口交通灯5.1.2 设计要求在十字路口处,每组交通信号灯的显示顺序为:左转 绿 黄 红。倒计时器显示相应方向上的绿灯、红灯倒计时间,其余状态不予显示。左转、红、绿和黄灯点亮时间分别为15s、80s、45s、5s。状态表如表5.1所示:表5.1交通灯状态转换表状态S1S2S3S4S5S6南北 方向红左转绿黄红 红红亮灯时间 1545515455东西方向红 红红红左转绿黄亮灯时2 系统设计仿真本毕业论文设计是基于QuartusII软件,底层设计和顶层设计均采用VH

29、DL进行描述设计,同时为了使设计变得形象简明,通过顶层设计生成了原理图。5.2.1 系统框图的设计图5.2系统框图系统框图由6部分组成,包括:分频、控制、倒计时、红绿灯显示、译码、译码显示等模块。5.2.2 工程设计流程框图 图5.3工程设计流程框图5.2.3 芯片的选择本毕业设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能。5.2.4 各个模块的设计与仿真5.2.4.1分频器模块设计(FPQ)由于采用的FPGA芯片的时钟频率是50MHz,需要将其分频为

30、1Hz。该模块即是实现50M的分频,将频率变为1Hz的脉冲波,从而得到周期为1s的脉冲波。其电路图如图5.4所示:图5.4分频器电路图如果要真正的实现分频50M,在仿真结果图中是很难观察的,甚至是没有办法验证的,故在仿真过程中,将分频的倍数变小,变为20分频,这样从图中可容易的得到并验证对时钟输入信号的20分频,如图5.5所示, Reset是复位信号,CLK_50MHz是输入时钟频率,CLK_1Hz是输出时钟频率,从图中可以看出,输出频率CLK_1Hz确实是输入时钟频率CLK_50MHz的20分频。图5.5分频器仿真图5.2.4.2状态控制模块设计(CONTROL_STATUS)CONTROL

31、_STATUS模块根据输入CLK_1Hz的脉冲信号输出不同的STATUS值,下游的模块依据STATUS的值来确定红绿灯的状态;于此同时对倒计时信号赋初值。其电路如图5.6所示:图5.6状态控制模块电路图在CONTROL_STATUS模块仿真图中,输入信号CLK是一个频率为1Hz的时钟脉冲信号,RESET是复位信号;输出信号STATUS是状态转换信号,控制着下游交通信号灯显示模块的显示情况;LOAD_EW、LOAD_SN是东西、南北方向倒计时开始控制信号,DJS_EW、DJS_SN是东西、南北方向倒计时间信号。其仿真结果图如图5.7所示,由图可得,STATUS共有000(S1)、001(S2)、

32、010(S3)、011(S4)、100(S5)、101(S6)共6个状态,80s为红灯和左转灯的倒计时间,45s为绿灯的倒计时间,5s是黄灯的倒计时间,和状态转换表的状态一致。图5.7状态控制模块仿真图5.2.4.3交通信号灯显示模块设计(DISPLAY_LIGHT)交通信号灯显示模块根据输入的STATUS信号,输出对应的红绿黄灯信号,并直接驱动交通信号灯的亮灭。其电路图如图5.8所示:图5.8信号灯显示在DISPLAY_LIGHT模块程序仿真结果图中,STATUS为输入信号,而它依赖于CONTROL_STATUS模块产生的信号STATUS信号,一种六种状态,依次为000(S1)、001(S2

33、)、010(S3)、011(S4)、100(S5)、101(S6);EW_LRGY(8位)是东西方向上交通信号灯的状态, SN_LRGY(8位)是南北方向上交通信号灯的状态,依次为左转、红、绿、黄,对应着EW_LRGY、SN_LRGY的前四位,1表示点亮,0表示熄灭,后四位均为0,表示四个灯的阴极接负极。例如,在STATUS为001时,对应的是东西方向红灯亮,南北方向绿灯亮,仿真结果符合预期,完全正确。图5.9信号灯显示仿真图5.2.4.4东西方向倒计时模块设计(EW_DJS)EW_DJS模块用来接收CONTROL_STATUS模块的输出并作为初值,每检测到一个CLK脉冲信号,就进行减一动作,

34、最后把减一结果输出。其电路图如图5.10所示:图5.10东西方向倒计时电路图在该模块仿真图中,CLK为1Hz的输入信号,LOAD_EW为计数器的装载信号,当其为高电平时,将输入信号DJS_EW_IN的值装载到计数器中,并开始进行减一操作,每遇一个CLK脉冲,进行一次减一操作,并将结果输出,由于输入的时钟频率是1Hz,所以显示的时间间隔是1s,与现实生活中的时间保持一致。其仿真结果如图5.11所示,由图可得,该模块首先将80秒的倒计时信号装载进去,并进行减一操作。图5.11东西方向倒计时仿真图5.2.4.5南北方向倒计时模块设计(SN_DJS)SN_DJS模块用来接收CONTROL_STATUS

35、模块的输出并作为初值,每检测到一个CLK脉冲信号,就进行减一动作,最后把减一结果输出。其电路图如图5.12所示:图5.12南北方向倒计时电路图在该模块仿真图中,CLK为1Hz的输入信号,LOAD_SN为计数器的装载信号,当其为高电平时,将输入信号DJS_SN_IN的值装载到计数器中,并开始进行减一操作,每遇一个CLK脉冲,进行一次减一操作,并将结果输出,由于输入的时钟频率是1Hz,所以显示的时间间隔是1s,与现实生活中的时间保持一致。其仿真结果如图5.11所示,由图可得,该模块将45秒的倒计时信号装载进去,并进行减一操作。图5.13东西方向倒计时仿真图5.2.4.6译码模块设计(TO_8421

36、_BCD)TO_8421_BCD模块程序用来将输入的两位倒计时数值,分解成两个整形数值,以此供后面的译码显示模块DISPLAY_SMG译码显示。其电路如图5.14所示:图5.14译码模块电路图在译码程序TO_8421_BCD模块仿真图中,DJS_EW_OUT,DJS_SN_OUT为上一倒计时模块的输出信号,其范围在080,所有倒计时的范围都包含其内;DJS_EW_OUT_SW,DJS_EW_OUT_GW,DJS_SN_OUT_SW,DJS_SN_OUT_GW为输出信号,其范围为09,代表了各个方向的倒计时的十位和个位,且数码管所有显示数字的范围均在其内。例如图中DJS_EW_OUT的值不断变化

37、,相应的依次将其分解为十位(DJS_EW_OUT_SW)和个位(DJS_EW_OUT_GW),并依次递减,仿真结果符合预期,完全正确。仿真结果如图5.15所示:图5.15译码仿真结果图5.2.4.7译码显示模块设计(DISPLAY_SMG)译码显示模块DISPLAY_SMG将上一模块TO_8421_BCD输出的四个一位数译码成相对应的七位数码管段码,完成倒计时的译码和显示。其电路如图5.16所示:图5.16译码显示电路图在DISPLAY_SMG译码显示模块仿真图中,DJS_EW_OUT_SW,DJS_EW_OUT_GW,DJS_SN_OUT_SW,DJS_SN_OUT_GW是四位的输入信号,也

38、是上一模块TO_8421_BCD的输出信号,它们的范围为数字09,DJS_EW_OUT_SW1,DJS_EW_OUT_GW1,DJS_SN_OUT_SW1,DJS_SN_OUT_GW1对应的是相应的七位数码管显示段码的值。图中输出信号的值随着输入信号的变化而相应的变化,例如DJS_EW_OUT_SW为7,DJS_EW_OUT_GW为5时,DJS_EW_OUT_SW1为00000111(a、b、c、d、e、f、g依次对应着1110000,最高位的0表示是数码管的类型是共阴的),表示数码管显示7,DJS_EW_OUT_GW1为01101101,表示数码管显示5。仿真完全正确,符合预期。其仿真结果如

39、图5.17所示:图5.17译码显示仿真图5.2.4.8顶层文件设计模块(DCSJ)顶层设计采用VHDL语言描述方式实现,并在工程文件仿真过后通过工具菜单自动生成原理图文件,从而是设计原理更加清晰明朗。在顶层设计VHDL描述中,共包含7个元件,分别是:1、分频器模块(FPQ),2、状态控制模块(CONTROL_STATUS),3、交通信号灯显示模块 (DISPLAY_LIGHT),4、东西方向倒计时模块设计(EW_DJS),5、南北方向倒计时模块设计(SN_DJS),6、译码模块设计(TO_8421_BCD),7、译码显示模块设计(DISPLAY_SMG)。这7个模块经过程序设计、编译仿真,结果

40、均能够达到设计要求。最后在顶层设计中,通过元件例化语句将这7个模块连接起来,通过RTL电路观察器生成顶层设计原理图如5.18图所示:图5.18顶层设计原理图在顶层设计中,RESET是复位信号,输入的时钟频率CLK是50MHz,经过分频50M的分频器(FPQ)后,变为频率为1Hz的时钟信号,周期为1s,用此时钟信号来控制整个系统的步调,与现实生活中交通灯的步调保持一致。EW_LRGY、SN_LRGY分别为东西和南北方向上交通信号灯的状态,EW_DJS_DISPLAY、SN_DJS_DISPLAY为东西和南北方向红绿灯倒计时间。另外,所有的数码管和二极管均为共阴极显示。例如,在EW_LRGY为01

41、000000(即东西方向红灯亮)、SN_LRGY为10000000(即南北方向左转灯亮)时,EW_DJS_DISPLAY的前八位表示倒计时的十位,后八位表示倒计时的个位;图中EW_DJS_DISPLAY的前八位都是00000111表示7,后八位01111101表示6,后八位01101101表示5,后八位01100110表示4;SN_DJS_DISPLAY的前八位是01001111表示3,后八位01011011表示2,后八位00000110表示1,后八位00111111表示0,以上表明红绿灯和倒计时时间显示符合预期,完全正确。仿真结果如图5.19所示:图5.19顶层文件波形仿真结果图结 论利用网

42、络和图书馆的有效资源,搜集并下载了大量的关于用FPGA做交通灯设计的资料;然后精心阅读,在王老师的指导督促下,并和周围同学进行有效学习和沟通,最终确定了自己的设计方案;最后按照既定的设计方案,通过努力有步骤的实现了最终的毕业设计,实现了交通灯、倒计时器按预定状态表5.1运行,并指挥交通。通过此次毕业设计,让我加深了FPGA的理解,更加熟练了VHDL语言,同时,我深深体会到了通过FPGA设计数字电路的方便、简洁的特点,这让我相信未来数字电路的应用必将更加广泛。另外,我还体会到:从事开发设计工作,一定要保持个勤奋、踏实、严谨的工作态度,这样才能更好的完成工作。最后,我觉得在交通灯控制系统设计中还可

43、以增加一些实用功能,如:1、针对弱视或色盲人群进行声音提示;2、在遇到突发状况时,可以将红绿灯改为紧急模式控制;3、当有119、120等特种车辆通过时,系统可转为特种车放行,其他车辆禁行。参考文献1潘松,黄继业.EDA技术实用教程(第三版).北京:科学出版社,2010.12阎石.数字电子技术基础(第五版).北京:高等教育出版社,2006.53刘江海,涂传威,陈玮.EDA技术课程设计.武汉:华中科技大学出版社,2009.54谭会生,瞿遂春.EDA技术综合应用实例与分析.西安:西安电子科技大学出版社,20045甘历.VHDL应用与开发实践.北京:科学出版社,2003.56林明权,马维旻. VHDL

44、数字控制系统设计范例.北京:电子工业出版社,2003.17童诗白,华成英.模拟电子技术基础(第四版).北京:高等教育出版社,2006.58 HYPERLINK javascript:LinkSearch(AUTHOR,夏路易) 夏路易. HYPERLINK javascript:LinkSearch(TITLE,基于EDA的电子技术课程设计) 基于EDA的电子技术课程设计.北京:电子工业出版社,2009.19 HYPERLINK javascript:LinkSearch(AUTHOR,王金明) 王金明, HYPERLINK javascript:LinkSearch(AUTHOR,周顺) 周

45、顺. HYPERLINK javascript:LinkSearch(TITLE,数字系统设计与VHDL) 数字系统设计与VHDL.北京:电子工业出版社,2010.510 HYPERLINK javascript:LinkSearch(AUTHOR,朱运航) 朱运航, HYPERLINK javascript:LinkSearch(AUTHOR,陈贵银) 陈贵银, HYPERLINK javascript:LinkSearch(AUTHOR,周永东) 周永东. HYPERLINK javascript:LinkSearch(TITLE,EDA技术基础) EDA技术基础.武汉:华中科技大学出版社

46、,2004.711 HYPERLINK javascript:LinkSearch(AUTHOR,曹昕燕) 曹昕燕, HYPERLINK javascript:LinkSearch(AUTHOR,周凤臣) 周凤臣, HYPERLINK javascript:LinkSearch(AUTHOR,聂春燕) 聂春燕. HYPERLINK javascript:LinkSearch(TITLE,EDA技术实验与课程设计) EDA技术实验与课程设计.北京:清华大学出版社,2006,512 HYPERLINK javascript:LinkSearch(AUTHOR,潘松) 潘松, HYPERLINK j

47、avascript:LinkSearch(AUTHOR,黄继业) 黄继业. HYPERLINK javascript:LinkSearch(TITLE,EDA技术实用教程) EDA技术实用教程.北京:科学出版社,2005.213 HYPERLINK javascript:LinkSearch(AUTHOR,潘松) 潘松, HYPERLINK javascript:LinkSearch(AUTHOR,黄继业) 黄继业. HYPERLINK javascript:LinkSearch(TITLE,EDA技术与VHDL) EDA技术与VHDL.北京:清华大学出版社,2007.114 HYPERLIN

48、K javascript:LinkSearch(AUTHOR,江国强) 江国强. HYPERLINK javascript:LinkSearch(TITLE,EDA技术与应用) EDA技术与应用.北京:电子工业出版社,2004.815 HYPERLINK javascript:LinkSearch(AUTHOR,黄科) 黄科, HYPERLINK javascript:LinkSearch(AUTHOR,艾琼龙) 艾琼龙, HYPERLINK javascript:LinkSearch(AUTHOR,李磊) 李磊. HYPERLINK javascript:LinkSearch(TITLE,E

49、DA数字系统设计案例实践) EDA数字系统设计案例实践.北京:清华大学出版社,2010.116 HYPERLINK javascript:LinkSearch(AUTHOR,邹彦) 邹彦, HYPERLINK javascript:LinkSearch(AUTHOR,庄严) 庄严, HYPERLINK javascript:LinkSearch(AUTHOR,邹宁) 邹宁. HYPERLINK javascript:LinkSearch(TITLE,EDA技术与数字系统设计) EDA技术与数字系统设计.北京:电子工业出版社,2007.4附 录 11分频器模块(FPQ)-分频器,实现输入50M时

50、钟频率转变为1Hz时钟频率LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FPQ ISPORT(RESET,CLK_50MHz:IN STD_LOGIC;CLK_1Hz:OUT STD_LOGIC);END;ARCHITECTURE ONE OF FPQ ISBEGINPROCESS(RESET,CLK_50MHz)VARIABLE R: STD_LOGIC :=0;VARIABLE Q: INTEGER :=0;BEGINIF RESET=0 THEN Q:=0;ELSIF CLK

51、_50MHzEVENT AND CLK_50MHz=1 THENIF Q=26214399 THEN R:=NOT R;Q:=0;ELSE Q:=Q+1;END IF;CLK_1Hz=R;END IF;END PROCESS;END ONE;2.状态控制模块(CONTROL_STATUS)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CONTROL_STATUS ISPORT(RESET,CLK:IN STD_LOGIC;STATUS:OUT STD_LOGIC_VECTOR(2

52、DOWNTO 0);LOAD_EW,LOAD_SN:OUT STD_LOGIC;DJS_EW,DJS_SN:OUT INTEGER RANGE 0 TO 80); END CONTROL_STATUS;ARCHITECTURE ONE OF CONTROL_STATUS ISSIGNAL T:INTEGER;BEGINPROCESS(CLK)BEGINIF RESET=0 THEN T=0;ELSIF CLKEVENT AND CLK=1 THENLOAD_EW=0;LOAD_SN=0;IF T=0 THEN STATUS=000;DJS_EW=80;LOAD_EW=1;ELSIF T=15

53、THENSTATUS=001;DJS_SN=45;LOAD_SN=1;ELSIF T=60 THENSTATUS=010;DJS_SN=5;LOAD_SN=1; ELSIF T=65 THEN STATUS=011;DJS_SN=80;LOAD_SN=1;ELSIF T=80 THEN STATUS=100;DJS_EW=45;LOAD_EW=1;ELSIF T=125 THEN STATUS=101;DJS_EW=5;LOAD_EW=1;END IF;T=T+1;IF T=130 THEN T EW_LRGY=01000000;SN_LRGY EW_LRGY=01000000;SN_LRGY

54、 EW_LRGY=01000000;SN_LRGY EW_LRGY=10000000;SN_LRGY EW_LRGY=00100000;SN_LRGY EW_LRGY=00010000;SN_LRGY EW_LRGY=00000000;SN_LRGY=00000000;END CASE;END PROCESS;END;4.东西方向倒计时模块 (EW_DJS)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY EW_DJS ISPORT(CLK,LOAD_EW:IN STD_LOGIC;D

55、JS_EW_IN:IN INTEGER RANGE 0 TO 80;DJS_EW_OUT:OUT INTEGER RANGE 0 TO 80);END EW_DJS;ARCHITECTURE ONE OF EW_DJS ISSIGNAL COUNT_EW:INTEGER RANGE 0 TO 80;BEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF LOAD_EW=1 THENCOUNT_EW=DJS_EW_IN;ELSE COUNT_EW=COUNT_EW-1;END IF;END IF;END PROCESS;DJS_EW_OUT=COUN

56、T_EW;END;5.南北方向倒计时模块 (SN_DJS)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SN_DJS ISPORT(CLK,LOAD_SN:IN STD_LOGIC;DJS_SN_IN:IN INTEGER RANGE 0 TO 80;DJS_SN_OUT:OUT INTEGER RANGE 0 TO 80);END SN_DJS;ARCHITECTURE ONE OF SN_DJS ISSIGNAL COUNT_SN:INTEGER RANGE 0 TO 80;B

57、EGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF LOAD_SN=1 THENCOUNT_SN=DJS_SN_IN;ELSE COUNT_SN=COUNT_SN-1;END IF;END IF;END PROCESS;DJS_SN_OUT=COUNT_SN;END; 6.译码模块(TO_8421_BCD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TO_8421_BCD ISPORT(DJS_EW_OUT,DJS_SN_OUT:I

58、N INTEGER RANGE 0 TO 80; DJS_EW_OUT_SW,DJS_EW_OUT_GW:OUT INTEGER RANGE 0 TO 9;DJS_SN_OUT_SW,DJS_SN_OUT_GW:OUT INTEGER RANGE 0 TO 9);END TO_8421_BCD;ARCHITECTURE ONE OF TO_8421_BCD ISBEGINPROCESS(DJS_EW_OUT,DJS_SN_OUT)BEGINIF DJS_EW_OUT=80 THENDJS_EW_OUT_SW=8;DJS_EW_OUT_GW=70 THENDJS_EW_OUT_SW=7;DJS_

59、EW_OUT_GW=60 THENDJS_EW_OUT_SW=6;DJS_EW_OUT_GW=50 THENDJS_EW_OUT_SW=5;DJS_EW_OUT_GW=40 THENDJS_EW_OUT_SW=4;DJS_EW_OUT_GW=30 THENDJS_EW_OUT_SW=3;DJS_EW_OUT_GW=20 THENDJS_EW_OUT_SW=2;DJS_EW_OUT_GW=10 THENDJS_EW_OUT_SW=1;DJS_EW_OUT_GW=0 THENDJS_EW_OUT_SW=0;DJS_EW_OUT_GW=DJS_EW_OUT;END IF;IF DJS_SN_OUT=

60、80 THENDJS_SN_OUT_SW=8;DJS_SN_OUT_GW=70 THENDJS_SN_OUT_SW=7;DJS_SN_OUT_GW=60 THENDJS_SN_OUT_SW=6;DJS_SN_OUT_GW=50 THENDJS_SN_OUT_SW=5;DJS_SN_OUT_GW=40 THENDJS_SN_OUT_SW=4;DJS_SN_OUT_GW=30 THENDJS_SN_OUT_SW=3;DJS_SN_OUT_GW=20 THENDJS_SN_OUT_SW=2;DJS_SN_OUT_GW=10 THENDJS_SN_OUT_SW=1;DJS_SN_OUT_GW=0 TH

温馨提示

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

评论

0/150

提交评论