天天看点

eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率。下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果。

1 系统功能与要求

交通灯控制器控制两个主干道交叉路口的交通,路口车辆多,直行信号、左转弯信号分开显示,a,b两个主干道的通行时间相等,其中指示直行的绿灯亮30s,指示左转弯的绿灯亮12s,绿灯变至红灯时,黄灯亮3s,以便于车辆能停在停车线内,红灯信号的最后3s相应的黄灯也同时亮,以便提示驾驶人员准备起步。在两个主干道路口都配备传感器用来检测有无车辆通行。当两个主干道都有车辆时,自动处于主干道a绿灯,主干道b红灯的状态,然后轮流切换通行。当主干道a无车辆时,自动处于主干道b绿灯,主干道a红灯的状态;反之亦然,以提高通行效率。

2 设计与仿真

根据交通灯控制器的功能与要求,将其总体电路分为分频器、信号控制器两个模块。外部脉冲振荡器的频率选为32768kHz,经分频器分频得1Hz的信号,1Hz信号用做信号控制器的计数脉冲,用VHDL设计组成交通灯控制器的分频器、信号控制器两个模块,在QuartusⅡ开发平台上,分别编译两个模块的VHDL程序,然后用原理图输入法形成图1所示的总体框图。

eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

图1 交通灯控器制总体框图

其中信号控制器的VHDL程序如下:

eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计
eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

其中,Sa,Sb分别是a,b路口传感器的信号,aR,aY,aG,aLR,aLY,aLG分别代表控制主干道a的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;bR,bY,bG,bLR,bLY,bLG分别代表控制主干道b的直行红灯、黄灯、绿灯,左转弯红灯、黄灯、绿灯的信号;aPR,aPG,bPR,bPG是人行道信号,en1是使能信号。en1=0时a,b两路口红灯同时亮,便于处理特殊情况。用QuartusⅡ对程序编译、仿真,得到的仿真波形如图2所示,经程序下载、实验验证,系统功能符合要求。

eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

图2 信号控制器的仿真波形

基于VHDL设计交通灯控制器,外围电路少、功耗低、可靠性高,便于系统功能的修改,设计效率高。