




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北林业大学毕业论文 毕 业 论 文 论文题目: 基于VHDL的交通信号控制器的设计 学生姓名: 指导教师: 所学专业: 电子信息工程 2010年6月基于VHDL的交通控制器的设计Chengdong College of NortheastAgricultural University Thesis Thesis topic:Based on the VHDL design of traffic signal controller Student name: xiang lina Tutor name: liu yao Specialty: Electronic confidence project June 2010 基于VHDL的交通控制器设计基于VHDL的交通信号控制器的设计摘 要传统的交通灯控制系统多数由单片机或PLC实现,本文介绍的是基于EDA技术设计交通灯系统的一种方案。EDA技术的一个重要特征就是使用硬件描述语言(HDL)来完成系统的设计文件,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的指示,应用VHDL的数字电路实验降低了数字系统的设计难度,这在电子设计领域已得到设计者的广泛采用。本设计就是针对交通信号灯控制器的设计问题,提出了基于VHDL语言的交通信号灯系统的硬件实现方法。通过对系统进行结构分析,采用了层次化的设计方法,分别给出了分频模块、倒计时控制模块、动态控制模块的VHDL程序,并且利用Max Plus对应用程序进行了仿真,并给出了相应的仿真结果。在用VHDL语言进行电路设计时,应充分认识到VHDL语言的特点,从设计思想、语句运用及描述方法上等多方面对电路进行优化设计。通过电路优化设计,可以使用规模更小的可编程逻辑芯片,从而降低系统成本。关键词:EAD技术;VHDL语言;Max Plus;仿真Based on VHDL design of traffic signal controllerAbstractTraffic light controller system is usually developed by microprocessor or PLC.This paper introduces the design of traffic light system base on EDA,one important characteristic of the EDA is that the design documents should be completed by the HDL, the digital circuit experiment utilized very-high-speed integrated circuit hardware description language(VHDL) may reduce the difficulties of digital system designing,and it is widely used by electronic designer now.Aiming at the design problem of traffic light controller,this paper puts forward a hardware realization method of traffic light system with VHDL.By analyzing the architecture of system,it gives the program of each module with VHDL using hierarchical design means.It also gives the simulation results by Max Plus. Be completely realized VHDL Languages feature when designed circuit by VHDL,Improving circuit design from the idea of design,the usage of statements and the method of describe.Key Words: EDA ;VHDL language; Max Plus; simulation目 录摘 要IAbstractII前 言1 EAD和FPGA技术概要1.1 EDA技术的介绍1.2 EAD与传统设计方法的比较1.3 FPGA技术的介绍1.4 FPGA的特点2 硬件描述语言VHDL2.1不同层次设计需求2.2 VHDL语言的特点2.3 VHDL设计及综合过程2.4 MAX+plus简介2.4.1 MAX+plus软件的特点2.4.2 MAX+plus软件设计步骤2.4.3管理器窗口3 交通信号控制器3.1 设计任务3.2 交通灯信号灯控制器的整体框架及工作原理3.3 交通信号控制器电路的实现及工作原理4 各模块的VHDL程序设计与仿真4.1 分频模块4.1.1 100分频模块4.1.2 50分频模块4.2 功能控制电路4.2.1 消抖同步模块4.2.2 状态控制模块4.2.3 A、B两方向倒计时控制模块contrla和contralb4.3 动态显示控制电路4.3.1 片选信号产生模块4.3.2 数据选择模块4.3.3 七段显示译码模块5 结论参 考 文 献致 谢 前 言随着世界经济与技术的发展,交通运输已经成为经济生活的重要方面,并对保证社会经济体系的正常运转发挥着越来越大的作用。然而,由于我国经济的快速发展以及机动车持有量的激增和其它运输工具的快速增长,使现有基础设施所能提供的交通供给能力与我国现实和潜在的巨大交通需求相比仍然严重短缺,交通拥挤仍然很严重,运输效率较低,城市交通堵塞和大气污染加剧,严重影响了我国城市经济的发展和人民的生活。分析其原因主要是由于现有交叉口的几何条件所限,以及缺少完善的交通管理设施。道路上交通标志不规范,路口渠化不合理等问题加剧了交通拥挤的矛盾,而作为城市交通命脉的主干道的交通阻塞会使整个城市交通陷入瘫痪。解决城市交通拥挤状况,完善路网来缓解交通拥挤不是短时间所能解决的,目前急需做的是进一步挖掘路网的潜力并改善交通现状,特别是改善交通信号控制。可见,研制一种高效的智能交通控制系统是很有必要的,因此,城市交通的智能控制目前已成为国内外交通工程界研究的热点领域之一。而各交叉口是是城市道路网的咽喉要道,是人流和车辆汇集的地方,最容易发生交通阻塞现象,因此交叉口信号的智能控制显得更为迫切。最大程度提高交叉口的通行能力,为经济的发展和人民生活提供一个安全、畅通、高效、低公害低能耗的交通环境已成为必然。 实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程控制器PLC、单片机等方式来实现。但是这些控制方法的功能修改及调试都需要硬件电路知识,在一定程度上增加了功能修改及系统调试的困难。交通系统未来的发展趋势就是要提高通行能力,加强换进保护,开展智能化运输和环保转向技术的研究,并需要做到以人为本,重点开张交通安全技术的研究,在这个过程中要确定经济合理的目标,促进新材料的广泛应用和开发。EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的指示,既缩短了研发周期,又大大节约了成本,收到了电子工程师的青睐。因此,本设计中采用了EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现交通系统控制器的设计,利用MAX+PLUS集成开发环境进行综合、仿真、完成系统的控制作用。1 EAD和FPGA技术概要1.1 EDA技术的介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。1.2 EAD与传统设计方法的比较与传统的电子设计放大相比,EAD技术对于复杂电路的设计和调试都比较简单,如果莫一过程存在错误,查找和修改起来比较方便,而且EAD技术的可移植性很强。1.3 FPGA技术的介绍 代可编程逻辑器件主要指CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)和FPGA (Field Programmable Gate Array,现场可编程门阵列)两种大容量的可编程逻辑器件,采用深亚微米工艺,能应用在不同的高科技研发领域,如数字电路设计、微处理器系统、DSP、电信、可重构计算机及ASIC设计。由于以EEPROM, SRAM或FLASH为基础,用户可以通过计算机对芯片进行在线系统编程(ISP)或在线重配置(ICR),因而大大降低了成本,缩短了开发时间。FPGA则是基于SRAM LUT(查找表)细粒度结构的可编程门阵列,采用SRAM编程技术;早期的FPGA内部连线是分段式的,信号延迟不固定,无法预测延迟时间,现在的FPGA新产品采用层次式互连,也提供大量长线,可以预测延时,而且编程灵活性大大强于CPLD,但单元之间的连线比较复杂,影响了芯片的有效工作速度。FPGA一般用于逻辑仿真,另一个应用就是可以直接制成ASIC,因而是科学实验、样机研制、小批量产品生产的最佳选择器件。可编程器件的另一个重要的发展趋势是片上系统SOC,它集成了一个或多个主要功能块(CPU核心、数字信号处理器核心和其他的专门处理功能)、存储块(如SRAM, ROM, EPROM、闪存活动态RAM)以及通用或专用I/O功能块(编码解码器、模数/数模转换器、大电流驱动器等)。片上系统的出现,对大幅度降低功耗、提高抗干扰性、增加技术保密性以及减少电路板面积提供了良好的解决方案。在线系统可编程(ISP)技术又使得设计者可以将未编程的器件预装在系统电路板上,确定引脚后通过编程电缆接到计算机上,可以随时通过软件对器件编程,从而达到改变硬件结构的目的。目前FPGA可供选择的范围很大,著名的器件厂商有ALTERA,XILINX, LATTICE等公司,可根据不同的应用选用不同容量或性能的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅度下降,FPGA在系统中的直接应用率正直逼ASIC的开发。1.4 FPGA的特点FPGA继承了ASIC的大规模、高集成度、高可靠性的优点,又克服了普通ASIC设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想首选。当代FPGA具有以下特点:(1)规模越来越大,单片逻辑门数已逾百万,更适合于实现片上系统(SOC)。(2)开发投资小,芯片在出厂前都做过百分之百的测试,而且设计灵活,发现错误可直接更改设计,降低了潜在的花费。(3)可以反复的编程、擦除。在不改变外围电路的情况下,设计不同的内部逻辑即可实现不同的电路功能。(4)开发工具智能化,功能强大。应用各种工具可以完成从输入、综合、实现到配置芯片等一系列功能。2 硬件描述语言VHDL随着电子工业的蓬勃发展,为了赢得商业上的竞争,产品生产商迫切需要追求产品的高功能、优品质、低成本、微功耗和微笑封装尺寸。高密度逻辑器件和VHDL硬件描述语言成为解决这些问题的关键所在。本设计过程中就选择了VHDL作为编程语言。2.1不同层次设计需求对于采用CPLD、FPGA或ASIC的大型系统,传统设计方式是行不通的,生成逻辑方程的方式既费时又容易出错,且在方程中查找错误也很困难。而图形输入方式有许多优点,例如:可以提供设计的图形观察,具有支持图形阶层结构的软件工具,使设计构成模块化形式。但是,对大型复杂的设计,纯图形输入也是有其弊端的。一个较优选的设计方式应该能够提高设计的工作效率。较详细的来概括,它应该能促进设计输入、设计理解、设计维护的便利和快捷,且应该是开放的、非专用的、工业界能够接受的标准。它应该允许设计在不同的EDA工具环境之间移植,其模块可以封装成独立单元,重复使用。它应该支持阶层结构的复杂设计和从门级到系统级的设计,而且可以用于逻辑电路的描述、综合,并可以支持多层次的设计描述。在对器件和系统的模拟、综合方面,VHDL是一个较好的选择。VHDL是70年代到80年代中期,由美国国防部资助的项目产品,其目标只是一个使电路文本化的一种标准,为了使人们采用文本方式描述的设计能够被他人所理解。同时,也被用来作为模型语言,用于采用软件进行模拟。VHDL非常适用于可编程逻辑器件的应用设计, VHDL能够支持高级语言结构,使设计者很方便地描述大型电路,促进产品的研制开发。它能够支持设计单元库的创建,用以存储在附属子设计中重复使用的元件。因为VHDL是一种标准语言,在综合和模拟工具之间,VHDL代码具有可移植能力,即同一设计可用不同的器件来实现。同样,采用VHDL实现一个设计从可编程器件向ASIC的转变也是便利的。今天,VHDL已成为一个数字电路和系统的描述、建模、综合的工业标准。在电子产品界,无论是ASIC设计人员还是系统级设计人员,都利用VHDL来提高他们的工作效率。由于VHDL所具有的通用性,它已成为可支持不同层次设计需求的标准语言。2.2 VHDL语言的特点1、设计技术齐全、方法灵活、支持广泛VHDL语言可以支持自顶向下和基于库的设计方法,而且还支持同步电路、异步电路、FPGA以及其他随机电路的设计。其范围之广是其他HDL语言所不能比拟的。另外,目前大多数EDA工具几乎都在不同程度上支持VHDL语言。2、系统硬件描述能力强如前所述,VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路。另外,高层次的行为描述可以与低层次的RTL描述和结构描述混和使用。VHDL能进行系统级的描述,这是它最突出的一个优点。3、VHDL语言可以与工艺无关编程在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。在工艺更新时,无须修改原设计程序,只要改变相应的映射工具就行了。4、VHDL语言标准、规范,易于共享和应用由于VHDL语言己作为一种IEEE的工业标准,因此,设计成果便于复用和交流。另外,VHDL语言的语法比较严格,给阅读和使用都带来了极大的方便。2.3 VHDL设计及综合过程通常设计过程可划分为下述的六个步骤:(1)明确设计要求:在进行编写代码工作之前,首先明确认识设计目的和要求,对所需的信号建立时间、时钟输出时间、最大系统工作频率、关键路径等这些要求进行定义,然后再选择适当的设计方式和相应的器件结构,进行设计。 (2)用VHDL语言进行设计描述:有了设计要求的定义之后,开始编写设计代码。首先应决定设计方式,通常设计方式有三种:自顶向下设计、自底向上设计、平坦式设计。前两种方式包括设计阶层的生成,而最后一种是将描述的电路当作单模块来进行的。决定了设计方式以后,根据具体的语法和语义结构,参照已经设定的功能块、数据流状态图等,进行设计代码的编写。(3)源代码模拟:对于大型设计,采用语言模拟器进行设计的源代码模拟可以节省时间。采用源代码模拟,可以在设计的早期阶段检测到设计中的错误,从而进行修正,以便尽可能地减少对设计日程计划的影响。而对于小型设计,则往往不需要先进行源代码模拟,即使做了,意义并不大。因为对于大型设计,其综合、布局、布线往往要花费好几个小时,在综合之前进行源代码模拟,就可以大大减少设计重复和修正错误的次数和时间。(4)设计综合、优化和布局布线(装配):综合是把设计描述转化到网表或方程生成的过程。优化处理依赖于三个因素:布尔表达式、有效资源类型以及自动的或用户定义的综合指引。布局布线是指将通过综合和优化进程所得到的逻辑,安放到一个逻辑器件之中的过程。布局布线工具采用一定的算法指引用户约束和性能估价来选择最佳的布局方式,以逐步实现符合性能要求的优化的布局结果。布局布线工作的好坏对于FPGA设计的性能有着很大的影响,一个优化的布局布线可将电路的关键部分紧密地配置在一起,以消除布线延时。(5)布局布线后的设计模块模拟:即使在设计综合之前进行了设计模拟,在布局、布线之后,还是需要对设计再进行模拟。布局后的模拟不仅可以再一次检测设计的功能,而且还能检查时序的功能,诸如信号建立时间、时钟到输出、寄存器到寄存器的时延。如果实验模拟结果不能满足设计的要求,则需要重新综合并将设计重新装配于新的器件中,其间不乏反复尝试各种综合过程和装配过程,或选择不同速度的器件。同时,也可以重新观察和分析VHDL源代码,以确认描述是正确有效的。只有这样,取得的综合和装配效果才会符合设计要求。(6)器件编程:在成功的完成设计描述、综合、优化、装配和设计模拟之后,则可以对器件进行编程和继续进行系统设计的其它工作。综合、优化和装配软件将生成一个器件编程所用的数据文件。 2.4 MAX+plus简介MAX+plus全称为Multiple Array Matrix and Programmable Logic User Systems,是美国Altera公司提供的FPGA/CPLD开发集成环境。界面友好,使用便捷,被誉为业界最易学易用的EDA设计开发软件。MAX+plus所提供的灵活性和高效性是无可比拟的。其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用。它具有原理图输入和文本输入(采用硬件描述语言)两种输入手段,利用该工具所配备的编辑、编译、仿真、综合、芯片编程等工能,将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中(如FPGA芯片),做成ASIC芯片。它是EDA设计中不可缺少的一种有用工具,目前在国内使用较为普遍。2.4.1 MAX+plus软件的特点1、开放式的界面Altera公司与EDA开发商紧密合作,使MAX+plus可以与其他工业标准的设计输入、综合、校验工具相连接。MAX+plus软件接口允许用户使用Altera或标准EDA设计输入工具来创建逻辑设计,使用MAX+plus的编译器对Altera器件的设计进行编译,使用Altera或其他EDA校验工具进行器件级或板级仿真。当前MAX+plus软件提供与多种第三方EDA工具的接口。2、与结构无关MAX+plus的编译程序是MAX+plus系统的核心,它支持Altera的Classic、MAX500、MAX7000、FLEX8000和FLEX10K可编程逻辑器件,提供工业界中唯一真正与结构无关的可编程逻辑设计环境;还提供强有力的逻辑综合与最小化功能,使用户比较容易将其设计集成到器件中。3、多平台MAX+plus可以在Microsoft Windows、Windows NT、Sun SPAC、 HP9000系列700工作站和DEC Alpha AXP工作站的Windows下运行。4、全集成化MAX+plus的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,可以加快动态调试,缩短开发周期。5、模块组合式工具软件设计者可以从各种设计输入、设计处理和校验选项中进行选择从而使设计环境用户化。6、支持更多描述语言MAX+plus支持各种HDL设计输入,包括:VHDL、Verilog HDL和Altera硬件描述语言AHDL等。2.4.2 MAX+plus软件设计步骤使用MAX+plus软件进行数字逻辑电路设计的过程,如图2-1所示。在设计过程中,如果发现错误,可以方便修改,重新进行编译仿真。通过时序仿真能发现许多在硬件上难以发现的问题,可以极大地提高工作效率。图2-1 MAX+plus软件设计步骤2.4.3管理器窗口运行MAX+plus软件后,进入MAX+plus软件Manager(管理器)窗口,如图2-2所示。MAX+plus软件的所有功能全部集中在管理器界面中,在这里可以打开所有其他MAX+PLUS应用程序。管理器窗口由标题栏、菜单命令栏、快捷命令栏、工作区和状态栏五部分构成。标题栏显示当前项目的名称和路径,菜单命令栏包含了各种操作命令,快捷命令栏包含各种快捷命令按钮,工作区可以进行逻辑电路图和波形图的输入、修改、编辑及其他与项目相关的操作。若用鼠标选择菜单命令或快捷命令按钮,状态栏会出现该功能的简单介绍。 图2-2 MAX+plus的管理器界面图3 交通信号控制器3.1 设计任务作为一个十字路口交通信号灯控制器,每条道路都需要有一组红灯、绿、黄灯和倒计时计数器,用于指挥车辆的有序通行。其中,红灯表示该方向禁止通行;黄灯表示停车,用于绿灯亮后进行缓冲,提示该方向及时禁止通行;绿灯亮表示该方向可以通行。倒计时显示器用来显示允许通行或者禁止通行所剩的时间。通常还可设置一些其他功能,如按车的流量分配通行时间,以及提些特殊状态的处置等。十字路口交通灯控制器,应具有以下功能:东南西北方向上各设置一组红灯绿灯黄灯指示是否通行;同时还设置有以十进制数字显示时间、以倒计时方式显示每一条路允许通过或禁止通行剩余时间的倒计时计数器。红灯绿灯黄灯的持续时间分别为60s、57s和3s,显示顺序为其中一个方向是红灯、黄灯、绿灯、黄灯,另一个方向是绿灯黄灯红灯黄灯。当东西方向或南北方向人一道路上出现特殊情况,例如有消防车、警车执行任务或其他车辆有限放行时,可中断正常运行作态,进入紧急状态。此时两条道路上所有车辆停止通行,各方向均亮红灯,倒计时停止,且显示数字闪烁。当特殊情况结束时,控制其恢复原来的状态继续运行。3.2 交通灯信号灯控制器的整体框架及工作原理依据要求交通灯的框架(如3-1图所示)由分屏电路、倒计时控制电路、功能控制电路和动态扫描电路显示控制电路4个部分和必要的门电路组成。它有3个输入信号,一个时钟脉冲出入端clk1Hz,一个时钟脉冲输入端clk100Hz,一个紧急信号输入端jinji;它有东西A方向的红灯ra、绿灯ga、黄灯ya和南北方向的红灯rb、绿色ga、黄灯ya共6个输出端,7根LED七段显示译码管输出端a、b、c、d、e、f、g和2根位选择线sel1、sel0。图3-1交通灯的整体框架1分频电路功能用于产生倒计时控制电路所需的周期为1s的时钟信号clk100Hz和控制紧急情况时倒计时红灯闪烁频率的时钟信号clk2Hz.2时钟脉冲输入信号功能时钟脉冲输入信号clk1kHz用于产生动态扫描显示电路控制电路的片选信号。3倒计时控制电路按各种交通信号灯(红、绿、黄)的亮灯时间和亮灯顺序,设定东西A与南北B两个方向计数器的初值,随后进行减法计数,计数脉冲信号为秒信号clk1Hz;其输出控制A和B两个方向的红、绿、黄灯的亮灯信号ragaya和rbgbyb,以及对应一个状态的剩余时间timeah、timeal和timebh、timebl。这一部分电路是系统的核心部分,我把倒计时电路分成两部分,控制A方向的A控制电路和控制B方向的B控制电路,具体实现可以通过设置一个状态机记忆正常运行时交通灯的亮灯状态与顺序,依据状态机的状态逐次设定对应的计数器初值,然后技术秒脉冲信号clk1Hz的作用下,进行减法计数,计数至1再减为0时,则进行状态转换,由状态机的状态确定输出的交通信号灯的亮灯状态以及相应于个状态的时间剩余时间。输入信号EN控制倒计时电路是进行正常工作状态还是紧急工作状态。4控制功能是对电路工作状态(正常工作状态/紧急工作状态)的切换进行控制,将按键信号转变为倒计时电路中计时电路和显示控制电路电路的控制信号EN。5显示控制功能是对计时电路的输出信号进行选通控制。在EN信号控制下,当出县特殊情况时,即中断正常运行,进入紧急状态,使红灯全亮,倒计时时钟停止计时,并且利用信号clk2Hz,使显示数字闪烁。紧急运行状体结束后,则恢复中断时的状态,继续正常运行。3.3 交通信号控制器电路的实现及工作原理在正常情况下,时钟脉冲输入端clk100Hz接频率为100Hz的时钟脉冲,紧急信号输入端jinji接地电平(无效),分频器模块FENPIN主要用来产生周期为1s的秒脉冲信号,其频率clk1Hz,以控制倒计时时间按秒计数,同时还产生频率为2Hz的时钟信号clk2Hz,以控制紧急情况时倒计时红灯闪烁频率。功能控制模块XIAODO和状态控制模块NO组成。由于切换正常工作状态和紧急工作状态采用的是启动暂停的按键开关jinji,在按下或松动的过程中,按键抖动将引起电路误动作。消抖模块的作用就是消除按键所产生的抖动。状态控制模块的作用是对电路正常紧急工作状态的切换进行控制。通过它将按键信号“紧急/正常”(jinji)转变为倒计时电路和显示控制电路的控制信号EN,当未按下按键jinji(jinji为低电平)时,使EN=0,电路进入正常工作状态;当按下按键jinji(jinji为高电平)时,使EN=1,电路进入紧急工作状态倒计时控制器由A方向控制器contralA和B方向控制器contralB模块以及控制灯亮的门电路构成。A、B两方向的控制器contralA和contralB分别控制该方向上红、绿、黄信号灯的亮灯时间和顺序,而在门电路的控制下分别分别控制信号灯红灯的亮灯的信号ra、rb,绿灯的亮灯信号ga、gb,黄灯的亮灯信号ya、yb,即在正常情况下显示剩余时间,而在紧急情况下红灯闪烁,绿灯、黄灯不显示。动态显示控制模块由产生片选信号的四进制计数器、16选4数据选择器和七段显示译码器组成,四进制计数器sel用于产生16选4数据选择器MUX41的选择信号,分别从四组数据中选择一组数据进行输出,16选4数据选择器MUX41的作用是原则产生一组BCD码数据送显示译码器显示,同时还产生4路控制4个LED数码管轮流工作实现动态扫描显示的片选信号。在正常情况下jinji信号输入端为低电平以保证电路正常工作,时钟信号clk1KHz作为动态扫面显示控制电路模块MUX41的片选信号,不仅控制倒计时器显示的选择输出,还产生动态扫描显示控制电路的片选信号,所以要求时钟频率足够大。clk100Hz主要用来产生周期为1s的时钟从而控制倒计时时间按秒倒计时。所以要求clk100Hz和FENPIN1分频后得到时钟周期为1s的秒脉冲频率clk1Hz。时钟信号clk1Hz控制模块CONTRALA/CONTRALB的红、绿、黄灯的转换及时间按秒倒计时。控制器模块CONTRALA/CONTRALB的红、绿、黄灯输出直接接到红、绿、黄显示灯,时间输出端通过片选动态扫描显示控制电路模块MUX41,在时钟信号clk1kHz的控制下,循环控制4选1数据选择器进行输出,并产生对应的一组片选信号,用来控制倒计时时间的动态显示。在紧急情况下jinji信号输入端为高电平,通过消抖模块经过模块NO后输入端EN值为1,EN与分频后的clk1Hz经过或非门输出为0,使得控制器模块CONTRALA/CONTRALB停止工作,同时,EN端通过非门与控制黄,绿灯的输出端进行运算,直接与控制红灯的输出端进行或运算。这样在EN=1时,黄灯,绿灯被屏蔽,倒计时停止且时间屏蔽,两方向的红灯都点亮。与此同时,时钟信号clk100Hz经分频模块(50分频)后,与EN进行与非运算,得到结果与数码管进行与运算,以控制数码管的闪烁。当紧急情况结束时,在jinji端在输入一个脉冲信号,使得EN端输出为0,从而取消紧急情况。此时,控制器回到紧急情况到来之前的状体工作。工作原理图如3-2所示:图3-2交通信号控制器的原理图交通信号控制器正常工作时的仿真波形如图3-3所示。有图可以看出,当交通灯正常工作时,东西方向红灯ra约亮57s时,东西方向车辆禁止通行,加上黄灯ya的3s,南北方向绿灯gb约亮为60s,此时南北方向车辆通行,经过黄yb的3s,东西方向绿灯ga亮约57s,东西方向车辆通行,加上黄灯ya的3s,又回到东西方向亮红灯。图3-3交通信号控制器的仿真波形交通信号控制器非正常工作时的仿真波形如图3-4所示。有图可以看出,当出现紧急情况时,按下紧急信号按钮jinji,信号紧急处于高电平时,东西方向和南北方向红灯ra和rb同时亮起,禁止一般车辆通行,让优先级别高的有特殊紧急情况的车辆通行。图3-4交通信号控制器在紧急情况下的波形4 各模块的VHDL程序设计与仿真4.1 分频模块4.1.1 100分频模块分屏器模块fen_pin1(如4-1图示)将频率为100Hz的时钟信号clk100Hz进行100分频后,得到频率为1Hz、占空比为1:100的输出信号clk1Hz,用来为A、B两方向倒计时控制器contralA、contralB提供秒脉冲时钟信号。图4-1 100分频模块分频器模块fen_pin1的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;USE ieee.std_logic_arith.ALL;ENTITY fen_pin1 ISPORT(clk100Hz:IN std_logic; clk1Hz:OUT std_logic); END fen_pin1;ARCHITECTURE bhv OF fen_pin1 ISSIGNAL qan:std_logic_vector(3 DOWNTO 0);SIGNAL qbn:std_logic_vector(3 DOWNTO 0);SIGNAL cin:std_logic;BEGIN PROCESS(clk100Hz) BEGIN IF(clk100Hzevent AND clk100Hz=1)THEN IF qan=1001THEN qan=0000;cin=1; ELSE qan=qan+1;cin=0; END IF; END IF; END PROCESS; PROCESS(clk100Hz,cin) BEGIN IF(clk100Hzevent AND clk100Hz=1)THEN IF cin=1THEN IF qbn=1001THEN qbn=0000; ELSE qbn=qbn+1; END IF; END IF; END IF; END PROCESS; PROCESS(qan,qbn) BEGIN IF(qan=1001AND qbn=1001)THEN clk1Hz=1; ELSE clk1Hz=0; END IF; END PROCESS;END bhv;分频模块fen_pin1所对应的仿真波如图4-2所示。由图可以看出,输入信号clk100Hz每来100个脉冲,输出信号clk1Hz产生一个脉冲,且空占比为1:100图4-2 100分频模块仿真波形4.1.2 50分频模块分频器模块fen_pin2(如4-3图所示)将频率为100Hz的时钟信号clk100Hz进行50次分频后,得到频率为2Hz、占空比为1:1的方波信号clk2Hz,用来控制紧急情况下是红灯闪烁。图4-3 50分频模块图分频器模块fen_pin2的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY fen_pin2 ISPORT(clk100Hz:IN std_logic; clk2Hz:OUT std_logic);END fen_pin2;ARCHITECTURE bhv OF fen_pin2 ISBEGIN PROCESS(clk100Hz) VARIABLE cnt:integer RANGE 0 TO 24
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权赋能新质生产力的作用
- 医患关系发展时间线
- 建设工程安全管理实务讲解
- 工信新质生产力
- 2025年呼吸内科常见呼吸系统疾病诊断试卷答案及解析
- 构建新质生产力的实践路径
- 2025年呼吸内科疾病检测与治疗综合考试答案及解析
- 2025年精神科护理知识测试卷答案及解析
- 2025年骨科骨折固定术后康复方案制定模拟考试卷答案及解析
- 2025年骨科骨折固定操作规范考核模拟测试卷答案及解析
- 时事政治考试题(含答案)
- 生物标本课程讲解
- 专八备考单词讲解
- 《古代诗歌四首》理解性默写与训练-2023学年七年级语文上册知识梳理与能力训练
- 2025年非高危安全管理员和企业负责人习题有(含答案)
- 2025年度乡村医生能力提升培训考试试题及答案
- 2025法拍房屋代理竞买合同范本:专业中介服务
- 医院2025年年度窗口服务优化计划
- 营销部综合事务管理办法
- 机加工车间员工技能培训
- 部编人教版三年级上册道德与法治全册教案
评论
0/150
提交评论