基于EDA技术智能交通信号灯设计

合集下载

基于EDA的交通信号灯电路的设计与仿真

基于EDA的交通信号灯电路的设计与仿真

基于EDA的交通信号灯电路的设计与仿真传统的交通信号灯控制电路的设计是基于中、小规模集成电路,电路元件多、焊接复杂、故障率高、可靠性低,而且控制系统的功能扩展及调试都需要硬件电路的支持,为日常维护和管理增加了难度。

目前很多城市的交通信号灯还是应用传统的电路设计,一旦交通信号灯出现故障,不能及时维修和处理,势必会造成道路的交通混乱。

通过技术的改进,采用基于EDA技术的交通信号灯控制电路弥补了传统设计中的缺点,通过VHDL语言编写系统控制程序,利用软件控制整个系统的硬件电路,还可以利用EDA集成开发环境对交通信号灯的设计进行仿真,验证设计结果是否实现。

改进后的交通信号灯电路组成元器件少,可靠性高,操作简单,实现可扩展功能。

1 交通信号灯控制电路1.1 交通信号灯工作原理基于FPGA的交通信号灯控制电路主要用于甲乙两条车道汇合点形成的十字交叉路口,甲乙两车道各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序的通行。

两组红绿灯分别对两个方向上的交通运行状态进行管理,红灯亮表示该道路禁止通行,黄灯表示停车,绿灯表示可以通行;倒计时显示器是用来显示允许通行或禁止通行的时间,以倒计时方式显示交通灯闪亮持续时间。

为每个灯的闪亮状态设置一个初始值,指示灯状态改变后,开始按照初始值倒计时,倒计时归零后,灯的状态将会改变至下一个状态。

交通灯两车道的指示灯闪亮状态是相关的,每个方向的灯闪亮状态影响着另一个方向的指示灯闪亮状态,这样才能够协调两个方向的车流。

甲乙两车道交通灯工作状态如表1所示,其中“1”代表点亮,“0”代表熄灭。

当甲车道绿灯亮时,乙车道对应红灯亮,由绿灯转换红灯的过渡阶段黄灯亮。

同理,乙车道绿灯亮时,甲车道的交通灯也遵循此规则。

当出现特殊情况时,各方向均亮红灯,倒计时停止,特殊运行状态结束后,控制器恢复原来状态,继续运行。

1.2 交通信号灯电路结构根据交叉路口交通灯工作原理,图1为交通信号灯控制电路的原理图。

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

交通灯控制器设计一.系统功能设计要求设计制作一个用于十字路口的交通灯控制器,要求如下:(1)南北和东西方向各有一组红、绿、黄灯来指挥交通,持续时间分别为25S,20S,和5S。

(2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止。

(3)当特殊情况结束后,控制器恢复原来状态,继续正常运行。

(4)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。

二.设计原理1.交通灯控制器的状态转换根据题目要求将将红绿灯的状态转换列成如下表:2.设计方案1)由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为50MHZ。

2)控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

3)每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

4)显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。

三.变量符号说明其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4为数码管地址选择信号输出端。

