毕业设计论文基于EDA技术的交通控制器的设计.doc

上传人:sccc 文档编号:4862828 上传时间:2023-05-20 格式:DOC 页数:27 大小:873.52KB
返回 下载 相关 举报
毕业设计论文基于EDA技术的交通控制器的设计.doc_第1页
第1页 / 共27页
毕业设计论文基于EDA技术的交通控制器的设计.doc_第2页
第2页 / 共27页
毕业设计论文基于EDA技术的交通控制器的设计.doc_第3页
第3页 / 共27页
毕业设计论文基于EDA技术的交通控制器的设计.doc_第4页
第4页 / 共27页
毕业设计论文基于EDA技术的交通控制器的设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计论文基于EDA技术的交通控制器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于EDA技术的交通控制器的设计.doc(27页珍藏版)》请在三一办公上搜索。

1、本科毕业论文论文题目:基于EDA技术的交通控制器的设计 学生姓名: 学号: 专业:电子信息科学与技术 指导教师: 学 院: 1 年 月 日本科毕业设计设计题目:基于EDA技术的交通控制器的设计 学生姓名: 学号: 专业:电子信息科学与技术 指导教师: 学 院: 1 年 月 日毕业论文(设计)内容介绍论文(设计)题 目基于EDA技术的交通控制器的设计选题时间完成时间论文(设计)字数12000关 键 词EDA, FPGA, 交通控制器论文(设计)题目的来源、理论和实践意义:本次设计对数字电子技术和EDA技术有了更进一步的熟悉,实际操作和课本上的知识有很大联系,但又高于课本,要把课本上所学到的知识和

2、实际联系起来,同时通过本次电路的设计,不但巩固了所学知识,也使我们把理论与实践从真正意义上结合起来,增强了学习的兴趣,考验了我们借助互联网络搜集、查阅相关文献资料和组织材料的综合能力。随着城市经济的飞速发展以及城市化进程的加快,大量的人口涌入城市,造成市区人口极其稠密,交通流动人数众多。交通信号自动控制系统作为整个城市智能交通控制系统的底层子系统,它的研制成功便于对整个城市交通实现智能控制,目的是使人、车、路密切配合,和谐统一,极大地提高交通运输效率,保障交通安全。论文(设计)的主要内容及创新点:EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作.而且可

3、以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研发周期,又大大节约了成本。在设计中采用EDA技术,通过广泛戍用的VHDL硬件电路描述语言,实现交通灯系统控制器的设计, 通过了Quartus软件的功能仿真和实际调试,体现了EDA技术的设计优越性。附:论文(设计)本人签名: 年 月 日目 录中文摘要 1英文摘要 1一、 引言 2二、 交通控制器用到的理论知识 2(一) EDA 技术 2(二) VHDL语言 4(三) QUARTUS II 5(四)硬件FPGA 7三、交通控制器的设计 9 (一)系统设计要求 9(二)系统设计方案 10(三)主要VHDL源程序析 13(四) 系统仿真

4、 18(五) 设计总结 18四、参考文献 19五、附录 20 基于EDA技术的交通控制器设计 摘要:实现路口交通灯系统控制的方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度。采用EDA技术,应用VHDL硬件电路描述语言实现交通灯系统控制器的设计,利用QUARTUS II集成开发环境进行综合、仿真,并下载到CPLD可编程逻辑器件中,完成系统的控制作用。该灯控制逻辑逻辑可实现3种颜色灯的交替点亮、时间的倒计时,指挥车辆和行人安全通行1关键词:EDA; FPGA; 交通控制器中图分类号:B03Tr

5、affic controller design based on EDATechnologies Abstract: A lot of devices, such as standard logic device, PLC(Programmable Logic Controller), single chip microcomputer, etc, can be used in the design of traffic light system. However,debugging and adjueting the circuits based on these devices requi

6、re hardware supperts. In some sense it complicates the design procedure. In this article,VHDL is applied in designing the system and the logic functions is achieved by CPLD. The code is synthesized, simulated ang then downloaded into the CPLD by QUARTUS II. The control logic of the system can change

7、 the color of traffic lights alterbately and has the function of countdown, thus it can be command vehicles and people on the road.Keywords: EDA; FPGA; traffic controller一、 引言城市交通是城市活动的重要组成部分,犹如人体的动脉,维系着整个城市的正常运转。随着人口的增多、科技的进步和城市规模的扩大,交通方式由原来简单的车马舟船,演变为现在的火车、汽车、地铁、飞机等各种综合型的运输方式。交通作为现代城市的重要体现和标志,见证着每

