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

交通信号灯EDA课程设计

交通信号灯EDA课程设计
交通信号灯EDA课程设计

《EDA技术综合设计》

课程设计报告

报告题目:交通信号灯

作者所在系部:电子与控制工程学院作者所在专业:自动化专业

作者所在班级:

作者姓名:

指导教师姓名:

完成时间:2014年12月5日

内容摘要

EDA技术是现代电子信息工程领域的一门新技术,它是在先进的计算机平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进电子系统设计方法。当今的技术,开发人员完全可以通过自己的电子系统设计来制定芯片内部的电路功能,使之成为设计者自己的专用集成电路芯片。这种技术中常用软件有maxplusII和quartusII,而程序的编辑是用VHDL语言实现逻辑功能的。

本实验试验系统中可用可编程逻辑器件为FPGA,本实验的交通信号灯的设计:首先在quartusII软件当中编辑程序,编译完成之后仿真,当仿真结果正确时下载到试验箱的系统中。最终的目的要在实验板上用红路灯表示出来,并且同时要用数码管显示出人们的等待时间,交通灯的状态变化和显示时间同步。

关键词:EDA、VHDL、交通灯、控制电路

目录

一、实验目的 (1)

二、硬件要求 (1)

三、方案论证 (1)

四、模块说明 (1)

1.clk时钟秒脉冲发生电路 (1)

2.时钟扫描电路 (2)

3.六十进制计数器 (2)

4.状态转换 (3)

5.时间显示 (4)

6.译码模块 (4)

五、试验程序 (5)

六、原理图 (7)

七、仿真结果 (7)

八、实验步骤 (8)

九、实验结果 (8)

十、实验总结 (8)

十一、参考文献 (8)

课程设计任务书

课题名称交通信号灯完成时间2014年12月5日

指导教师崔瑞雪职称副教授学生姓名徐幔雪班级B12222

总体设计要求和技术要点

设计一个交通信号灯控制电路。要求:

1、主干道和支干道交替放行,主干道每次放行30秒,支干道每次放行20秒;

2、每次绿灯变红灯时,黄灯先亮5秒钟,此时原红灯不变;

3、用十进制数字(递增计数)显示放行和等待时间。

技术要点:

1、主(支)干道红灯时间等于支(主)干道红绿黄灯时间之和;

2、用时钟数据扫描通过视觉暂留来数码管显示等待时间;

3、状态寄存器和状态寄存器的结合灵活运用;

4、计数时间值要译成七段译码值。

工作内容及时间进度安排

工作内容:

在软件上编辑、编译程序,并仿真到达实验要求。

进度安排;

课下编写程序,并要求程序能通过编译仿真;

第十四周的周四在实验板上下载调试程序;

课程设计成果

1.与设计内容对应的软件程序

2.课程设计报告书

一、实验目的

学习EDA开发软件和Quartu s II的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。二、硬件要求

(1)主芯片EPF10K10LC84-4。

(2)6个LED灯。

(3)clk发生器。

(4)2个8位八段扫描共阴极数码显示管。

三、方案论证

模拟十字路口交通信号灯的工作过程,设计一个交通信号灯控制器,需要一个范围为0—59(共60秒)的计数器,并根据计数值选择信号灯状态,利用实验板上的两组红、黄、绿LED作为交通信号灯;用数码管显示等待时间,需输入较高频率的CLK时钟信号,驱动七段数码管,还需要一个译码电路。

要求:

