搜档网
当前位置:搜档网 › EDA课程设计——交通灯

EDA课程设计——交通灯

EDA课程设计——交通灯
EDA课程设计——交通灯

交通信号灯控制电路设计

一、概述

城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部

分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA 技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。

交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路。设计一个基于FPGA 的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。

本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL 语言编辑文本程序,按设计要求连接好线以后,进行波形仿真,仿真结果正确后下载程序并对试验箱进行调试,使其最终的显示结果符合设计要求。

二、方案设计与论证

在硬件时钟电路的基础上,采用分频器,输出一个1S 的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。 红绿灯交通灯控制器层次设计:

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

在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock )才能让系统正常运作。

红黄绿红黄绿主干道

支干道

但为了配合高峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通。Clk_gen电路最主要的功能就是产生一些额外的输出信号,并将其用做后续几个电路的使能(enable)控制与同步信号处理。

该电路的核心部分就是分频电路,通过对外接信号发生器提供1kHz的时钟信号进行1000分频,得到一个周期为1秒的输出使能信号ena_lhz(占空比1:1000)和flash_lhz(占空比1:1);4分频后得到红绿灯信号译码电路所需的频率为250Hz的显示使能信号

ena_scan。

architecture one of fenpingqi is

signal counter:integer range 0 to 4999999;

Begin

process (CLR,CLK)

Begin

