基于VHDL的智能交通灯控制器.docx
- 文档编号:14172829
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:5
- 大小:19.22KB
基于VHDL的智能交通灯控制器.docx
《基于VHDL的智能交通灯控制器.docx》由会员分享,可在线阅读,更多相关《基于VHDL的智能交通灯控制器.docx(5页珍藏版)》请在冰点文库上搜索。
基于VHDL的智能交通灯控制器
基于VHDL的智能交通灯控制器
1设计任务及要求 交通灯在指挥道路交叉部分的车辆,行人安全,有序,高效地通行,缓解城市交通拥堵状况起着重要作用,交通灯的出现大大降低了交汇路段的交通事故率,极大地提高了通行效率,是现代交通控制系统不可缺少的一部分。
本次将设计基于VHDL语言的交通灯控制系统,实现如下功能:
1.本设计用总共8个LED灯分别指示南北和东西方向的红黄绿以及左转信号灯。
并规定在非紧急情况下各个方向车辆在不影响其他直行车道车辆正常行驶是情况下均能右转向,因此本设计未包含右转向信号。
2.本设计具有状态实时显示功能,即各个状态的剩余时间将在对应的数码管上显示。
3.复位功能:
在紧急情况键未按下时复位键可以使系统从任意状态回到第一种状态。
4.紧急状态限行功能:
在紧急情况时可以按下紧急情况按钮,可使系统在任意情况,转向限制所有方向车辆通行,同时数码管显示“00”,发出警告音5.系统的六个状态为:
东西方向绿灯,南北方向红灯,持续30s;东西方向黄灯,南北方向红灯,持续5s;东西方向绿灯,南北方向左转,持续10;东西方向红灯,南北方向绿灯,持续30s;东西方向红灯,南北方向黄灯,持续5s;东西方向左转,南北方向绿灯,持续10s; 6.要求在无人工干预条件下各个状态能自动转换,系统正常运行。
2设计原理及总体框图 本交通灯设计总共用8个数码管分别指示东西和南北方向的红灯,黄灯,绿灯以及左转指示灯。
共有六种状态,如下表所示:
状态123456南北方向东西方向LED指示LED状态绿灯黄灯绿灯红灯红灯左转计数器初值3051035510LED状态红灯红灯左转绿灯黄灯绿灯计数器初值3551030510LED代码001010000100100000100001100000101000010000010010设计的总体框图为:
时钟输入交通灯控制核心模块东西方向数码管时间显示南北方向数码管时间显示LED显示 交通灯控制模块在时钟的控制下,实现各个状态的自动转换,并且负责输出LED的控制信号和,数码管倒计时的BCD码输入信号。
3程序设计 包括VHDL的简单介绍和编写的相应程序,同时也可以简要说明程序设计的要点 VHDL是超高速集成电路硬件描述语言。
VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
VHDL主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体分成外部,既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
其具有功能强大、设计灵活、支持广泛、易于修改等诸多优点,因此得到广泛应用,成为现今主流的硬件描述语言。
本程序,只用一个进程即可完成复杂的交通灯设计任务,简洁精练,执行效率高,同时又具有稳定可靠的特点。
本程序将8个LED灯,进行八位数字编码,高电平LED灯亮表示输出有效,各个状态剩余时间的显示,采用8位BCD码表示,进行减“1”运算时需要按照十进制数来计算,因此需要进行BCD码调整。
各个状态的转换标志是时间的现态以及LED的现态,据此进行状态的循环转换。
同时还需考虑到紧急情况的发生可能需要两个方向的车辆同时禁行,以便于特殊车辆的快速无障碍通过,因此还需设计一个禁行按钮,便于紧急情况下对交通的临时管制,还需确保禁行按钮失效时交通能迅速恢复正常通行。
因此本程序设计了一个“stop”按钮,此按钮具有最高权限可以使交通灯在任何状态下,转换才两个方向同时禁行的状态,。
另外本程序还设计了一个“reset”按钮,具有仅次于“stop”按钮的管制权限,即在非紧急情况按钮按下时此按钮可使系统从其他状态回到第一种状态,因此本按钮可以用于系统的复位。
本程序的所有代码:
LIBRARYIEEE; USE_LOGIC_;USE_LOGIC_;ENTITYjtdIS PORT(stop,clk,reset:
INSTD_LOGIC; snten,snone,ewten,ewone:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0); led:
BUFFERSTD_LOGIC_vector(7DOWNTO0); bell:
OUTSTD_LOGIC);ENDjtd; ARCHITECTUREcdOFjtdIS BEGIN PROCESS(clk,stop) VARIABLEsn,ew:
STD_LOGIC_VECTOR(7DOWNTO0); BEGIN IFstop=‘1’THEN——进行按钮用于紧急情况 led sn:
=\——数码管时间显示为“00” bell ELSIFclk’EVENTANDclk=‘1’THEN IFreset=‘1’THEN sn:
=\——复位按钮,系统恢复到第一种状态 ew:
=\ led ELSIFsn(3DOWNTO0)>\0)>\——非法状态是可以迅速转到第一种状态 sn:
=\ ew:
=\ led ELSIFsn=\ sn:
=\ sn:
=\ led ELSIFsn=\ANDew=\ANDled=\THEN sn:
=\ ew:
=\ led ELSIFsn=\ sn:
=\ ew:
=\ led ELSIFsn=\ ew:
=\ sn:
=\ led ELSIFsn=\ ew:
=\
sn:
=\ led ELSIFsn=\ANDew=\ANDled=\THEN ew:
=\ sn:
=\ led ELSIFsn(3DOWNTO0)=\THENsn(7DOWNTO4):
=sn(7DOWNTO4)-\ sn(3DOWNTO0):
=\码的调整 ELSIFew(3DOWNTO0)=\THENew(7DOWNTO4):
=ew(7DOWNTO4)-\ ew(3DOWNTO0):
=\码的调整 ELSEsn:
=sn-’1’;ew:
=ew-’1’; ENDIF; ENDIF; snten 4编译及仿真 Max+plusⅡ是Altera公司的PLD开发软件,提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
本次设计是通过Max+plusⅡ调试和编译的,仿真的波形图如下图所示:
图形1 图形2 程序在调试过程中还是出现过很多的问题,比如语法的错误,借助Max+plusⅡ软件强大的纠错功能,通过几次认真的修改,我的程序终于没有了,语法错误,顺利通了编译。
但在波形仿真时也同样出现了一系列问题,后来发是程序逻辑上的错误,只有通过仿真才发现了问题并最终解决了问题。
5硬件调试与结果分析 完成软件仿真后,我就进实验室开始进行硬件的调试,打开试验箱,切换模式然后下载程序,可是发现结果不准确,没有达到预期的效果,后经过认真分析发现原来是引脚锁定出了问题。
纠正错误后,果然系统就按预期正常运行了,各 项功能也都得以实现,并顺利通过了验收。
于本次硬件验证时间有限,因此也只能对系统的功能进行验证。
至于系统的稳定性也就无法很好的验证了,但从硬件验证的结果来看本次设计还是圆满地完成了预期目标,取得了成功。
心得体会 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言 HDL完成设计文件,然后计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA作为一种新兴的技术,自其出现之日就给电子系统的设计带来了革命性变化,在信息化的21世纪EDA技术的重要性不言而喻,因此掌握好这门技术对于电子专业的学生非常重要。
虽然我在前期的学习过程中已经系统学习了EDA的各项基础知识,但是都仅仅是限于书本上的知识,并无任何实践经验,基本还处于纸上谈兵的阶段。
恰好这次课程设计给了我们一个很好的实践机会,可以很好地检验我们课本上学的知识在实际中的应用。
因此我倍加珍惜这次难得的好机会,从最初的选题,到初步方案的确定我都颇费了心思。
初次程序历时一天基本完成,可是后期的调试过程却远远超出了我原本的预期,经历了许多原本想都没想到的困难。
但当我认真静下心来发现错误,解决一个个问题时,感觉确实也学到了很多宝贵的经验,其实解决问题的过程同时也是提高的过程。
在我的不懈努力下一道道难关相继被我攻破,一个个问题前后被我解决,我感觉离成功也越来越近,最后当看到程序正常运行时,我也感受到了成功的喜悦 通过本次课程设计,我不仅巩固了课本上学到的EDA知识,更重要的是还获得了很多平时书本上难以学到的宝贵经验,确实是获益匪浅,我也认识到了,理论结合实践确实是一种非常有效的学习方法,今后一定要加强实践环节,否则书本学得再好,也始终只能停留在坐而论道的阶段,遇到实际问题往往手足无措,这是非常不可取的。
实践和理论有机结合,依靠理论指导实践,通过实践加强理论,相互促进,相得益彰,方能事半而功被!
6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 智能 交通灯 控制器