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

下载本文档

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

文档简介

1、xxxx本科毕业论文x x x x1. 论文题目字体黑体小二号,居中,不超过20汉字,尽量避免题目中出现标点符号。2. 题目与文章内容相符。不符者要修改。3. 姓名,指导老师,专业字体小三号宋体。本页为样版 本科生毕业论文(设计)基于eda技术的交通灯设计 姓 名: x x 指导教师: x x x 院 系: 信息工程学院 专 业: 电子信息工程 提交日期: 26xx本科毕业论文目 录中文摘要2外文摘要3引言41 绪论5 1.1 eda技术概述5 1.1.1 eda技术的发展与应用5 1.1.2 eda技术的基本特征5 1.1.3 eda的设计方法5 1.2 硬件描述语言vhdl6 1.2.1

2、vhdl的简介6 1.2.2 vhdl的设计方法6 1.3 maxplus ii开发平台系统8 1.3.1 maxplus ii简介8 1.3.2 maxplus ii的特点92 交通灯控制系统介绍10 2.1 交通灯控制系统的功能10 2.2 交通灯控制系统设计选择10 2.3 交通灯控制系统设计要求11 2.4 交通灯控制系统的基本组成模块12 2.5 交通灯控制器状态123 交通灯控制系统的设计13 3.1 交通灯控制器功能描述及设计方法13 3.2 交通灯控制器各模块的程序设计14 3.2.1 控制部分的设计14 3.2.2 显示部分的设计15 3.2.3 分频器部分的设计16 3.3

3、 交通灯控制系统的仿真17 3.3.1 对交通灯控制部分进行仿真17 3.3.2 对交通灯显示部分模块进行仿真18 3.3.3 对交通灯系统进行仿真19结束语20参考文献21致谢22附件23 基于eda技术的交通灯设计指导老师:xxx (xxxx信息工程学院,xx,上海 201203)摘 要:伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加。随着eda技术的发展和应用领域的扩大与深入,eda技术在电子信息、通信、自动、控制及计算机应用等领域的重要性日益突出。随着汽车数量的不断增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了。所以,设计交通灯来完成这个需求就显的越加迫切了

4、。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。以下就是运用数字电子设计出的交通灯,其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。关键词:eda;vhdl;pld;交通灯design of traffic light based on eda technologydirector:xxx associate director:xxx(information engineering college, xxxx university, xx, china, 201203)abstract:with the development of s

5、ociety and the improvement of peoples living standard, the number of cars is increasing.along with the development of dea technology and its expansion in application fields, the eda technology in electronic information, communication, automatic control , computer application and other fields is of g

6、rowing importance. with the ever increasing number of cars, traffic problems have become increasingly prominent,which leads to it not to be feasible only rely on manpower to direct traffic. therefore, the design of traffic lights to complete this demand was of great urgent. in order to ensure the cr

7、ossroads of pedestrian and vehicle traffic pass through smoothly, we often use electronically controlled traffic signal to command the traffic. the following is the use of digital electronic design of the traffic lights, the red light says the road is closed to traffic; yellow light means stop and t

8、he green light allows us go though the road.key words: eda;vhdl;pld;the traffic lights引言随着城市汽车保有量的越来越多,城市的交通拥挤问题正逐渐引起人们的注意。交通灯是交管部门管理城市交通的重要工具。提高十字路口的通行效率,对缓解交通阻塞具有十分重要的现实意义。传统的交通灯硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计

9、;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。本文采用vhdl语言设计其硬件,以可编程逻辑器件为载体,eda软件为开发工具,设计一个交通灯。第一阶段,通过参阅文献及相关资料确定交通灯的设计方案,构建电路功能模块,利用相关软件绘画出电路图,要求图形绘制完整、精确、符合规范。第二阶段,以硬件描述语言为系统逻辑描述的表达方式在eda软件平台上编写源程序,要求设计合理、性能得到优化、器件利用率最高。

