基于VHDL的交通灯控制器设计方案、源程序与仿真分析介绍

描述

应用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设计交通灯控制器,外围电路少、功耗低、可靠性高,便于系统功能的修改,设计效率高。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分