基于verilog hdl交通灯控制系统设计稿_第1页
基于verilog hdl交通灯控制系统设计稿_第2页
基于verilog hdl交通灯控制系统设计稿_第3页
基于verilog hdl交通灯控制系统设计稿_第4页
基于verilog hdl交通灯控制系统设计稿_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、目录摘要IIIAbstractIV第一章绪论11.1交通灯简介11.2基于 Verilog HDL 交通灯控制的优点2CPLD 及 Verilog HDL 介绍4CPLD 介绍4Verilog HDL 介绍6第二章2.12.22.3仿真. 92.4仿真流程.10第三章交通信号控制电路的功能及实现原理 .123.1交通信号控制电路的功能分析.123.2交通信号控制电路实现原理.12第四章交通控制电路的 Verilog HDL 的设计实现.分频模块.154.1154.2控制模块.154.3定时模块.164.4计数模块.174.5计数器控制模块.174.6译码模块.184.7紧急模块.19第五章总结

2、与展望 .205.1开发难点与解决技巧.205.2系统说明与总结.205.3展望.21参考文献.22附录.23致谢37基于 Verilog HDL 交通灯控制系统设计摘要城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。交通灯是城市交通系统的重要组成部分,对于保证机动车辆的安全行驶,维持城市道路的顺畅起到了重要作用。而交通信号控制的目的是为城市道路交叉口( 或交通网络) 提供安全可靠和有效的交通流, 通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。主要介绍以目前应用较为广泛的 Verilog HDL 硬件描述语言,实现通灯系统的控制器的硬件电路描述。这种硬件电

3、路描述在 Altera 公司本对路的 EDAMAX+PLUS环境下通过了编译、仿真、并到 CPLD 器件上进行编程制作,实现了交通灯系统的控制过程。利用 CPLD 的可重复编程和在动态系统重构的特性, 大大地提高了数字系统设计的灵活性和通用性。: Verilog HDL; CPLD;交通灯控制器;仿真Traffic control system based on Verilog HDLAbstractUrban roadersections city road network is the basic nodes, also is thebottleneck of the network tr

4、affic flow. The traffic light is urban traffic supervisystem important constituent, to guarantee the safety of motor vehicle driving,maain the urban road smooth played an important role. And traffic signalcontrol is designed for urban roadersections (or traffic network) provide safeand reliable and

5、effective traffic flow, usually the principle is most commonlyused vehicles in crossing through the largest amount or vehicles atdelay the smallest.ersectionThis pr mainlyroduthe application at present are more widelyVerilog HDL hardware description language, realize theersection traffic lightsystem

6、 controller hardware circuit is described. The hardware circuit described in the EDA software platform Altera company environment MAX + PLUS passedcompiled, simulation, and download to CPLD device on production, realizing theprogramming the control pros of traffic light syst em. Use CPLD repeatedpro

7、gramming and the characteristics of the dynamic system reconstruction, isgrey raised digital system design flexibility and versatility. This design to thetraditional traffic lights were improved, instead of the pure wirrow indicator lights red olivine, increased the green countdown and left turn to

8、turn indicatorand other new function, make provide rationalization.Keywords: Verilog HDL, CPLD, Traffic Light Controller, Simulation第一章绪论1.1交通灯简介交通灯的雏形诞生于 19 世纪的英国,它最初只有红绿两种灯,由手动切换红绿颜色。而黄色信号灯的发明者是我国的,他怀着“ 科学救国” 的抱负到深造,在大发明家为董事长的通用电器公司任职员。一天,他站在繁华的路口等待绿灯信号,当他看到红灯而正要过去时, 一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他

9、反复琢磨, 终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号,遍及全世界陆、海、空交通领域了。随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于 1918 年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。并且规定:绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时, 车辆通行。从最早牵皮带到 20 世纪 50 年代的电气控制,从采用计算机控制到现代化的电子定时,交通信号灯在科学化、自动化上不断地更

10、新、发展和完善。现在大多数的交通灯都由单片机控制,由红黄绿三色灯组成,通过设置好南北向和东西向各色灯的亮灭顺序和维持的时间来指挥交通。交通对国民经济的发展具有重要的作用,然而,大多数城市交通常常出现交通堵塞现象,车辆行驶中不仅车速受到限制,并且非机动车辆和行人的干扰, 有时甚至频繁遇到多个红灯信号,难以实现高效、快捷地运行。因此,协调性控制交通枢纽的信号,对提高城市道路的通行能力十分有效1。城市交通灯控制系统是用于城市交通数据监测、交通信号灯与交通疏导的指挥系统中最重要的组成部分2。交通灯计算机综合系统,它是现代城市的出现极大的改善了城市交通,保障了人民的交通安全。但是,随着现在科技取得不断的