10、第三阶段,对所编写的程序进行仿真以确定能否达到要求并根据具体情况对程序不断改进。最后下载配置至eda实验箱中检测设计结果实现最后的设计与仿真。1.绪论1.1 eda技术概述eda是电子设计自动化(electronic design automation)的缩写,在20世纪90年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。eda技术就是以计算机为工具,设计者在eda软件平台上,用硬件描述语言hdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、

11、逻辑映射和编程下载等工作。 1.1.1 eda技术的发展与应用电子设计技术的核心就是eda技术,eda是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子cad通用软件包,主要能辅助进行三方面的设计工作,即ic设计、电子电路设计和pcb设计。eda技术是伴随着计算机、集成电路、电子系统设计的发展, 经历了计算机辅助设计(cad)、计算机辅助工程设计(cae)和电子系统设计自动化( esda)三个发展阶段。20世纪70年代为cad阶段, 这一阶段人们开始用计算机辅助进行ic版图编辑和pcb 布局布线, 取代了手工操作。80年代为cae阶段,与cad相比, 除了纯

12、粹的图形绘制功能外, 又增加了电路功能设计和结构设计, 并通过电气连接网表将两者结合在一起,以实现工程设计。90年代为esda阶段, esda的基本特征是设计人员按“自顶向下”的设计方法,对整个系统进行方案设计和功能划分, 然后采用硬件描述语言(hdl)完成系统行为级设计, 最后通过综合器和适配器生成最终的目标器件。esda的出现, 使设计师开始实现“概念驱动工程”的梦想, 从而摆脱了大量的辅助设计作, 把精力集中在创造性的方案与概念构思上, 极大地提高了系统的效率, 缩短了产品的研制周期。 1.1.2 eda技术的基本特征eda代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按

13、照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(asic)实现,然后采用硬件描述语言(hdl)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。 1.1.3 eda的设计方法“自顶向下”的设计方法。高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电

14、路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避燃计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。1.2 硬件描述语言vhdl 1.2.1 vhdl的简介硬件描述语言(hdl)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用vhdl语言只需要书写一行abc即可。而且 vhdl语言可读性强,易于修改和发现错误。早期的硬件描述语言,如abel、hdl、ah

15、dl,由不同的eda厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言vhdl,1987年ieee采纳vhdl为硬件描述语言标准(ieee std1076)。vhdl是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此vhdl几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由底向上的电路设计过程都可以用vhdl来完成。vhdl还具有以下优点:(1)vhdl的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了

16、系统功能的实现与调试,而花较少的精力于物理实现。(2)vhdl可以用简洁明确的代码描述来进行复杂控制逻辑艄设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)vhdl的设计不依赖于特定的器件,方便了工艺的转换。(4)vhdl是一个标准语言,为众多的eda厂商支持,因此移植性好。用vhdl语言编程实现数字电子系统硬件设计容易做到技术共享。他人用vhdl语言实现了ip模块和软核(soft core),程序包(package)和设计库(library)很容易移植到自己的系统设计中。许多设计不用从头开始,少花钱办快事,缩短产品设计周期,加速产品更新,提高设计效益,这也是vhdl语言得到广泛应

17、用的重要原因。值得指出的是:veriloghdl等硬件描述语言获得较为广泛的应用。但最适合于用cpldvhdl等器件实现数字电子系统设计的硬件描述语言当属于vhdl。 1.2.2 vhdl的设计方法传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常

18、庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。当电路系统采用vhdl语言设计其硬件时,与传统的电路设计方法相比较,具有如下的特点:第一,采用自上而下的设计方法。即从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系

19、统的结构及其工作的过程是否能到达系统设计的要求。第二层次是rtl方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的vhdl语言程序改写为rtl方式描述的vhdl语言程序。也就是说,系统采用rtl方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。第三层次是逻辑综合。即利用逻辑综合工具,将rtl方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检