四.代码说明library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Hongld ISport (clk1k,SN:in std_logic; --SN紧急情况led1, led2, led3, led4 :out std_logic_vector (6 downto 0);--显示管显示时间用light:out std_logic_vector (5 downto 0)); --红绿黄灯end Hongld;architecture traffic1 of Hongld ISsignal S:std_logic_vector (1 downto 0); --状态signal DXT:std_logic_vector(7 downto 0):=X"01"; --东西方向时间signal NBX:std_logic_vector(7 downto 0):=X"01"; --南北方向时间signal ART,AGT,AYT,BRT,BGT,BYT: std_logic_vector(7 downto 0); --红绿黄灯信号signal temp: integer range 0 to 49999999; --产生1s计数器时计数signal clk: std_logic;beginART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k) -- 选频率为50MHZ beginif (clk1k'event and clk1k='1') thenif temp=49999999 thentemp<=0;clk<='1';elsetemp<=temp+1;clk<='0';end if;end if;end process;process(clk,DXT,NBX) --状态转换进程beginif clk'event and clk ='1' thenif(DXT ="00000001")OR (NBX = "00000001") then S<=S+1;else S<=S;end if; --状态转换结束end if;end process;process (clk,SN,S) --倒计时模块beginif SN = '1' then DXT<=DXT; NBX<=NBX;elseif clk'event and clk='1' thenif (DXT="0000000") OR (NBX="00000000") thencase S ISwhen "00"=>DXT<=ART; NBX<=BGT; --南北红灯、东西绿灯when "01"=>NBX<=BYT; --南北红灯、东西黄灯when "10"=>DXT<=AGT; NBX<=BRT; --南北绿灯、东西红灯when "11"=>DXT<=AYT; --南北黄灯、东西红灯when others=>NULL;end case;end if;if DXT/="00000000" thenif DXT(3 downto 0)= "0000" thenDXT(3 downto 0)<="1001";DXT(7 downto 4)<=DXT(7 downto 4)-1;else DXT(3 downto 0)<=DXT(3 downto 0)-1;DXT(7 downto 4)<=DXT(7 downto 4);end if;end if;if NBX/="00000000" thenif NBX(3 downto 0)="0000" thenNBX(3 downto 0)<="1001";NBX(7 downto 4)<=NBX(7 downto 4)-1;else NBX(3 downto 0)<=NBX(3 downto 0)-1;NBX(7 downto 4)<=NBX(7 downto 4);end if;end if;end if;end if;end process; --倒计时模块结束process(DXT,NBX,S,SN) --显示模块begincase NBX(3 downto 0) iswhen "0000"=>led1<="1000000";when "0010"=>led1<="0100100"; when "0011"=>led1<="0110000"; when "0100"=>led1<="0011001"; when "0101"=>led1<="0010010"; when "0110"=>led1<="0000010"; when "0111"=>led1<="1111000"; when "1000"=>led1<="0000000"; when "1001"=>led1<="0010000"; when others=>led1<="1111111"; end case;case NBX(7 downto 4) iswhen "0000"=>led2<="1000000"; when "0001"=>led2<="1111001"; when "0010"=>led2<="0100100"; when "0011"=>led2<="0110000"; when "0100"=>led2<="0011001"; when "0101"=>led2<="0010010"; when "0110"=>led2<="0000010"; when "0111"=>led2<="1111000"; when "1000"=>led2<="0000000"; when "1001"=>led2<="0010000"; when others=>led2<="1111111"; end case;case DXT(3 downto 0) iswhen "0000"=>led3<="1000000"; when "0001"=>led3<="1111001"; when "0010"=>led3<="0100100"; when "0011"=>led3<="0110000"; when "0100"=>led3<="0011001"; when "0101"=>led3<="0010010"; when "0110"=>led3<="0000010"; when "0111"=>led3<="1111000"; when "1000"=>led3<="0000000"; when "1001"=>led3<="0010000"; when others=>led3<="1111111"; end case;case DXT(7 downto 4) iswhen "0000"=>led4<="1000000"; when "0001"=>led4<="1111001"; when "0010"=>led4<="0100100";when "0100"=>led4<="0011001";when "0101"=>led4<="0010010";when "0110"=>led4<="0000010";when "0111"=>led4<="1111000";when "1000"=>led4<="0000000";when "1001"=>led4<="0010000";when others=>led4<="1111111";end case;if SN ='1' then light<="001001";elsecase S ISwhen "00"=>light<="010001";when "01"=> light <="100001";when "10"=> light <="001010";when "11"=> light <="001100";when others=>NULL;end case;end if;end process;end traffic1;五.仿真波形图仿真时序波形图。

EDA课程设计-交通信号灯

EDA课程设计-交通信号灯

EDA技术课程设计报告交通灯控制器一、设计功能:实现高速公路与乡间小路的交叉路口红绿灯的控制二、具体功能要求:1、只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。

2、当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的延迟时间。

(注:这段时间定义为20秒时间)3、高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定时间内保持高速公路绿灯。

(注:这段时间定义为60秒时间)4、原理框图如下:A B C D高速交通灯绿(60秒)黄(5秒)红(20秒)红(5秒)小道交通灯红红绿黄三、参考设计方案:图2 交通信号灯控制器的原理框图采用VHDL语言输入的方式实现交通信号灯控制器图3 交通信号灯控制器程序原理框图该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。

进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。

计数器驱动脉冲如图所示:四、编写相应源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED. ALL;ENTITY CONTRALZ ISPORT(CLK:IN STD_LOGIC;RA,GA,YA:OUT STD_LOGIC;TIMEAH,TIMEAL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CONTRALZ;ARCHITECTURE BHV OF CONTRALZ ISTYPE RG IS (GREEN,RED,YELLOW2);BEGINPROCESS(CLK)VARIABLE A:STD_LOGIC;VARIABLE TH,TL:STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE STATE:RG;BEGINIF CLK'EVENT AND CLK='1'THEN CASE STATE ISWHEN GREEN=>IF A='0'THEN TH:="0101";TL:="1001";A:='1';GA<='1';RA<='0';YA<='0';ELSE IFNOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSETH:="0000";TL:="0000";A:='0';STATE:=RED;END IF;END IF;WHEN RED=>IF A='0'THEN TH:="0001";TL:="1001";A:='1';RA<='1';YA<='0';GA<='0';ELSE IFNOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSETL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';RA<='0';GA<='0';STATE:=YELLOW2;END IF;END IF;WHEN YELLOW2=>IF A='0'THEN TH:="0000";TL:="0101";A:='1';YA<='1';GA<='0';RA<='0';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="0101";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";GA<='0';RA<='0';YA<='0';A:='0';STATE:=RED;END IF;END IF;END CASE;END IF; TIMEAH<=TH;TIMEAL<=TL;END PROCESS;END BHV;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CONTRALX ISPORT(CLK:IN STD_LOGIC;RB,GB,YB,CHU:OUT STD_LOGIC;TIMEAH,TIMEAL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END CONTRALX;ARCHITECTURE BHV OF CONTRALX ISTYPE RGY IS(RED,YELLOW1,GREEN,YELLOW2);BEGIN PROCESS(CLK)VARIABLE A:STD_LOGIC;VARIABLE TH,TL:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE STATE:RGY;BEGIN IF CLK'EVENT AND CLK='1'THEN CASE STATE ISWHEN YELLOW1=>IF A='0'THEN TH:="0000";TL:="0100";A:='1';YB<='1';GB<='0';RB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=GREEN;END IF;END IF;WHEN GREEN=>IF A='0'THEN TH:="0001";TL:="1001";A:='1';GB<='1';RB<='0';YB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=YELLOW2;END IF;END IF;WHEN RED=>IF A='0'THEN TH:="0101";TL:="0100";A:='1';RB<='1';YB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001")THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';STATE:=YELLOW1;END IF;END IF;WHEN YELLOW2=>IF A='0'THEN TH:="0000";TL:="0100";A:='1';YB<='1';GB<='0';RB<='0';CHU<='1';ELSE IF NOT(TH="0000"AND TL="0001") THEN IF TL="0000"THEN TL:="1001";TH:=TH-1;ELSE TL:=TL-1;END IF;ELSE TH:="0000";TL:="0000";A:='0';CHU<='0';STATE:=RED;END IF;END IF;END CASE;END IF;TIMEAH<=TH;TIMEAL<=TL;END PROCESS;END BHV;五、对源程序进行编译及仿真1、对程序进行编译,结果如下图:2、用waveform对程序进行波形仿真,结果如下图:六、设计思路在听完课程设计指导课前,我们对交通灯的程序设计思路基本上可以称得上是一片茫然,在听完课后虽然有个大致的思路,但还是不知道具体要怎么实施,于是我们开始去图书馆寻找参考书。

EDA交通灯课程设计

EDA交通灯课程设计

EDA 交通灯课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握交通灯系统的原理与设计流程。

2. 学生能够运用所学知识,设计并实现一个具备基本功能的交通灯控制系统。

3. 学生了解交通灯控制系统在实际应用中的重要性,理解不同颜色灯亮灭的时间间隔及其意义。

技能目标:1. 学生能够运用EDA软件进行电路设计,完成交通灯控制系统的原理图与PCB布线图绘制。

2. 学生能够通过编程实现对交通灯控制系统的仿真与调试,解决简单问题。

3. 学生能够运用团队协作、沟通技巧,共同完成课程设计任务,提高实践操作能力。

情感态度价值观目标:1. 学生培养对电子设计自动化技术的兴趣,激发创新意识和探索精神。

2. 学生通过实践操作,培养动手能力、问题解决能力和自主学习能力。

3. 学生认识到遵守交通规则的重要性,增强社会责任感和安全意识。

课程性质:本课程设计为实践性课程,注重培养学生的动手能力和团队协作能力。

学生特点:初三学生,具有一定电子基础知识,好奇心强,喜欢动手实践。

教学要求:结合学生特点,课程设计应注重理论与实践相结合,鼓励学生自主探究和团队协作,提高学生的综合能力。

通过分解课程目标为具体学习成果,使学生在完成课程设计的过程中达到预期目标。

二、教学内容1. 电子设计自动化(EDA)基本原理介绍:包括EDA的概念、发展历程、应用领域。

2. 交通灯控制系统原理:讲解交通灯的工作原理、控制逻辑、信号灯颜色时间设置。

3. EDA软件操作:学习并掌握EDA软件的使用,如原理图绘制、PCB布线图设计。

4. 交通灯控制系统设计:根据实际需求,设计具备基本功能的交通灯控制系统。

- 知识点:数字电路、逻辑门、时序逻辑、微控制器应用。

- 教材章节:第四章 电子设计自动化,第三节 数字电路设计。

5. 编程与仿真:学习编程实现对交通灯控制系统的仿真与调试。

- 知识点:基础编程知识、仿真软件使用。

- 教材章节:第五章 嵌入式系统设计,第一节 嵌入式编程基础。

eda交通控制灯课程设计

eda交通控制灯课程设计

eda 交通控制灯课程设计一、课程目标知识目标:1. 学生能够理解并掌握交通控制灯(红绿灯)的基本原理和工作机制。

2. 学生能够描述EDA(电子设计自动化)工具在交通控制灯设计中的应用。

3. 学生能够解释交通控制灯系统中涉及的基础电子元件及其功能。

技能目标:1. 学生能够运用EDA软件完成交通控制灯电路图的绘制。

2. 学生能够通过编程实现对交通控制灯系统的简单控制逻辑。

3. 学生能够运用团队协作和问题解决技能,设计和优化交通控制灯系统。

情感态度价值观目标:1. 培养学生对电子工程领域的兴趣,激发创新意识和探索精神。

2. 增强学生的环保意识和交通安全意识,认识到交通控制灯在现代社会中的重要性。

3. 培养学生的团队协作意识,学会尊重他人意见,共同解决问题。

课程性质:本课程结合了电子技术与实际应用,注重理论与实践相结合,以项目为导向,提升学生的综合技能。

学生特点:假设学生为初中年级,具有一定的电子元件知识基础,对新技术的学习充满好奇,具备基本的计算机操作能力。

教学要求:课程需注重实践性,通过互动式教学和团队协作,使学生在动手实践中理解和掌握知识,提高问题解决能力。

同时,强调安全意识和责任感,培养符合社会主义核心价值观的技能人才。

二、教学内容1. 交通控制灯基础知识:- 红绿灯工作原理介绍- 交通控制灯系统的组成与功能- 交通控制灯在交通安全中的作用2. EDA工具的应用:- EDA软件的认识与基本操作- 交通控制灯电路图的绘制方法- 电路仿真与调试技巧3. 交通控制灯电路设计与制作:- 基本电子元件的选择与应用- 交通控制灯控制逻辑的编写与实现- 电路板设计与焊接技巧4. 项目实践与优化:- 团队协作设计与制作交通控制灯系统- 控制逻辑优化与功能拓展- 作品展示与评价教学内容安排与进度:第一课时:交通控制灯基础知识学习第二课时:EDA软件的认识与基本操作第三课时:交通控制灯电路图绘制与仿真第四课时:电路设计与制作第五课时:项目实践与优化第六课时:作品展示与评价教材章节关联:教学内容与教材中“电子技术应用”章节相关,涉及电子元件、电路设计、EDA工具应用等方面的知识。

EDA实验交通灯设计报告

EDA实验交通灯设计报告

EDA原理及应用实验报告题目:交通灯控制器专业:电子信息工程班级:姓名:学号:一、设计题目:交通灯控制器二、设计目标:1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

2、红、绿、黄发光二极管作信号灯。

3、主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。

5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

三、设计原理:(含系统总的原理图)由两个分频器模块,三个计数器模块及它的选择器,一个扫描数码管模块,和一个红绿灯控制模块连接而成。

RTL状态图四、设计内容:(含状态转换图、软件流程图、说明文字等,每单独模块的图标和VHDL程序;最后为总体程序框图)分频器1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT(CLK:IN STD_LOGIC;--D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);FOUT:OUT STD_LOGIC);END;ARCHITECTURE one OF DVF ISSIGNAL FULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)V ARIABLE CNT8:INTEGER RANGE 48000000 DOWNTO 0;BEGINIF CLK'EVENT AND CLK='1' THENIF CNT8=24000000 THENCNT8:=0;FULL<='1';ELSE CNT8:=CNT8+1;FULL<='0';END IF;END IF;END PROCESS P_REG;P_DIV:PROCESS(FULL)V ARIABLE CNT2:STD_LOGIC;BEGINIF FULL'EVENT AND FULL='1' THENCNT2:=NOT CNT2;IF CNT2='1' THEN FOUT<='1';ELSE FOUT<='0';END IF;END IF;END PROCESS P_DIV;END;说明:采用的是48M时钟输入,作为后面的时钟信号。

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文交通信号灯控制电路设计一、概述城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。