11、进步,人民生活质量不断提高,大量的车流量注入城市的交通,仅仅靠传统的单片机交通控制灯已经不太适应了。并且传统的交通灯也存在一些缺点和不足。比如,单片机控制的交通灯不够稳定,经过长期运行容易出现故障,其次它升级扩展时必须全部更换,这样一来很大的造成了运用上的不便和资源上的浪费。传统的交通灯一般只能实现定时的控制,而现在市区用的相对比较智能化的交通灯也只能根据前一天的车流量,来调节第二天红绿灯的定时时间,无法做到实时变化。而智能交通灯系统是通过一条通信总线把控制各车道继电器控制器和车辆探测器输入多功能模块连接起来,通过中心的管理计算机实现集中管理。管理计算机可对现场控制设备任意配置, 任意开启某一

12、车道。般采用 EDA 技术实现。EDA 技术自动化、智能现在的智能交通灯系化程度高, 功能比较完善, 界面非常友好, 并且技术相当实用, 在信号灯的研发过, 需要用到 EDA 技术中的Verilog HDL 硬件描述语言来编写信号灯的控制仿真程序。而 Verilog HDL 是其中目前应用最广泛的一种3。是全方位的硬件描述语言, 几乎覆盖了以往各种硬件描述语言的功能, 整个自顶向下或自底向上的电路设计过程都可以用 Verilog HDL 硬件描述语言来完成。因此将EDA 技术运用到信号控制交叉口的设计中。随着 EDA 技术的发展,在今后的开发中, EDA 具有更好的开发电子产品和性价比, 拥有

13、广泛的市场前景4 。交通灯控制器设计是数字电路中的经典问题, 传统的设计方法是基于中. 小规模集成电路进行的, 采用的电路元件多, 接线复杂, 故障率高, 可靠性低, 修改电路的功能需要硬件电路的支持。可编程逻辑器件 PLD 的出现,使得在实验速硬件描述语言 Verilong HDL 可以对数字室就可以制作集成电路。系统进行抽象的行为与功能描述 ,在电子设计的各个阶段、各个层次可以用计算机进行, 编程简单, 程序修改容易, 不需要硬件电路的支持, 给设计者带来了很大的方便。因此,随着城市交通的快速发展,传统上的交通灯已经很少使用了,大多数的交通灯都开始使用新的技术来代替传统的交通灯了。1.2基

14、于 Verilog HDL 交通灯控制的优点Verilog HDL 是工业和学术界的硬件设计者所使用的两种主要的 HDL 之一,另一种是 VHDL。现在他们都已成为 IEEE 标准。两者各有特点,但 VerilogHDL 拥有更悠久的历史、更广泛的设计群体,资源也远比 VHDL 丰富,且非常容易学习掌握。Verilog HDL 语言具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点,被近 90%的半导体公司使用,成为一种强大的设计工具5。基于Verilog HDL 交通灯改善了传统交通灯不够稳定和不利于升级的缺点。本文提出了以 Verilog HDL 语言为,设计了交通灯控制系统。其代

15、码具有良好的可读性和易理解通灯控制系统主要是实现城市交叉路口红绿灯的控制。在现代化的大城市中, 交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。Verilog HDL 是一种全方位的硬件描述语言,实现对路通灯系统的控制器的硬件电路描述。这种硬件电路描述在Altera 公司的 EDA到 CPLD 器件上进行编程制作, MAX+PLUS环境下通过了编译、仿真、并实现了交通灯系统的控制过程6。利用 CPLD 的可重复编程和在动态系统重构的特

16、性,大大地提高了数字系统设计的灵活性和通用性。第二章CPLD 及 Verilog HDL 介绍2.1CPLD 介绍可编程逻辑器件 PLD( programmable logic device)是 20 世纪 70 年代发展起来的一种划时代的新型逻辑器件,经历了 PLA(programmable logic array)、 PAL(programmable array logic) 、 GAL(generic array logic) 、 CPLD(complex programmable logic device)/FPGA(field programmable gate array) 几个发

17、展阶段, 其中 Altera 推出的类似于 PAL 结构的扩展型 CPLD(Complex ProgrammableLogic Dvice) 是一种较 PLD 更为复杂的逻辑元件。用户可以根据各自的需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发平电缆( “在台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过系统”编程)将代码传送到目标中,实现设计的数字系统。CPLD 的生产厂家主要有 Altera、Xilinx 和 Lattice 这三个公司, 它们也是 CPLD 发展的典型代表。Xilinx 公司主要产品有 XC9500/4000 、Coolrunner(XPLA

18、3) 、Spartan 和Vertex 等系列,其最大的 Vertex Pro 器件已经达到 800 万门。开发也由Foundation 系列发展到了现在 ISE6.x。ISE(egrated system configuration) 是Xilinx 提供的一套工具集,它集成的工具可以完成整个 CPLD/FPGA 的开发过程,支持几乎所有的 Xilinx 公司的 CPLD/FPGA 的主流器件7。Lattice 公司是 ISP(insystem programmability) 技术的发明者, ISP 技术极大地促进了 PLD 产品的发展,它的主要产品有 ispLSI2000/5000/80

