基于VHDL交通灯控制电路设计毕业设计论文 - 图文

更新时间:2024-07-06 00:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

陕西理工学院毕业设计

基于VHDL交通灯控制电路设计

[摘要]传统的交通灯控制系统多数由单片机或PLC实现,本文介绍的是基于EDA技术设计交通灯系统的一种方

案。通过对系统进行结构分析,采用了层次化的设计方法,给出了各个模块的VHDL程序,利用Max+PlusⅡ对应用程序进行了仿真,并给出了相应的仿真结果。在用系统硬件描述语言进行电路设计时,应充分认识到VHDL语言的特点,从设计思想、语句运用及描述方法上等多方面对电路进行优化设计,并使用规模更小的可编程逻辑芯片,可以降低系统的成本。

[关键词]交通信号灯; 系统硬件描述语言; 仿真

Design of traffic lights control circuit based on VHDL

Kang WeiGang

(Grade 07,Class 4,Major electronics and information engineering,Electronics and information engineering

Dept.,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)

Tutor: He Wei

[Abstract]:Traditional traffic light control system is mostly achieved by a single chip or PLC,this paper introducts a

scheme of the design of traffic signal systems based on EDA technology. Each module is given VHDL program by ananlyzing the structure of the system and using a hierarchical design method,and it applies Max+PlusⅡ on the simulation of applications,and the corresponding simulation results are gained. When design the circuit with VHDL, we should be fully aware of the characteristics of VHDL language and optimize the circuit design from the design, the use of statements and methodsof description,etc.Through optimizing circuit design,we can use smaller programmable logic chip,thereby reducing system cost.

[Key words]:traffic light ; VHDL ;simulation

陕西理工学院毕业设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作 者 签 名: 日 期: 指导教师签名: 日 期:

使用授权说明

本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名: 日 期:

陕西理工学院毕业设计

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名: 日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名: 日期: 年 月 日

导师签名: 日期: 年 月 日

陕西理工学院毕业设计

目录

引言 ................................................. 1 1 概述 .............................................. 2

1.1 交通灯的背景 ...................................... 2 1.2 交通灯的研究目的 .................................. 3

2 EDA技术的介绍 ..................................... 4

2.1 EDA技术 .......................................... 4 2.1.1 EDA技术的发展.... .............................. 4 2.1.2 EDA技术与传统电子设计方法的比较.... ............ 4 2.2 VHDL .............................................. 5 2.3 MAX+PLUSⅡ ...................................... ..6 2.4 CPLD ............................................ ..7

3 交通灯控制系统工作原理 ............................ 8

3.1 设计方案及论证 .................................... 8 3.2 具体设计及模块划分 ................................ 9 3.3 工作原理 ......................................... 10 3.4 交通灯工作示意图 .................................. 9

4 系统设计 ......................................... 11

4.1 顶层电路设计......................................11 4.2交通灯主要控制模块............................... .11 4.3定时单元以及显示控制、译码电路 ....................14 4.4各模块及整体仿真结果.............................. 17

陕西理工学院毕业设计

5 硬件验证 ................................ .........18 总结 ............................................... .19 致谢 ............................................... .20 参考文献 ............................................ 21 附录A 英文文献 ...................................... 22 附录B 各模块源程序 .................................. 29 附录C 硬件实物图 .................................... 38

引言

城市交通是城市活动的重要组成部分,犹如人体的动脉,维系着整个城市的正常运转。随着人口的增多、科技的进步和城市规模的扩大,交通方式由原来简单的车马舟船,演变为现在的火车、汽车、地铁、飞机等各种综合型的运输方式。交通作为现代城市的重要体现和标志,见证着每一个城市的历史与文明、发展与兴衰。随着城市经济的飞速发展、城市化进程的加快,大量的人口涌入城市,造成市区人口稠密,社会经济发展、城市化和机动化进程的加快,使许多中心城市的交通在飞速发展的同时也对交通设施的建设提出了更高的要求。

以前普通的交通控制器能根据事先给定的时间进行通道的通禁控制,以达到自动控制的目的,但由于如今车辆的迅速增多,给城市交通增加了严重的负担,而交通灯在其中正扮演着越来越重要的角色。因此,要求寻找一种可以随时针对通道上车辆的密集程度来控制和调节主支干道的通禁时间,从而减少不合理的堵车现象的发生。

