EDA_交通信号灯控制电路设计

上传人:慢*** 文档编号:233025494 上传时间:2022-01-01 格式:DOC 页数:12 大小:79.50KB
返回 下载 相关 举报
EDA_交通信号灯控制电路设计_第1页
第1页 / 共12页
EDA_交通信号灯控制电路设计_第2页
第2页 / 共12页
EDA_交通信号灯控制电路设计_第3页
第3页 / 共12页
EDA_交通信号灯控制电路设计_第4页
第4页 / 共12页
EDA_交通信号灯控制电路设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《EDA_交通信号灯控制电路设计》由会员分享,可在线阅读,更多相关《EDA_交通信号灯控制电路设计(12页珍藏版)》请在金锄头文库上搜索。

1、 北华航天工业学院EDA技术综合设计课程设计报告报 告 题 目 : 交通信号灯控制电路设计 作者所在系部: 电子工程系 作者所在专业: 通信工程 作者所在班级: B09232 作 者 姓 名 : 冯晓鹏(34) 指导教师姓名: 陈刚 完 成 时 间 : 2011.12.19 内 容 摘 要EDA技术是现代电子信息工程领域的一门新技术,它是在先进的计算机平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进电子系统设计方法。当今的技术,开发人员完全可以通过自己的电子系统设计来制定芯片内部的电路功能,使之成为设计者自己的专用集成电路芯片。这种技术中常用软件有maxplusII和quartus

2、II,而程序的编辑是用VHDL语言实现逻辑功能的。本实验试验系统中可用可编程逻辑器件为FPGA,本实验的交通信号灯的设计:首先在quartusII软件当中编辑程序,编译完成之后仿真,当仿真结果正确时下载到试验箱的系统中。最终的目的要在实验板上用红路灯表示出来,并且同时要用数码管显示出人们的等待时间,交通灯的状态变化和显示时间同步关键词EDA、VHDL、交通灯、控制电路目 录一、 设计任务5二、 设计结构51、 clk时钟秒脉冲发生电路或分频器 62、 六十进制计数器63、 次态发生器 64、 状态寄存器及等待时间输出 65、 时间显示电路66、 时钟扫描电路6三、 原理图7四、 程序7五、 心

3、得体会 11课程设计任务书课题名称交通信号的控制电路设计完成时间指导教师职称学生姓名班 级总体设计要求和技术要点设计一个交通信号灯控制电路。要求:1、主干道和支干道交替放行,主干道每次放行30秒,支干道每次放行20秒; 2、每次绿灯变红灯时,黄灯先亮5秒钟,此时原红灯不变;3、用十进制数字(递增计数)显示放行和等待时间。技术要点:1、主(支)干道红灯时间等于支(主)干道红绿黄灯时间之和;2、用时钟数据扫描通过视觉暂留来数码管显示等待时间;3、状态寄存器和状态寄存器的结合灵活运用;4、计数时间值要译成七段译码值。工作内容及时间进度安排工作内容:在软件上编辑、编译程序,并仿真到达实验要求。进度安排

4、;课下编写程序,并要求程序能通过编译仿真;课程设计成果1与设计内容对应的软件程序2课程设计报告书3成果使用说明书4设计工作量要求交通信号控制器的VHDL的设计一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,用数码管显示等待时间。设计一个交通信号灯控制器。能达到的要求:(1) 交通灯从绿变红时,有5秒黄灯亮的间隔时间;(2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒;(4) 在任意时间,显示等待时间。 支干道 主干道图1 路口交通管理示意图S0S1S2S3主干道交通灯绿(30秒)黄(5秒)

5、红(20秒)红(5秒)支干道交通灯红红绿黄表1 交通信号灯的4种状态 二、设计结构学习EDA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。模块说明:系统输入信号: Clk: 由外接信号发生器提供153的时钟信号; 系统输出信号: CLK:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计

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

7、号:tl:倒计数值 秒数个位变化控制信号; th:倒计数值 秒数十位变化控制信号;系统输出信号: led7s1: 负责红绿灯的显示秒数个位。 led7s2: 负责红绿灯的显示秒数十位。三 、原理图信号灯输出分频计计数器时间显示状态寄存器七段段码数码管片选次态发生器时钟扫描四、试验程序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 downt

8、o 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 cou

9、nt:std_logic_vector(1 downto 0);-个十位选择端(sel) signal led7s1: std_logic_vector(6 downto 0);-十位数码管控制端 signal led7s2: std_logic_vector(6 downto 0);-个位数码管控制端 signal time : std_logic_vector (6 downto 0);-递增计数 signal tm : std_logic_vector (6 downto 0);-剩余时间 倒计时 signal tl: std_logic_vector (6 downto 0);-个位数

10、码管显示情况控制 signal th: std_logic_vector (1 downto 0);-十位数码管显示情况控制 begin sel=count;fen:process(clk_in) variable cnt: std_logic_vector (8 downto 0);begin if clk_in event and clk_in=1 then-产生153hz分频,上升沿有效产生clk if cnt = 100110001 then cnt:=010011000; clk=1; else cnt:= cnt+1; clk = 0; end if; end if;end pro

11、cess fen;a:process(clk_in,count) -不断扫描出现count的00和01的选择 begin if clk_inevent and clk_in=1 then if count=01then count=00; else countseloutseloutnull; end case;end process a;process (clk) begin if clkevent and clk=1then -60秒的循环设计 if time= 0111100 then time =0000001; else time=time+1; end if; end if;end process;reg:process( clk,current_state) -定义当前状态与次态的关系 begin 产生上升沿时次态把自己的状态赋予当 if clk=1 and clkevent then 前状态 current_state=next_state; end if

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号