19、00,MACH4/5等。开发为 ISP Synario、ispLever3.x。近年来,可编程逻辑器件的发展主要趋于如下几个方面: 力求功耗更低,可编程逻辑器件的将向着低于 5V 的方向前进;ASCI 和 PLD 将把各自的优点相互融合, 共同发展;集成度提高, 价格降低是可编程逻辑器件发展的必然趋势;4.把 DSP、器、应用接口等集成在 PLD 上以拓展其功能是可编程逻辑器件的现状,可见在可编程逻辑器件上的可编程片上系统集成 SOPC( Systemon a programmable chip)是它的另一个发展趋势;为满足更高的硬件需求,可编程逻辑器件将向高频方向发展;高扩展性的发展方向是

20、CPLD 改进电路的必然需求。随着 PLD 的发展, CPLD 必定能在 EDA上发挥越来越大的作用。CPLD 主要是由可编程逻辑宏单元(MC, Macro Cell)围绕中心的可编程互连矩阵单元组成。其中 MC 结构较复杂,并具有复杂的 I/O 单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD 内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可性,避免了分段式互连结构时序不完全的缺点。CPLD 具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。它既继承了 PLD 和通用门阵列可实现较大规模的电路和编程灵活的特点,与其相比又有过之而

21、无不及的优点,比如它设计制造成本低、设计开发周期短、开发工具先进、具有电可擦除、编程的功能。因此被广泛应用于门阵列,PLD 和中小规模通用边缘扫描及数字集成电路的场合。随着超大规模集成电路工艺的不断提高 CPLD的规模也由最初的几十门扩大到现在的上百万门。而利用可编程逻辑器件设计交通信号控制电路时有如下优点:(1)能力强。随着工业的发展,电磁干扰日趋严重,而交通灯应用的能力的 CPLD 来设计;特殊场合需要较高的稳定, 故本文选用高稳定性高。CPLD 通常的平均无故障时间都在 30 万小时以上; 可重复编程。设计更新时随意更改和补充,不必再更换新器件,弥补了ASIC设计的交通灯的灵活度不高,难

22、以更新和扩展的特点,既减轻了工作负担,又节约了资源; (4)近年来 CPLD 价格逐步下降,性能却大幅度的提高,实际应用性高。尽管 FPGA 和 CPLD 都是可编程 ASIC 器件,有很多共同特点,但由于 CPLD 和 FPGA 结构上的差异, 具有各自的特点:1.CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合于完成时序逻辑。换句话说,FPGA 更适合于触发器丰富的结构,而 CPLD 更适合于触发器有限而乘积项丰富的结构;2.CPLD 的连续式布线结构决定了它的时序延迟是均匀的和可的, 而FPGA 的分段式布线结构决定了其延迟的不可性;在编程上 FPGA 比 CPLD 具有更大的灵

23、活性。CPLD 通过修改具有固定内连电路的逻辑功能来编程,FPGA 主要通过改变内部连线的布线来编程;FP GA 可在逻辑门下编程,而 CPLD 是在逻辑块下编程; FPGA 的集成度比 CPLD 高,具有更复杂的布线结构和逻辑实现;CPLD 比 FPGA 使用起来更方便。 CPLD 的编程采用 E2PROM 或FASTFLASH 技术,无需外部器,使用简单。而 FPGA 的编程信息需存放器上,使用方法复杂;在外部6.CPLD 的速度比 FPGA 快,并且具有较大的时间可性。这是由于 FPGA是门级编程,并且CLB 之间采用分布式互联,而CPLD 是逻辑块级编程,并且其逻辑块之间的互联是集总式

24、的;7.在编程方式上,CPLD 主要是基于 E2PROM 或 FLASH器编程, 编程次数可达 1 万次,优点是系统断电时编程信息也不丢失。CPLD 又可分为在编程器上编程和在系统编程两类。FPGA 大部分是基于 SRAM 编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入 SRAM 中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置;8.CPLD性好,FPGA性差; 9.一般情况下,CPLD 的功耗要比 FPGA 大,且集成度越高越明显。2.2Verilog HDL 介绍近 30 年来,由于微电子学和计算机科学的迅速发展,给 EDA(电子设

25、计自动化) 行业带来了巨大的变化。特别是进入 20 世纪 90 年代后,电子系统已经从电路板级系统集成发展成为包括 ASIC、FPGA 和嵌入系统的多种模式。可以说 EDA 产业已经成为电子信息类产品的支柱产业。EDA 之所以能蓬勃发展的关键之一就是采用了硬件描述语言(HDL) 描述电路系统。就 FPGA 和CPLD 开发而言,比较流行的 HDL 主要有 Verilog HDL、VHDL、ABEL-HDL和 AHDL 等。其中 VHDL 与 Verilog HDL 这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是 IEEE 的标准。 VHDL 1987 年成为标准, 而 Veri