目前EDA技术发展迅速,是由于EDA技术主要是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语HDL(Hardware DescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编辑、化简、分割、综合、优化和仿真、直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC(Application Specific IntegratedCircuit)芯片中,实现既定的电子电路设计功能。EDA技术使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本。实现路口交通灯系统的控制方法很多,可以用标准逻辑器件,可编程控制器PLC,单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。因此,在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现交通灯系统控制器的设计,利用MAX+PLUSⅡ集成开发环境进行综合、仿真,并下载到CPLD复杂可编程逻辑器件中,完成系统的控制作用。

[2]

[1]

1 概述

1.1交通灯的背景

早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。

早期的交通信号灯使用“固定配时”方式实行自动控制,这种方式对于早期交通流量不大的情况曾起过一定的作用。但随着汽车工业的发展、交通流量增加、随机变化增强,采用以往那种单一模式的“固定配时”方式已不能满足客观需要,于是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方案的控制器。除了多时段多方案定时控制的使用,为了避免各交叉路口之间“各自为政”的孤立控制方式对交通流造成的频繁停车,还必须把相邻的交叉路口作为一个系统来统一地加以控制。1928年,上述系统经过改进,形成“灵活步进式”定时系统;由于它简单、可靠、价格便宜,很快在美国推广普及。这种系统以后不断改进、完善,成为当今的协调控制系统。

20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制方式有更大的灵活性。车辆感应控制的这一特点刺激了车辆检测器技术的发展。继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形线圈等检测器相继问世。当今在城市道路交通自动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器。超声波检测器主要在日本等少数国家得到广泛应用。

计算机技术的出现为交通控制技术的发展注入了新的活力,1952年,美国科罗拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方案自动选择式信号灯控制,而加拿大多伦多市于1964年完成了计算机控制信号灯的实用化,建立了一套由IBM650型计算机控制的交通信号协调控制系统,成为世界上第一个具有电子数字计算机城市交通控制系统的城市。这是道路交通控制技术发展的里程碑。

伴随着城市交通信号控制系统的迅速发展。人们认识到,要更好地提高城市管理水平,不仅仅依靠硬件设备的更新和改进,还必须同时在控制逻辑和方法上有所突破,即城市交通的区域协调控制。传统的城市道路交通控制指的是区域交叉口信号灯控制,而城市交通的区

域协调控制,是在整个城市范围内对交通进行控制,这无论是从理论角度还是实践角度,都是一个极其复杂的大系统控制问题。

国外对城市区域交通控制的研究,开始于20世纪60年代初。1967年,英国运输与道路实验室(TRRL)成功开发出TRANsYT(TraffioNetworkStudyTools)交通控制系统,后来又在TRANsYT的基础上开发了SEOOT(Split Cyele and Offset OPtimization Technique)系统。澳大利亚在70年代末也开发了基于配时方案实时选择方法来实现路网协调控制的SCAT(Sydney Coordinated Adaptive Traffic Method)系统。这些系统己经在西方国家的城市网络交通中取得了成功的应用。

进入20世纪80年代后期,随着城市化进程的加快和汽车的普及,城市交通拥挤、阻塞现象日趋恶化,由此引发的事故、噪声和环境污染己成为日益严重的社会问题,交通问题成为困扰世界各国的普遍性难题。人们对交通系统的规模复杂性和开放性特征有了更深一层的认识,并开始意识到单独考虑车辆或道路方面很难从根本上解决交通拥挤现象,只有把路口交通流运行与信号控制的藕合作用综合考虑,且赋以现代的各种高新技术方可彻底消除有关问题。于是,智能交通系统(ITS)应运而生,并得到迅猛发展。除在技术和功能上得到增强和完善的SCOOT和SCATS以外,STREAM、ITACA、MOTION、RT-TRACS、SURFZ000、PRODYN和UTOPIA等新一代城市交通控制系统相继推出并投入应用。

目前城市交通控制研究的新发展主要体现在城市交通网络的各个方面:区域交通信号灯和城市快速公路匝道口的新的控制方法上;实现区域和快速公路的集成控制;采用动态路由导航与交通网络控制结合以实现先进车辆控制系统AvcS为主的智能交通系统(ITS);以实现先进交通管理系统ATMS和先进驾驶员信息系统ATIS为主的城市多智能体交通控制系统;以及一些辅助的交通策略如道路自动计费、公共交通优先等。

可以说,在近百年的发展中,道路交通信号控制系统经历了无感应控制到有感应控制、手动控制到自动控制再到智能控制、单点控制(点控)到干线控制(线控)再到区域控制和网络控制(面控)的过程。 1.2 交通灯的研究目的

不同的城市存在着不同的城市问题,但其中有一个共同的问题就是城市交通。在交叉路口如何解决混合交通流中的相互影响,就是解决问题的关键所在。随着我国经济的稳步发展,人民生活水平的日渐提高,越来越多的汽车进入寻常百姓的家庭,再加上政府大力地发展公交、出租车行业,道路上的车辆越来越多,使得城市的交通成为了一个主要的问题。严重的拥堵现象,逐渐恶化的城市环境,都给广大市民带来了许多困扰。可想而知,一个没有交通灯的社会将是何种样子,那必将是交通秩序混乱,人们的出行安全没有了任何保障,社会秩序也必将混乱不堪。但是以前的交通灯系统根本无法满足现在社会的需求,所以需要运用更新的技术来设计。

本次设计是通过设计交通灯控制器,了解EDA技术,掌握VHDL硬件描述语言的设计方

法和思想,巩固和综合运用所学过的计算机组成原理知识,提高分析、解决计算机技术实际问题的独立工作能力。

2 EDA技术的介绍

2.1 EDA技术 2.1.1 EDA技术的发展

现代电子设计技术的核心是EDA(Electronic Design Automation)技术。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。

EDA(电子系统设计自动化)技术是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造),CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。现代EDA技术就是以让算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,能自动地完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。可见利用EDA技术进行电子系统的设计,具有以下几个特点:

