ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:266.96KB ,
资源ID:10484644      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10484644.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的交通灯设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的交通灯设计.docx

1、基于FPGA的交通灯设计基于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

4、traffic 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 devel

6、opment 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绪论在现代城市的日常运行控制中,车辆的交通控制越来越重要,道路超负荷承载现象严重,致使

7、交通事故逐年增加。因此解决好交通信号灯控制问题是保障城市交通有序、安全、快速运行的重要保证。当今社会是数字集成电路广泛应用的社会,数字集成电路本身在不断进行更新换代,随着微电子技术的发展, 特别是大规模集成电路和计算机技术的研制和发展,通过“语言”进行电子设计已成为一种趋势。这样既可以使工程师根据自己的意愿设计开发ASIC,而且可以缩短设计周期。现场可编程门阵列(FPGA)即属其中应用最广泛的一种,而且基于EDA技术的现场可编程门阵列(FPGA)在数字系统设计和控制电路中越来越受到重视。VHDL是电子开发主流语言之一,这使得工程师不必过多考虑硬件具体结构,专注于电路功能的设计,适合进行行为描述

8、。DEA技术的发展和应用领域的扩大与深入,在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出,因此本论文研究基于FPGA的交通灯设计。交通灯控制电路是用于城市交通疏导的管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。本论文简要介绍了FPGA器件的特点和设计意