26、log 硬件描述语言( Verilog HDL)于 1995 年被接纳为 IEEE 标准,标准为 IEEE Std 1364-1995。它使各种设计工具(包括验证仿真、时序分析、测试分析以及综合)能够在多个抽象层次上以标准文本格式描述数字系统,简单、直观并富有效率。由于其丰富的功能, Verilog HDL 已经成为数字系统设计的首选语言。这两者有其共同的特点: 1 . 能形式化地抽象表示电路的行为和结构; 支持逻辑设计中层次与范围地描述; 可借用高级语言地精巧结构来简化电路行为和结构;具有电路仿真与验证机制以保证设计的正确性; 4.5.6.7.路描述由到低层的综合转换; 硬件描述和实现工艺无

27、关; 便于文档管理; 易于理解和设计重用。但是两者也各有特点: Verilog HDL 推出已经有 20 年了,拥有广泛的设计群体,成资源也比 VHDL 丰富。 Verilog 更大的一个优势是:它非常容易掌握,只要有 C言的编程基础,通过比较短的时间,经过一些实际的操作,可以在 2 3月内掌握这种设计技术。而 VHDL 设计相对要难一点,这个是因为 VHDL语个不是很直观, 需要有 EDA 编程基础,一般认为至少要半年以上的专业培训才能掌握。目前版本的 Verilog HDL 和 VHDL 在行为级抽象建模的覆盖面范围方面有所不同。一般认为 Verilog 在系统级抽象方面要比 VHDL 略

28、差一些,而在门级开关电路描述方面要强的多。近 10 年来, EDA言争论不休,目前在 界一直在对数字逻辑设计中究竟用哪一种硬件描述语,次数字系统设计领域中,应用 Verilog 和VHDL 的比率是 80发展的比较好。和 20差不多;而在欧洲 VHDL;和和很多集成电路设计公司都采用 Verilog ,但 VHDL 也有一定的市场。Verilog HDL 是一种硬件描述语言, 可用于从算法级、门级到开关级的多种抽象层次的数字系统建模8。由于 Verilog HDL 既是机器可读的语言也是人类可读的语言,因此它支持硬件设计的开发、验证、综合和测试;硬件数据之间的通信; 硬件的设计、和修改。现在,

29、 Verilog HDL 已经成为数字系统设计的首选语言, 并成为综合、验证和布局布线技术的基础。Verilog HDL 的基本结构是:用 Verilog HDL 描述的电路设计就是该电路的 Verilog HDL 模型,也称为模块,是 Verilog 的基本描述。模块描述某个设计的功能或结构以及与其他模块通信的外部接口,一般来说一个文件就是一个模块,但并不绝对如此。模块是并行运行的,通常需要一个模块通过调用其他模块的实例来定义一个封闭的系统,包括测试数据和硬件描述。一个模块的基本架构如下: module module_name (port_list)/各种变量、信号reg /寄存器wire/

30、线网parameter/参数 input/输入信号 output/输出信号inout/输入输出信号function/函数task/任务/程序代码initial assignment always assignment module assignment gate assignment UDP assignmentcontinous assignment endmodule说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。语句用于定义设计的功能和结构。说明部分可以分散于模块的任何地方,但是变量、寄存器、线网和参数等的说明必须在使用前出现。一般的模块结构如下: module () end

31、module其中,用来指定数据对象为寄存器型、器型、线型以及过程块。可以是 initial 结构、always 结构、连续赋值或模块实例9。Verilog 包含了丰富的内建原语,包括逻辑门、用户定义的原语、开关以及线逻辑。它还具有器件管脚间的时延和时序检查功能。从本质上讲, Verilog所具有的混合抽象层次由两种数据类型所提供,这两种数据类型是线网( net)和变量( variable)。对于连续赋值, 变量和线网的表达式能够连续地将值驱动到线网,它提供了基本的结构级建模方法。对于过程赋值,变量和网络值的计算结果可以 于变量当中,它提供了基本的行为级建模方法。 一个用 Verilog HDL

32、 描述的设计包含一组模块,每一个模块都包含一个 I/O 接口和一个功能描述。模块的功能描述可以是结构级的、行为级的、也可以是结构级和行为级的混合。这些模块组成一个层次化结构并使用线网进行互连。Verilog 语言可以通过使用编程语言接口( Programming Languageerface,PLI)和 Verilog 程序接口( Verilog Proceduralerface,VPI)进行扩展。PLI/VPI包含在 Verilog HDL 描述内部的是一些例程的集合,它使得外部函数能够信息,推动了与仿真之间的动态交互。PLI/VPI 的应用包括将 Verilog HDL 仿真器与其它仿真和