(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;

(2)交通灯红变绿是直接进行的,没有间隔时间;

(3)主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒;

(4)在任意时间,显示等待时间。

交通信号灯的4种状态

S0(30秒)S1(5秒)S2(20秒)S3(5秒)主干道交通灯绿黄红红

支干道交通灯红红绿黄

四、模块说明

时钟的设计共化分为6个模块:1.clk时钟秒脉冲发生电路或分频器;2.时钟扫描电路;3.六十进制计数器;4.状态转换;5.时间显示;6.译码模块。

下面具体分析各个模块的原理、内容和功能。

(1)clk时钟秒脉冲发生电路

输入信号clk_in:由外接信号发生器提供153hz的时钟信号

输出CLK:产生每秒一个脉冲的信号;

fen:process(clk_in)

variable cnt: std_logic_vector (16 downto 0);

begin

if clk_in' event and clk_in='1' then -----上升沿触发

if cnt = "10011000100101101" then -----clk_in153个周期清零clk高电平(一个周期),cnt:="00000000000000000";

clk<='1';

else cnt:= cnt+1; -----否则自加一

clk <= '0';

end if;

end if;

end process fen;

(2)时钟扫描电路

输入clk_in:由外接信号发生器提供153hz的时钟信号;

输出count:个十位选择端,值传递给sel

a:process(clk_in,count)

begin

if clk_in'event and clk_in='1' then ------高频信号clk_in触发count不断出现00和01 if count="01"then

count<="00";

else count<=count+1;

end if;

end if;

case count is -------不断扫描count出现的00和01状态使两个数码管轮流闪亮when"00"=>selout<=led7s2;

when"01"=>selout<=led7s1;

when others=>null;

end case;

end process a;

(3)六十进制计数器time0

process (clk)

begin

if clk'event and clk='1'then

if time0= "0111100" then

time0 <="0000001";

else time0<=+1;

end if;

end if;

end process;

(4)红绿灯状态转换

输入clk:接收由clk电路的提供的1hz的时钟脉冲信号;

输出tm: 接收计数秒数选择电路状态转换信号;

da_out: 负责红绿灯的状态显示。

reg:process(clk ,current_state) ------定义当前状态与次态的触发关系

begin -----产生上升沿时次态把自己的状态赋予当前状态if clk='1' and clk'event then

current_state<=next_state;

end if;

end process reg;

com:process(current_state, time0) ------设定四种亮灯状态的时间和触发顺序

Begin

case current_state is

when s0=><="001100";tm<=30-time0; -----主绿和支红状态,

if time0=29 then next_state<=s1; ----当计时到29秒时将s1状态赋给次态,

else next_state<=s0; ----此时当前状态还是s0,

end if; ---等到下一个上升沿后次态将s1赋给当前状态when s1=>da_out<="010100";tm<=35-time0; -----主黄和支红状态

if time0=34 then next_state<=s2;

else next_state<=s1;

end if;

when s2=>da_out<="100001";tm<=55-time0;-----主红和支绿状态

if time0=54 then next_state<=s3;

else next_state<=s2;

end if;

when s3=>da_out<="100010";tm<=60-time0;-----主红和支黄状态

if time0=59 then next_state<=s0;

else next_state<=s3;

end if;

end case;

end process com;

(5)时间显示

输入信号:tl:倒计数值秒数个位变化控制信号;

th:倒计数值秒数十位变化控制信号。

输出信号:led7s1: 负责红绿灯的显示秒数个位;

led7s2:负责红绿灯的显示秒数十位。

process (tm)-----根据计数控制个、十位数码管显示倒计时数

begin

if tm>=30 THEN th<="11";tl<="0000000";

elsif tm>=20 THEN th<="10";tl<=tm-20;

elsif tm>=10 THEN th<="01";tl<=tm-10;

else th<="00";tl<=tm;

end if;

end process;

(6)译码模块

输入信号:tl:倒计数值秒数个位变化控制信号;

th:倒计数值秒数十位变化控制信号。

输出信号:led7s1: 负责红绿灯的显示秒数个位;

led7s2:负责红绿灯的显示秒数十位。

process(th,tl)

begin

case th is -----控制十位数码管显示0,1,2,3

when"00"=>led7s1<="1111110";

when"01"=>led7s1<="0110000";

when"10"=>led7s1<="1101101";

when"11"=>led7s1<="1111001";

when others=>null;

end case;

case tl is -----控制个位数码管显示0,1,2,3,4,5,6,7,8,9

when "0000000"=>led7s2<="1111110";

when"0000001"=>led7s2<= "0110000";

when "0000010"=>led7s2<="1101101";

when"0000011"=>led7s2<= "1111001";

when"0000100"=>led7s2<= "0110011";

when "0000101"=>led7s2<="1011011";

when "0000110"=>led7s2<="1011111";

when"0000111"=>led7s2<= "1110000";

when "0001000"=>led7s2<="1111111";

when "0001001"=>led7s2<="1111011";

when others=>null;

end case;

end process;

五、试验程序

library ieee;

use ieee. std_logic_1164.all;

use ieee. std_logic_unsigned.all;

entity traffic is

port (clk_in:in std_logic;

selout:out std_logic_vector(6 downto 0);

sel: out std_logic_vector(1 downto 0);

da_out:out std_logic_vector(5 downto 0));

end traffic;

architecture one of traffic is

type dm is (s0,s1,s2,s3);

signal current_state,next_state:dm;

signal clk:std_logic;

signal count:std_logic_vector(1 downto 0); signal led7s1: std_logic_vector(6 downto 0); signal led7s2: std_logic_vector(6 downto 0); signal time0 : std_logic_vector (6 downto 0); signal tm : std_logic_vector (6 downto 0); signal tl: std_logic_vector (6 downto 0);

signal th: std_logic_vector (1 downto 0);

begin

sel<=count;

fen:process(clk_in)

variable cnt: std_logic_vector (16 downto 0); begin

if clk_in' event and clk_in='1' then

if cnt = "10011000100101101" then

cnt:="00000000000000000";

clk<='1';

else cnt:= cnt+1;

clk <= '0';

end if;

end if;

end process fen;

a:process(clk_in,count)

begin

if clk_in'event and clk_in='1' then

if count="01"then

count<="00";

else count<=count+1;

end if;

end if;

case count is

when"00"=>selout<=led7s2;

when"01"=>selout<=led7s1;

when others=>null;

end case;

end process a;

process (clk)

begin

if clk'event and clk='1'then

if time0= "0111100" then

time0 <="0000001";

else time0<=time0+1;

end if;

end if;

end process;

reg:process( clk,current_state)

begin

if clk='1' and clk'event then

current_state<=next_state;

end if;

end process reg;

com:process(current_state, time0) Begin

case current_state is

when s0=>da_out<="001100";tm<=30-time0;

if time0=29 then next_state<=s1;

else next_state<=s0;

end if;

when s1=>da_out<="010100";tm<=35-time0;

if time0=34 then next_state<=s2;

else next_state<=s1;

end if;

when s2=>da_out<="100001";tm<=55-time0;

if time0=54 then next_state<=s3;

else next_state<=s2;

end if;

when s3=>da_out<="100010";tm<=60-time0;

if time0=59 then next_state<=s0;

else next_state<=s3;

end if;

end case;

end process com;

process (tm)

begin

if tm>=30 THEN th<="11";tl<="0000000";

elsif tm>=20 THEN th<="10";tl<=tm-20;

elsif tm>=10 THEN th<="01";tl<=tm-10;

else th<="00";tl<=tm;

end if;

end process;

process(th,tl)

begin

case th is

when"00"=>led7s1<="1111110";

when"01"=>led7s1<="0110000";

when"10"=>led7s1<="1101101";

when"11"=>led7s1<="1111001";

when others=>null;

end case;

case tl is

when "0000000"=>led7s2<="1111110"; when"0000001"=>led7s2<= "0110000"; when "0000010"=>led7s2<="1101101"; when"0000011"=>led7s2<= "1111001"; when"0000100"=>led7s2<= "0110011"; when "0000101"=>led7s2<="1011011";

when "0000110"=>led7s2<="1011111";

when"0000111"=>led7s2<= "1110000";

when "0001000"=>led7s2<="1111111";

when "0001001"=>led7s2<="1111011";

when others=>null;

end case;

end process;

end one;

六、原理图

七、仿真结果

八、实验步骤

(1)安装quartusⅡ软件,为本项设计建立文件夹。

(2)输入设计项目的各个模块,存盘检查,编译并仿真至无误。

(3)调用各个模块,进行存盘检查,编译仿真至无误。

(4)将PC机与试验箱进行连接选择器件并锁定引脚,然后进行编译下载。

(5)按照锁定好的引脚进行连线,进行硬件测试,验证仿真和测试结果。

九、实验结果

通过硬件测试,得到如下测试结果:

(1)主干路支干路红绿灯循环点亮。

(2)数码管能够正确显示时钟数字,并以秒计数。

十、总结

1、程序要分步分模块调试后连接在一起实现功能,同组同学可分工配合,提高效率。

2、同一课题的同学要多交流,遇到问题大家一起交流可以很快找出错误解决问题。

3、在试验箱调程序要细心认真,注意细节。更正连线错误时要先断电。

十一、参考文献

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课程设计(交通灯控制器)

课程设计 年月日

大课程设计任务书 课程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实验报告 一、课程设计题目及要求 题目: 十字路口交通灯 具体要求: 设计一个十字路口得交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯得指示状态。用两组红、黄、绿三种颜色得灯分别作为东西、南北两个方向红、黄、绿等。变化规律为:东西绿灯亮,南北红灯亮——东西黄灯亮,南北红灯亮——东西红灯亮,南北绿灯亮——东西红灯亮,南北黄灯亮——东西绿灯亮,南北红灯亮······,这样循环下去。南北方向每次通行时间为45秒,东西方向每次通行时间为45秒,要求两条交叉道路上得车辆交替运行,时间可设置修改。绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。并要求所有交通灯得状态变化在时钟脉冲上升沿处。 二、实验编程环境 QuartusII 8、0 三、课程设计得详细设计方案 (一)、总体设计方案得描述 1、1、根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先根据功能要求,明确两组交通灯得状态,这两组交通灯总共共有四种状态,我们用ST0,ST1,ST2,ST3 来表示: St0表示东西路绿灯亮,南北路红灯亮; St1表示东西路黄灯亮,南北路红灯亮; St2表示东西路红灯亮,南北路绿灯亮; St3表示东西路红灯亮,南北路黄灯亮; 1、2、根据上述四种状态描述列出得状态转换表 1、3、根据状态转换表得到交通灯控制器得状态转移图如图所示。

交通灯控制器得状态转移图 (二)各个模块设计 2、1、控制器模块 控制器模块示意图 其中,clk 为时钟信号,时钟上升沿有效。hold 为紧急制动信号,低电平有效。ared,agreen,ayellow 分别表示东西方向得红灯,黄灯,绿灯显示信号,高电平有效。 bred,bgreen,byellow 分别表示南北方向得红灯,黄灯,绿灯显示信号,高电平有效。 用于控制红绿黄灯得亮暗情况。 2、2、45秒倒计时计数器模块 45秒倒计时计数器模块示意图 其中,CLK 为时钟信号,时钟上升沿有效。EN 为使能端,高电平有效。CR 为紧急制动信号低电平有效。QL{3、、0}就是计数低位。QH{3、、0}就是计数高位。 用于45秒得倒计时计数。 2、3、7位译码器模块 7位译码器模块示意图 其中dat{3、、0}为要译码得信号。a,b,c,d,e,f,g 为译码后得信号。 用于将45秒倒计时计数得信号译码成数码管可以识别得信号。 2、4、50MHZ 分频器模块 50MHZ 分频器模块示意图 其中clk 为50MHZ 时钟信号,时钟上升沿有效。输出clk_out 为1HZ 时钟信号,时钟上升CLK EN CR QL[3、、0] QH[3、、0] OC m45 inst2

交通灯控制器___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交通灯课程设计 姓名: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 课程设计报告书 课题名称 基于EDA 的交通灯控制系统设计 姓 名 陈 勇 学 号 0812201-08 院 系 物理与电信工程系 专 业 电子信息工程 指导教师 田旺兰 讲师 ※※※※※※※※※ ※※ ※ ※ ※ ※ 2008级学生 EDA 课程设计

2011年 6月10日

基于EDA的交通灯控制系统设计 1 设计目的 (1)掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的EDA知识进行掌握与实际应用。 (2)学会在quartusII软件环境中仿真,熟悉软件的基本操作和运行环境。 (3)锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。 2设计的主要内容和要求 设计一个基于EDA的交通灯控制系统,所要设计的交通信号灯控制电路要能够适用于由一条主干道和一条支干道的汇合点形成的十字交叉路口。能够做到主、支干道的红绿灯闪亮的时间不完全相同,在绿灯跳变红灯的过程中能够用黄灯进行过渡,使得行驶过程中的车辆有足够的时间停下来。还要求在主、支干道各设立一组计时显示器,能够显示相应的红、黄、绿倒计时。可以利用VHDL语言合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。 3 整体设计方案 根据设计要求和系统所具有功能,并参考相关的文献资料,经行方案设计,画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如

图3.1所示。并且可以得出系统的状态图如图3.2所示,其中:S0:支干道没有车辆行驶,支干道绿灯,支干道红灯 S1:支干道有车辆行驶,支干道绿灯,支干道红灯 S2:主干道黄灯,支干道绿灯 S3:主干道红灯,支干道绿灯 S4:主干道红灯,支干道黄灯 图3.1 整体设计方框图

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交通灯实验报告

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课程设计

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

目录 第一章绪论 (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交通灯课程设计 实验报告 学院:通信与信息工程学院 专业:电子信息工程 班级: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

Verilog_HDL的交通灯控制器设计

交通信号灯控制器 课程设计报告 2015-2016学年第2学期 课程设计名称:电子综合设计EDA课程设计 院(系):电子信息学院 专业:电子信息工程班级:电子1313 姓名: xx 学号: 1310034303xx 综合实验时间: 2016/7/11-2016/7/15 指导教师:钟旭 提交时间: 2016/7/15

上海电机学院课程设计任务书

目录 第一章设计原理 (4) 1.1设计要求 (4) 1.2设计思路和原理 (4) 1.3实现方法 (4) 第二章Verilog HDL程序设计 (6) 2.1整体设计 (6) 2.2 具体设计 (7) 第三章仿真测试 (7) 3.1 波形仿真 (8) 第四章设计总结 (11)

第一章设计原理 1.1设计要求 设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能实现特殊状态的功能显示。[1] 1.2设计思路和原理 (1) 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。 (2) 选择1HZ时钟脉冲作为系统时钟。 (3) 45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。 (4) 交通灯状态变化如表1及图1所示: 表1 交通灯状态图

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)当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 二、题目分析与整体构思 假设交通灯信号控制器用于主干道与支道的交叉路口,两个路口都配有传感器以检测有无车辆通行,应优先保证主干道的通畅,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。当支道、主道都有车时,则轮流切换通行。当只有支道有车辆要穿行主干道时,才切向“主干道红灯,支道绿灯”,但一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”状态。若主干道始终无车而支干道始终有车时,则保持“主干道绿灯,支道红灯”。但此时同样:一旦

交通灯控制器设计

学号:成绩: 河北联合大学电气工程学院 《综合性课程设计报告 ——交通灯控制器设计》 专业:电子科学与技术 班级:_ 11电技班 _ 姓名:__ 张___ 指导教师:__________ 2015年1月9日

交通灯控制设计 作者:张桂明 摘要:本次课设是目的是通过Verilog_HDL语言对交通灯控制的设计,是同学们熟悉并掌握EDA技术、培养综合应用数字电子技术、EDA设计工具、HDL语言等各领域知识的能力、提高设计能力和实际操作能力。本课题是利用Verilog_HDL语言自顶而下的设计方法设计交通的控制系统,并通过QuartusⅡ和ModelSim完成综合、仿真,对FPGA芯片进行编译下载。把程序下载到FPGA芯片后,由于生成的是集成电路,所以故障率低、可靠性高、体积比较小,可应用于实际的交通灯控制系统中,使其实现道路交通的快速正常运转。随着大规模集成电路的发展、EDA技术随之出现,本课题说明了EDA技术在数字电路设计中的优越性。 关键词:Verilog_HDL FPGA 交通灯控制器硬件描述语言 1、简介 1.1课程设计的目的和内容 用Verilog HDL语言设计实现一个交通灯控制器电路:十字路口A方向和B方向各设红、黄、绿和左拐四盏灯,两个方向各种灯亮的时间能够进行设置和修改,此外,假设A方向是主干路,车流量大,因此A方向通行的时间应比B方向长;四盏灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的形式显示出来。每个方向四种灯依次按如下顺序点亮,并不断循环:绿灯—黄灯—左拐灯—黄灯—红灯,并且每个方向红灯亮的时间应该与另一方向绿、黄、左拐、黄灯亮的时间相等。黄灯所起的作用是用来在绿灯和左拐灯后进行缓冲。在本课程设计中,着重培养学生的如下能力:熟悉EDA技术概况。培养综合应用数字电子技术、EDA设计工具、HDL语言等各领域知识的能力。提高设计能力和实际操作能力,使学生能够独立完成具有一定难度的数字电子系统的设计,并锻炼动手实践能力。 1.2 Verilog语言简介 Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两

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个:主干道直行的红黄绿灯,主干道左转的红黄绿灯,次干道直行的红黄绿灯,次干道左转的红黄绿灯。 主干道直行绿灯亮、主干道左转红灯亮、次干道直行和左转红灯亮;

相关主题