9、义,以QuartusII软件为开发平台,通过VHDL硬件描述语言以及原理图的输入方式来设计交通灯。交通灯控制器用于自动控制十字路口交通灯和计时器。设计一个十字路口交通控制器,方向分为东南西北四个方向。东西方向的红绿灯状态一样,南北方向的红绿灯状态一样。每个方向上,有四盏灯,分别是左转灯、红灯、绿灯和黄灯。左拐灯亮表示左转车辆可以通行;红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆和右转的车辆可以通行;黄灯亮表示左转和直行的车辆即将禁行。1 简述EDA1.1 EDA技术及其发展EDA(Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算

10、机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与

11、最新的计算机软件技术有机的融合和升华。因此,严格的说,EDA技术应该是两者的结合,是这两个技术领域共同孕育的奇葩。现在,传统ASIC和FPGA之间的界限正变得模糊。系统级芯片不仅集成了RAM和微处理器,也集成了FPGA。整个EDA和IC设计工业都朝着这个方向发展。1.2 EDA技术的优势传统的数字电子系统或IC设计中,手工设计占了较大的比例。手工设计一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑化简,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,进行实测和调试。所以手工设计存在如下缺点:(1)复杂电路的设计、调试十分困难;(2

12、)无法进行硬件系统仿真,如过程中存在错误,查找和修改十分不便;(3)设计过程中产生大量文档,不易管理;(4)对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差;(5)只有设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同之处:(1)用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,大大降低设计成本,缩短设计周期;(2)EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库

13、等。这些库都是EDA公司于半导体生产厂商紧密合作、共同开发的;(3)某些HDL(如VHDL)是文档型的语言,极大的简化了设计文档的管理;(4)EDA技术最为瞩目的功能,即最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机,就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试和仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫描测试。这一切极大地提高了大规模系统电子设计的自动化程度;(5)无论传统的应用电子系统设计的如何完美,使用了多么先进的功能器件,都掩盖不了一个无情的事实,即该系统对于设计者来说,没有任何自主知

14、识产权可言,因为系统中的关键性的器件往往并非出自设计者之手,这将导致系统在许多情况下的应用直接受到限制。基于EDA技术的设计则不同,由于用HDL表达的成功的专用功能设计在实际目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权,再无受制于人之虞;(6)传统的电子设计方法至今没有任何标准规范加以约束,因此,设计效率低,系统性能差,开发成本高,市场竞争力也小。而EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用的,IP核具有规范的接口协

15、议。良好的可移植和可测试性,为系统开发提供了可靠的保证;(7)从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案之中;(8)EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。2 FPGA概述2.1 FPGA的简介现场可编程门阵列,即FPGA(FieldProgrammable Gate Array),它由若干独立的可编程逻辑模块组成,具体包括输入输出模块IOB、可编程逻辑模块CLB、互连资源IR和一个用于存放编程数据的静态存储器。它是在可

16、编程器件的基础上进一步发展的产物,用户可以通过编程将这些模块连接成所需要的数字系统。因为这些模块的排列形式和门阵列(GA)中单元的排列形式相似,所以沿用了门阵列这个名称。FPGA属于高密度PLD,其集成度可达百万门/片以上。FPGA中除了个别的几个引脚外,大部分引脚都与可编程的IOB相连,均可根据需要设置成输入端或输出端。每个CLB中都包含组合逻辑电路和存储电路(即触发器)两部分,可以设置成规模不大的组合逻辑电路或时序逻辑电路。为了能将这些CLB灵活的连接成各种应用电路,在CLB指尖的布线区内配置了丰富的连线资源。FPGA作为专用集成电路领域中的一种半定制电路,不仅克服了原有可编程器件门电路数

17、有限的缺点,而且解决了定制电路的不足问题。生产FPGA的公司有XILINX、TI、ALTERA等。2.2 FPGA设计交通灯的意义 FPGA是一个功能强大的可编程逻辑芯片,采用FPGA设计ASIC电路,用户不需要投片生产,就能得到所需的芯片。FPGA内部有丰富的触发器和I/O引脚。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。所以用FPGA完成交通灯的设计合理可行。3 硬件描述语言VHDL硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL 有下列几种:VHDL、Verilog HDL、Sy

18、stem Verilog、和System C。其中VHDL、Verilog在现在EDA设计中使用最多,也得到几乎所有的主流EDA工具的支持。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,于1983年有美国国防部(DOD)发起创建,由IEEE(The Institute of Electrical and Electronics Engineers)进一步发展并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了VHDL的标

19、准版本之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,在语言易读性和层次化结构化设计方面表现了强大的生命力和应用潜力。用VHDL进行电子系统设计的一个很大优点是设计者可以专心致力于其功能的实现,而不需对不影响功能的与工艺有关的因素花费过多的时间和精力。4

20、 QuartusII软件4.1 QuartusII简介QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。QuartusII在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusII的更新换代产品,其界面友好,使用便捷。QuartusII提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera

21、 DSP开发包进行系统模型设计提供了集成综合环境。QuartusII包括模块化的编辑器。编辑器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等。可以通过选择Start Compilation来运行所有的编辑器模块,也可以通过选择Start单独运行各个模块。4.2 基于QuartusII的设计流程 (1)建立工作库文件夹和编辑设计文件; (2)创建工程; (3)全程编译工程; (4)时序仿真; (5)引脚锁定; (6)下载至硬件系统验证。5 系统设计与仿真5.1 系统介绍设计交通灯是为了自动控制各个十字路口倒计时器和交通信号灯,从而使行

22、人和各种车辆能够安全通过。5.1.1 设计任务本论文通过设计一个十字路口的交通灯来形象指挥行人和车辆的安全通行。十字路口处,方向分为东西南北四个方向。东西方向的交通信号灯状态保持一致,南北方向的交通信号灯状态也保持一致。其中每个方向有左转灯、红灯、绿灯和黄灯,共四盏。左转灯亮说明车辆可以左转通行;红灯亮说明禁止车辆直行和左转;绿灯亮说明允许车辆直行和右转;黄灯亮说明即将禁止车辆直行和左转。在每个方向上均设有一个倒计时显示器,以显示禁止或允许通行的倒计时间。十字路口交通灯如图5.1所示:图5.1十字路口交通灯5.1.2 设计要求在十字路口处,每组交通信号灯的显示顺序为:左转 绿 黄 红。倒计时器

23、显示相应方向上的绿灯、红灯倒计时间,其余状态不予显示。左转、红、绿和黄灯点亮时间分别为15s、80s、45s、5s。状态表如表5.1所示:表5.1交通灯状态转换表状态S1S2S3S4S5S6南北 方向红左转绿黄红 红红亮灯时间 1545515455东西方向红 红红红左转绿黄亮灯时间15455154555.2 系统设计仿真本毕业论文设计是基于QuartusII软件,底层设计和顶层设计均采用VHDL进行描述设计,同时为了使设计变得形象简明,通过顶层设计生成了原理图。5.2.1 系统框图的设计图5.2系统框图系统框图由6部分组成,包括:分频、控制、倒计时、红绿灯显示、译码、译码显示等模块。5.2.2

24、 工程设计流程框图 图5.3工程设计流程框图5.2.3 芯片的选择本毕业设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能。5.2.4 各个模块的设计与仿真5.2.4.1分频器模块设计(FPQ)由于采用的FPGA芯片的时钟频率是50MHz,需要将其分频为1Hz。该模块即是实现50M的分频,将频率变为1Hz的脉冲波,从而得到周期为1s的脉冲波。其电路图如图5.4所示:图5.4分频器电路图如果要真正的实现分频50M,在仿真结果图中是很难观察的,甚至是没有办法验

25、证的,故在仿真过程中,将分频的倍数变小,变为20分频,这样从图中可容易的得到并验证对时钟输入信号的20分频,如图5.5所示, Reset是复位信号,CLK_50MHz是输入时钟频率,CLK_1Hz是输出时钟频率,从图中可以看出,输出频率CLK_1Hz确实是输入时钟频率CLK_50MHz的20分频。图5.5分频器仿真图5.2.4.2状态控制模块设计(CONTROL_STATUS)CONTROL_STATUS模块根据输入CLK_1Hz的脉冲信号输出不同的STATUS值,下游的模块依据STATUS的值来确定红绿灯的状态;于此同时对倒计时信号赋初值。其电路如图5.6所示:图5.6状态控制模块电路图在C

26、ONTROL_STATUS模块仿真图中,输入信号CLK是一个频率为1Hz的时钟脉冲信号,RESET是复位信号;输出信号STATUS是状态转换信号,控制着下游交通信号灯显示模块的显示情况;LOAD_EW、LOAD_SN是东西、南北方向倒计时开始控制信号,DJS_EW、DJS_SN是东西、南北方向倒计时间信号。其仿真结果图如图5.7所示,由图可得,STATUS共有000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6)共6个状态,80s为红灯和左转灯的倒计时间,45s为绿灯的倒计时间,5s是黄灯的倒计时间,和状态转换表的状态一致。图5.7状态控制模块仿真图5.

