应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率。下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果。
1 系统功能与要求
交通灯控制器控制两个主干道交叉路口的交通,路口车辆多,直行信号、左转弯信号分开显示,a,b两个主干道的通行时间相等,其中指示直行的绿灯亮30 s,指示左转弯的绿灯亮12 s,绿灯变至红灯时,黄灯亮3 s,以便于车辆能停在停车线内,红灯信号的最后3 s相应的黄灯也同时亮,以便提示驾驶人员准备起步。在两个主干道路口都配备传感器用来检测有无车辆通行。当两个主干道都有车辆时,自动处于主干道a绿灯,主干道b红灯的状态,然后轮流切换通行。当主干道a无车辆时,自动处于主干道b绿灯,主干道a红灯的状态;反之亦然,以提高通行效率。
2 设计与仿真
根据交通灯控制器的功能与要求,将其总体电路分为分频器、信号控制器两个模块。外部脉冲振荡器的频率选为32 768 kHz,经分频器分频得1 Hz的信号,1 Hz信号用做信号控制器的计数脉冲,用VHDL设计组成交通灯控制器的分频器、信号控制器两个模块,在QuartusⅡ开发平台上,分别编译两个模块的VHDL程序,然后用原理图输入法形成图1所示的总体框图。
其中信号控制器的VHDL程序如下:
其中,Sa,Sb分别是a,b路口传感器的信号,aR,aY,aG,aLR,aLY,aLG分别代表控制主干道a的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;bR,bY,bG,bLR,bLY,bLG分别代表控制主干道b的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;aPR,aPG,bPR,bPG是人行道信号,enl是使能信号。enl=0时a,b两路口红灯同时亮,便于处理特殊情况。用QuartusⅡ对程序编译、仿真,得到的仿真波形如图2所示,经程序下载、实验验证,系统功能符合要求。
基于VHDL设计交通灯控制器,外围电路少、功耗低、可靠性高,便于系统功能的修改,设计效率高。
-
控制器
+关注
关注
112文章
16487浏览量
179796 -
仿真
+关注
关注
50文章
4134浏览量
134125 -
vhdl
+关注
关注
30文章
818浏览量
128455
发布评论请先 登录
相关推荐
基于VHDL怎么实现交通灯控制器?
如何对基于51单片机交通灯程序进行设计与仿真
基于单片机的交通灯信号控制器设计(含源程序和电路图)
![基于单片机的<b class='flag-5'>交通灯</b>信号<b class='flag-5'>控制器</b>设计(含<b class='flag-5'>源程序</b>和电路图)](https://file1.elecfans.com//web2/M00/A4/F7/wKgZomUMNmKAWVDtAAEZyTUu9dE525.jpg)
基于VHDL的交通灯控制器设计
![基于<b class='flag-5'>VHDL</b>的<b class='flag-5'>交通灯</b><b class='flag-5'>控制器</b>设计](https://file1.elecfans.com//web2/M00/A6/39/wKgZomUMPFyALiZlAAANuoX7540791.jpg)
基于PLD和AHDL的交通灯控制器设计
使用AT89S51单片机进行交通灯控制器的仿真与实现
![使用AT89S51单片机进行<b class='flag-5'>交通灯</b><b class='flag-5'>控制器</b>的<b class='flag-5'>仿真</b>与实现](https://file.elecfans.com/web1/M00/A6/BE/o4YBAF2AkAOAZsR3AAiI-MnPmu0153.png)
评论