20、查其时序关系。第二,应用逻辑综合工具产生的门级网络表,将其转换成pld的编程码点,即可利用pld实现硬件电路的设计。由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计周期。第三,系统可大量采用pld芯片。由于目前众多制造pld芯片的厂家,其工具软件均支持vhdl语言的编程。所以利用vhdl语言设计数字系统时,可以根据硬件电路的设计需要,自行利用pld设计自用的asic芯片,而无须受通用元器件的限制。第四,采用系统早期仿真。从自上而下的设计过程中可以看到,在系统设计过程中要进行三级仿真,即行为层次仿

21、真、rtl层次仿真和门级层次仿真。这三级仿真贯穿系统设计的全过程,从而可以在系统设计的早期发现设计中存在的问题,大大缩短系统设计的周期,节约大量的人力和物力。自顶而下的设计方法使系统被分解为各个模块的集合之后,可以对设计的每个独立模块指派不同的工作小组,这些工作小组可以工作在不同地点,甚至可以分属于不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。其自顶而下的设计流程如图1-1所示:设计说明书建立vhdl行为模型模型门级时序vhdl行为仿真模型vhdlrtl级建模模型前端功能仿真逻辑综合测试向量生成硬件测试功能仿真结构综合设计完成图1-1 自顶而下的设计流程1.3 m

22、axplus ii开发平台系统 1.3.1 maxplus ii简介maxplus ii的全称是multiple array and programmable logic use system2(多阵列矩阵及可编程逻辑用户系统2),是altera公司的全集成化可编程逻辑设计环境。从最初的第一代aplus,第二代maxplus ii,发展到第三代maxplus ii,altera公司的开发工具软件在发展中不断完善。maxplus ii的版本不升级,功能也越来越强大,目前发行的maxplus ii已经到10.2版。maxplus ii的界面友好,在线帮助完备,初学者也可以很快学习掌握。完成高性能的

23、设计。其次,在进行原理图输入时,可以直接放置74系列逻辑芯片,所以对于普通爱好者来说,即使不使用altera的可编程器件,也可以把maxplus ii作为逻辑仿真工具,另外,不用搭建硬件电路,即可对自己的设计进行调试,支持altera公司不同结构的可编程逻辑器件,能满足用户各种各样的设计需要。maxplus ii具有突出的灵活性与高效性,为设计者提供了多种可自由选择的设计方法和工具。 1.3.2 maxplus ii的特点1. maxplus ii的编译核心支持altera的flex 10k、flex 8k、max9000、max7000、flashlogic、max5000、classic系

24、列可编程逻辑器件; 2. maxplus ii的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,可加快动态调试,缩短开发周期; 3. maxplus ii支持各种hdl设计输入,包括vhdl、verilog和altera的ahdl; 4. maxplus ii可与其他工业标准设计输入、综合与校验工具链接。与cae工具的接口符合edif200和209、参数化模块库( lpm )、verilog、vhdl及其它标准。设计者可使用altera或标准cae设计输入工具去建立逻辑设计,使用maxplus ii编译器对altera器件设计进行编译,并使用altera或其它cae校验工具

25、进行器件或板级仿真。maxplus ii支持与synopsys、viewlogic、mentor graphics、cadence、exemplar、data i/o、intergraph、minc、orcad等公司提供的工具接口。利用maxplus ii软件平台进行设统设计。具体的设计流程图如图1-2所示:设计要求系统产品设计输入设计编译设计修改设计校验器件编程在线校验图1-2 maxplus ii软件的设计流程图2.交通灯控制系统介绍城市中常见的大型十字路口如图2-1所示。图2-1 十字路口示意图 一般情况下,当汽车行驶至十字交通路口时,有3种选择: 向前,向左转弯,向右转弯。根据我国的交

26、通规则规定,汽车是靠右行驶,向右拐弯只要走弧形的支干道即可,不需受十字交通灯的束缚。因此,本文主要考虑前行和左转这两种情况。十字路口交通灯负责控制各走向红绿灯的状态及转换,并且各状态之间有一定的时间过渡。同时,东西南北每条干道上都为人行横道设置了红绿灯,提醒行人在安全时刻穿越道路以保证行人的安全。2.1 交通灯控制系统的功能交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此

