陈艳红(茶陵县职业中等专业学校湖南茶陵412400)
【摘要】分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。
【关键词】城市交通;交通灯;要求
1.引言
随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。我们在EDA技术的基础上,利用FPGA的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过QUARTUSⅡ软件进行了模拟仿真,并下载到FPGA器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。
2.交通灯控制系统设计
2.1系统设计要求;所设计的交通信号灯控制电路,主要适用于在两条干道汇合点形成的十字交叉路口,路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。交通灯的持续闪亮时间由程序输入控制,应急时间由键盘输入控制。具体要求。
2.1.1输入电源:DC5V。
2.1.2工作方式并行进行的,南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮;
2.1.3东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。
2.1.4十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间。具体为:①设计一个十字路口的交通灯控制电路,要求东西车道和南北车道两条交叉道路上的车辆交替运行,每次通行时间分别设为30秒、27秒。②要求黄灯先亮3秒,才能变换运行车道;③黄灯亮时,要求每秒钟闪亮一次。
【状态表】
2.2系统整体设计。
2.2.1交通灯控制系统原理框图设计。
【原理说明】
【原理说明】
该交通灯定时控制系统的组成框图如图所示。由状态控制器、状态译码器、减法计数器、除法器、秒脉冲发生等组成。
状态控制器主要用于记录十字路口交通灯的工作状态,通过状态译码器分别点亮相应状态的信号灯。
秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现减计数,控制每一种工作状态的持续时间。
减法计数器的回零脉冲使状态控制器完成状态转换,同时状态译码器根据系统下一个工作状态决定计数器下一次减计数的初始值。减法计数器的状态由BCD译码器译码、数码管显示。在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路,使红灯闪烁。
2.2.2交通灯控制系统顶层电路图。
交通灯控制系统顶层电路如下:
2.3主要功能模块设计及仿真。整个系统设计主要由分频模块、计数控制模块、扫描模块以及数码显示电路模块构成。
2.3.1分频模块设计;分频模块主要将系统输入的基准时钟信号转换为1Hz的激励信号,驱动计数模块和控制模块工作。还可根据设计要求改变分频的模,从而得到不同频率的信号。
【分频模块顶层电路图】
2.3.2计数控制器模块的设计。
计数器的设计。
【60进制加法计数器的vhdl】
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.all;
USEieee.std_logic_arith.all;
ENTITYjfjsq60IS
PORT(cl,en,clk:INSTD_LOGIC;
Q:inoutSTD_LOGIC_VECTOR(7DOWNTO0);
full:OUTSTD_LOGIC;
ENDjfjsq60;
ARCHITECTUREjsqOFjfjsq60IS
BEGIN
p1:process(clk,cl,en)
begin
IFcl='0'THEN
q<=“00000000”;
ELSIFen='0'THEN
q<=q;
ELSIFrising_edge(clk)Then
ifq=“01011001”then
q<=“00000000”;full<='1';
elseq<=q+1;full<='0';
endif;
endif;
endprocess;
ENDjsq;
【60进制加法计数器波形仿真报告】
控制模块的设计。
控制模块根据计数器的计数情况对交通灯的亮灭及持续时间进行控制,并将灯亮时间以倒计时的形式通过数码管显示出来,表示出现特殊情况,计数器暂停计数,各方向车辆都处于禁行状态。其包含了减法器、比较器、除法器、选择器等。
【控制模块顶层电路图】
扫描模块设计。
动态扫描模块也包含了除法器、选择器等。
【扫描模块顶层电路图】
显示模块设计。
【四位数码管显示电路原理图】
【四位数码管显示驱动电路设计文件vhdl】
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
USEieee.std_logic_arith.ALL;
ENTITYswsmgIS
PORT
(fastclk:INSTD_LOGIC;
jfjsq60:INSTD_LOGIC_VECTOR(7DOWNTO0);
jfq30:INSTD_LOGIC_VECTOR(7DOWNTO0);
sel:bufferSTD_LOGIC_VECTOR(3DOWNTO0);
dataout:OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDswsmg;
ARCHITECTUREaOFswsmgIS
SIGNALq:STD_LOGIC_VECTOR(1DOWNTO0);
SIGNALsw60,gw60,sw30,gw30:STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALdata:STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
sw60(3DOWNTO0)<=jfjsq60(7DOWNTO4);
gw60(3DOWNTO0)<=jfjsq60(3DOWNTO0);
sw30(3DOWNTO0)<=jfq30(7DOWNTO4);
gw30(3DOWNTO0)<=jfq30(3DOWNTO0);
process(fastclk)
begin
ifrising_edge(fastclk)then
ifq="11"then
q<="00";
else
q<=q+1;
endif;
endif;
endprocess;
process(q)
begin
caseqis
when"00"=>sel<="0111";data<=sw60(3DOWNTO0);
when"01"=>sel<="1011";data<=gw60(3DOWNTO0);
when"10"=>sel<="1101";data<=sw30(3DOWNTO0);
when"11"=>sel<="1110";data<=gw30(3DOWNTO0);
endcase;
endprocess;
process(data)
begin
casedatais
when"0000"=>dataout<="00111111";
when"0001"=>dataout<="00000110";
when"0010"=>dataout<="01011011";
when"0011"=>dataout<="01001111";
when"0100"=>dataout<="01100110";
when"0101"=>dataout<="01101101";
when"0110"=>dataout<="01111101";
when"0111"=>dataout<="00000111";
when"1000"=>dataout<="01111111";
when"1001"=>dataout<="01101111";
whenothers=>null;
endcase;
endprocess;
ENDa;
【四位数码管显示驱动电路符号图】
【四位数码管显示顶层电路图】
3.结束语
根据交通灯控制系统的逻辑电路,系统的主要逻辑设计由一片Cyclone公司的EP2c5T144C8芯片完成,编写的VHDL源程序在QUARTUSⅡ下经过编译和功能仿真测试后,针对下载芯片进行管脚配置,下载到EP2c5T144C8芯片中,进行相应的硬件调试,调试结果与软件仿真的结果相吻合,验证了设计完成了预定功能。
参考文献
[1]康华光电子技术基础-模拟部分.北京:高等教育出版社.2008-1.
[2]夏宇闻复杂数字电路与系统的Verilog-HDL设计技术.北京:北京航空航天大学出版社.1998.
[3]郝鸿安555集成电路实用电路集.上海:上海科学普及出版社,1989.
[4]周长源主编电路理论基础.北京:北京:高等教育出版社,1985.
[5]罗国新CMOS集成电路应用设计福建:福建科学技术出版社2004.10.
[6]李宏电力电子设备用器件与集成电路应用指南.北京:机械工业出版社.2001.9.
[7]劳动和社会保障部教材办公室组织编.数字集成电路应用基础.北京:中国劳动社会保障出版社.2005.7.