33、 CAD 系统、用户定制的调试任务、时延计算以及标注器相连接。2.3仿真本设计利用的是 Max+plus仿真进行仿真, Max+plus是 Altera 公司提供的 FPGA/CPLD 开发集成环境, Altera 是世界上最大可编程逻辑器件的供应商之一。Max+plus 界面友好,使用便捷,被誉为业界最易用易学的 EDA。在 Max+plus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程10。Max+plus开发系统的特点:1、开放的界面Max+plus支持与 Cadence,Exemplar

34、logic,Ment Viewlogic 和其它公司所提供的 EDA 工具接口。2、与结构无关raphics,Synplicty,Max+plus系统的Compr 支持 Altera 公司的 FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000 和 Classic 可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。3、完全集成化Max+plus的设计输入、处理与较验功能全部集成在这样可以加快动态调试、缩短开发周期。的开发环境下, 4、丰富的设计库Max+plus提供丰富的库单元供设计者调用,其中包括 74 系列的全部器件和多种特殊

35、的逻辑功能( Macro-Function )以及新型的参数化的兆功能( Mage-Function)。5、模块化工具设计可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。6、硬件描述语言( HDL)Max+plus支持各种 HDL 设计输入选项,包括 VHDL、Verilog HDL和 Altera 自己的硬件描述语言 AHDL。7、Opencore 特征Max+plus宏函数。具有开放核的特点,允许设计添加自己认为有价值的2.4仿真流程用 VHDL/VerilogHD 语言开发 PLD/FPGA 的完整流程为: 1.文本编辑:用任何文本编辑器都可以进行,也可以用的 HDL

36、编辑环境。通常 VHDL 文件保存为.vhd 文件, Verilog 文件保存为.v 文件。2.功能仿真:将文件调入 HDL 仿真进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。3.逻辑综合: 将源文件调入逻辑综合表达式和信号的连接关系。逻辑综合进行综合,即把语言综最简的会生成.edf( edif)的 EDA 工业标准文件。4.布局布线:将.edf 文件调入 PLD 厂家提供的好的逻辑安放到 PLD/FPGA 内。中进行布线,即把设计5.时序仿真: 需要利用在布局布线中获得的精确参数,用仿真路的时序( 也叫后仿真)。验证电6.编程:

37、确认仿真无误后, 将文件到中。第三章交通信号控制电路的功能及实现原理3.1交通信号控制电路的功能分析本文所设计的交通控制电路主要实现直行绿灯倒计时、通行方向指示( 左转、直行和右转)、左转弯待转指示和紧急状态这四种功能。具体通行情况如下:( 1)南北的右转和直行绿灯亮,左转待转指示灯亮,东西的指示灯全部为红灯,持续 20s;( 2) 20s 后,南北并持续 3s;的左转待转指示灯灭,右转和直行绿灯切换为黄灯( 3) 3s 后,南北20s;( 4) 20s 后, 南北( 5) 3s 后,南北的左转指示灯亮, 右转和直行指示灯为红灯,持续的左转绿灯切换为黄灯并持续 3s;的指示灯全为红灯, 东西的

38、右转和直行绿灯亮, 左转待转指示灯亮,持续 20s;( 6) 20s 后,东西并持续 3s;( 7) 3s 后, 东西20s;( 8) 20s 后, 东西的左转待转指示灯灭,右转和直行绿灯切换为黄灯的左转指示灯亮, 右转和直行指示灯为红灯,持续的左转绿灯切换为黄灯并持续 3s;) 以上 8 种状态循环往复,指挥交通。)遇到公务车出行时的紧急状态,各方向全部红灯亮,让路给公务车。3.2交通信号控制电路实现原理本文设计的交通信号控制控制电路实现原理是: 把由 20M 的有振HOSONIC419 产生的复杂可编程逻辑器件 CPLD 的系统时钟输入到分频模块, 经分频模块分频产生频率为 1Hz 的时钟

39、脉冲,作为控制定时模块、控制模块、紧急模块、计数模块的时钟信号,然后再由定时模块来控制紧急模块和控制模块,按照交通管理规则控制各色箭头工作状态的切换和各箭头的持续时间,然后把各箭头的状态送到发光二极管来显示。最后,由系统时钟和计数模块以及控制模块来共同控制计数器控制模块,计数器的时钟为 1Hz,再把计数器控制模块送出的 BCD 码送给译计时。译码后,送给数码管显示各方向直行绿灯的倒本设计在 EPM7128S上完成设计, EPM7128S 是以 CPLD(ComplexProgrammable Logic Device)MAX7128S 为。ALTERA 的 EPM7128S 系列 CPLD 是

40、基于第二代多阵列矩阵( MAX) 结构体系地高性能 EEPROM 结构的 CPLD。完全符合 IEEE 1149.1 JTAG 边界扫描标准,具有 5V ISP 的功能; 逻辑密度为 2500 个可用编程门电路,128 个宏单元;可编程 I/O 口,TTL 逻辑电平为 5V 或 3V;引脚到引脚的逻辑延时为 5.0ns,计数器工作频率可达到151.5MHz(EPM7128SLC-6);有集电极开路选择,可编程宏单元触发器,具有专有的清除( clear)、时钟( clock)、输出使能( OE)控制;与不源电压的系统接口, VCCIO 引脚用于输出缓冲器接到 5V 电源时,输出电平与 5V 电源