27、2.4.3交通信号灯显示模块设计(DISPLAY_LIGHT)交通信号灯显示模块根据输入的STATUS信号,输出对应的红绿黄灯信号,并直接驱动交通信号灯的亮灭。其电路图如图5.8所示:图5.8信号灯显示在DISPLAY_LIGHT模块程序仿真结果图中,STATUS为输入信号,而它依赖于CONTROL_STATUS模块产生的信号STATUS信号,一种六种状态,依次为000(S1)、001(S2)、010(S3)、011(S4)、100(S5)、101(S6);EW_LRGY(8位)是东西方向上交通信号灯的状态, SN_LRGY(8位)是南北方向上交通信号灯的状态,依次为左转、红、绿、黄,对应着E

28、W_LRGY、SN_LRGY的前四位,1表示点亮,0表示熄灭,后四位均为0,表示四个灯的阴极接负极。例如,在STATUS为001时,对应的是东西方向红灯亮,南北方向绿灯亮,仿真结果符合预期,完全正确。图5.9信号灯显示仿真图5.2.4.4东西方向倒计时模块设计(EW_DJS)EW_DJS模块用来接收CONTROL_STATUS模块的输出并作为初值,每检测到一个CLK脉冲信号,就进行减一动作,最后把减一结果输出。其电路图如图5.10所示:图5.10东西方向倒计时电路图在该模块仿真图中,CLK为1Hz的输入信号,LOAD_EW为计数器的装载信号,当其为高电平时,将输入信号DJS_EW_IN的值装载

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

30、器的装载信号,当其为高电平时,将输入信号DJS_SN_IN的值装载到计数器中,并开始进行减一操作,每遇一个CLK脉冲,进行一次减一操作,并将结果输出,由于输入的时钟频率是1Hz,所以显示的时间间隔是1s,与现实生活中的时间保持一致。其仿真结果如图5.11所示,由图可得,该模块将45秒的倒计时信号装载进去,并进行减一操作。图5.13东西方向倒计时仿真图5.2.4.6译码模块设计(TO_8421_BCD)TO_8421_BCD模块程序用来将输入的两位倒计时数值,分解成两个整形数值,以此供后面的译码显示模块DISPLAY_SMG译码显示。其电路如图5.14所示:图5.14译码模块电路图在译码程序TO

31、_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的值不断变化,相应的依次将其分解为十位(DJS_EW_OUT_SW)和个位(DJS_EW_OUT_GW),并依次递减,仿真结果符合预期,完全正确。仿真结果如图5.15所示:图5.15译码仿真结果图5.2.4.7译码显示

32、模块设计(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是四位的输入信号,也是上一模块TO_8421_BCD的输出信号,它们的范围为数字09,DJS_EW_OUT_SW1,DJS_EW_OUT_GW1,DJS_SN_OUT_SW1,DJS_SN_OUT_GW1对应的是相应的七位数码管显示段码的值。图中输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1