27、目的而开发的。2.2 交通灯控制系统设计选择城市路口交通信号控制系统大体上分为三种类型: 定周期的信号机、多时段且具有无电缆协调功能的微电脑型信号机以及联网式自适应多相位智能型信号机。具体采用哪种类型, 应根据其应用场合及特点加以确定。其中, 第一种类型以其成本低,设计简单, 安装及维护方便等特点得到了广泛应用。2.3 交通灯控制系统设计要求1能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;2南北向为主干道,每次通行时间为50s,东西向为支干道,每次通行时间为30s;3能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。

28、其中,黄灯:5s。4能实现特殊状态的功能。按下sp键后,能实现以下特殊功能:(1)显示倒计时的两组数码管闪烁;(2)计数器停止计数并保持在原来的状态;(3)东西、南北路口均显示红灯状态;(4)特殊状态解除后能继续计数;5. 能实现全清零功能。按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮;6. 用vhdl语言设计上述功能的交通灯控制器,并用层次化方法设计该电路;7. 仿真、验证设计的正确性。2.4 交通灯控制系统的基本组成模块红 绿 黄主控制器显示器译码器置数器定时计数器特殊状态清零红 绿 黄图2-2 交通灯控制器原理框图交通灯控制器原理框图如图2-2所示,包括置数

29、模块、计数模块、主控制器模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。其中,核心部分是主控制模块。2.5 交通灯控制器状态根据要求,交通灯分四个状态,如下表2-1:表2-1 交通灯的四个状态 南北方向(主干道) 东西方向(次干道)状态绿红黄绿红黄1( st0 )1000102( st1 )0010103( st2 )0101004( st3 )0100013.交通灯控制系统的设计有一条主干道和一条支干道的汇合点形成的十字路口,为确保车辆安全,迅速通行,在干道和支道的入口设置了红、绿、黄

30、3色信号灯。3.1 交通灯控制器功能描述及设计方法通过两组交通灯来模拟控制东西、南北两条通道上的车辆通行,所有功能在实验操作平台上进行模拟通过,根据原理其主要功能如图3-1:图3-1 系统结构图其中ledcontrol部分为控制器模块,ledshhow部分为译码器模块。控制器包括指数模块、计数模块和主控制器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。译码器模块将控制器模块的控制作用通过译码表现出来,即我们看到的交通灯。最后上图最左边是系统输入,右边是系统输出。3.2 交通灯控制器各模块的程序设计

31、 下面是各功能模块的vhdl程序,文中只写出了它们的核心部分,各模块完整的程序在附录中给出。 3.2.1 控制部分的设计 控制模块是交通控制系统的核心部分,控制模块主要用于控制系统的时钟、计数值、循环周期判别和人工控制信号输入,并将计数值做相关的运算得到数码管的倒计时值,同时控制十字路口信号灯的亮、灭火闪烁。如图3-2所示,reset是复位引脚;clk是时钟引脚,其值为分频器的输出时钟信号;urgen是紧急状态引脚;state1.0是状态引脚;sub,set1,set2是状态选择引脚。statelabel:process(reset,clk)beginif reset=1then count=

32、0000000; state=00; elsif clkevent and clk=1then if urgen=0then count=count+1;subtemp=1;else subtemp=0;end if; if count=0 then state=00;set1=1;set2=1; elsif count=25 then state=01;set1=1; elsif count=30 then state=10;set1=1;set2=1; elsif count=45 then state=11;set2=1; elsif count=50 then count=000000

33、0;else set1=0;set2=0;end if;end if;end process statelabel;图3-2 控制部分的图形 3.2.2 显示部分的设计 显示模块包括数码管动态扫描电路和译码显示电路,动态扫描电路用于选择需要显示的数码管,译码显示电路用于将输入的二进制信息转换为数码管显示编码。如图3-3所示,clk是时钟引脚;urgen是紧急状态引脚;state1.0是状态引脚;sub,set1,set2是状态选择引脚,在sub为上升沿时,可以用set1和set2来选择调整交通灯的状态;r1,g1,y1,r2,g2,y2分别是主干道方向和次干道方向的红、绿、黄灯信号引脚;led