目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。

特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。

因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。

交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。

交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来红黄绿支红代替信号灯的一种实际电路。

设计一个基于FPGA的红绿灯交通信号控制器。

假设某个十干黄绿道字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。

黄灯亮允许行驶中车辆有时间停靠到禁止线以外。

第-1-页共18页二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。

红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。

电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。

下面给出各模块的VHDL设计过程和仿真结果。

1、系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。

因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

基于EDA技术的交通灯控制器设计

基于EDA技术的交通灯控制器设计

基于EDA技术的交通灯控制器设计
目前,人们的出行几乎无处不遇到交通灯的存在,随着汽车出行的重要性日益凸显,对交通灯的控制也需要更具灵活性和智能性。

EDA技术在交通灯控制方面前景明朗。

通过EDA技术以达到更加准确可靠的交通灯控控制,有效地提高交通灯的控制效率。

核心原理是将传统模糊控制和多层次精细控制结合起来,以便对交通灯状态进行多层次智能控制。

传统模糊控制有效解决实时交通状态变化响应性过快或过慢的问题,而多层次精细控制通过智能分析实时信息,使得交通控制更加准确可靠。

EDA技术在交通灯控制中应用,其核心技术就是实时数据的采集、存储、和处理。

可通过对街路、红绿灯等交通相关信息实时监控,从而调整交通流量及交通灯循环,有效提升交通灯的控制效能。

