基于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程序如下:
评论