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

  • 基于VHDL的交通灯控制器设计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计