34、17.0,led27.0分别为主干道方向和次干道方向的数码管倒计时信号灯引脚。label2:process(sub)beginif subevent and sub=1thenif set2=1then count2=setstate2;elsif count2(3 downto 0)=0000 then count2=count2-7;else count2=count2-1; end if; g2=tg2; r2=tr2; y2=ty2;end if;end process label2;label1:process(sub)beginif subevent and sub=1thenif

35、 set1=1then 图3-3 显示部分的图形 count1=setstate1;elsif count1(3 downto 0)=0000 then count1=count1-7;else count1=count1-1;end if; g1=tg1; r1=tr1; y1=ty1;end if;end process label1; 3.2.3 分频器部分的设计分频模块通过分频得到计数模块的时钟频率,此频率作为数码管动态显示的扫描时钟频率。如图3-4所示,clk_in是分频器的时钟输入引脚;clk为时钟输出引脚;reset为复位引脚。process(clk_in,reset) isva

36、riable cnt:t_short;beginif(reset=1)thencnt:=0;clk=0;elsif rising_edge(clk_in)thenif(cnt=(divide_period/2)thenclk=1;cnt:=cnt+1;elsif(cnt(divide_period-1)thenclk=0;cnt:=cnt+1;elsecnt:=0;end if;end if;end process;图3-4 分频器部分的图形3.3 交通灯控制系统的仿真 3.3.1 对交通灯控制部分进行仿真在maxplus ii软件中导入交通灯控制程序,对此程序编译无错误后,建立vector

37、waveform file 文件保存时仿真文件名要与设计文件名一致。在其中设计始终开始时间为0,结束时间为5us,周期为50ns。仿真结果如图3-5:图3-5 交通灯控制部分仿真图一当reset=1state=00count=0000000;当reset=0在上升沿到来时执行当 count=0 则state=00;set1=1;set2=1; count=25 state=01;set1=1; count=30 then state=10;set1=1;set2=1;count=45 then state=11;set2=1;count=50 then count=0000000,否则 set

38、1=0;set2=0仿真的结果正确。图3-6 交通灯控制部分仿真图二 3.3.2 对交通灯显示部分模块进行仿真在 maxplus ii 软件中导入交通灯显示程序,对此程序编译无错误后,建立vector waveform file 文件保存时仿真文件名要与设计文件名一致。将控制仿真的结果贴到显示仿真中,两次在其中设计的开始时间为0,结束时间为5us,周期为50ns。仿真结果如下:图3-7 交通灯显示部分仿真图一仿真结果与程序所要的结果一样。当state=”00”时g1=1;当state(1)=0时r2=1.图3-8 交通灯显示部分仿真图二当urgen=1时r1=1,r2=1;仿真结果与程序设计符

39、合。 3.3.3 对交通灯系统进行仿真在 maxplus ii 软件中导入交通灯系统程序,对此程序编译无错误后,建立vector waveform file 文件保存时仿真文件名要与设计文件名一致。在其中设计开始时间为0,结束时间为5us,周期为50ns。仿真结果如下:图3-9 交通灯系统分仿真图一图3-10 交通灯系统仿真图二系统仿真的结果符合设计要求。与前面仿真的结果也一致。结束语经历了数星期的毕业设计眼看尘埃落定,看似简单的题目做起来也是举步维艰。通过课程设计,发现了自己的很多不足,自己知识的很多漏洞,与此同时也学会了独立克服困难的能力。本设计采用vhdl 硬件描述语言文本输入方式,在确

40、立总体预期实现功能的前提下,分层次进行描述,其中所用到的数据均可依现场情况而设置,修改方便灵活。特殊状态可自行修改和添加,但总的前提是保持状态二(南北东西均为红灯) 的优先级最高。须注意的是,功能四的两模拟频率不能太高,否则将无法实现。事实上这也与实际情况相符,因为考虑到道路行使中车速受限因素存在。数字化时代的到来给人们的生活带来了极大的改变,有理由相信随着数字化的深入,交通灯控制器的功能将日趋完善。而且vhdl语言对eda 产生的影响也是深远的,它缩短了电子产品的设计周期,为设计者提供了方便。参考文献1 朱正伟. eda技术与应用m,北京:清华大学出版社,20092 候伯亨. vhdl硬件描

41、述语言与数字电路逻辑设计m.西安:西安电子科技大学出版社,19993 方翔. 电子信息技术在智能交通信号灯控制中的应用j. 机电信息, 2010,(12):39444 王振红. vhdl数字电路设计与应用实践教程m. 北京: 机械工业出版社, 20035 焦键. eda软件在数字电路中的应用j. 硅谷, 2010,(9):1001036 stephen brown,zvonko vranesic. fundamentals of digital logic with vhdl design,third editionm.北京:电子工业出版社,20097 汤泽军,周欢喜,吴进. 一种交通信号灯控

42、制系统的设计与实现方案j. 长沙航空职业技术学院学报,2010,(3):18218 clinal cale. real digital,a hands-on approach to digital designm.西安:西安电子科技大学出版社,20099 胡蓉. 基于eda技术基础的数字电路课程设计j. 职业教育研究, 2010,(06):495410 李春雨,高原. 基于vhdl状态机的交通灯控制器设计j. 山西电子技术,2010,(1):545611 江培蕾,戴彦. 基于fpga的交通控制器的设计j. 黑龙江科技信息, 2010,(1):7478致谢 本论文是在赵xx老师的精心指导下完成的

43、。在做毕业设计的整个过程中,都得到了赵年顺老师的耐心指导和详细解答,特别是在设计的初始阶段,赵年顺老师在需求分析方面给了我很大的帮助,在老师帮助和指导下,使我能很快地就确定了系统的目的和开发方案,并且在后来的程序实现方面给予了正确的引导,使我少走了很多弯路,并提高了我的效率。这对于我以后的工作和学习都有很大的帮助,在此衷心感谢赵老师的耐心辅导。 最后,我衷心地祝福所有给予我帮助的老师和同学,希望他们在以后的日子里工作顺利!学习进步!再创辉煌!附件:交通灯设计中的各模块程序一、控制部分的vhdl程序library ieee;use ieee.std_logic_1164.all;use ieee

44、.std_logic_unsigned.all;entity ledcontrol is port(reset,clk,urgen:in std_logic; tate:out std_logic_vector(1 downto 0); sub,set1,set2 :out std_logic);end ledcontrol;architecture function of ledcontrol is signal count: std_logic_vector(6 downto 0); signal subtemp: std_logic;beginsub=subtemp and (not c

45、lk);statelabel:process(reset,clk)beginif reset=1then count=0000000; state=00; elsif clkevent and clk=1then if urgen=0then count=count+1;subtemp=1;else subtemp=0;end if; if count=0 then state=00;set1=1;set2=1; elsif count=25 then state=01;set1=1; elsif count=30 then state=10;set1=1;set2=1; elsif coun

46、t=45 then state=11;set2=1; elsif count=50 then count=0000000;else set1=0;set2=0;end if;end if;end process statelabel;end function;二、显示部分的vhdl程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledshow is port(clk,urge:in std_logic; state:in std_logic_vector(1 downto 0);

47、 sub,set1,set2:in std_logic; r1,g1,y1,r2,g2,y2:out std_logic; led1,led2:out std_logic_vector(7 downto 0);end ledshow;architecture function of ledshow is signal count1,count2:std_logic_vector(7 downto 0); signal setstate1,setstate2:std_logic_vector(7 downto 0); signal tg1,tg2,tr1,tr2,ty1,ty2 :std_logic;beginled1=11111111when urgen=1and clk=0 else count1;led2=11111111when urgen=1and clk=0 else

温馨提示

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

评论

0/150

提交评论