41、兼容, VCCIO 引脚用于输出缓冲器接到 3.3V 电源时,输出电平与 3.3V 电源兼容,VCC用于内部电路和输入缓冲器;器件具有一个可编程的程序加密位,全面保护你的设计, 防止程序被读出和。的特点有以下几点:以第二代多阵列矩阵( MAX ) 结构为基础, 是一种高性能 CMOSEEPROM 器件;通过 JTAG( JoText Action Group 联合测试组)接口可实现编程( ISP),本实验板提供 JTAG 接口;逻辑密度为 2500 个可用编程门电路, 128 个宏单元; 68 条可编程 I/O 口, TTL 逻辑电平为 5V 或 3V;引脚到引脚的逻辑延时为 5.0ns, 计

42、数器工作频率可达到 151.5MHz;有集电极开路选择,可编程宏单元触发器, 具有专有的清除( clear)、时钟( clock)、输出使能( OE)控制; 与不源电压的系统接口,VCCIO 引脚用于输出缓冲器接到 5V 电源时,输出电平与 5V 电源兼容,VCCIO 引脚用于输出缓冲器接到 3.3V 电源时,输出电平与 3.3V 电源兼容,VCC用于内部电路和输入缓冲器; 包括一个可编程的程序加密位,全面保护专利设计,防止程序被读出。和以下为交通信号控制电路实现原理如图 3.2 所示:图 3.2交通信号控制电路实现原理图第四章交通控制电路的 Verilog HDL 的设计实现本文所设计的交通

43、信号控制电路通过 Verilog HDL 来实现,遵照电路所实现的功能,确立本课题分为分频模块、控制模块、定时模块、计数模块、计数器控制模块、译码模块和紧急模块七大部分。4.1分频模块分频模块的作用是将 CPLD 的频率转换为所需的时钟频率。本文设计所选的 CPLD 为 EPM7128S,它的频率为 20MHz,而交通信号控制电路所要求的频率为 1Hz。因此,只有把 EPM7128S 进行 20000000 分频才能得到所需频率。分频模块的编程代码见附录。变量定义说明如下:clk: CPLD 系统时钟; CP: 分频后的时钟。4.2控制模块控制模块是交通信号控制电路中最重要的部分,它按照交通管

44、理规则控制信号灯工作状态的转换来指挥交通。本文设计的交通信号控制电路把南北向或东西向相同转向的指示灯使用同一控制端,即节约了资源,又提高了程序运行速度。控制模块采用 MOOR 型状态机设计方法设计,其编程代码见附录。变量定义说明如下:NSlturnsta, WElturnsta:分别为南北向和东西向的转指示灯; NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3 :分别为南北向左转红黄绿箭头,直行红黄绿箭头和右转红黄绿箭头; WER1,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3 :分别为东西向左转红黄绿箭头,直行红黄绿箭

45、头和右转红黄绿箭头; CP: 分频后的时钟; s:各个灯的状态; 控制模块模拟仿真后得到的波形如图 4.1 所示。从图中可知,当南北向左弯待转指示灯亮(NSlturnsta)的时候,南北向直行绿色指示灯(NSG2)和右转绿色指示灯(NSG3) 亮,左转显示红灯(NSR1)。当南北向直行黄色指示灯(NSY2) 和右转黄色指示灯亮(NSY3)的时候,南北向转指示灯(NSlturnsta)灭,左转显示红灯(NSR1)。当左转绿色指示灯亮(或者闪烁)(NSG1)或黄色指示灯(NSY1) 亮的时候, 直行(NSR2) 和右转(NSR3) 显示红灯,黄灯过后,南北向全红灯。切换为东西向显示, 各灯切换顺序

46、同南北向。故该模块符合设计要求,设计合理。图 4.1 控制模块仿真波形图4.3定时模块定时模块是交通信号控制电路中不可或缺的部分,它决定了各信号灯持续亮灭的时间。因此定时模块设计的合理性直接影响着交通信号控制电路的优劣。定时模块的编程代码见附录。变量定义说明如下:CP: 分频后的时钟; s:各个灯的状态。定时模块模拟仿真后得到的波形图如图 4.2。由图可知,当状态 0( s=0)持续 17 秒( j=16)后切换为状态 1( s=1),状态 1 持续 3 秒( j=19)后切换为状态 3( s=3)。故该模块符合设计要求,设计合理。图 4.2定时模块仿真波形图4.4计数模块本设计的计数模块的作