此外,EDA技术还可以应用在交通灯的可靠性上,例如可以进行故障诊断,实现交通灯的远程管理维护。

EDA技术应用于交通灯的控制,既可以让其变得灵活高效,又可以有效提升交通灯的可靠性和安全性,大大减少交通拥堵以及不必要的交通事故。

同时,基于EDA的交通灯控制器设计能够让其更加智能便捷,可在全国范围内带来更多的便利。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于EDA技术的智能交通信号灯的设计
摘要:基于eda技术,设计一个交通十字路口的智能控制系统。

控制系统由vhdl硬件语言编写,完成十字路口支路和干路上人行横道的红、绿、黄交通灯的运行控制,并且通过对相应路段的车数量检测,智能化地对绿灯的延时进行改变。

关键词:eda;vhdl语言;可编程逻辑器件;交通灯控制系统
引言:随着城市的日新月异,私人汽车数量的不断增加,交通灯的运行模式和管制变得越来越重要,智能数字化信息为基础建立起的数字化城市不断的发展。

随着数字电子技术的发展,当前数字系统的设计正向着速度快、容量大、体积小、重量轻的轨道上发展。

现代化城市交通作为城市发展的一个重要问题引起人们的注意,智能交通灯控制系统也是应用电子技术中较为经典的设计。