8、一个城市的历史与文明、发展与兴衰。随着城市经济的飞速发展以及城市化进程的加快,大量的人口涌入城市,造成市区人口极其稠密,交通流动人数众多。社会经济发展、城市化和机动化进程的加快,使许多中心城市的交通在飞速发展的同时也对交通设施的建设提出了更高的要求2。以前普通的交通灯控制器只能根据事先给定的时间进行通道的通禁控制,但由于如今车辆的迅速增多,给城市交通增加了严重的负担,而交通灯在其中正扮演着越来越重要的角色。因此,要求寻找一种可以随时针对通道上车辆的密集度来控制和调节此通道的通禁时间,以期达到自动控制的目的,从而减少不合理的堵车现象的发生。下面的设计中我们融入了这种思想,并将针对VHDL语言描述

9、作具体介绍。VHDL语言是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构描述、数据流描述以及行为描述三种描述形式的混合描述,可完成自顶向下的电路设计过程3。二、 交通控制器用到的理论知识在现代电子设计领域,随着微电子技术的迅猛发展,无论是电路设计、系统设计还是芯片设计,其设计的复杂程度都在不断地增加,而且电子产品更新换代的步伐也越来越快。此时,仅仅依靠传统的手工设计方法已经不再能够满足需求,而电子设计自动化技术的发展给电子系统设计带来了革命性的变化,大部分设计工作都可以在计算机上借助EDA工具来完成8。(一)EDA技术EDA(Electronic Des

10、ign Automation)即电子设计自动化,它是近几年来迅速发展起来的将计算机软件、硬件、微电子技术交叉运用的现代电子学科。EDA技术就是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以ASIC(Application Specific Integrated Circuits)为实现载体的电子产品自动化设计过程。在EDA软件平台上,根据原理图或硬件描述语言HDL完成的设计文件,自动完成逻辑编译,化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下,应

11、用相应的CPLD/FPGA(Complex Programmable Logic Devices/Field Programmable Gate Array )器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。1、EDA技术的发展从20世纪60年代中期开始,人们不断开发出各种计算机辅助设计工具来帮助设计人员进行集成电路和电子系统的设计,集成电路技术的不断发展对EDA技术提出了新的要求,并促进了EDA技术的发展。近30年来,EDA技术大致经历了三个发展阶段。20世纪70年代,在集成电路制作方面MOS工艺已得到广泛的应用。这一阶段,人们开始利用

12、计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代。八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设 计和结构设计,并且通过电气连接网络表将两者结合在一起,以实现工程设计,这就是计算机辅助 工程的概念。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分 析。进入20世纪90年代,随着硬件描述语言的标准化得到进一步的确立,计算机辅助工程、辅助分析、和辅助设计在电子技术领域获得更加广泛的应用,与此同时电子技术在通信、计算机及家电产品生产中的市场需求和技术需要,

13、极大地推动了全新的电子设计自动化技术的应用和发展。更为重要的是,各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,都有效地将EDA技术推向成熟3。2、EDA技术概述随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也依赖于EDA技术的应用。即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,EDA技术将迅速成为电子设计领域中的极

14、其重要的组成部分11。传统的电子设计技术通常是自底向上的,即首先确定构成系统的最底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。这样的设计方法不仅效率低、成本高,而且还容易出错。EDA技术采用的是“自顶向下”的全新设计方法,使开发者从一开始就要考虑到产品生产周期的诸多方面,包括质量成本、开发周期等因素。第一步从系统方案设计入手,在顶层进行系统功能划分和结构设计;第二步用VHDL、VerilogHDL等硬件描述语言对高层次的系统行为进行描述;第三步通过编译器形成标准的VHDL文件,并在系统级验证系统功能的设计准确性;第四

15、步用逻辑综合优化工具生成具体的门级电路的网表,这是将高层次描述转化为硬件电路的关键;第五步利用产品的网表进行适配前的时序仿真;最后是系统的物理体现,它可以是复杂可编程逻辑器件(CPLD)、FPGA或ASIC。采用自顶向下的设计方法有如下优点5:1. 自顶向下设计方法是一种模块化设计方法。 2. 由于高层设计同器件无关,可以完全独立于目标器件的结构,因此在设计的最初阶段,设计人员可以不受芯片结构的约束,集中精力对产品进行最适应市场需求的设计,从而避免了传统设计方法中的再设计风险,缩短了产品的上市周期。3. 由于系统采用硬件描述语言进行设计,可以完全独立于目标器件的结构,因此设计易于在各种集成电路