47、用是计算直行绿灯的持续时间 20 秒,显示直行绿灯的倒计时。计数模块的编程代码如下: 变量定义如下: CP:分频后的时钟; dataout:直行绿灯倒计时。计数模块模拟仿真后的波形图如图 4.3。从图中可看出,计数时间间隔为 1秒,数字从 19 倒计数至 0。故符合设计要求,设计合理。图 4.3计数模块仿真波形4.5计数器控制模块计数器控制模块也就是动态扫描模块,它的作用是把计数模块的数字送给译码模块。计数器控制模块的编程代码见附录。变量定义说明如下:NSlturnsta,WElturnsta:分别为南北向和东西向NS1,NS2,WE1,WE2: 置位指示信号;转指示灯; Datain:从计数

48、器传送来的数据; Dataled:置位后输出给译Clk: CPLD 系统时钟。的数据; 计数器控制模块模拟仿真后的波形如图 4.4。由图可知,当南北向转指示灯( NSlturnsta)亮、东西向转指示灯( WElturnsta)灭,状态( s)为 1 的时候,把计数器的个位数送给南北向数码显示管的个位,南北向个位置位指示灯( NS1)亮; 当状态为 2 的时候把计数器的十位数送给南北向数码显示管的十位,南北向个位置位指示灯( NS2)亮。当东西向转指示灯( WElturnsta )亮、 南北向转指示灯( NSlturnsta) 灭,状态( s)为 3 的时候, 把计数器的个位数送给东西向数码显

49、示管的个位,东西向个位置位指示灯( WE1)亮;当状态为 4 的时候把计数器的十位数送给东西向数码显示管的十位,东西向十位置位指示灯( WE2)亮。图 4.4 计数器控制模块仿真波形图4.6译码模块译码模块的作用是把计数器控制模块传送过来的 BCD 码转换成 7 段字型代码,并送给数码显示管显示。译码模块的编程代码见附录。变量定义说明如下:a,b,c,d,e,f,g: 7 段数码管的各段指示灯; dp: 数码管上的小数点; data: 从计数器控制模块传送来的数据。译码模块的模拟仿真波形如图 4.5。由图可知,符合设计要求,设计合理。图 4.5 译码模块仿真波形图4.7紧急模块紧急模块的作用是

50、为、消防车、救护车、运钞车及装载物品的货车等特殊类型的车辆提供实时优先通行权,它的实现原理是使得系统时钟显示低电平状态,让各方向都显示全红灯状态。紧急模块的编程代码如下:变量定义说明如下:jinji:紧急状态输入端;clk:系统时钟; clk1:紧急状态模块时钟。紧急模块的模拟仿真波形如图 4.6。如图可知,当紧急状态按钮(jinji)按下的时候,时钟(clk1)显示为低电平,否则时钟为 CPLD 的时钟(clk)。故符合设计要求,设计合理。图 4.6紧急模块仿真波形图第五章总结与展望5.1开发难点与解决技巧本设计在开发过遇到了众多问题和,现在把一些主要的开发难点和解决技巧罗列如下: 问题一、

51、由于输出口太多,不仅浪费了资源,而且影响了程序的执行速度。解决技巧:把两个相对方向的相同转向的同颜色指示灯接同一输出口,每一时刻直行和右转方向的状态相同。既加快了程序运行速度,又节约了资源。问题二、该系统对直行绿灯的持续时间进行了倒计时,所以在南北向和东西向七段数码显示管的切换上难以把握。解决技巧:在设计过,本文使用了动态扫描来实现。具体实现方法为: 把计数器输出的数据传送给计数器控制器,然后把输出的数据送给译,最后在不同时刻把数据的个位和十位分别南北向的个位和十位或东西向的个位和十位。总之,在开发设计的过存在有种种问题和难点。但是,经过查阅资料和指导老师的指导下,以及同学的帮助下, 解决了很

52、多和难题。5.2系统说明与总结本系统主要应用于交通繁忙、路况繁忙的路口,系统设置为南北向直行和右转绿灯持续 20 秒后,切换为黄灯亮 3 秒, 然后再切换为红灯,同时左转绿灯亮, 持续 20 秒。最后左转黄灯亮 3 秒, 切换为红灯,同时东西向各指示灯以相同的顺序和时间间隔执行(注:各的转指示灯跟直行灯同灭)。交通部门亦可根据各路段各时间点的路况信息随时调整系统各指示灯的持续状态。该系统配备一个紧急状态,上面有紧急按钮, 、救护车等公务车出行的时候,可以通过此按钮让各方向都指示为红灯,以便让公务车优先行驶。紧急情况出现太过频繁或持续时间过长,将严重影响交通或造成堵塞,所以必须控制该数量,并加以

