欢迎来到天天文库
浏览记录
ID:29472453
大小:549.54 KB
页数:43页
时间:2018-12-20
《基于vhdl语言的交通灯设计说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、长沙民政职业技术学院课程设计报告基于VHDL的交通灯设计课程:片上可编程系统编程与调试系别:电子信息工程系专业:应用电子技术指导老师:张老师完成时间:2011年06月12日摘要随着社会上特别是城市中机动车辆保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要,在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理。本文以VHDL硬件描述语言为设计手段,完成了交通信号灯控制电路的设计,其中交通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。所设计的交通信
2、号灯控制电路经过在QuartusⅡ6.0软件下进行模拟仿真,观察其波形,证明所设计的交通信号灯控制电路完全可以实现预定的功能,并有一定的实用性。关键词:FPGA;VHDL;QuartusⅡ;交通灯一、设计思路本设计主要是利用状态机控制,交通灯的工作分成5个状态,如下:St0:支干道亮红灯,主干道亮绿灯,数码管不显示。St1:主干道亮绿灯45秒,数码管显示45秒倒计时;支干道亮红灯,数码管显示从49秒倒计时到05秒。St2::主干道亮黄灯5秒,数码管显示5秒倒计时;支干道亮红灯,数码管显示从04秒倒计时到00秒。St3:支干道亮绿灯25秒,数码管显示25秒倒计时;主干道亮红灯,数
3、码管显示从29秒倒计时到05秒。St4:支干道亮黄灯5秒,数码管显示5秒倒计时;主干道亮红灯,数码管显示从04秒倒计时到00秒。把交通灯的工作分成五个状态,则写程序的时候思路就比较清晰,只要在相应的状态里完成相应的工作,控制好黄绿红灯和数码管的倒计时显示,而且把握好五个状态转换的条件即可。实现起来也方便。二、设计分析根据设计思路可以把整体设计分为三个模块:1、分频模块:把实验板上的50MHz的频率分成1Hz信号(用于倒计时计数的时钟信号)、1kHz信号(用于数码管扫描显示的片选时钟信号)和2hz(用于黄灯的闪烁);2、交通灯控制以及倒计时(五个状态的控制)模块;3、数码管译码扫
4、描显示模块。整体的系统框图如下:段码输出位码输出1khz信号50Mhz信号分频2hz信号数码显1hz信号示模块七段译码数码管位选交通灯控制以及倒计时模块六个led灯输出分频模块,就是把输入的50MHz时钟频率50000分频得到1KHz的频率用于数码管的位选信号,其原理就是设计一个0到50000循环计数的的计数器,当计数溢出,即计数到50000时使输出量取反,就得到了1KHz的方波,作为数码管位选信号。同理,1Khz再经分频即可得到2hz(黄灯闪烁信号)和1hz(倒计时计数信号)。交通灯控制及倒计时模块,就是五个状态的转换模块,是整个系统的最主要模块,其五个状态分别st0、st1
5、、st2、st3、st4。其中st0是当支干道没有车通行的状态,st1是主干道绿灯亮45秒的状态,st2是主干道黄灯闪烁5秒的状态,st3是支干道亮绿灯25秒的状态,st4是支干道黄灯闪烁5秒的状态。当主干道亮绿灯和黄灯闪烁时,支干道都是亮红灯,当支干道亮绿灯和黄灯闪烁时,主干道都是亮红灯,并且主、支干道都会显示亮灯的倒计时时间,主、支干道的红黄绿灯用实验板上的的最左边三个和最右边三个LED发光二极管代替。数码管倒计时显示,是用实验板上的其中四个数码管,分别表示主干道和支干道的秒倒计时,动态扫描的频率用的是1KHz的频率。三、各模块电路符号如下:1、顶层电路图如下:图2-3顶层
6、文件原理图三、单元模块设计与仿真3.1时钟分频模块时钟分频模块就是把输入的2kHz时钟频率2000分频得到1Hz的频率用于数码管倒计时的时钟信号,其原理就是设计一个0到999循环计数的的计数器,当计数溢出,即计数到999时使输出量取反,则输出为0.5秒的高电平和0.5秒的低电平交替出现,就得到了1Hz的方波,作为秒倒计时的时钟信号。时钟分频模块生成的元件符号如下:2、分频模块实验板上的50Mhz频率经分频后得到1Khz、2hz、1hz三路信号。3、交通灯控制及计时模块此模块是整个系统的核心部分,主要功能是完成五个状态的转换,并且在每个状态里完成相应的控制作用,即控制主干道和支干
7、道的红黄绿灯的点亮和各自数码管倒计时显示。编程时主要是用一个进程语句,其敏感信号是时钟分频模块产生的1Hz时钟信号,进程里主要用case语句完成五个状态的控制,在每个状态里要控制主干道和支干道的红黄绿灯的点亮,而且要控制各自数码管倒计时的显示,并为扫描显示译码模块提供倒计时时间,同时要使每个状态结束时能顺利进入下一个状态。4、数码管显示译码和扫描模块此模块中含有七段数码管译码和扫描显示两个部分。其中clk1khz是输入的扫描时钟信号三、硬件验证结果1、引脚配置如下:2、硬件验证效果如下:说明
此文档下载收益归作者所有