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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于PFGA的交通灯设计.docx

1、基于PFGA的交通灯设计EDA设计基础实验课程论文题 目 基于PFGA的交通灯设计 学 院 通信与电子工程学院 专业班级 通信071班 学生姓名 大彬哥 指导教师 大力会 2013年 4月 12日摘 要交通灯为日常生活中常见的设施,交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。本实验正是按照交通灯的这种指示功能设计的,因此本实验不仅能锻炼自己的实际动手操作能力,解决实际问题的能力,加深自己对verilog设计流程的认识,而且还具有很强的实际意义。数字信号交通灯可以实现十字路口红绿灯的自动控制

2、。基于FPGA的交通灯设计系统具有可靠性强、实时快速擦写、运算速度高、故障率低、电路简单,且体积小的特点。本设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能;使用QuartusII软件作为开发平台;采用自顶向下的设计思路对系统进行模块化设计和综合,并通过波形仿真和硬件实现两种方式实现并验证数字信号交通灯的功能。 关键词:Verilog 交通灯 EDAAbstractTraffic lights for common facilities in daily

3、 life, usually refers to by red, yellow, and green three colors of lights to directing traffic lights. When the green light, to allow vehicles, when the yellow lights, have vehicles cross the stop line can continue; A ban on vehicle traffic when the red light is on. Indicator for this design is acco

4、rding to the traffic lights in this study, so this study can not only exercise their practical operation ability, and ability to solve practical problems, and deepen their understanding of the verilog design process, but also has a strong practical significance. Digital signal traffic light traffic

5、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 Altera

6、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 development p

7、latform; 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:Verilog;Traffic light;EDA第一章 绪论1.1 课程设计要求设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显

8、示当前状态剩余秒数主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能实现特殊状态的功能显示。1.2 课程设计思路和原理本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35s

9、后,主干道和支干道上的黄灯都亮启,持续5s后,主干道上红灯亮启,支干道上绿灯亮启持续25s,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。循环往复的直行这个过程。其过程如下图所示:1.3 实现方法本次采用文本编辑法,即利用Verilog 语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间。1.4 Verilog语言简介 Verilog 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的

10、电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog 语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog 语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog 提供了扩展的建模能力,其中

11、许多扩展最初很难理解。但是,Verilog 语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog 就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog 迅速得到推广应用。1989年CADENCE

12、公司收购了GDA公司,使得Verilog成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog 。Verilog 的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog 内容安排在与ASIC设计等相关课程内部进行讲授,由于语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,Verilog的学习要困难一些。但Verilog 较自由的语法,也容易造成初学者犯一些错误,这一点要注意。 第二章 FPGA概述2.1 FPGA的简介 现场可编程门阵列即FPGA(Field Progr

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

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

15、理可行。 第三章 设计方案3.1 系统框图的设计图3.1系统框图系统框图由6部分组成,包括:分频、控制、倒计时、红绿灯显示、译码、译码显示等模块。3.2 工程设计流程框图 图3.2工程设计流程框图3.3 芯片的选择本设计采用的是Altera公司CycloneII系列的EP2C5T144芯片作为核心最小系统,它可以方便嵌入到实际的交通灯应用系统中,可以完成简单的逻辑控制、数据采集、信号处理、数学计算等功能。3.4 各个模块的设计与仿真3.4.1分频器模块设计(FPQ)由于采用的FPGA芯片的时钟频率是50MHz,需要将其分频为1Hz。该模块即是实现50M的分频,将频率变为1Hz的脉冲波,从而得到

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

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

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

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

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

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

22、值,以此供后面的译码显示模块DISPLAY_SMG译码显示。其电路如图3.13所示:图3.13译码模块电路图 在译码程序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的值不断变化,相应的依次将其分解为十位(DJS_EW_OUT_SW)和个位(DJS_EW_OU

23、T_GW),并依次递减,仿真结果符合预期,完全正确。仿真结果如图3.14所示:图3.14译码仿真结果图3.4.7译码显示模块设计(DISPLAY_SMG)译码显示模块DISPLAY_SMG将上一模块TO_8421_BCD输出的四个一位数译码成相对应的七位数码管段码,完成倒计时的译码和显示。其电路如图3.15所示:图3.15译码显示电路图 在如图3.17所示DISPLAY_SMG译码显示模块的仿真图中,其中可以看到DJS_EW_OUT_SW,DJS_EW_OUT_GW,DJS_SN_OUT_SW,DJS_SN_OUT_GW是四位的输入信号,也是上一模块TO_8421_BCD的输出信号,它们的范围

24、为数字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。仿真完全正确,符合预期。其仿真结果如图3.17所示:图3.17译码显示仿真图3.4.8顶层

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

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

27、GY为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,以上表明红绿灯和倒计时时间显示符合预期,完全正确。仿真结果如图3.19所示:图3.19顶层文件波形仿真结果图第四章 软件仿真过程4.1 Quartus软件概述4.1

28、.1 QuartusII软件简介QuartusII软件是Altera公司最新版本的EDA开发软件,支持APEX系列、Cyclone系列、Stratix系列和Excalibur系列等新型系列器件的开发。含有工作组计算、集成逻辑分析仪、EDA工具集成、多过程支持、增强重编译和IP集成等特性。支持百万门级的设计,支持高速I/O设计,具有更强的设计能力和更快的编译速度。QuartusII开发软件为可编程片上系统(SOPC)设计提供了一个完整的设计环境。无论是使用个人电脑、NUIX或Linux工作站,QuartusII都提供了方便设计、快速编译处理以及编程功能。QuartusII输入的设计过程可分为创建

29、工程、输入文件、项目编译、项目校验和编程下载等几个步骤。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。当前官方提供下载的最新版本是v12.1。Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对 Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件用于批量成品。系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性

30、能和功耗,相应地进行最大吞吐量设计。Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。4.1.2 性能特点1) 支持MAX7000/MAX3000等乘积项器件9.0版Quartus II设计软件现在除了支持Alt

31、era的APEX 20KE,APEX 20KC, APEX II,ARM的Excalibur嵌入处理器方案,Mercury,FLEX10KE和ACEX1K之外,还支持MAX3000A,MAX7000系列乘积项器件。MAX3000A和MAX7000设计者现在可 以使用QuartusII设计软件中才有的所有强大的功能。2)软件体积缩小,运行速度加快QuartusII9.0安装软件为290M,完全安装为700M,如果定制安装,不选择Excalibur嵌入处理器,则安装所需空间为 460M,比QuartusII1.1版本减少一半以上的空间要求,却能支持ALTERA全部芯片的开发。同时软件的装载,编译,

32、仿真速度比1.1版本大 大加快。3)LogicLock设计流程把性能提升15%QuartusII9.0 设计软件通过增强层次LogicLock模块级设计方式,将性能平均改善15%。 LogicLock设计流程把整个模块的放置交由设计者控制,如果必要的话,可以采用辅助平面布置。LogicLock设计流程运行设计者单独地优化和锁定每个模块的性能,在大型SOPC设计的构建过程中也保持整个系统的性能。2.0版Quartus II设计软件把新的LogicLock设计流程算法集成到未来的Altera器 件中,该算法充分利用了模块级设计的优势。4)采用快速适配选项缩短编译时间QuartusII9.0增加了一个新的快速适配编译选项,选择中这个选项,将会比缺省设置要缩短50%的编译时间。快速适配功能保留了 最佳性能的设置,加快了编译过程。这样布局适配算法反复的次数更少,编译速度更快,对设计性能的影响最小。5)新的功能减小了系统级验证9.0版

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

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