基于EDA的交通灯控制系统设计
2018-08-20曾绍杰刘卫东周鑫淼祁佳兵王瑞东
曾绍杰 刘卫东 周鑫淼 祁佳兵 王瑞东
摘 要:本文基于EDA技术,设计一个交通信号灯控制器,可以在数码管上显示计时时间,并且控制十字路口绿灯、红灯、黄灯的亮灭。
关键词:EDA;数码管;交通灯
DOI:10.16640/j.cnki.37-1222/t.2018.14.141
0 引言
目前许多交通灯控制系统是基于单片机的控制,本文设计一种基于EDA技术的交通灯控制系统,来实现对十字路口交通灯的控制。
1 系统设计要求
十字路口由一条主干道和一条支干道汇合而成,在每个入口处设置红、绿、黄三色信号灯,红灯亮表示禁止通行,绿灯亮表示允许通行,黄灯亮则给行驶中的车辆有时间停留在禁行线外。主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时显示电路。在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,并设立5秒计时、显示电路。
2 系统设计方案
本文采用有限状态机的方法来实现该交通灯控制器,该方法的优点在于简单易用,状态之间的关系清晰直观。
依据设计要求,主干道方向和支干道方向交通灯共有四种状态,设为S0、S1、S2、S3,四种状态如表1所示。该系统的状态转换机如图2所示。
3 程序设计方法
本文系统程序设计时,先进行分频处理,产生秒方波。在每遇到一个秒方波的上升沿,当计数标志time1小于79时,time1加一,否则time1清零。并且在遇到秒方波上升沿时,把下一个状态赋给现态。当处于S0状态时,输出主干道和支干道的交通灯的状态,判断计数标志time1,决定是否进入S1状态,并对数据tm进行处理,在数码管上进行显示。当系统状态为S1、S2、S3时方法相同、源程序类似。产生位选信号,依次点亮数码管,同时把处理的数据送到数码管,进行倒计时,该系统的部分源程序如下。
(1)case current_state is when s0=>comb_out<="100001";
if time1=44 then next_state<=s1;else next_state<=s0;end if;
tm:=44-conv_integer(time1);tm1:=49-conv_integer(time1);
if(tm<45 and tm>39)then
th<="0100";tl<=conv_std_logic_vector(tm-40,4);
elsif(tm<40 and tm>29)then
th<="0011";tl<=conv_std_logic_vector(tm-30,4);
elsif(tm<30 and tm>19)then
th<="0010";tl<=conv_std_logic_vector(tm-20,4);
elsif(tm<20 and tm>9)then
th<="0001";tl<=conv_std_logic_vector(tm-10,4);
else th<="0000";tl<=conv_std_logic_vector(tm,4);end if;
(2)case sel is when "000"=>ot1<="01111";
if(time1>=0 and time1<=49)then num<=th1;
elsif(time1>=50 and time1<=74)then num<=th;
else ot1(4)<='1'; end if;
when "001"=>ot1<="10111";
if(time1>=0 and time1<=49)then num<=tl1;
elsif(time1>=50 and time1<=74)then num<=tl;
else ot1(3)<='1;end if;
(3)case num is
when"0000"=>ot<="0111111";when"0001"=>ot<="0000110";
when"0010"=>ot<="1011011";when"0011"=>ot<="1001111";
when"0100"=>ot<="1100110";when"0101"=>ot<="1101101";
when"0110"=>ot<="1111101";when"0111"=>ot<="0000111";
when"1000"=>ot<="1111111";when"1001"=>ot<="1101111";
when others=>null;end case;
利用EDA開发工具Quartus II对程序进行编译、逻辑综合、波形时序仿真,发现可以符合设计要求。将程序下载到硬件中,能完美的实现系统要求。
4 结语
本文系统提出了基于EDA技术的交通灯控制方案,该系统具有易于实现、便于修改、稳定等优点。传统的基于单片机的交通灯控制系统一般不稳定并且不利于扩展,本系统突破了单片机的种种限制,有较为广阔的发展前景。
参考文献:
[1]杨东,王学春.基于EDA的交通信号灯电路的设计与仿真[J].电子设计工程,2014,22(20):82-85.
[2]陈欢.基于EDA技术的交通灯控制器的设计[J].电子制作,2013(17):9.
[3]赵凯.一种基于EDA的智能交通灯设计[J].武汉工业学院学报,2009,28(01):53-56.
[4]杨显富.基于EDA技术的交通灯自适应控制系统[J].成都大学学报(自然科学版),2003(03):19-24.