已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)基于VHDL的交通灯控制器燕 山 大 学2012年6月本科毕业设计(论文)基于VHDL的交通灯控制器学院(系): 答辩 日期: 燕山大学毕业论文任务书学院:里仁学院 系级教学单位:光电子工程系学号学生姓名专 业班 级题目题目名称基于VHDL的交通灯控制器题目性质1.理工类:工程设计( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )。2.管理类( );3.外语类( );4.艺术类( )。题目类别1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( )主要内容1.学习VHDL语言2.熟悉主流EDA软件的使用3.用VHDL语言设计交通灯基本要求1.比较熟练的运用VHDL语言2.完成红绿灯时间设定、控制和看门狗功能3.认真的完成毕业论文的撰写4.完成3000汉字工作量的英译汉参考资料1. Charles H. Roth等. 数字系统设计与VHDLM. 电子工业出版社, 20082. 孟庆海等. VHDL基础及经典实例开发M. 西安交通大学出版社,20083. 邢建平等. VHDL程序设计教程M. 清华大学出版社, 2005周 次14周58周912周1316周1718周应的完内成容阅读资料研究算法总体设计编写代码测试与调试程序撰写论文修改论文准备答辩指导教师:黄震职称:讲师 2012年 1月23日系级教学单位审批: 年 月 日摘 要摘 要交通信号灯控制器是数字电路的经典问题, 通常的设计方法基于中、小规模集成电路进行, 电路元件多、接线复杂、故障率高。大规模集成电路的发展、EDA 技术的出现, 使数字电路的设计进入了一个崭新阶段。交通灯控制系统通常需要实现控制十字路口红绿灯变化的功能,基于VHDL语言设计的交通灯控制系统具有电路简单、可靠性强、运算速度高的特点。利用MAX+PLUS II软件平台对设计系统进行仿真,结果表明系统能够自动控制交通灯转变。 本系统采用Altera公司生产的FPGA为中心器件来设计交通灯控制器。系统工作时,绿灯、黄灯、红灯循环点亮,数码管以倒计时的方式显示红、绿、黄灯剩余的时间。其中绿灯、红灯、黄灯持续的时间分别为20s、25s和5s。当系统出现故障时,交通系统复位。本系统实用性强、操作简单、扩展功能强。关键词EDA;交通灯控制器;VHDL;MAX+PLUS II;模拟仿真I 燕山大学本科生毕业设计(论文)AbstractTraffic light controller is a classical case in digital circuits design. In the conventional design method based on middle or small scale integrated circuit(IC), there are too many elements in the circuit and connections are complicated, so many faults are prone to happen. Based on large scale IC and Electrical Design Automation(EDA) technique.The traffic 1ight control system usually needs to achieve control the traffic 1ights change of crossroads. The traffic lights control system based on VHDL are simple and reliable, with high speed operation characters. Then, using MAX+PLUS II software platform process the design files and simulation. The results show that the system can control the traffic lights changeThe system uses Altera FPGA as centric devices to design the traffic signal controller. When system work, green, yellow, red light, circular lamp with digital tube display the rest of time of red, green, yellow lights. The duration of the green, red and yellow lights are 20s and 5s 25s. Special vehicles drive priority in an emergency situation. controller restore the original state and continue to the normal operation. The system is practical, simple and easy to extensions. Keywords EDA;traffic light controller;VHDL;MAX+PLUS II;simulationI 目 录摘 要IAbstractII第1章 绪论11.1 课题背景21.1.1 EDA概述41.1.2 FPGA概述51.2 国内外交通灯的发展21.3 交通控制的目的和作用41.4 我国城市交通特点分析41.4.1 人的交通素质41.4.2 城市道路状况51.4.3 我国城市交通的特殊性51.5 课题的主要内容51.6 论文的章节安排6第2章 VHDL语言和MAX+PLUS II开发系统概述72.1 VHDL系统设计的特点122.2 VHDL语句的描述132.2.1 实体132.2.2 结构体132.2.3 块、子程序和进程142.2.4 库和程序包162.2.5 默认配置172.3 VHDL最基本的描述方法172.3.1 结构体的行为描述法172.3.2 结构体的数据流描述法192.3.3 结构体的结构化描述法202.4 选择VHDL硬件描述语言设计的优势242.4 MAX+PLUS II 简介72.5 MAX+PLUS II的特点82.6 MAX+PLUS II可编程设计流程92.7 小结10第3章 交通灯系统的设计与仿真233.1 红绿灯交通信号系统功能描述253.2 系统设计的步骤273.3 红绿灯交通信号系统的VHDL模块273.3.1 控制模块273.3.2 分位模块273.3.3 看门狗模块283.3.4 定时模块283.3.5 时钟模块283.3.6 数码扫描模块283.4 顶层电路的设计和仿真293.5 本章小结30第4章 实验箱硬件仿真图315.1 控制模块仿真315.2 分位模块仿真325.3 看门狗模块仿真345.4 定时模块仿真315.5 时钟模块仿真325.6 数码扫描模块仿真335.7 交通灯顶层电路的仿真35结 论37参考文献38致 谢40附录1 开题报告42附录2 文献综述46附录3 中期报告50附录4 外文翻译53附录5 交通灯控制器各个模块的代码65III第1章 绪论 第1章 绪论1.1 课题背景随着经济的发展,车辆的急剧增多,城市发展对道路交通的要求越来越高。目前,城市所使用的交通灯控制器一般还是定时控制,对车流不能起到很好的调节作用,无法更好地利用现有道路,在一定程度上,道路交通甚至成了城市发展的瓶颈。对道路交通的改善,无外乎拓宽道路与改进道路设施, 提高道路利用率,使交通灯控制系统智能化,无疑是改善城市交通状况的福音。对于拓宽道路,投资甚多,且征用土地在城市中难于实现,因此改善道路交通设施,提高现有道路的利用率不失为解决道路拥塞比较好的方案。1.1.1 EDA概述电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。VHDL就是超高速集成电路硬件描述语言。覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。具有良好的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。支持大规模设计的分解和已有设计的再利用。VHDL为设计的分解和设计的再利用提供了有力的支持。1.1.2 FPGA概述近几年来FPGA技术的飞速发展,使得电子电路的设计方法发生了根本性变化,基于FPGA的EDA技术在电子信息、通信、自动控制等领域的作用越来越重要。EDA技术以现代电子计算机为设计工具和设计平台,以硬件描述语言为系统逻辑描述的主要手段,自动、高速地完成数字系统的逻辑综合、仿真模拟和布局布线等工作。使用基于EDA技术的FPGA来开发数字系统,可以大大缩短设计时间,提高系统的可靠性2。本设计研究的内容就是采用硬件描述语言VHDL按模块化方式进行设计,然后进行编程,时序仿真等。本系统使用EDA技术设计了交通灯控制器软件基于VHDL语言实现了本设计的控制功能,实现数据的输入,输出,计算,显示及程序退出等功能。整个系统系统设计简便、实用性强、操作简单、程序设计简便。将路口红绿灯的各种亮灯情况定义不同的状态,路口状况定义为触发条件,基于此模型的交通信号灯控制系统可充分利用现有交通资源,缓解城市交通压力。FPGA技术正处于高速发展时期,新型芯片的规模越来越大,成本也越来越低,低端的FPGA已逐步取代了传统的数字元件,高端的FPGA不断在争夺ASIC的市场份额。先进的ASIC生产工艺已经被用于FPGA的生产,越来越丰富的处理器内核被嵌入到高端的FPGA芯片中,基于FPGA的开发成为一项系统级设计工程。随着半导体制造工艺的不同提高,FPGA 的集成度将不断提高,制造成本将不断降低。FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。由于可编程器件可以通过软件编程对硬件的结构和工作方式进行重构,在不需要重制印制片的基础上,对电路或功能进行修改,大大方便了硬件电路的设计。1.2 国内外交通灯的发展1868年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两个以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一旦接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。中国最早的马路红绿灯,是于1928年出现在上海的英租界。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。最早的交通灯出现于一八六八年英国伦敦。那时的交通灯仅有红、绿两色,经改良后,再增加一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。其实,用这三色作为交通讯号色和人的视觉机能结构和心理反应有关。我们的视网膜含有杆状和三种锥状感光细胞,杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感。由于这种视觉结构,人最容易分辨红色与绿色。虽然黄色与蓝色也容易分辨,但因为眼球,对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳。所以,交通灯用什么颜色也是有很大学问。颜色也有活动(activity)的含意,要表达热或剧烈的话,最强是红色,其次是黄色。绿色则有较冷及平静的含意。因此,人们常以红色代表危险,黄色代表警觉,绿色代表安全。而且,由于红光的穿透力最强,其他颜色的光很容易被散射,在雾天里就不容易看见,而红光最不容易被散射,即使空气能见度比较低,也容易被看见,不会发生事故。所以我们用红色表示禁止。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。随着经济发展,城市化速度加快,机动车辆占有量急剧增加,由此引发出日益严重的交通问题:交通拥挤甚至堵塞,交通事故频繁,空气和噪声污染严重,公共运输系统效率下降等。解决这一问题通常有两种办法,一种是修路造桥,这对道路交通状况的改善是一种最直接的办法,但它需要巨额的投资,且在城市中心区受拆迁的限制,很难实施另一种是在现有的道路交通条件下,实施交通控制和管理,充分发挥现有道路的通行能力,大量事实已经证明这种方法的有效性。通常,一个经验丰富的交通警察能在极短的时间内把一个交叉路口的交通阻塞缓解或解除,但他的作用范围往往局限于单个交叉路口。而现代的道路交通非常复杂,常常是几个或几十个甚至是成百上千个路口互相关联,在这种情况下,任何一个经验丰富的交通警察都无能为力了因此,人们越来越关注把先进的科学技术用于交通管理,从而促进了交通自动控制技术的不断发展。1.3 交通控制的目的和作用道路交通控制的目的可定义为:在确定的行政规定约束下,采用合适的营运方法来确保公共和私人运输方式具有最佳的交通运行状态。围绕这一目的研制出的道路交通控制系统,把受控对象看成一个整体,采用对交通流科学地时间分割的方法,最大限度地保证交通流运动的连续性,使受控区域的交通流减少冲突,同时平稳地、有规则地运动。道路交通控制的作用主要表现为以下几个方面:(1)改善交通秩序,增加交通安全。(2)减少交通延误,提高经济效益。(3)降低污染程度,保护生态环境。(4)节省能源和土地消耗。1.4 我国城市交通特点分析人、车、路是构成城市交通的三大要素,要探讨我国城市交通特点,必须从分析这三大要素的基本特点着手。1.4.1 人的交通素质人是交通的主体,与世界发达国家相比,我国人的社会交通意识还没有真正形成,少数领导部门交通观念淡薄,对城市交通建设在国民经济建设中的重要性认识不足,交通政策时有失误。机动车驾驶员文化水平低,又缺乏系统训练,尤其缺乏心理素质,感知能力和判断能力的培养,所以,对人、车的运动特征不能很好掌握。行人与非机动车驾驶员普遍不懂,甚至漠视交通法规。交通管理人员交通工程和心理学知识贫乏,感知,分析交通信息和处理特发性事件的能力不强。因此,想方设法提高全社会的文化素质,健全交通法规,加强交通宣传教育,增强人的社会交通意识,培养良好的交通习惯,使参与交通的每个人都认识到交通的重要性,自觉顺应交通规律,是建立我国城市交通控制系统,使之有效运行的前提条件5。1.4.2 城市道路状况 路是交通的物质基础,有路才能通车,行人。我国是一个文明古国,许多城市已有上千年的历史,城市布局和道路结构是在漫长的历史进程中逐步形成的,近几年虽然作了些改建和扩建,但毕竟还难以冲破原来的基本格局。我国城市道路普遍存在的弊端是:(1)路网密度低;(2)交通干道少;(3)路口平面交叉;1.4.3 我国城市交通的特殊性道路状况与车辆状况的综合作用形成了我国城市交通的特殊性,主要表现是:城市路网稀,干道少,间距大,市区人口稠密,出行需求集中,迫使车辆集中于少数干道上行驶。至于中小城市 ,干道特征更为明显,往往只有一两条干道贯穿全市,而其他支路上交通量极小。从流量变化情况来看,除外围过境干道外,都是有一定规律的,高峰小时基本上都集中在几个时间段内。我国城市机动车车种繁杂,从50年代的老式车到80年代的新型车,从大货车到小轿车都在一个平面上行驶,不少城市拖拉机还是一种主要运输工具,前面一辆旧车挡道,尾随的新型车只能跟着爬行,过交叉口时经常出现启动慢的车挡住启动快的车,使交通工程师精心设计的交通配时方案不能很好发挥效益6。1.5 课题的主要内容本课题在Altera公司的MAX+PLUS II开发环境下采用VHDL语言进行交通灯控制器的设计,依据自上向下的设计思想,完成红绿灯时间设定、控制和看门狗功能,最后通过时序和功能的仿真,采用A1tem公司的FPGA系列产品实现。通过良好的控制使得交通现状得到改善,更加充分利用现有交通资源,缓解城市交通压力。1.6 论文的章节安排(1)第1章 绪论:简要介绍了交通灯设计的背景和意义,并提出了工作进度。(2)第2章 MAX+PLUS II开发系统概述:对EDA开发系统MAX+PLUSII及其特点作简要介绍。(3)第3章 VHDL语言概述:这部分介绍VHDL的基础知识。(4)第4章 交通灯控制器的设计:本章基于VHDL硬件描述语言,根据设计要求,编写各个模块VHDL代码,并生成相应元件符号,最后将利用生成的各个元件组成顶层原理图。 (5)第5章 仿真结果与分析:对所编写程序进行仿真,验证程序代码的正确性。7第2章 FPGA简介 第2章 VHDL语言和MAX+PLUS II开发系统概述2.1 VHDL系统设计的特点功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。独立于器件的设计、与工艺无关。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。很强的移植能力。VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能11。易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。2.2 VHDL语句的描述一个完整的VHDL程序,或者说设计实体,通常要求最低能为VHDL综合器所支持,并能作为一个独立的设计单元,即元件的形式而存在的VHDL程序。在VHDL程序中,通常包含实体(ENTITY)、结构体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)和库(LIBRARY)5个部分。其中实体和结构体这两个基本结构是必需的,他们可以构成最简单的VHDL程序。2.2.1 实体设计实体是VHDL语言设计的基本单元,简单的可以是一个与门,复杂的可以是一个微处理器或一个数字系统,其结构基本是一致的,都是由实体说明和结构体两部分组成。实体说明是对这个设计实体与外部电路进行接口的描述,它规定了设计单元的输入输出接口信号或引脚,是设计实体对外的一个通信界面。结构体用于描述此设计实体的逻辑结构和逻辑功能。实体语句结构如下:ENTITY 实体名 IS GENERIC(类属表); PORT(端口表);END ENTITY 实体名; 2.2.2 结构体结构体也叫构造体,结构体描述了基本设计单元(实体)的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。结构体对其基本设计单元的输入和输出关系可用以下三种方式进行描述,即行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。结构体是对实体功能的具体描述,因此它一定要跟在实体的后面。图2-1结构体构造图2.2.3 块、子程序和进程块语句(BLOCK):在较大规模的电子系统设计中,传统的硬件电路设计通常包括一张系统总电路原理图和若干张子原理图。在VHDL程序设计中,结构体是由多个BLOCK块构成的,如果将结构体比做总电路原理图,那么,每个BLOCK块则相当于一张子原理图。BLOCK块语句的结构: 块标号:BLOCK 接口说明 类属说明 BEGIN 并行块语句 END BLOCK(块标号);进程(PROCESS):PROCESS结构是最能体现VHDL语言特色的语句。与BLOCK语句一样,利用PROCESS语句结构可以描述一个功能独立的电路。与BLOCK语句不同之处是,在系统仿真时,PROCESS结构中的语句是按顺序逐条向下执行的,而不像BLOCK语句那样并发执行。一个结构体中可以有多个并行运行的进程结构,每一个进程内部是由一系列顺序语句来构成的。PROCESS语句的结构进程标号 PROCESS (敏感信号表) IS进程说明语句BEGIN 顺序描述语句END PROCESS 进程标号;子程序(SUBPROGRAM):VHDL程序与其他软件语言程序中应用子程序的目的是相似的,即能够更有效地完成重复性的工作。子程序模块是利用顺序语句定义和完成算法的,但子程序不能像进程那样可以从本结构体的其他块或进程结构中读取信号值或向信号赋值,只能通过子程序调用与子程序的界面端口进行通信12。子程序被调用时,首先要初始化,执行处理功能后,将处理结果传递给主程序。子程序内部的值不能保持,子程序返回后才能被再次调用并初始化。子程序有两种类型:过程(PROCEDURE)和函数(FUNCTION)。1过程(PROCEDURE)过程语句的书写格式为:PROCEDURE 过程名(参数表)IS 说明部分 BEGIN 过程语句部分 END PROCEDURE 过程名;2.函数函数的语言书写格式为: FUNCTION 函数名 (参数表) RETURN 数据类型 IS 说明部分; BEGIN 顺序语句; RETURN 返回变量名; END RETURN 函数名;2.2.4 库和程序包库和程序包用来描述和保留元件、类型说明函数、子程序等,以便在其它设计中可以随时引用这些信息,提高设计效率。库(LIBRARY):库是经编译后的数据的集合,它存放包集合定义、实体定义、结构定义和配置定义。库语句的格式为: LIBRARY 库名; 程序包(package):程序包也叫包集合,主要用来存放各个设计都能共享的数据类型、子程序说明、属性说明和元件说明等部分。设计者使用时只要用USE子句进行说明即可。程序包由两部分组成:程序包首和程序包体。程序包的一般书写格式如下:PACKAGE 程序包名 ISEND PACKAGE 程序包名; -程序包首PACKAGE BODY 程序包名 IS -程序包体 END PACKAGE BODY 程序包名;2.2.5 默认配置配置语句描述了层与层之间的连接关系,以及实体与构造体之间的连接关系。(一个实体(ENTITY)可以有多个构造体)设计者可以利用配置语句选择不同的构造体,使其与要设计的实体相对应;在仿真某一个实体时,可以利用配置选择不同的构造体进行性能对比实验,以得到性能最佳的构造体。在用VHDL描述硬件电路时,常常采用结构描述方式和混合描述方式。在这两种描述方式中,常常需要将其他设计实体作为元件进行引用,这时就需要将不同元件通过配置安装到不同的设计实体中。VHDL提供了配置语句用于描述各种设计实体和元件之间连接关系以及设计实体和结构体之间的连接关系13。默认配置语句的基本格式为:CONFIGURATION 配置名 OF 实体名 IS FOR 选配结构体名 END FOREND 配置名;2.3 VHDL最基本的描述方法2.3.1 结构体的行为描述法所谓结构体的行为描述(behavioral descriptions),即对设计实体按算法的路径来描述。行为描述在EDA工程中称为高层次描述或高级描述,原因有以下两点:(1)实体的行为描述是一种抽象描述,而不是某一个器件,对电子设计而言,是高层次的概括,是整体设计功能的定义,所以称为高层次描述。(2)从计算机领域而言,行为描述和高级编程语言类似,所以计算机业内人士通常称之为高级描述。当用顺序执行结构体的行为描述时,设计工程师可为实体定义一组状态时序机制,不需要互连表,无须关注实体的电路组织和门级实现,这些完全由EDA工具综合生成,设计工程师只需注意正确的实体行为、准确的函数模型和精确的输出结果。2.3.2 结构体的数据流描述法数据流描述(dataflow description)是结构体描述方法之一,它描述了数据流程的运动路径、运动方向和运动结果。数据流描述法采用并发信号赋值语句,而不是进程顺序语句。一个结构体可以有多重信号赋值语句,且语句可以并发执行。2.4 MAX+PLUS II简介MAX+PLUS II软件是Altera 公司拥有知识产权的可编程逻辑器件开发工具。它是以Altera 公司产品为主要应用对象的EDA平台,主要支持Altera 公司的MAX系列和FLEX系列的可编程逻辑器件。它能够在各种平台上运行,并且允许设计人员选择各种设计输入方法。其界面友好,方便电子工程师使用,在业界深受好评。Altera 公司为设计人员提供了3种MAX+PLUS II开发工具的版本,分别是商业版、基本版、学生版,其限制依次加强。2.5 MAX+PLUS II的特点MAX+PLUS II是一个集成化的可编程逻辑器件开发环境,设计者能在这个环境下进行逻辑设计、编译、校验、布局布线、下载等一系列设计工作,并且由于设计方法的灵活,可以使设计者有多种选择,这样能使设计者根据自己的技术水平快速完成所需设计。总结起来,MAX+PLUS II的特点可以体现在一下几个方面:1)支持多种输入方式。硬件描述语言MAX+plus支持各种HDL硬件设计输入语言,包括VHDL、Verilog HDL和Altera的硬件描述语言。 2)与器件结构无关。MAX+PLUS II系统的核心compiler支持Altera公司的FLEXl0K、FLEX8000、FLEX6000、MAX9000、MAX5000等可编程器件,提供了真正与结构无关的可编程设计环境。MAX+PLUS II的Compiler还提供了强大的逻辑综合与优化功能,使用户比较容易地将起设计集成到器件中。3)开放的界面。MAX+PLUS II软件可以与其它工业标准的设计输入、综合与校验工具相连接。目前MAX+PLUS II支持与Candence、Exemplarlogic、Synopsys、Synplicity Viewlogic等其它公司所提供的EDA工具接口。 4)支持多操作平台。多平台系统MAX+plus的设计输入、处理与校验功能一起提供了全集成化的可编程开发工具,可以加快动态调试,缩短开发周期。5)高度集成化。MAX+PLUS II软件的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动念调试、缩短设计周期。6)模块化的开发工具。设计者可以从各种设计输入、处理和校验选项中进行选择从而使设计环境用户化,必要时,还可以根据需要添加瓤功能。由于MAX+PLUSII支持多种器件,设计者不必学习新的工具就可支持新的结构17。7)具有参数化的模块库。MAX+PLUSII提供了丰富的库单元,其中包括74系列的全部器件和多种特殊的逻辑宏功能以及参数化的兆功能供设计者调用,大大减轻了设计者的工作量,缩短了设计周期。 2.6 MAX+PLUSII可编程设计流程可编程逻辑器件CPLD/FPGA的设计是指利用开发软件和编程工具对器件进行开发的过程。可编程逻辑器件的设计流程包括设计准备、设计输入、设计处理(项目编译)、仿真和定时分析、器件编程下载(设计实现)四个步骤13。2.7 小结本章介绍了VHDL语言产生的背景、VHDL语言的特点、VHDL语言的基本语句。VHDL程序由实体和结构体组成。实体说明含有类型说明和端口说明,它在VHDL 程序设计中,描述一个元件或一个模块与设计系统的其余部分(其余元件、模块)之间的连接关系。结构体描述有3种方法:行为描述法、数据流描述法和结构化描述法。结构体的行为描述,即指对设计实体的描述按算法的路径来描述。行为描述在EDA工程中称为高层次描述或高级描述。数据流描述是结构体描述方法之一,它描述了数据流的运动路径、运动方向及运动结果。结构化描述法适用于层次化设计,对于一个复杂的电子系统,可以分解成许多子系统,子系统再分解成模块。多层次设计可以使设计多人协作,并行同时进行。多层次设计的每个层次都可以作为一个元件,再构成一个模块,或构成一个系统。每个元件可以分别仿真,然后再整体调试。结构化描述不仅是一个设计方法,而且是一种设计思想。 本章还对交通灯控制器所用软件MAX+PLUSII做一个简要的介绍。对于MAX+PLUSII的特点进行叙述,MAX+PLUSII的可编程设计流程简单、方便,易于设计师们理解。15第4章 交通灯系统的设计 第3章 交通灯系统的设计与仿真3.1 引言19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。其中着红装的女人表示我已结婚,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯-煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面世23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。从此,城市的交通信号灯被取缔了。直到1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红黄绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生使城市交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电气公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一声冷汗。回到宿舍,他反复琢磨,终于想到了在红绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红黄绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。 中国最早的马路红绿灯,是于1928年出现在上海英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算控制到现代化的电子定时监控,交通信号灯在科学化,自动化上不断地更新,发展和完善。3.2 红绿灯交通信号系统功能描述系统设计要求:1. 在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一个方向(东西方向)为绿灯、黄灯、红灯,另一个方向(南北方向)是红灯、绿灯、黄灯。计数值与交通灯亮灭的关系如图4-0所示。图3-1 计数值与交通灯亮灭的关系图2.设置2组数码管,以倒计时的方式显示红、绿、黄灯剩余的时间。其中绿灯、红灯、黄灯持续的时间分别为20s、25s和5s。3当交通灯控制系统出现故障时,看门狗启动,令控制模块复位。本系统也设计了手动复位装置。根据任务要求,整个系统设计如图4-1所示,该系统主要由定时模块、控制模块、时钟模块、分位模块、看门狗模块、数码扫描模块以及显示模块构成。其中时钟模块主要将系统输入的基准时钟信号转换为1 Hz的激励信号,驱动定时模块和控制模块以及看门狗模块工作。控制模块根据定时模块的计数情况对交通信号灯的亮灭及持续时间进行控制,并通过分位模块将灯亮时间以倒计时的形式传输给数码扫描模块,再通过数码管显示出来。图中Reset是复位信号,低电平有效,可以实现对计数器的异步清零。图3-2 交通灯控制系统框图3.3 系统设计的步骤1 设计准备和设计输入: 以任务书中:完成红绿灯时间设定、控制和看门狗功能为目标,阅读资料,熟悉VHDL语言,研究算法,画出原理图。2项目编译(设计处理): 这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。1)语法检查和设计规则检查2)设计输入完成之后,在编译过程首先进行语法检验,如检查原理图有无漏洞。连信号线,信号有无双重来源,文本输入文件中的关键字有无输入错误等各种语法错误,并及时列出错误信息报告供设计者修改;然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则情况以供设计者纠正。3)逻辑优化和综合 化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。4)生成编程数据文件 项目编译的最后一步是产生可供器件编程使用的数据文件。3仿真和定时分析(项目校验): 建立仿真波形文件,合理地进行波形编辑,并进行波形仿真。4. 器件编程下载: 在以上步骤都正确实施并完全通过以后,将我们设计的整个项目(最终的数据编程文件)下载到器件中去,然后加入实际的激励信号进行测试,在我们的目标系统中进行产品级使用了。如果还未最终达到我们的设计目的,则需返回以上步骤查找设计问题直至无误。 3.4 红绿灯交通信号系统的VHDL模块3.4.1 控制模块控制模块的作用是根据计数器的计数值控制二极管的亮、灭,以及输出倒计时数值给分位模块。计数范围为0到49,共50个数值。记到49后,下一个时钟沿回复到0,开始下一轮计数。此外,每过一个周期,都给看门狗模块一个信号,以防止看门狗模块对控制模块进复位。而系统复位信号RESET使计数器异步清零。控制模块外部端口如图3-4-1.1所示。图3-4-1 .1控制模块外部端口控制模块的仿真:首先对最主要的控制模块进行时序仿真,仿真结果如图3-4-1.2所示。开始时reset为高电平“1”,这时,如果输入值为40,那么东西方向亮红灯,且倒计时为10,南北方向亮绿灯,且倒计时是5;如果输入值为15,那么东西方向的倒计时时间为5,且是绿灯亮,南北方向的倒计时为10,且是红灯亮,如果reset为低电平“0”,这时系统复位,四个方向都是红灯,输出为初始值,倒计时从25s开始。图3-4-1.2控制模块仿真图3.4.2 分位模块因为控制输出倒计时数值可能是1位或者2位十进制,所以在七段数码管的译码电路前要加上分位电路(即将其分成两个1位的十进制数,如35分为3和5,7分为0和7)。分位电路模块的外部端口如图3-4-2.1所示,这样可以得到两个路口倒计时时间显示的十位和个位信号。图3-4-2.1分位电路模块外部端口分位电路模块的时序仿真:仿真结果如图3-4-2.2所示,输入numin0,numin1为控制模块的倒计时计数器的输出load0,load1,numa0,numb0输出为十位数数值,numa1,numb1输出为个位数数值。图3-4-2.2分位电路模块的时序仿真波形3.4.3 数码扫描模块 对4位8段数码管依次进行扫描,将分位模块给出的数值,进行显示。使能端控制位的选择,数据输出端控制位显示的数字。接收来自定时模块的复位信号,RESET_IN是高电平时,使数码扫描模块异步清零。数码扫描模块的外部端口如图3-4-3.1所示。数码扫描模块功能进行时序仿真:仿真结果如图3-4-3.2所示。只使用四位八段数码管,进行显示,因为东西方向,南北方向显示的倒计时数值一样。本小节假设东西方向输入的是19,南北方向输入的数值是21,那么四位八段数码管重复显示这四个数字。扫描频率是288HZ,人眼无法分辨。当reset_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年凉山金阳县招聘社区专职工作者考试真题
- 如何设计护理药物学课件的重难点突破环节
- 护理操作课件:交叉配血操作细节与临床意义
- 重视护理用品有效期守护健康安全
- 文化纸扩建项目节能评估报告
- 农牧业产业园项目经济效益和社会效益分析报告
- 生物医药产业园应急事故池建设项目竣工验收报告
- 坂本龙马的创业史
- AI优化路径在项目管理实践教学中的应用
- 索桥施工合同模板(3篇)
- 组织行为学复习资料
- 2025年度XX市妇幼保健院党支部书记抓基层党建工作述职报告
- 2024年万宁市事业单位招聘笔试真题
- 2025昆明市石林国有资本投资集团有限公司及下属公司招聘(30人)考试笔试备考题库及答案解析
- 木地板安装施工方案
- 2025山东发展投资控股集团有限公司权属企业招聘249人考试笔试备考题库及答案解析
- 安全管理工作汇报
- 7月电子商务四级测试题与参考答案
- 一顶温暖的帽子课件
- 交通道路安全法 课件
- 七年级语文阅读理解高分技巧
评论
0/150
提交评论