53、严格保管。最终实现城市交通安全,畅通无阻的交通环境,以提高人民生活安全保障。5.3展望随着生活水平的日益提高,以车带步的需求会越来越高,因此汽车数量也会越来越多,这将直接导致交通状况越来越糟。所以不管时代如何发展,交通信号控制电路系统是永远不会被淘汰的,而且随着时代的进步,对此的要求越来越高,设计越来越复杂。在以后的设计中,不妨加入传感器,扩展新的功能, 可以根据上下班或节假日的车流量调整各方向各色指示灯的亮灭顺序和持续时间, 使之更加智能化,使得交通更加规范有序。参考文献. 一种智能交通信号控制机的设计与实现 J. 计算 机应 用研 1 史 忠科, 陈小 锋,究,2004,08:145.23

54、45.交通灯控制系统电路设计J.重庆.一种基于 EDA 的智能交通灯设计J.学院学报,2005,02:1.工业学院学报,2009,01:1.基于 VHDL 状态机设计的智能交通控制灯J.国外电子元器件,2007,02:39.基于 Verilog HDL 设计的交通灯控制系统J.现代电子技术,2005, 08:2.6 郭长辉, 王思明. 基于 Verilog HDL 语言的带左转复杂交通灯设计J. 微型电脑应用,2006,04:1.7徐志军,徐光辉.CPLD/FPGA 的开发与应用M.: 电子工业: 电子工业,2002.17.,2002.146.8910,.数字系统设计与 Verilong HD

55、LM.Verilong HDL 实用M.: 电子科技大学,1999.18. 基于 FPGA/CPLD 和 VHDL 语言的交通灯控制系统设计J. 开发与设计技术,2007,06:1618.附录EPM7128S参考:4.1分频模块的编程代码程序如下:module fenpin(CP,clk); outpP;reg CP;reg24:0i;inplk;always(beginedge clk)if(i=19999999)begini=0; CP=1;end elsebegin/实现 20000000 分频i=i+1; CP=0;endendendmodule4.2 控制模块编程代码程序如下:mod

56、ulecontrol(NSlturnsta,NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3, WElturnsta,WER,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3,s,CP);outputNSlturnsta,NSR1,NSY1,NSG1,NSR2,NSY2,NSG2,NSR3,NSY3,NSG3,WElturnsta,WER1,WEY1,WEG1, WER2,WEY2,WEG2,WER3,WEY3,WEG3;output3:0s;inpregP;NSlturnsta,NSR1,NSY1,NSG1,NSR2,NS

57、Y2,NSG2,NSR3,NSY3,NSG3,WElturnsta,WER1,WEY1,WEG1,WER2,WEY2,WEG2,WER3,WEY3,WEG3;reg3:0s;always(beginedge CP)if(s=11) s=0;elses=s+1;endalways(s) begincase(s)4b0000:全红灯/南北向直行和右转绿灯以及转指示灯亮,东西向beginNSlturnsta=1; WElturnsta=0;NSR1=1;NSY1=0;NSG1=0; NSR2=0;NSY2=0;NSG2=1; NSR3=0;NSY3=0;NSG3=1; WER1=1;WEY1=0;W

58、EG1=0; WER2=1;WEY2=0;WEG2=0; WER3=1;WEY3=0;WEG3=0;end4b0001:begin/南北向直行和右转绿灯闪烁NSlturnsta=1; WElturnsta=0;NSR1=1;NSY1=0;NSG1=0; NSR2=0;NSY2=0;NSG2=CP; NSR3=0;NSY3=0;NSG3=CP; WER1=1;WEY1=0;WEG1=0; WER2=1;WEY2=0;WEG2=0; WER3=1;WEY3=0;WEG3=0;end4b0010:begin/南北向直行和右转黄灯亮以及转指示灯灭NSlturnsta=0;WElturnsta=0; N

59、SR1=1;NSY1=0;NSG1=0; NSR2=0;NSY2=1;NSG2=0; NSR3=0;NSY3=1;NSG3=0; WER1=1;WEY1=0;WEG1=0; WER2=1;WEY2=0;WEG2=0; WER3=1;WEY3=0;WEG3=0;end4b0011:begin/南北向直行和右转红灯亮, 左转绿灯亮NSlturnsta=0; WElturnsta=0;NSR1=0;NSY1=0;NSG1=1; NSR2=1;NSY2=0;NSG2=0; NSR3=1;NSY3=0;NSG3=0; WER1=1;WEY1=0;WEG1=0; WER2=1;WEY2=0;WEG2=0;

60、 WER3=1;WEY3=0;WEG3=0;end4b0100:begin/南北向左转绿灯闪烁NSlturnsta=0; WElturnsta=0;NSR1=0;NSY1=0;NSG1=CP; NSR2=1;NSY2=0;NSG2=0; NSR3=1;NSY3=0;NSG3=0; WER1=1;WEY1=0;WEG1=0; WER2=1;WEY2=0;WEG2=0;WER3=1;WEY3=0;WEG3=0;end4b0101:begin/南北向左转黄灯亮NSlturnsta=0; WElturnsta=0;NSR1=0;NSY1=1;NSG1=0; NSR2=1;NSY2=0;NSG2=0;

温馨提示

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

评论

0/150

提交评论