(1)用软件的方式设计硬件;

(2)用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的; (3)采用自顶向下(top-down)的设计方法; (4)设计过程中可用有关软件进行各种仿真; (5)系统可现场编程,在线升级;

(6)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高

[4]

[3]

EDA技术涉及面很广,内容丰富,主要应掌握如下四个方面的内容:(1)大规模可编程逻辑器件; (2)硬件描述语言;(3)软件开发工具;(4)实验开发系统。其中大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。 硬件描述语言(HDL)是相对于一般的计算机软件语言如C、Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。HDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。用HDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

[7][6]

[5]

图3.2 方案二系统组成框图

方案三:采用可编程逻辑器件来实现

该设计方案以CPLD器件为核心,用VHDL编程实现各计时单元以及控制电路的功能,在Max+Plus Ⅱ软件上仿真调试,显示电路采用7段得共阴数码管。系统组成框图如图3.3所示:

标准信号 信号灯控制电路 信号灯 各定时电路 显示控制电路 译码显示电路 图3.3 系统组成框图

(2)方案论证

方案一采用的是集成硬件电路的搭建,各个模块之间的接口很难保证,而且用到大量芯片来搭建各个模块,整个电路系统体积相对较大,增加了系统的调试难度,不满足现代社会发展的需求。

方案二采用的以单片机为核心,电路整体简单,扩展性良好,很大程度上降低了调试难度,但是不满足本次课题基于VHDL语言的要求,所以不采用。

方案三以CPLD器件为核心,以VHDL语言为基础,编程具有很大的灵活性,而且这种语言也易于掌握和理解,调试和修改都比较容易,满足课题的要求,所以最终选择方案三。 3.2 具体设计以及模块划分

设计方案:

该设计分为6个基本模块:标准信号电路、信号灯控制电路、信号灯、各定时单元电路、显示控制电路、译码显示电路,组成框图如上图3.3。

标准信号为整个电路提供1Hz信号,信号灯控制电路控制8路灯的亮灭,定时电路分为45s、10s、5s、60s定时单元,分别控制8路灯的亮灭时间,显示控制电路控制每一路灯的倒计时显示时间,译码后通过数码管显示。 3.3 工作原理

交通灯的亮灭规律为:甲车道的绿灯亮,乙车道的红灯亮,甲车道通车,经45s后,甲车道绿灯灭,甲车道左拐灯亮,经10s后,甲车道黄灯开始闪烁,同时乙车道黄灯开始闪烁,闪烁5s后,甲车道红灯亮,而同时乙车道的绿灯亮,乙车道开始通车,经45s后,乙车道

绿灯灭,乙车道的左拐灯亮,经10s后,甲乙车道黄灯同时开始闪烁。闪烁5s后,再切换到甲车道,重复上述过程。在试验箱开始表示甲路的绿色发光二极管亮45s,然后依次是表示左拐的蓝色二极管亮10s和黄色二极管亮5s,此过程乙路的红色二极管亮60s;此后乙路的绿色发光二极管,蓝色发光二极管和黄色发光二极管依次亮45s、10s、5s,此过程甲路红色发光二极管亮60s。重复以上过程。在试验过程中的四个数码管,分两个为一组,前一

组表示甲路的倒计时时间,后一组表示乙路的倒计时时间。 3.4 交通灯工作示意图