16、工艺或可编程器件之间移植。 4. 适合多个设计者同时进行设计。 (二)VHDL语言VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修

17、订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务3。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电

18、路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点10。VHDL系统优势(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟

19、。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计4。(三) QUARTUS IIQuartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera H

20、ardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。利用Quartus设计数字系统之前,应该先建立一个文件夹,此文件夹可作为Quartus默认的工作库。Quartus中任何一项设计是一项工程,在工程设计过程中,会产生许多仅扩展名不同的同名文件,放在同一个文件夹下,便于统一管理。一般来说,不同的设计项目最好放在不同的文件夹中。在本例中,建立文件夹D:Designs作为工作库,以便将设计过程中的相关文件存储于此3。1 编辑文件(1)启动Quartus6.0双击桌面上的Quartus6.0图标或单

21、击开始按扭,在程序菜单中选择Quartus ,可以启动Quartus。(2)编辑文件单击标题栏中的FileNew对话框,在New窗口中的Device Design Files中选择编译文件的语言类型。这里选择VHDL Files,选好后单击【OK】按钮,打开VHDL文本编辑器窗口,并在其中输入程序,这是一个与门的VHDL程序。输入完成之后,单击FileSave As命令,找到已建立的文件夹d:Designs,存盘文件名应该与VHDL程序的实体名一致,即not_and.vhd。当出现问句Do you want to create时,可选“否”。2 创建工程(1)打开建立新工程向导单击FileNe

22、w Project Wizard命令,即弹出“工程设置”对话框。单击该对话框最上一栏右侧的【】按钮在下拉框中选定D: Designs文件夹后,单击【打开】按钮。中间的输入框要求输入该工程的名称,一般可以用顶层文件的名称作为工程名称,本例的顶层文件名是not_and。最下面的输入框要求输入顶层设计文件实体的名称,本例顶层文件的实体名称是not_and。(2)将设计文件加入工程中(3)选择仿真器和综合器类型(4)选择目标芯片(5)工具设置(6)结束设置3编译在编译前,设计者可以通过各种不同的设置方法,指导编译器使用各种不同的综合和适配技术(如时序驱动技术等),以便提高设计项目的工作速度,优化器件的

23、资源利用率。而且在编译过程中及编译完成后,可以从编译报告窗获得所有相关的详细编译结果,以利于设计者及时调整设计方案。(1)编译单击标题栏中的ProcessingStart Compilation选项,启动全程编译。编译包括对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件与编程配置文件)生成,以及基于目标器件的工程时序分析等。如果工程文件中有错误,在下方的信息栏中会显示出来。可双击此条提示信息,在闪动的光标处(或附近)仔细查找,改正后存盘,再次进行编译,直到没有错误为止。编译成功的标志是所有进程都完成。 (2)阅读编译报告编译成功后可以看到编译报告。左

24、边栏目是编译处理信息目录,右边是编译报告。这些信息也可以在Processing菜单下的Compilation Report处见到。4仿真对工程编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。(1)打开波形编辑器单击FileNew选项,打开文件选择窗口。然后单击Other Files选项卡,选择其中的Vector Waveform File选项。(2)设置仿真时间区域为了使仿真时间设置在一个合理的时间区域上,单击EditEnd Time选项,在弹出窗口中的Time输入框键入50,单位选“us”,即整个仿真域的时间设定为50微秒,单击OK按钮,结束设置。 (3)输