就目前而言尚存在一系列问题待解决,例如实际路口搭建的交通灯种类多、程序结构较复杂、数量较多等问题。

传统的电子设计方法电路应用元器件多、接线较复杂、故障率很高、系统维护不方便。

eda (electronic design automation)技术近年来不断发展,该技术不但可以大部分替代设计者完成设计中的工作,而且可以从程序中直接修改系统功能及错误,大大的缩短了研发周期,节约了成本。

本文采用eda技术,基于vhdl语言,利用可编程逻辑器件(fpga)器件通过quartusⅱ软件的功能仿真和调试,完成整个的系统设计。

表现出了eda 技术的优越性。

不仅使系统设计的产品集成化、小型化,而且最重要的是提高了系统的故障率,由于系统具有可编程的
优点,从而大大降低设计成本费用、缩短了开发周期、方便进行产品的维修以及系统的升级。

系统总体功能描述:交通灯控制系统是每个城市必须的基础设施,对人、车、路三者进行调控。

根据交通规则的规定,来设计完成东西方向和南北方向的显示时间功能和交通指示灯控制。

在一个有一条主干道和一条支干道的实际十字路口,每条干道的每个入口设置了一组两位数码管显示装置和一组绿、红、黄信号指示灯,分别用来显示直行、左右转弯、禁止通行的通行信息,确保车辆安全通行。

