ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:41.22KB ,
资源ID:13725145      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13725145.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA交通信号灯控制电路设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA交通信号灯控制电路设计.docx

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

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

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

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

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

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

7、信号: da_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路本电路负责红绿灯的计数时间的显示。 模块说明:系统输入信号: tl:倒计数值 秒数个位变化控制信号; th:倒计数值 秒数十位变化控制信号;系统输出信号: led7s1: 负责红绿灯的显示秒数个位。 led7s2: 负责红绿灯的显示秒数十位。三 、原理图信号灯输出分频计计数器时间显示状态寄存器 七段段码数码管片选次态发生器时钟扫描 四、实验程序library ieee;use ieee. std_logic_1164.all; use ieee. std_logic_unsigned.all;entity traffi

8、c 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_

9、state:dm;-当前状态与次态均在四种状态之间变化 signal clk:std_logic;-一秒时钟信号 signal count:std_logic_vector(1 downto 0);-个十位选择端(sel) 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

10、(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-产生153hz分频,上升沿有效产生clk if cnt = 10011000100101101

11、then cnt:=00000000000000000; clk=1; else cnt:= cnt+1; clk = 0; end if; end if;end process 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=1the

12、n -60秒的循环设计 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 clkevent then current_stateda_out=001100;tm=30-time0; -主绿和支红状态,当计时到29 if time0=29 then next_state=s1; -秒时将s1状态赋给次态,

13、此时 else next_stateda_out=010100;tm=35-time0; -态 if time0=34 then next_state=s2; else next_stateda_out=100001;tm=55-time0; if time0=54 then next_state=s3; else next_stateda_out=100010;tm=60-time0; if time0=59 then next_state=s0; else next_state=30 THEN th=11;tl=20 THEN th=10;tl=10 THEN th=01;tl=tm-10

14、; else th=00;tlled7s1led7s1led7s1led7s1null; end case; case tl is when 0000000=led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2null; end case;end process;end one;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY traffic IS PORT (CLK:in std_logic; led7s:out s

15、td_logic_vector(6 downto 0); sel:out std_logic_vector(1 downto 0); comb_out:out std_logic_vector(5 downto 0); END traffic;ARCHITECTURE one OF traffic ISTYPE dm IS (s0,s1,s2,s3); SIgnal current_state,next_state:dm; SIGNAL FULL : STD_LOGIC; Signal count: std_logic_vector(1 downto 0); Signal led7s1: st

16、d_logic_vector(6 downto 0); Signal led7s2: std_logic_vector(6 downto 0); SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL th:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL time1 :STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINSel=count; P_REG: PROCESS(CLK) VARIABLE CNT8:STD_LOGIC_VE

17、CTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT8 = 11111111 THEN CNT8:=00000000; FULL=1; ELSE CNT8 := CNT8+1; FULL = 0; END IF; END IF; END PROCESS P_REG;A:process(CLK,count)BeginIf CLKevent and CLK=1thenIf count=01 thenCount=00;Else countled7sled7snull;End case;End process A;PROCESS(full)

18、BEGINIF fullEVENT AND full=1 THEN IF time1=0111100 THEN time1=0000001; ELSe time1 =time1+1; END IF;END IF;END PROCESS; REG:process( full,current_state) BEGIN IF full=1 AND fullEVENT THEN current_statecomb_out=001100;tm=30-time1; if time1=29 then next_state=s1; else next_statecomb_out=010100;tm=35-ti

19、me1;if time1=34 then next_state=s2; else next_statecomb_out=100001;tm=55-time1; if time1=54 then next_state=s3; else next_statecomb_out=100010;tm=60-time1;if time1=59 then next_state=s0; else next_state=30 THEN th=11;tl=20 THEN th=10;tl=10 THEN th=01;tl=tm-10;ELSE th=00;tlled7s1led7s1led7s1led7s1nul

20、l; end case;case tl is when 0000000=led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2null; end case; end process;end;五 、心得体会 六,参考书目EDA技术与实验 机械工业出版社 李国洪、胡辉、沈明山EDA技术实验与课程设计 清华大学出版社 曹新燕、周凤臣、聂春燕EDA技术综合应用实例与分析 西安电子科技大学出版社 谭会生、翟遂春 网上资源:XX文库、豆丁、维基百科、中国电子设计在线等指导教师评语及设计成绩 评 语 课程设计成绩: 指导教师: 日期: 年 月 日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2