EDA 交通信号灯控制电路设计.doc_第1页
EDA 交通信号灯控制电路设计.doc_第2页
EDA 交通信号灯控制电路设计.doc_第3页
EDA 交通信号灯控制电路设计.doc_第4页
EDA 交通信号灯控制电路设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 北华航天工业学院EDA技术综合设计课程设计报告报 告 题 目 : 交通信号灯控制电路设计 作者所在系部: 电子工程系 作者所在专业: 通信工程 作者所在班级: B09232 作 者 姓 名 : 冯晓鹏(34) 指导教师姓名: 陈刚 完 成 时 间 : 2011.12.19 内 容 摘 要EDA技术是现代电子信息工程领域的一门新技术,它是在先进的计算机平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进电子系统设计方法。当今的技术,开发人员完全可以通过自己的电子系统设计来制定芯片内部的电路功能,使之成为设计者自己的专用集成电路芯片。这种技术中常用软件有maxplusII和quartusII,而程序的编辑是用VHDL语言实现逻辑功能的。本实验试验系统中可用可编程逻辑器件为FPGA,本实验的交通信号灯的设计:首先在quartusII软件当中编辑程序,编译完成之后仿真,当仿真结果正确时下载到试验箱的系统中。最终的目的要在实验板上用红路灯表示出来,并且同时要用数码管显示出人们的等待时间,交通灯的状态变化和显示时间同步关键词EDA、VHDL、交通灯、控制电路目 录一、 设计任务5二、 设计结构51、 clk时钟秒脉冲发生电路或分频器 62、 六十进制计数器63、 次态发生器 64、 状态寄存器及等待时间输出 65、 时间显示电路66、 时钟扫描电路6三、 原理图7四、 程序7五、 心得体会 11课程设计任务书课题名称交通信号的控制电路设计完成时间11/12/19指导教师陈刚职称教授学生姓名冯晓鹏班 级B09232总体设计要求和技术要点设计一个交通信号灯控制电路。要求:1、主干道和支干道交替放行,主干道每次放行30秒,支干道每次放行20秒; 2、每次绿灯变红灯时,黄灯先亮5秒钟,此时原红灯不变;3、用十进制数字(递增计数)显示放行和等待时间。技术要点:1、主(支)干道红灯时间等于支(主)干道红绿黄灯时间之和;2、用时钟数据扫描通过视觉暂留来数码管显示等待时间;3、状态寄存器和状态寄存器的结合灵活运用;4、计数时间值要译成七段译码值。工作内容及时间进度安排工作内容:在软件上编辑、编译程序,并仿真到达实验要求。进度安排;课下编写程序,并要求程序能通过编译仿真;第十七周的周一在实验板上下载调试程序;周三课设答辩。课程设计成果1与设计内容对应的软件程序2课程设计报告书3成果使用说明书4设计工作量要求交通信号控制器的VHDL的设计一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,用数码管显示等待时间。设计一个交通信号灯控制器。能达到的要求:(1) 交通灯从绿变红时,有5秒黄灯亮的间隔时间;(2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒;(4) 在任意时间,显示等待时间。 支干道 主干道图1 路口交通管理示意图S0S1S2S3主干道交通灯绿(30秒)黄(5秒)红(20秒)红(5秒)支干道交通灯红红绿黄表1 交通信号灯的4种状态 二、设计结构学习EDA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。模块说明:系统输入信号: Clk: 由外接信号发生器提供153的时钟信号; 系统输出信号: CLK:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。模块说明:系统输入:CLK: 接收由clk电路的提供的1hz的时钟脉冲信号;系统输出信号: tm: 产生显示电路状态转换信号 tl:倒计数值 秒数个位变化控制信号 th:倒计数值 秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。模块说明:系统输入信号:CLK: 接收由clk电路的提供的1hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号;系统输出信号: da_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路本电路负责红绿灯的计数时间的显示。模块说明:系统输入信号: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 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);-个十位选择端(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);-个位数码管显示情况控制 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 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=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_stateda_out=001100;tm=30-time; -主绿和支红状态,当计时到29 if time=29 then next_state=s1; 秒时将s1状态赋给次态,此时 else next_stateda_out=010100;tm=35-time; 态 if time=34 then next_state=s2; else next_stateda_out=100001;tm=55-time; if time=54 then next_state=s3; else next_stateda_out=100010;tm=60-time; if time=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; elsif th=00;tlled7s1led7s1led7s1led7s1null; end case; case tl is when 0000000=led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2led7s2null; end case;end process;end one; 五 、心得体会通过本次EDA课程设计,我们更加了解交通灯的工作原理,也更加清楚设计实现步骤是如何完成的。学会了各个并行进程之间相互通信协同工作的过程。进一步了解了VHDL语言的结构和编程方法,并通过硬件实验和对FPGA的程序下载初步掌握了电子EDA的设计方法,为以后的学习打下基础。加深了对电子设计自动化的了解。进一步熟练了对QuartusII软件的操作。我们的课程设计分为三个阶段,第一阶段是阅读课设要求并作出分析;第二阶段是编写程序并上机调试纠正错误;第三阶段是程序改进,验收。在阅读题目后我们针对要求做出了两种设计方案,但在编程过程中发现第一种方案虽简单但存在时钟触发缺陷,选择第二种方案编程。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足的,我们大量搜集资料,通过总体设计,局部编程,最终完成整个程序。在下载调试过程中,由于器件问题出现译码管显示不正确的情况,我们逐个排查虚接线路,最后成功实现实验内容。在实验过程中,最珍贵的不是我们独立的编程能力,而是学会用所学的知识掌控大局,用所查的资料完善设计;并能在实践中踏下心来慢慢检查错因,并进行改善。我们掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的VHDL语言进行编程。总之,通过这次的设计,进一步了解了EDA技术,收获很大,对软件编程、排错调试、相关仪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论