十字路口的东西方向和南北方向分别安装红、绿、黄、蓝交通信号灯,设置示意图如图3.4所示。 南北方向和东西方向各设四路信号灯,分别代表红灯、黄灯、绿灯、左拐灯。交通规则明确显示必须按照交通指示灯来执行,尤其是左拐,只有在左拐灯亮的时候才可以左拐。图3.4只是模拟的交通示意图,但是结合上述原理很容易理解。

甲路 路

图3.4交通灯工作示意图

4 系统设计

4.1顶层电路设计

交通灯控制器的顶层电路图是采用硬件描述语言设计的一个复杂电路系统,而且采用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。在顶层设计中,要对内部各功能模块的连接关系和对外的接口关系进行描述,而功能模块实际的逻辑功能和具体的实现形式则由下一层模块来描述。

系统的顶层电路如图4.1,CLK为整个电路提供1Hz的标准信号,用四个定时单元60s 、45s、10s、5s分别控制四盏交通指示灯的倒计时显示时间,交通灯控制部分JTDKZ控制交通灯的每一种状态,显示控制部分XSKZ部分主要控制交通灯的亮灭时间,图中译码器是47译码器,译码后数据输出到共阴数码管。

图4.1 顶层电路图

4.2 交通灯主制模块

主要控制部分分别列出四种颜色灯的亮灭状态,分为六种状态A、B、C、D、E、F,每种状态的持续时间也即是对应控制每一路的四种灯亮的时间。如图4.2交通灯控制模块生成的器件,CLK是输入标准时钟信号,AR、AY、AG、AL为输出信号控制甲车道的四盏指示灯,BR、BY、BG、BL为输出信号控制乙车道的四盏指示灯,部分程序如下: entity jtdkz is

port(clk:in std_logic;

ar,ay,ag,al,br,by,bg,bl:out std_logic); --定义各路信号灯

end entity jtdkz;

architecture art of jtdkz is

type state_type is(A,B,C,D,E,F); --信号灯的亮灭状态分为六种 signal state:state_type; begin

cnt:process(clk)is

variable s:integer range 0 to 60; --整形变量s范围0到60 when A=>ar<='0';ay<='0';ag<='1';al<='0'; --A状态各路灯的亮灭 br<='1';by<='0';bg<='0';bl<='0';

if s=45 then --a路绿灯亮状态持续45s state<=B;clr:='0';en:='0'; else

state<=A;clr:='1';en:='1';

4.3 定时单元以及显示控制、译码电路

(1)45s定时单元控制两路绿灯的显示时间,从DOUT45端口输出到显示控制模块的AIN45 端口,45s定时单元模块生成器件如图4.3所示,EN45A、EN45B分别甲路和乙路绿灯的使能信号控制应该哪一路的绿灯亮。45s定时单元主要的VHDL程序段如下:

entity cnt45s is

port (clk,en45a,en45b:in std_logic; 输入的标准时钟和使能信号 dout45:out std_logic_vector(7 downto 0));--输出8位二进制数 end entity cnt45s;

architecture art of cnt45s is

signal cnt6b:std_logic_vector(5 downto 0); begin

process(clk, en45a,en45b) is begin

if(clk'event and clk='1') then

if en45a='1'or en45b='1' then cnt6b<=cnt6b+1;--控制输出数据 else cnt6b<=\

(2)60s定时单元控制两路红灯的显示时间,从DOUT60端口输出到显示控制模块的

AIN60 端口,60s定时单元模块生成器件如图4.4所示,EN60A、EN60B分别甲路和乙路红灯的使能信号控制应该那一路红灯亮。60s定时单元的主要程序段如下: entity cnt60s is

port (clk,en60a,en60b:in std_logic; --输入的标准时钟和使能信号 dout60:out std_logic_vector(7 downto 0));--输出8位二进制数 end entity cnt60s;

architecture art of cnt60s is

signal cnt6b:std_logic_vector(5 downto 0); begin

process(clk, en60a,en60b) is begin

if(clk'event and clk='1') then

if en60a='1'or en60b='1' then cnt6b<=cnt6b+1; --使能信号控制 else cnt6b<=\

(3)10s定时单元控制两路左拐灯的显示时间,从DOUT10端口输出到显示控制模块的AIN10 端口,10s定时单元模块生成器件如图4.5所示,EN10A、EN10B分别甲路和乙路红灯的使能信号控制应该那一路红灯亮。10s定时单元的主要程序段如下:

本文来源:https://www.bwwdw.com/article/if4.html

Top