if(CLK='1' and CLK'event) then

if CLR='1' then

counter<=0;

elsif counter =4999999 then

counter<=0;

q<=not q;

else

counter<=counter+1;

end if;

end if;

end process;

end one;

2、开关控制部分的ASM图

i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。

X<=i&j&k

X=001 X=010 X=100

G=29

G=39

G=49 y

y

y

G=0

x<=i&j&k;

cnt:process (clk)

variable s:integer range 0 to 49; variable g:integer range 0 to 49; variable nclr,en:bit; Begin

if x<="001"then g:=29; elsif x<="010"then g:=39; elsif x<="100"then g:=49; else g:=0; end if;

3、 信号灯转换控制部分的ASM 图

Rm 、Ym 、Gm 分别表示主干道红、黄、绿;Rf 、Yf 、Gf 分别表示支道红、黄、绿; S 表示灯亮的时间;nclr 是计时器的清零端,低电平有清零;en 是计时器的使能端,高电平使能。

if (clk'event and clk='1') then

if nclr='0' then s:=0; elsif en='0' then s:=s;

else s:=s+1; end if;

case state is

when a=>rm<='0';ym<='0';gm<='1'; rf<='1';yf<='0';gf<='0'; if s=g then

state <=b;nclr:='0';en:='0'; Else

state<=a;nclr:='1';en:='1'; end if;

Gm<=’1’ Rf<=’1’

S=G

S=S+1 nclr=‘1’ en=‘1’

Ym<=’1’ Rf<=’1’

S=3

Rm<=’1’ Gf<=’1’

S=G

S=3

Rm<=’1’ Yf<=’1’

y y

y

y

S=S+1 nclr=‘1’ en=‘1’

nclr=‘0’ en=‘0’

nclr=‘0’ en=‘0’

3、状态装换

(1)开始设置为支路为绿灯、主路为红灯,持续时间为30秒;

(2)30秒后,支路由绿灯变为黄灯,主路红灯不变,持续时间为4秒;

(3)4秒后,支路由黄灯变为红灯,主路由红灯变为绿灯,持续时间30秒;

(4)30秒后,支路红灯不变,主路由绿灯变为黄灯,持续时间为4秒;

(5)4秒后,支路由红灯变为绿灯,主路由黄灯变为绿灯,持续时间为30秒;

随时间,主、支系统依次循环,可以自动切换,红绿灯时间间隔可以手动设置,以适应不同需求。

case state is

when a=>rm<='0';ym<='0';gm<='1';

rf<='1';yf<='0';gf<='0';

if s=g then

state <=b;nclr:='0';en:='0';

Else

state<=a;nclr:='1';en:='1';

end if;

when b=>rm<='0';ym<='1';gm<='0';

rf<='1';yf<='0';gf<='0';

if s=3 then

state <=c;nclr:='0';en:='0';

Else

state<=b;nclr:='1';en:='1';

end if;

when c=>rm<='1';ym<='0';gm<='0';

rf<='0';yf<='0';gf<='1';

if s=g then

state <=d;nclr:='0';en:='0';

Else

state<=c;nclr:='1';en:='1';

end if;

when d=>rm<='1';ym<='0';gm<='0';

rf<='0';yf<='1';gf<='0';

if s=3 then

state <=a;nclr:='0';en:='0';

Else

state<=d;nclr:='1';en:='1';

end if;

end case;

四、总原理图

1、电路连接图

2、分频器模块

3、交通灯控制器模块

4、波形仿真

仿真图一

仿真图二

5、硬件仿真:

为了能对所设计的红绿灯交通灯控制器电路进行硬件测试,应将其输入输出信号锁定在开发系统的目标芯片引脚上,并重新编译,然后对目标芯片进行编程下载,完成红绿灯交通灯控制器的最终开发,其硬件测试示意图如图6-62。不失一般性,本设计选用的EDA 开发平台为GW48电路模式为No.5,选择目标器件为Cylone系列EP1C3T144C8芯片。

锁定引脚时将CLK接至clock2(接受1kHz的时钟频率);内部自复位信号同键3(PIO8)相连;手动、自动切换钮(1:自动、0手动)接键4(PIO9);:红绿灯状态切换键(每按一次就切换一个状态)接键5(PIO13); R1接发光二级管D8(PIO23)用于指示南北路口红灯;G1接发光二级管D7(PIO22)用于指示南北路口绿灯;Y1接发光二级管D6(PIO21)用于指示南北路口黄灯;R0接发光二级管D5(PIO20)用于指示东西路口红灯;G0接发光二级管D4(PIO19)用于指示东西路口绿灯;Y0接发光二级管D3(PIO18)用于指示东西路口红灯;NEXT_S 接发光二级管D1(PIO16)用于转态指示。

引脚锁定完成后,重新对该工程进行编译,综合适配后将配置数据下载入GW48实验平台的FPGA中(有关CLK等引脚在FPGA芯片EP1C6Q240C8引脚中的序号,请参见EDA书后的附录的附表)。

选模式5,情况一(红绿灯间隔30秒,黄绿间隔5秒),设定最右边三个灯(从右到左)为支路灯:红灯、绿灯、黄灯;紧接着为主路:红灯、绿灯、黄灯(6号灯已坏顺延到7号灯);

仿真图片如下:

图一:支路绿灯,主路红灯

图二:支路黄灯,主路红灯

图三:支路红灯,主路绿灯

图四:支路红灯,主路黄灯

图五:支路绿灯,主路红灯

五、实验目的

1. 熟练掌握VHDL 语言和MAX+ PL USII软件的使用;

2. 理解状态机的工作原理和设计方法;

3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法

六、实验步骤

1.将实验系统上RS232接口与计算机串行口相连。

2.用VHDL将两个方案的源程序输入MAX+ PL USII 软件中。

3.编译程序并进行引脚分配,最后将程序下载到器件中去。

七、结果分析

本次课程设计基本上满足了任务的设计要求,可以通过开关手动设置主干道和支道每次通行的时间分别为为30s、40s、50s,从而控制通行时间长短的转换;各个状态之间的转化及各个状态的通行时间也可以满足“主干道和支干道自动循环。主干道和支道每次通行的时间为30s,而在两个状态交换过程出现的"主黄,支红"和"主红,支黄"状态,持续时间都为4s”的设计要求。

但是设计也存在一定的缺陷,设计只能完成当开关i,j,k只有一个为高电平时使交通灯正常工作,,其他状态时定义G=0,这时交通灯不能正常工作。例如当X=I&J&K=’101’,

时,其波形仿真各个状态时间通行时间长短会出现差错,如下图

然而,这种状况在实际生活中是不允许出现的。其解决方法是:在各个when语句后增加一条if判断语句,判断如果g等于0,则保持原状态,如果g不等于0,则执行原来方案中的状态转换语句。

八、硬件要求

主芯片EPF10K10LC84-4;6个LED灯(红、黄、绿各两个);四个开关。

九、心得体会

通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。

通过本学期的这次的课程设计与几次实验,我学会了VHDL语言的一些基本用法,应用了原来不会或者不熟练的句型,如process进程,也学会了一些基本功能的实现方法,如分频,状态控制等。虽然这次实验遇到的问题不少,但是在老师以及同学的帮助下,我都顺利地解决了,并为将来的实践积累了宝贵的经验和教训。通过经常和老师、同学交流,以便及时发现自己在实验中的纰漏和不足,促进进步。

EDA设计中程序调试最为重要,我在编完各模块程序之后,编译查错最初有很多错误,有输入错误,语法错误,通过反复的修改最终通过了编译。必须注意工程名和实体名的一致,在仿真无误的情况下把程序下载到是芯片中,进行硬件的调试。逻辑正确和仿真真确并不代表着实际实验的正确,通常情况下,要适当地调整逻辑以适应硬件。要特别注意仿真时出现的毛刺和偏差,到底是由于仿真设置不合理还是仿真结果确实有问题。

这次课程设计虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。

实验的顺利完成,与老师的热心指导是分不开的,最后十分感谢胡辉老师的认真负责的工作,让我受益匪浅!

十、参考文献

《EDA技术与实验》机械工业出版社李国洪、胡辉、沈明山《EDA技术实验与课程设计》清华大学出版社曹新燕、周凤臣、聂春燕《EDA技术综合应用实例与分析》西安电子科技大学出版社谭会生、翟遂春

附件

1、顶层设计代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

ENTITY JiaoTongDeng is

port(clr,clk,i,j,k:in std_logic;

rm,ym,gm,rf,yf,gf:out std_logic;

recount:out std_logic;

NEXT_S:out std_logic);

end entity JiaoTongDeng;

architecture JTD of JiaoTongDeng is

component fenpingqi

port(CLR,CLK:in std_logic;

q:buffer std_logic);

end component;

component kongzhi

port(clk,i,j,k:in std_logic;

rm,ym,gm,rf,yf,gf:out std_logic);

end component;

component count_down

port(clk,reset, ena_1Hz, recount: in std_logic;

load: in std_logic_vector(7 downto 0);

seg7:out std_logic_vector(15 downto 0);

next_state: out std_logic);

end component;

signal Q, signal recount_1,signal next_state_1:std_logic;

begin

u1: fenpingqi port map(CLR=>clr,CLK=>clk,q=>Q);

u2: kongzhi port

map(i=>i,j=>j,k=>k,clk=>Q,rm=>rm,ym=>ym,gm=>gm1,rf=>rf,

yf=>yf,gf=>gf);

u3:count_down

port map(RE,CLK,ena_1Hz_1,recount_1,load,S,next_state_1);

NEXT_S<=next_state_1;

end architecture JTD;

分频器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity fenpingqi is

port (CLR,CLK:in std_logic ;

q:buffer std_logic);

end fenpingqi;

architecture one of fenpingqi is

signal counter:integer range 0 to 4999999; Begin

process (CLR,CLK)

Begin

if(CLK='1' and CLK'event) then

if CLR='1' then

counter<=0;

elsif counter =4999999 then

counter<=0;

q<=not q;

else

counter<=counter+1;

end if;

end if;

end process;

end one;

3、交通灯控制器代码

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity kongzhi is

port (clk,i,j,k:in std_logic;

rm,ym,gm,rf,yf,gf:out std_logic); end kongzhi;

architecture arc of kongzhi is

type state_type is (a,b,c,d);

signal state:state_type;

signal x:std_logic_vector(2 downto 0); Begin

x<=i&j&k;

cnt:process (clk)

variable s:integer range 0 to 49; variable g:integer range 0 to 49; variable nclr,en:bit;

Begin

if x<="001"then g:=29;

elsif x<="010"then g:=39;

elsif x<="100"then g:=49;

else g:=0;

end if;

if (clk'event and clk='1') then

if nclr='0' then s:=0;

elsif en='0' then s:=s;

else s:=s+1;

end if;

case state is

when a=>rm<='0';ym<='0';gm<='1';

rf<='1';yf<='0';gf<='0';

if s=g then

state <=b;nclr:='0';en:='0';

Else

state<=a;nclr:='1';en:='1';

end if;

when b=>rm<='0';ym<='1';gm<='0';

rf<='1';yf<='0';gf<='0';

if s=3 then

state <=c;nclr:='0';en:='0';

Else

state<=b;nclr:='1';en:='1';

end if;

when c=>rm<='1';ym<='0';gm<='0';

rf<='0';yf<='0';gf<='1';

if s=g then

state <=d;nclr:='0';en:='0';

Else

state<=c;nclr:='1';en:='1';

end if;

when d=>rm<='1';ym<='0';gm<='0';

rf<='0';yf<='1';gf<='0';

if s=3 then

state <=a;nclr:='0';en:='0';

Else

state<=d;nclr:='1';en:='1';

end if;

end case;

end if;

end process cnt;

end arc;

4、两位七段译码输出显示代码

LIBRAYR IEEE;

USE IEEE.std_logic_1164.all;

USE IEEE.std_logic_arith.all;

USE IEEE.std_logic_unsigned.all;

ENTITY count_down IS

port(reset, clk, ena_1Hz, recount: in std_logic;

load: in std_logic_vector(7 downto 0);

seg7:out std_logic_vector(15 downto 0);

next_state: out std_logic);

end;

ARCHITECTURE BEHAVIOR of count_down IS

signal cnt_ff:std_logic_vector(7 downto 0);

begin

count:process(clk,reset)

begin

if (reset='1') then

cnt_ff<="00000000"; seg7<="0000000000000000";

elsif (clk'event and clk='1') then

if ena_1Hz='1' then

if (recount='1') then

cnt_ff<=load-1;

else

cnt_ff<=cnt_ff-1;

end if;

end if;

case conv_integer(cnt_ff) is

when 0=>seg7(15 downto 0)<="0011111100111111";--dt gfedcba(十位) dt gfedcba(个位)

when 1=>seg7(15 downto 0)<="0011111100000110";

when 2=>seg7(15 downto 0)<="0011111101011011";

when 3=>seg7(15 downto 0)<="0011111101001111";

when 4=>seg7(15 downto 0)<="0011111101100110";

when 5=>seg7(15 downto 0)<="0011111101101101";

when 6=>seg7(15 downto 0)<="0011111101111101";

when 7=>seg7(15 downto 0)<="0011111100000111";

when 8=>seg7(15 downto 0)<="0011111101111111";

when 9=>seg7(15 downto 0)<="0011111101111011";

when 10=>seg7(15 downto 0)<="0000011000111111";

when 11=>seg7(15 downto 0)<="0000011000000110";

when 12=>seg7(15 downto 0)<="0000011001011011";

when 13=>seg7(15 downto 0)<="0000011001001111";

when 14=>seg7(15 downto 0)<="0000011001100110";

when 15=>seg7(15 downto 0)<="0000011001101101";

when 16=>seg7(15 downto 0)<="0000011001111101";

when 17=>seg7(15 downto 0)<="0000011000000111";

when 18=>seg7(15 downto 0)<="0000011001111111";

when 19=>seg7(15 downto 0)<="0000011001111011";

when 20=>seg7(15 downto 0)<="0101101100111111";

when 21=>seg7(15 downto 0)<="0101101100000110";

when 22=>seg7(15 downto 0)<="0101101101011011";

when 23=>seg7(15 downto 0)<="0101101101001111";

when 24=>seg7(15 downto 0)<="0101101101100110";

when 25=>seg7(15 downto 0)<="0101101101101101";

when 26=>seg7(15 downto 0)<="0101101101111101";

when 27=>seg7(15 downto 0)<="0101101100000111";

when 28=>seg7(15 downto 0)<="0101101101111111";

when 29=>seg7(15 downto 0)<="0101101101111011";

when 30=>seg7(15 downto 0)<="0100111100111111";

when 31=>seg7(15 downto 0)<="0100111100000110";

when 32=>seg7(15 downto 0)<="0100111101011011";

when 33=>seg7(15 downto 0)<="0100111101001111";

when 34=>seg7(15 downto 0)<="0100111101100110";

when 35=>seg7(15 downto 0)<="0100111101101101";

when 36=>seg7(15 downto 0)<="0100111101111101";

when 37=>seg7(15 downto 0)<="0100111100000111";

when 38=>seg7(15 downto 0)<="0100111101111111";

when 39=>seg7(15 downto 0)<="0100111101111011";

when others=>seg7(15 downto 0)<="0011111100111111";

end case;

end if;

end process;

next_state <= '1' when cnt_ff=1 else '0';

end BEHAVIOR;

EDA交通灯实验报告

实验:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 主干道 图1 路口交通管理示意图 设计要求: (1)采用VHDL语言编写程序,并在QuartusII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明

(1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。 因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。 模块说明: 系统输入信号: Clk: 由外接信号发生器提供256的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。 模块说明: 系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号; 系统输出信号:tm:产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。 模块说明: 系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号:comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示。 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号:led7s1: 负责红绿灯的显示秒数个位。 led7s2:负责红绿灯的显示秒数十位。 三、设计方案

交通灯控制器___EDA课程设计实验报告

目录 1课程设计要求 (3) 2 电路功能描述 (3) 3 设计方案 (3) 4设计原理图 (4) 5 VHDL语言 (4) 6仿真截图 (6) 7心得体会 (11) 8参考文献 (11)

1. 课程设计要求 1.1.红、黄、绿灯分别控制显示; 1.2.每一个状态分别分配一个时间显示(两位十进制,倒计时); 1.3.符合实际交通规律。 2.电路功能描述 本设计是实现交通灯的控制,模拟实现了红、绿、黄灯指挥交通的功能。本设计适用东西和南北方向的车流量大致相同的路口,红灯显示时间30S,绿灯显示时间25S,黄灯显示时间5S,同时用数码管指示当前的状态(红、绿、黄灯)的剩余时间。当有紧急状况发生时,两个方向都禁止通行,并且显示红灯,当紧急状况解除后,重新计时并且指示时间。 3.设计方案 根据设计要求,需要控制显示红、黄、绿三个灯的亮灭状态及显示的时间。这个设计主要由两部分组成,红黄绿灯的显示模块,显示时间模块。由实际的交通情况可知,东西方向的显示情况是一致的,南北方向的显示情况也是一致,故在设计的时候就只考虑两种状态,将东西方向合成一种,南北方向合成一种。红黄绿灯的显示模块用两组共6个灯显示,时间显示模块用LED数码管显示。 此外,本交通灯控制器设置的红黄绿显示方式是参照一些城市的显示规律,红灯30S,绿灯25S,黄灯5S,同时用数码管指示当前状(红、绿、黄灯)的剩余时间。另外还设有一个紧急状态,当特殊情况发生时,两个方向都禁止通行,指示红灯,紧急状态解除后,重新计时并指示时间。时间采用倒计时的方式显示。 本设计采用VHDL语言编程,描述各个硬件模块实现的功能,使红、黄、绿灯的转换有一个准确的转换顺序和时间间隔,并进行仿真,通过仿真的结果,得出实验的结果。 在正常情况下的一个完整周期内,交通灯控制器系统一共有四种状态,分别是东西红、南北绿,东西红、南北黄,东西绿、南北红,东西黄、南北红。其运行方式为东西红、南北绿→东西红、南北黄→东西绿、南北红→东西黄、南北绿,东西黄、南北绿结束后再回到东西红、南北绿的状态,整个周期持续60s。urgency 为紧急控制信号,为高电平时系统转换为东西南北均是红灯亮的状态,状态结束后系统重新设置,转换为东西红,南北绿的状态。

EDA课程设计(交通灯控制器)

课程设计 年月日

大课程设计任务书 课程EDA技术课程设计 题目交通灯控制器 专业姓名学号 主要内容、基本要求、主要参考资料等 主要内容: 设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 基本要求: 1、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号,实验电路用逻辑开关代替。 2、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 3、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路,选择1HZ时钟脉冲作为系统时钟。 4、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。 主要参考资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限2010.3.12 指导教师 专业负责人 2010年3月8日

一、总体设计思想 1.基本原理 计数模块、置数模块、主控制器模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。其中,核心部分是主控 2.设计框图 图一.交通灯控制系统的原理框图 图二.交通灯控制器的流程图 脉冲发生器 控制器 译码器 甲车信号灯 乙车信号灯 定时器

EDA交通灯课程设计(得过优的哦)

EDA交通灯课程设计 姓名:XXX 学号:********* 专业:******* 学院:电气与信息工程学院

1 系统功能设计要求 1. 东西各设有一个绿、黄、红指示灯;一个2位7段数码管(1)南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s; (2)当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。 (3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的剩余时间。 3. 能实现正常的倒计时显示功能。能实现总体清理功能,计数器由初始状态开始计数,对应状态的指示灯亮。 2 设计原理 2.1 交通灯控制器的状态转换 根据论文题目要求,将红绿灯的状态转换列成如下表 上表为交通灯控制器的状态转换表

2.2设计方案 1、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。 2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。 3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。 2.2 LED动态显示与频率 由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。 频率设定CLK1k对应的频率为1024hz

3 电路符号 交通控制器的电路符号如图1.3所示。其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。 4 设计方法 采用文本编辑法,既采用vhdl语言描述交通控制器,代码如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity traffic IS port (clk1k,SN:in std_logic; led1, led2, led3, led4 :out std_logic_vector (3 downto 0); --显示管显示时间用 light:out std_logic_vector (5 downto 0)); --红绿黄灯 end traffic; architecture traffic1 of traffic IS signal S:std_logic_vector (1 downto 0); --状态 signal DXT:std_logic_vector(7 downto 0):=X"01";

EDA课程设计 交通灯_设计报告

课程设计报告 课程EDA课程设计 题目十字路口交通灯设计 系别物理与电子工程学院 年级08级专业电子科学与技术班级三学号04 06 10 11 学生姓名张崇光张浩赵峰章维 指导教师张惠国职称讲师 设计时间2011.6.18-7.8

目录 前言 (2) 第一章题目 (3) 1.1题目名称 (3) 1.2题目内容及要求 (3) 1.3 题目设计意义 (3) 第二章分析与设计 (4) 2.1交通灯硬件电路控制原理 (4) 2.2交通灯程序设计构想 (4) 2.3程序设计论证 (4) 2.4 系统设计框图 (5) 第三章VHDL程序设计 (6) 3.1系统输入输出端口设计 (6) 3.2系统整体设计 (6) 3.2.1系统控制状态机 (6) 3.2.2 VHDL状态机代码设计 (7) 3.3 红、黄、绿灯控制设计 (9) 3.4 数码管显示模块设计 (11) 第四章系统仿真及功能描述 (13) 4.1 QuartusⅡ时序仿真 (13) 4.2 系统功能描述 (13) 4.2.1工作模式选择 (13) 4.2.2 正常工作模式下的运行状况 (13) 4.2.3 其它工作模式介绍 (14) 第五章总结与体会 (15) 参考文献 (16) 附录 (17)

前言 现代电子产品正在以前所未有的革新速度,向着功能多样化、体积最小化、功耗最低化的方向迅速发展。它与传统电子产品在设计上的显著区别之一就是大量使用大规模可编程逻辑器件,以提高产品性能、缩写产品体积、降低产品消耗;区别之二就是广泛运用现代计算机技术,以提高电子设计自动化程度,缩短开发周期,提高产品竞争力。EDA (Electronic Design Automation,电子设计自动化)技术正是为了适应现代电子产品设计的要求,吸收多学科最新成果而形成的一门新技术。 EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计(Computer Assist Design,简称CAD)、计算机辅助工程设计(Computer Assist Engineering Design,简称CAE)和电子设计自动化(Electronic Design Automation,简称EDA)三个发展阶段。 利用EDA技术进行电子系统的设计,具有以下几个特点:○1用软件的方式设计硬件;○2用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;○3设计过程中可用有关软件进行各种仿真;○4系统可现场编程,在线升级;○5整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 EDA技术是一门涉及多学科的综合性技术,内容广泛,所谓EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。 可编程逻辑器件(简称PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。现在,FPGA和CPLD 器件的应用已十分广泛,它们将随着EDA技术的发展而成为电子设计领域的重要角色。国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx,Altera,Lattice三家公司。 FPGA在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。CPLD在结构上主要包括三个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。 高集成度、高速度和高可靠性是FPGA/CPLD最明显的特点,其时钟延时可小至ns级。结合其并行工作方式,在超高速应用领域和实时测控方面有着非常广阔的应用前景。在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC机可能跑飞等问题。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。 由于FPGA/CPLD的集成规模非常大,因此可利用先进的EDA工具进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构无关,因而设计开发成功的各类逻辑功能块软件有很好的兼容性和可移植性。它几乎可用于任何型号和规模的FPGA/CPLD中,从而使得产品设计效率大幅度提高,可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场最宝贵的特征。

eda课程设计交通灯控制器的设计

题目交通灯控制器的设计 摘要 交通灯信号控制器通常要实现自动控制和手动控制其红绿灯的变化,基于FPGA设计的交通灯信号控制器电路简单、可靠性好。本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。利用QuartusⅡ对设计结果进行仿真,发现系统工作性能良好。据此设计而成的硬件电路,也实现了控制要求。 关键词:交通灯自动控制手动控制

目录 摘要 0 1.概述 (2) 1.1课程设计目的 (2) 1.2 课程设计题目及要求 (2) 1.3 实验环境 (2) 2. 系统总体设计 (2) 2.2系统组成 (3) 3. 系统层次化设计与软件仿真 (3) 3.1 系统时序发生电路 (3) 3.1.2系统时序发生电路clk_gen的仿真输出波形和元件符号 (5) 3.2 红绿灯计数时间选择模块 (5) 3.2.1 VHDL源代码: (6) 3.2.2计数时间选择模块traffic_mux的仿真输出波形和元件符号 (7) 3.3定时控制电路 (7) 3.3.1 VHDL源代码: (7) 3.3.2 定时控制电路count_down的仿真输出波形和元件符号 (9) 3.4 红绿灯信号译码电路 (9) 3.4.1 VHDL源代码 (10) 3.4.2 信号译码电路 (12) 3.5 红绿灯交通控制器顶层电路 (13) 3.5.1 VHDL源代码: (14) 3.5.2 交通控制器顶层电路Traffic_TOP的仿真输出波形和元件符号 (16) 4. 系统硬件仿真 (17) 5.结论与体会 (18) 参考文献 (18)

1.概述 1.1课程设计目的 此次课程设计是根据《VHDL程序设计》这门课程开设的综合设计课程,要求学生利用VHDL编程语言,基于EDA开发平台Quartus 错误!未找到引用源。,设计相应的数字系统,通过对系统进行编程、仿真、调试与实现,体验设计的全过程,进一步加深对所学基础知识的理解,培养学生将理论知识应用于实践的能力、学生自学与创新能力和分析解决实际问题的能力。培养学生设计、绘图、计算机应用、文献查阅、实验研究、报告撰写等基本技能;提高学生独立分析和解决工程实际问题的能力;增强学生的团队协作精神、创新意识、严肃认真的治学态度和严谨求实的工作作风。 1.2 课程设计题目及要求 交通灯控制器的设计: 随着各种交通工具的发展和交通指挥的需要,交通灯的诞生大大改善了城市交通状况。要求设计一个交通灯控制器,假设某个交通十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄灯3种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许车辆有时间停靠到禁止线以外。 在自动控制模式时,主干道(东西)每次放行时间为30s,次干道(南北)每次放行时间为20s,主干道红灯、次干道黄灯、主干道黄灯、次干道红灯持续时间为5s。 绿灯转为红灯时,要求黄灯先亮5s,才能变换运行车道。 要求交通灯控制器有复位功能,并要求所有交通灯的状态变化在时钟脉冲上升沿处。1.3 实验环境 软件仿真采用QuartusII 6.0; 硬件仿真采用KFH-1型CPLD/FPGA实验开发系统; 2. 系统总体设计 根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下述所示的交通信号灯控制器的系统流程图与系统框图。我们选择按照自顶向下的层次化设计方法,整个系统可分为4个模块,系统时序发生电路、红绿灯计数时间选择模块、定时

交通灯控制器的设计 EDA课程设计

大学 课程设计说明书名称交通灯控制器的设计 院系电子信息工程系 班级 姓名 学号 系主任 教研室主任 指导教师

目录 第一章绪论 (3) 1电子设计自动化简介 (3) 1.1概要 (3) 1.2 EDA数字系统设计 (4) 1.2.1 分析方法 (4) 第二章设计要求 (5) 2 设计基本要求 (5) 2.1电路工作原理 (6) 第三章系统的设计 (7) 3 系统设计要求 (7) 3.1 设计思路 (8) 3.2 设计流程 (8) 3.3 系统结构图 (10) 3.4 系统程序 (10) 3.5仿真与调试 (17) 第四章心得体会 (18) 参考文献 (18)

第一章绪论 1电子设计自动化简介 1.1概要 EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。 1.1.1 EDA系统的设计分类 根据采用计算机辅助技术的介入程度,可以分为三类: 第一类:人工设计方法,这是一种传统的设计方法,从方案的提出到验证和修改均采用人工手段完成,尤其是系统的验证需要经过实际搭试电路完成,花费大、效率低、制造周期长。 第二类:借助计算机来完成数据处理、模拟评价、设计验证等部分,由人和计算机共同完成,但由于软件匮乏,该阶段许多工作尚需人工完成。 第三类:该阶段的世纪方法称为电子设计自动化,这个阶段发展起来的EDA 工具,目的是在设计前期将设计工程师从事的许多高层次设计由工具完成。整个

EDA交通灯实验报告

EDA实验报告 题目:交通灯设计 学院:电子工程学院 专业:电子信息工程 作者:王正帅 14020120007 导师:孙万蓉

EDA实验报告:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有5秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)东西主干道上的绿灯时间为25秒,南北支干道的绿灯时间为25秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 路口示意图如下: 图 1 路口交通示意图 设计要求: (1)采用VHDL语言编写程序,并在QuartusII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明 (1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。

因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。 模块说明: 系统输入信号: Clk: 由外接信号发生器提供50MHz的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。 模块说明: 系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号; 系统输出信号:tm:产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。 模块说明: 系统输入信号:full: 接收由clk电路的提供的1Hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号:comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示。 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号:led7s1: 负责红绿灯的显示秒数个位。 led7s2:负责红绿灯的显示秒数十位。

eda交通灯设计

EDA交通灯课程设计 实验报告 学院:通信与信息工程学院 专业:电子信息工程 班级:0120902 目 录 交通灯控制系统的设计 1 1.设计要求 1 1.1 实现基本要求及扩展 1 1.2 附加要求 1 2 设计思路 1 3 状态机变化图 2 3.1 状态机变化图 2 4 设计步骤及程序 3 4.1 主体程序代码 3 4.2 分频程序代码 5

4.3 计数器程序代码 6 4.4 二选一数据选择器程序代码 7 when others=> seg<=b;dig<="11101110"; 8 end case; 8 end process; 8 end; 8 4.5 控制系统电路图 8 5 硬件实现及调试结果 8 5.1 硬件测试结构示意 8 5.2 软件仿真结果 9 6. 心得体会 9 交通灯控制系统的设计 1.设计要求 1.1 实现基本要求及扩展 1.能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;每次通行时间为15S, 2.能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。其中,黄灯:3S。 3.当出现一方出现红灯,另一方出现绿灯时,出现红灯的之路左转弯灯亮。 4.能实现特殊状态的功能。按下Sw0键后,能实现以下特殊功能: (1)四个数码管的显示都为0,

(2)东西、南北路口均显示红灯状态; 5.用VHDL语言设计上述功能的交通灯控制器,并用含有四个状态的状态机; 1.2 附加要求 1.时钟输入:clkin=1KHz; 2.采用分频器分成:1Hz,然后提供给系统。 2 设计思路 交通灯控制器的电路控制原理框图如图1所示,主要包括分频器模块、计数器模块、主控制器模块和二选一数据选择器模块。计数器模块以秒为单位倒计时,当计数值依次加一,直至“1111”,再进行下次的计数循环。分频器模块将1000HZ的频率转化为1HZ。数据选择器模块完成数码管个位和十位的seg选择,从而完成两位数字的显示。核心部分是主控制模块。具体控制情况见表1。 图1 电路控制原理框图 状态干道1干道2时间/s 10100001红灯与左转灯亮绿灯亮12 00100010红灯亮黄灯亮3

EDA课程设计 交通灯

交通信号灯控制电路设计一、概述 城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。 交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路。设计一个基于FPGA的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。 本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL语言编辑文本程序,按设计要求连接好线以后,进行波形仿真,仿真结果正确后下载程序并对试验箱进行调试,使其最终的显示结果符合设计要求。 二、方案设计与论证 在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。 红绿灯交通灯控制器层次设计: EDA技术的基本设计方法有电路级设计方法和系统级设计方法。电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。下面给出各模块的VHDL设计过程和仿真结果。 1、系统时序发生电路clk_gen的VHDL设计 在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。但为了配合高峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通。Clk_gen电路最主要的功能就是产生一些额外的输出信号,并将其用做后续几个电路的使能(enable)控制与同步信号处理。 该电路的核心部分就是分频电路,通过对外接信号发生器提供1kHz的时钟信号进行1000分频,得到一个周期为1秒的输出使能信号ena_lhz(占空比1:1000)和flash_lhz (占空比1:1);4分频后得到红绿灯信号译码电路所需的频率为250Hz的显示使能信号ena_scan。 architecture one of fenpingqi is signal counter:integer range 0 to 4999999; Begin process (CLR,CLK) Begin if(CLK='1' and CLK'event) then if CLR='1' then counter<=0; elsif counter =4999999 then

eda课程设计交通灯控制器的设计

eda课程设计交通灯控制器的设计

EDA课程设计报告 题目交通灯控制器的设计 摘要 交通灯信号控制器一般要实现自动控制和手动控制其红绿灯的变化, 基于FPGA设计的交通灯信号控制器电路简单、可靠性好。本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。利用QuartusⅡ对设计结果进行仿真, 发现系统工作性能良好。据此设计而成的硬件电路, 也实现了控制要求。 关键词: 交通灯自动控制手动控制

目录 摘要 ............................................................................... 错误!未定义书签。 1.概述 .............................................................................. 错误!未定义书签。 1.1课程设计目的............................................................ 错误!未定义书签。 1.2 课程设计题目及要求 ............................................... 错误!未定义书签。 1.3 实验环境 ................................................................... 错误!未定义书签。 2. 系统总体设计 ............................................................. 错误!未定义书签。 2.2系统组成.................................................................... 错误!未定义书签。 3. 系统层次化设计与软件仿真 ..................................... 错误!未定义书签。 3.1 系统时序发生电路 ................................................... 错误!未定义书签。 3.1.2系统时序发生电路clk_gen的仿真输出波形和元件符号错误!未定义书签。 3.2 红绿灯计数时间选择模块 ...................................... 错误!未定义书签。 3.2.1 VHDL源代码: ...................................................... 错误!未定义书签。 3.2.2计数时间选择模块traffic_mux的仿真输出波形和元件符号 . 错误!未定义书签。 3.3定时控制电路............................................................ 错误!未定义书签。 3.3.1 VHDL源代码: ...................................................... 错误!未定义书签。

EDA课程设计 交通灯控制器

v .. . .. 序号 《EDA技术》课程设计报告 课题:交通灯控制器 院系自动化学院 专业电气工程及其自动化 班级学号 姓名 指导教师 起止日期2015年12月14日-12月25号 2015 年12 月

目录 一﹑设计任务 (3) 二、题目分析与整体构思 (3) 三﹑硬件电路设计 (4) 3.1原理图设计 (4) 3.2 PCB图设计 (6) 3.3控制器设计 (7) 四、程序设计 (9) 4.1主程序设计 (9) 五、实验结果 (13) 5.1 程序仿真图 (13) 六﹑心得体会 (14) 七、附录 (15) 八﹑参考文献 (21)

前言 伴随着社会的发展以及人类生活水平的提高,汽车的数量在D的DEA技术的发展和应用领域的扩大与深入,EDA技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。因此,做好基于EDA 技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。以下就是运用数字电子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。

一﹑设计任务 设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下: (1)每条道路设一组信号灯,每组信号灯由红、黄、绿3盏灯组成,绿灯表示允许通行红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。 (2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是30s、3s和30s。 (3)当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 二、题目分析与整体构思 假设交通灯信号控制器用于主干道与支道的交叉路口,两个路口都配有传感器以检测有无车辆通行,应优先保证主干道的通畅,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。当支道、主道都有车时,则轮流切换通行。当只有支道有车辆要穿行主干道时,才切向“主干道红灯,支道绿灯”,但一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”状态。若主干道始终无车而支干道始终有车时,则保持“主干道绿灯,支道红灯”。但此时同样:一旦

EDA课程设计报告书(交通灯)

目录 1 绪论 (1) 2 方案论证 (1) 2.1程序设计的任务要求 (1) 2.2方案选择 (2) 3 单元模块 (5) 3.1程序中使用的信号介绍: (5) 3.2子模块功能介绍: (6) 4 整体电路 (13) 5 仿真及实物图 (13) 5.2 实物图 (14) 6心得 (17) 参考文献 (18) 附录 (18) 源程序 (18)

1.绪论 EDA课程教会了我们如何运用电脑辅助我们进行数字电路的设计。还教会了我们用于对FPGA进行编程的VHDL语言。我十分喜欢FPGA的编程,也觉得这次课程设计是一次实践的好机会。由于在之前我已经写过一些FPGA的程序,所以在拿到这个题目时我的思路还是比较清晰的。 2.方案论证 2.1程序设计的任务要求 2.1.1初始条件: 设计一个交通灯控制器,有一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、黄、绿三色箭头信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 2.1.2要求完成的主要任务: 2.1.2.1主干道和支干道构成的十字路口上有车辆交替运行,主干道每次直行通 行时间为30s,左转通行时间为25s,支干道每次直行通行时间为20s, 左转通行时间为15s。 2.1.2.2每次绿灯变红灯时,黄灯先亮5s,才能变换运行车道。上述时间设置可 修改。 2.1.2.3十字路口有数码管显示灯亮时间,要求灯亮时间以秒为单位进行减计 数。

2.2方案选择 2.2.1方案一 只使用一个计时器完成所有计时工作,通过计数到不同的数值时发出不同的脉冲信号告诉系统相应的计时值已到。该方案的优势在于占用资源少,只用使用一个计时器就可完成5种不同的计时。但不管是在哪一个状态都会调用该计时器,一旦该计时器出错,整个系统都会受影响,不利于系统的维护和模块化编程的思想。 2.2.2方案二 使用5个计时器进行计时。在某个状态时,系统会调用相应的计时器开始计时,并且只检测相应计时器的计时完成脉冲信号。该方案的缺点在于占用FPGA 资源多,但由于FPGA上资源足够,这个缺陷不影响系统工作。但它的优势是很明显的,它采用模块化编程设计,单个计时器的复杂度远远小于方案一中的计时器,并且5个计时器完全类似,只要完成一个计时器的设计就能轻易完成整个计时模块的设计。 因此,我选择方案二进行设计。 2.2.3设计思路 整个程序设计可以分为4个部分,灯的显示部分、数码管的显示部分、计时部分和按键对倒计数时间的调整部分。 灯的显示部分可用状态机实现。由于交通灯的显示状况是有限的几个状态,于是可以用状态机让灯在固定的几个状态中顺次切换。对于这个题目,我将灯的显示分了8个状态: 首先,所有交通灯有12个:主干道直行的红黄绿灯,主干道左转的红黄绿灯,次干道直行的红黄绿灯,次干道左转的红黄绿灯。 主干道直行绿灯亮、主干道左转红灯亮、次干道直行和左转红灯亮;

EDA课程设计报告(交通信号控制器的VHDL的设计)[详细]

交通信号控制器的VHDL的设计 一、设计任务 模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器.能达到的要求: (1)交通灯从绿变红时,有4秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; (4)在任意时间,显示每个状态到该状态结束所需的时间. 支干道 主干道 图1 路口交通管理示意图 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用.通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明 (1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的.因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作. 模块说明: 系统输入信号: Clk: 由外接信号发生器提供256的时钟信号;

系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号. 模块说明: 系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号; 系统输出信号: t米: 产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换. 模块说明: 系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号; t米: 接收计数秒数选择电路状态转换信号; 系统输出信号: co米b_out: 负责红绿灯的状态显示. (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示. 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号: led7s1: 负责红绿灯的显示秒数个位. led7s2: 负责红绿灯的显示秒数十位. 三、设计方案

EDA课程设计——交通信号灯控制器设计

海南大学信息科学技术学院《EDA技术课程设计报告》 专业班级:2008级通信工程 姓名:刘洋 学号:20081604B062 指导老师:刘文进老师

目录 课程设计的要求及目的 (2) 前言 (2) 一设计内容与目的 (2) 1.1设计内容 (3) 1.2设计目的 (3) 二方案设计 (3) 2.1设计思路 (3) 2.2设计总体框图 (4) 2.3状态表 (5) 2.4电路原理图 (5) 2.5静态显示电路 (5) 三功能电路的设计 (5) 3.1细化的设计总体框图 (5) 3.2灯控制器电路设计 (6) 3.3计数器设计 (8) 3.4显示控制部分设计 (12) 四系统仿真图 (13) 五设计心得会 (14) 六参考文献 (15)

交通信号灯控制器设计 课程设计的要求及目的: 1.了解电子设计的具体流程和方法。 2.掌握电子设计的基本要求,能够运用所学的知识解决生活中的一些问题。 3.初步掌握VHDL语言编程,并设计出一个有意义的小型系统。 4.掌握MAX+plusⅡ软件的应用,并且了解相关硬件的组成和功能。 5.用EDA(Electronic Design Automation)或者原理图完成一个课题的设 计,并达到相应的功能要求。 前言 伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通 事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。众所周知,随着生活的进步,我们身边的交通也日益繁忙,在众多的十字交叉路口,为了确保车辆安全,迅 速地通行,就必须在每个入口设置红绿灯。本系统中设置了红,绿,黄三色共 三种信号灯。红灯亮禁止一切该方向的行人和车辆通行,绿灯亮允许行人和车 辆通行,黄灯亮则提示行驶中的车辆注意不要抢道,并让它们有时间停靠到禁 行线之外或者加快通过,同时提醒行人加快行进或者等待下一次绿灯。人行道 灯亮时,允许行人通过。 为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通 信号来进行指挥。利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。本交通信号灯控制系统以十字路口为例讲述设计 的功能要求和设计的具体过程。 一设计内容与目的:

交通灯控制器的设计.EDA课程设计

EDA 课程设计报告书 课题名称 交通灯控制器的设计 姓 名 胡伟明 学 号 0812201-46 院 系 物理与电信工程系 专 业 电子信息工程 指导教师 周来秀 讲师 2011年 6月10日 ※※※※※※※※ ※ ※※ ※ ※ ※※ ※ ※ ※ ※ ※ ※ ※ ※ ※ 2008级学生 EDA 课程设计

一、设计任务及要求: (1)十字路口东西、南北两个方向的红、黄、绿灯的指示状态。用LED灯表示当 前的交通状态。 (2)能实现正常的倒计时功能。用两组七段数码管倒计时显示当前交通状态剩余 秒数。 (3)该交通灯的亮灭顺序如下: 东西绿灯40秒黄灯5秒东西红灯25秒 南北红灯45秒南北绿灯20秒黄灯5秒 (4)能实现特殊状态的功能。例如消防车、救护车或其他需要优先放行的车辆通过时实现下列功能: ①按下特殊状态键后,能实现特殊状态功能; ②显示倒计时的两组数码管闪烁; ③计数器停止计数并保持在原来的状态; ④东西、南北路口均显示红灯状态; ⑤特殊状态解除后能继续计数; (5)能实现总体清零功能。按下清零键后,系统实现总体清零,计数器由初始状态计数,对应状态的指示灯亮。 (6)用VHDL语言设计符合上述要求的交通灯控制器,并用层次化设计方法设计该电路。 指导教师签名: 年月日二、指导教师评语: 指导教师签名: 年月日三、成绩 验收盖章 年月日

交通灯控制器的设计 1设计目的 通过设计交通灯控制器,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,巩固和综合运用所学过的EDA原理知识,提高分析、解决实 际问题的独立工作能力。 2设计的主要内容和要求 交通灯控制器的设计,设计了主干道的交叉路口交通信号灯无人自动管理的控制系统。将路口红绿灯的各种亮灯情况定义不同的状态,路口状况定义为触发条件,组成有限状态机。 交通控制器能完成以下功能: 1.能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色LED灯作为两个方向的红、黄、绿灯; 2.南北向为主干道,每次通行时间为45S,东西向为支干道,每次通行时间为25S;3.能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。其中,黄灯:5S。 4.能实现特殊状态的功能。按下SP键后,能实现以下特殊功能: (1)显示倒计时的两组数码管闪烁; (2)计数器停止计数并保持在原来的状态; (3)东西、南北路口均显示红灯状态; (4)特殊状态解除后能继续计数; 5. 能实现全清零功能。按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮; 6. 用VHDL语言设计上述功能的交通灯控制器,并用层次化方法设计该电路; 7. 仿真、验证设计的正确性。 3 整体设计方案 3.1 方案分析

相关主题