一、设计要求:
(1)具有进行系统初始化的功能,起初每个路口都显示红灯10秒(可根据实际情况进行调试),然后所有路口均闪亮黄灯5秒(可调),所有数码管熄灭指示灯,从而系统完成初始化并进入周期性的循环控制状态。

(2)具有规律且稳定的周期性循环指示状态,循环周期为140秒。

东西左转弯、南北方向禁行时为状态w0,状态时间为25s;东西左转弯、南北方向禁行时为状态w1,状态时间为5s;东西方向直行、南北方向禁行时为状态w2,状态时间为35s;东西方向直行、南北方向禁行时为状态w3,状态时间为5s;南北左转弯、东西方向禁行时为状态w4,状态时间为20s;南北左转弯、东西方向禁行时为状态w5,状态时间为5s;南北方向直行、东西方向禁行时为状态w6,状态时间为35s;南北方向直行、东西方向禁行时为
状态w7,状态时间为5s。

(3)交通灯控制系统能够实现秒表倒计时功能。

(4)遇见紧急状态时,具有实现特殊状态的紧急功能显示控制,即所有路口指示灯都显示红灯,直到人为的解除该状态,使之进入正常周期性循序工作。

(5)交通灯控制系统要有相应的抗干扰措施,来应对不同环境的影响,提高其可靠性。

二、硬件系统的总体设计各模块的功能
各模块功能如下:
(1)clk时钟模块。

clk信号发生模块采用分频计数器来发出准确的秒脉冲信号,为控制模块提供准确的时钟脉冲信号。

(2)交通灯控制模块。

交通灯控制模块用于控制干路、支路的交通灯状态和倒计时显示内容,来显示交通灯控制状态表中的数据,完成交通的布控。

(3)数据显示可控模块。

数据显示可控模块用于选择和控制时间的动态显示。

(4)译码管驱动模块。

译码管驱动模块用于驱动数码管进行倒计时输出显示。

(5)状态显示模块。

对交通灯的状态显示。

(6)倒计时显示模块。

显示保持交通灯目前的状态剩余时间。

三、系统设计
根据十字路口位置情况,该路口的东、西方向的交通灯的亮灭和
数码管显示的运行规律相同,南、北方向的交通灯亮灭和数码管显示的运的运行规律相同,因此,可以省去一半的输出控制线。

本文采用目前成熟先进的eda技术,基于vhdl 硬件描述语言,采用fpga芯片作为硬件电路,完全胜任本设计系统的需要。

芯片中内部主要由初始化电路、分频、求模取余、译码函数、计数状态译码、位选扫描等7 个模块组成,
其中,reset 为复位控制端,clk 时钟信号为12mhz , spec为特殊状态控制端,输出端口ns[8. . 0]为南北方向的两组红、黄、绿六个指示灯,we[8. . 0]为东西方向的两组组红、绿、黄六个指示灯,ns - led[ 6. . 0]为南北方向路口的数码管段码端,we - led[ 6. . 0]为控制东西路口的数码管段码端口,sel[ 1. . 0]为译码管的公共位选端。

四、程序设计
应用的fpga芯片中的信号处理功能,只需借助vhdl 硬件描述语言即可实现。

其中的七个不同模块分别由不同的进程(process)来完成。