25、入信号节点单击ViewUtility WindowsNode Finder选项,会打开一个对话框。在该对话框的Filter空白栏中选Pins:all,然后点击【list】按钮。在下方的Nodes Found窗口中会出现了设计工程的所有端口管脚名。用鼠标将输入端口节点A、B和输出信号节点C逐个拖到波形编辑窗口。 (4)编辑输入波形波形编辑器的按钮操作方法与MAX+plus相同。利用这些按钮,分别给输入管脚编辑波形。(5)启动仿真及阅读仿真报告单击标题栏中的ProcessingStart Simulation选项,即可启动仿真器。(四)硬件FPGAFPGA(FieldProgrammable Ga

26、te Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点11。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: (1)采用FPGA设计ASIC电路,用户不需要投片生产,就能

27、得到合用的芯片。 (2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 (3)FPGA内部有丰富的触发器和IO引脚。 (4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

28、掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程6。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB

29、并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战12。三、交通控制器的设计(一)系统设计要求 R1 Y1 G1R2 Y2 G2甲道乙道 图3-1 十字路口交通灯该交通管理器十字路口甲、乙两条道路(如图3-1)的红、黄、绿三色灯,指挥车辆和行人安全通行,交通管理示意图如图3-2所示,图中,R1、Y1、G1是甲道红、黄、绿灯;R2、Y2、G2是乙道红、黄、绿灯。交通管理器(控制器)R2Y2

30、G2G1Y1甲道乙道R1乙道通行t1定时器()公共停车t2定时器()甲道通行t3定时器()时钟CLKC3W2W3 C1W1 C2 图3-2 十字路口交通管理示意图(二) 系统设计方案该交通管理器由控制器和受其控制的3个定时器以及6个交通管理灯组成。图中3个定时器分别确定甲道和乙道通行时间t3、t1以及公共的停车(黄灯亮)时间t2。这3个定时器采用以秒信号为时钟的计数器来实现,C1、C2和C3分别是这些定时器的工作使能信号,即当C1、C2或C3为1时,相应的定时器开始计数,W1、W2和W3为定时计数器的指示信号,计数器在计数过程中,相应的指示信号为0,计数结束时为1。1、交通控制模块(1)S0状

31、态表示乙道绿灯亮,甲道红灯亮,30秒定时器开始计时,且通车时间不超过30秒;(2)S1状态表示乙道通车时间已达到30秒,此时,乙道黄灯亮,甲道红灯亮,5秒定时器开始计时;(3)S2状态表示乙道黄灯时间已超过5秒,此时,乙道红灯亮,甲道绿灯亮,30秒定时器开始计时;(4)S3状态表示甲道通车时间已超过30秒,此时,乙道红灯亮,甲道绿灯亮,5秒定时器开始计时;以后当甲道黄灯亮计时超过5秒时,接S0状态。(5)甲、乙两道红、黄、绿三个灯分别用R1、Y1、G1和R2、Y2、G2表示。灯亮用“1”表示,灯不亮用:“0”表示。则两个方向信号灯的4种状态,如下表所示。 信号灯输出状态表输出状态R1Y1G1R

32、2Y2G2S0100001S1100010S2001100S3010100十字路口交通管理器是一个控制类型的数字系统,其数据处理单元较简单。在此直接按照功能要求,即常规的十字路口交通管理器规则,给出交通管理器工作流程如图3-3所示。Q2Q100S0甲道禁止 乙道通行W1=1?甲道禁止 乙道停车R1=1C1=1C2=1W2=1?N甲道通行 乙道禁止甲道停车 乙道禁止W2=1?W3=1?S1Y01R1=1C2=1Y2=1NNYS211G1=1C3=1R2=110YS3Y1=1C2=1R2=1NY 图3-3 交通管理器工作流程图2、定时单元模块本设计中的定时单元模块有三个,分别为count30s,

33、count26s, Count5s,它们定时时间不同。在定时单元count30s, count26s, Count5s的设计中,为设计要求需进行减计数,本设计中使用的是加法计数。(三)主要VHDL源程序及分析本设计采用层次描述方式,也采用原理图输入和文本输入混合方式建立描述文件。图3-4是交通管理器顶层图形输入文件,它用原理图形式表明系统的组成,即系统由控制器和3个定时计数器组成;3个定时计数器的模分别为26、5、30。 图3-4 交通管理器顶层图形文件1、控制器逻辑描述此交通灯控制源程序,利用状态机实现对甲道,乙道指示灯的控制和有关电路的使能控制。程序中clk为脉冲信号的输入端,SM,SB分

34、别为主干道,支干道有车无车的表示信号输入端,1表示有车,0表示无车。R1,Y1,G1分别为甲道红灯,黄灯,绿灯亮暗控制信号的输出端,R2,Y2,G2分别为乙道红灯,黄灯,绿灯控制信号的输出端,其中值为1时控制灯亮,值为0时控制灯灭。程序的状态转换如图3-3所示。 IF reset=1 THEN stateIF w1=1 THEN 条件信号赋值语句 stateIF w2=1 THEN stateIF w3=1 THEN stateIF w2=1 THEN state=s0;END IF; END CASE;控制器处于S0状态时,为了实现甲道处于通行状态,而乙道禁止通行的功能,由现时间W1决定次状

35、态而进行相应的跳转。S0状态,乙道绿灯亮,甲道红灯亮,若W1等于1,表示S0状态执行完毕,则转入S1状态;若W1不等于1,表示S0状态正在执行,则继续执行S0状态。当W1=1,即乙道停车,甲道禁止,则执行S1状态,否则继续执行S0状态,直到W1等于1。控制器处于S1状态时,为了实现甲道处于通行状态,而乙道禁止通行的功能,由现时间W2决定次状态而进行相应的跳转。S1状态,甲道红灯亮,乙道黄灯亮,若W2等于1,表示S1状态执行完毕,则转入S2状态;若W2不等于1,表示S1状态正在执行,则继续执行S1状态。当W2=1,即乙道禁止,甲道通行,则执行S2状态,否则继续执行S1状态,直到W2等于1。控制器

36、处于S2状态时,为了实现甲道处于停车状态,而乙道禁止通行的功能,由现时间W3决定次状态而进行相应的跳转。S2状态,甲道绿灯亮,乙道红灯亮,若W3等于1,表示S2状态执行完毕,则转入S3状态;若W3不等于1,表示S2状态正在执行,则继续执行S2状态。当W3=1,即乙道禁止,甲道停车,则执行S3状态,否则继续执行S2状态,直到W3等于1。控制器处于S3状态时,由现时间W2决定次状态而进行相应的跳转。S3状态,甲道黄灯亮,乙道红灯亮,若W2等于1,表示S3状态执行完毕,则转入S0状态;若W3不等于1,表示S3状态正在执行,则继续执行S3状态。当W2=1,即甲道禁止,乙道通行,则执行S0状态,否则继续

37、执行S3状态,直到W3等于1。 c1=1 WHEN state=s0 ELSE 0; c2=1 WHEN state=s1 OR state=s3 ELSE 0; c3=1 WHEN state=s2 ELSE 0; r1=1 WHEN state=s1 OR state=s0 ELSE 0; y1=1 WHEN state=s3 ELSE 0;g1=1 WHEN state=s2 ELSE 0; r2=1 WHEN state=s2 OR state=s3 ELSE 0; y2=1 WHEN state=s1 ELSE 0;g2=1 WHEN state=s0 ELSE 0;END beha

38、ve;当控制器处于s0状态时,c1=1,g2=1,r1=1,即控制乙道的计数器开始计数,乙道绿灯亮,甲道红灯亮,否则c1、g2、r1清零;当控制器处于s1状态时,c2=1,y2=1,r1=1,即控制公共停车的计数器开始计数,乙道黄灯亮,甲道红灯亮,否则c2、y2、r1清零;当控制器处于s2状态时,c3=1,g1=1,r2=1,即控制甲道的计数器开始计数,甲道绿灯亮,乙道红灯亮,否则c3、g1、r2清零。230 s定时单元的VHDL源程序30 s定时单元的VHDL源程序,使用加法计数,实现信号值自加。程序中clk为脉冲信号的输入端,enable为甲乙道定时器使能信号输入端,1为开始计数,0表示不

39、计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 30 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cnt30 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=30 THEN c=1; ELSE c=0; END IF; END PROCESS;3、5 s定时单元的VHDL源程序5 s定时单元的设计原理与30s定时单元的设计原理相同,使用加法计数,实现信号值自加。程序中clk为脉冲信号输入端。enable为甲乙

40、道定时器使能信号输入端,1为开始计数,0表示不计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 5 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cnt5 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=5 THEN c=1; ELSE c=0; END IF; END PROCESS;4、26 s定时单元的VHDL源程序26 s定时单元的设计原理与30s定时单元的设计原理相同,使用加法计数,实现信号值自加,程序中clk为脉冲信号输入端。enable为甲乙道定时器使能信号输入端,1为开始计数,0表示不计数。BEGIN PROCESS(clk) VARIABLE cnt: INTEGER RANGE 26 DOWNTO 0; BEGIN IF ( clkEVENT AND clk=1)THEN IF enable=1 AND cn

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号