分频模块主要功能是将12mhz的clk时钟信号分频成为500hz 和1hz不同的两种信号。

其中一个0.5khz的时钟信号用作系统的位选时钟,并生成系统扫描位选信号;另一个1hz 的clk时钟信号用于控制系统的计数处理。

系统的初始化电路功能主要是实现交通灯控制系统进入循环运行的工作状态,该电路主要实现15秒的初始化计数过程,完成初始化计数过程后系统便生成一个控制信号en (高电平有效),传送到后面的模为140的循环计数电路。

本设计利用quartusii集成的开发系统对系统的初始化电路及整个控制系统进行了功能仿真。

由图可知,复位端reset能控制初始化电路模块,其时间长度为15秒。

初始化任务完成以后,高电平有效的使能信号en便输出各循环系统。

当系统完成系统的初始化之后,主控循环计数电路模块便对1hz 时钟信号进行模为140 的循环计数,输出共140个十进制数为0,1,2 到139。

各个计数状态经主控模块进行译码之后,一部分转换为东西方向、南北方向的红、绿、黄共12个指示信号,另一部分转换为东西、南北方向的倒计时两位十进制数码显示。

之后将上面提到的的东西方向ns - d、南北方向的数码显示值we - d,并通过模为10逻辑运算即可得到相应方向显示数码的十进制数的十位数字字显示值,通过除十取余的逻辑运算即便可生成相应方向的数码管显示数码的个位数字。

最后将0,1,2到9这些数字传送至代码转换函数(function)。

即可转换为相应数字的段码值,进行倒计时的显示。

五、实物测试
本文利用北京r&c百科融创公司的eda实验箱,并设计了相应的高亮led 交通灯指示模拟电路板以及数码显示模拟电路板,通过扩展导线将eda实验箱与外部电路板进行连接,将程序下载到芯片ep1k10tc100 -3进行实物模拟调试。

经过仿真后,本系统达到了预期的设计要求,实现了对十字路口交通指示信号的智能运行控制。

六、结束语
本文用led交通灯指示模拟电路板以及数码管显示模拟电路板和eda技术、基于vhdl语言及fpga芯片。

系统功能完备,成本低,运行可靠。

并在编程过程中充分考虑并利用了时钟电路的计数状态所对应的信息,实现了十字路口(特别是人交通拥堵、交通灯种类较多、数量也多)的交通灯的运行控制。

系统仿真分析证明,本系统设计是成功的和符合实际的。

不过在本次设计中也意识到存在着一些不足,比如在人机交互方面增加一些控制模块,则可以实现管理者的手工调整交通灯的运行状态及系统的升级。

参考文献:
[1]罗勇,韩晓军.基于fpga的交通灯控制与实现[j].电子器件,2008,6:76-78.
[2]杨显富.基于eda技术的交通灯自适应控制系统[j].成都大学学报:自然科学版,2003,3:19-24.
[3]文畅.基于fpgapcpld和vhdl语言的交通灯控制系统设计[j].电脑知识与技术,2007,9:1605-1618.
[3]黄健,谭咏梅.基于cpld的交通控制系统设计,工业控制与应用,2010(8).
[4]徐大诏.基于vhdl语言有限状态机的交通灯控制系统设计,电脑知识与技术,2009(5).
[5]唐俊英,韩会山,刘晓利.eda技术应用实例教程,北京:电子工业出版社,2008.
[6]包明,赵明富,陈渝光.eda技术与数字系统设计[m]北京:北
京航空航天大学出版社,2002
[7]冯涛,王程.可编程逻辑器件开发技术—max+plus ii入门与提高[m]北京:人民邮电出版社,2002
[8]房德君.智能交通灯控制装置[j]山东工程学院学报,1998 ,12 (4):27~30
[9]李国丽.用pld芯片和ahdl语言进行交通灯控制器设计[j ]合肥工业大学学报(自然科学版),2002,25(4):545~548 [10]张文洁,叶紫.交通灯控制器设计:fpga/ cpld实现小型数字系统的应用分析[j]电子技术应用,2001,27(11):52~54
作者简介:
杨荣(1971年10月7日),男,汉族,安徽宿州人,工程硕士,就职于西安航空职业技术学院科研处,助理研究员,研究方向:教育教学管理及工程技术应用。

相关文档
最新文档