收藏 分享(赏)

基于EDA技术基础的交通灯设计.doc

上传人:dzzj200808 文档编号:2650476 上传时间:2018-09-24 格式:DOC 页数:19 大小:324KB
下载 相关 举报
基于EDA技术基础的交通灯设计.doc_第1页
第1页 / 共19页
基于EDA技术基础的交通灯设计.doc_第2页
第2页 / 共19页
基于EDA技术基础的交通灯设计.doc_第3页
第3页 / 共19页
基于EDA技术基础的交通灯设计.doc_第4页
第4页 / 共19页
基于EDA技术基础的交通灯设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、基于 EDA 技术基础的交通灯设计班 级:0307405姓 名:艾 波学 号:030740517指导教师:袁海林 1、绪论1.1 课程设计背景随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。城市交通基础设施供给滞后于高速机动化增长需求,道路堵塞日趋加重,交通事故频繁,环境污染加剧等问题普遍存在。目前,全国大中城市普遍存在着道路拥挤、车辆堵塞、交通秩序混乱的现象,交通事故频发,这给人民的生命财产安全带来了极大的损失。如何解决城市交通问题已成为全社会关注的焦点和大众的迫切呼声。探究城市交通发展中存在问题的原因,无论是从宏观上还是从微观上分析,其根本原因在于城市交通系统的

2、管理机制不适应。城市交通控制系统(UTC ,Urban Traffic Control System)是现代城市智能交通系统(IDJ ,Intelligent transport system)的组成之一,主要用于城市道路交通的控制与管理。城市平交路口实现交通信号控制是城市交通管理现代化的基本标志之一,是提高交通管理效能的重要技术手段。路口信号控制器是控制交叉路口交通信号的设备,它是交通信号控制的重要组成部分。各种交通控制方案,最终都要由路口信号控制器来实现。为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。伴随着社会的发展以及人类生活水平的提高,汽车的数量在

3、不断增加,EDA 技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。利用 EDA 技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。1.2 课程设计目a.掌握十字路口交通灯控制的设计原理,并能够运用 VHDL 编程语言编写出实验程序,进一步对所学的 EDA 知识进行掌握与实际应用。b.学会在 MAX+plus 软件环境中仿真,熟悉软件的基本操作和运行环境。c.锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。2、系统分析与总体方案2.1 系统分析通过分析可以知道,所要设计的十字路口交通

4、灯控制电路要能够使南北、东西各四个灯(红、黄、绿、左转) ,四个灯能够按顺序依次亮灭。而且要求绿灯亮转红灯亮或者转左转灯亮之前要先转黄灯亮 5 秒,左转灯亮转红灯亮之前也要先转黄灯亮 5 秒,红灯亮可以直接转绿灯或左转灯亮(四种灯的循环顺序如图 2.1 所示) 。还要求四种灯的点亮时间能够以倒计时的形式显示出来。可以用 VHDL 语言合理设计系统功能,使红黄绿左转灯的转换有一个准确的时间间隔和转换顺序。绿灯 黄灯 左转灯 黄灯 红灯图 2.1 四种灯的循环顺序2.2 方案比较实现路口交通灯的方法很多,可以用标准逻辑器件、可变程序控制器和单片机等方案来实现。若用单片机来实现的话,模型可以由电源电

5、路、单片机主控电路、无限收发控制电路和显示电路四部分组成。在电源电路中,需要用到+5V 的直流稳压电源,无限收发控制电路和显示电路应由编码芯片和数据发射模块两部分组成,主控电路的主要元件为 AT89C51。硬件设计完成后还要利用计算机软件经行软件部分的设计才能够实现相应的功能。虽然利用单片机系统设计的交通灯控制器相对来说比较稳定,能够完成较多功能的实现,但这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改和系统设计与调试的困难。相反,使用基于 FPGA 的方法具有周期短、使用灵活、易于修改等明显的优点。而且,随着 FPGA 器件,设计语言和电子设计自动化工具的发展和改

6、进,越来越多的电子系统采用 FPGA 来设计。未来使用 FPGA 器件设计的产品将出现在各个领域。因此此次的交通灯控制器将基于 FPGA 的设计方案来实现所需要的功能。 2.3 设计的总体方案根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图 3.1 所示:CLK 时钟分频模块交通灯控制及计时模块扫描显示模块LED 显示 数码管位码 数码管段码图 2.2 系统的框图3、硬件电路设计3.1 分频器设计分频器实现的是将高频时钟信号转换成低频时钟信号,用于触发控制器、计数器和扫描显示电路。具体实物模块如图:图 3.

7、1 分频器模块3.2 状态控制电路设计状态控制器的作用是根据计数器的计数值控制各方向上发光二极管的亮、灭,当计时时间到达,状态控制器就响应,自动跳转到下一个状态。此外,当检测到特殊情况(EMI =1)发生时,无条件点亮红灯的二极管(急救灯按下EMI=1,则东西南北都亮红灯,在这种状态下原来的状态必须保持,即东西南北方向定时时间保持不变。急救灯未按下或者按下后恢复,则继续计时(计时通过计数器 ct) ,同时恢复东西南北原来灯的状态) 。具体实物模块如图:图 3.2 控制电路模块3.3 计数器设计这里需要的计数器的计数范围为 0-80。计到 80 后,下一个时钟沿回复到0,开始下一轮计数。此外,当

8、检测到特殊情况(EMI =1)发生是,计数器暂停计数,而系统复位信号 RESET 则使计数器异步清零。图 3.3 计数器模块3.4 译码显示电路设计根据状态控制器所控制的状态和计数器的计时时间,选择当前状态下的显示器,使显示器输出当前状态下的数码管亮、灭指令,其中数码管的显示采用动态扫描显示。具体实物模块如图:图 3.4 译码显示电路模块4、实验程序设计一个完整的 VHDL 语言程序通常包括实体(Entity) 、构造体(Architecture) 、配置、包集合(Package )和库(Library)5 个部分组成。下面结合实际的程序来加以说明。4.1 实体定义:library IEEE;

9、use IEEE.std_logic_1164.all;entity traffic_light isport(clk : in std_logic; - 时钟频率为 250KHz.start : in std_logic; - 交通灯控制:1 开, 0 关.EMI : in std_logic; - 急救灯控制,1 所有红灯亮. ew_rled : out std_logic; -东西红灯控制,0 开, 1 关.ew_gled : out std_logic; - 东西绿灯控制,0 开 , 1 关.ew_yled : out std_logic; - 东西黄灯控制,0 开 , 1 关.ew_

10、turnled: out std_logic; - 东西左转灯控制,0 开, 1 关sn_rled : out std_logic; - 南北红灯控制,0 开, 1 关sn_gled : out std_logic; - 南北绿灯控制,0 开, 1关sn_yled : out std_logic; - 南北黄灯控制,0 开, 1 关sn_turnled: out std_logic; - 南北左转灯控制,0 开, 1 关L : out std_logic_vector(2 downto 0); -显示器选取dled : out std_logic_vector(7 downto 0); -显示

11、器数据输出end traffic_light;4.2 译码显示:architecture control of traffic_light isTYPE eastwest IS (ew_red,ew_green,ew_yellow0,ew_yellow1,ew_turnl); TYPE southnorth IS (sn_red,sn_green,sn_yellow0,sn_yellow1,sn_turnl);signal ew_state: eastwest; signal sn_state: southnorth; beginprocess(clk)function display(s:i

12、nteger range 0 to 9) return std_logic_vector isvariable result:std_logic_vector(7 downto 0);begincases iswhen 0 = result:=X“FC“;-0when 1 = result:=X“60“;-1when 2 = result:=X“DA“;-2when 3 = result:=X“F2“;-3when 4 = result:=X“66“;-4when 5 = result:=X“B6“;-5when 6 = result:=X“BE“;-6when 7 = result:=X“E

13、0“;-7when 8 = result:=X“FE“;-8when 9 = result:=X“F6“;-9when others = null;end case;return result;end display; 4.3 状态转换:variable cnt:integer range 0 to 7; variable ct:integer range 0 to 5; variable ew_secondH,sn_secondH: integer range 0 to 8; variable ew_secondL,sn_secondL: integer range 0 to 9;begin

14、if start=0 then 初始化dled ew_rled ew_rled ew_rled ew_rled ew_turnled ew_rled sn_rled sn_rled sn_rled sn_rled sn_turnled sn_rled ew_state ew_state ew_stateew_stateew_state ew_state sn_state sn_state sn_statesn_statesn_state sn_state L L L L L L L L result:=X“FC“;-0when 1 = result:=X“60“;-1when 2 = resu

15、lt:=X“DA“;-2when 3 = result:=X“F2“;-3when 4 = result:=X“66“;-4when 5 = result:=X“B6“;-5when 6 = result:=X“BE“;-6when 7 = result:=X“E0“;-7when 8 = result:=X“FE“;-8when 9 = result:=X“F6“;-9when others = null;end case;return result;end display; variable cnt:integer range 0 to 7; variable ct:integer ran

16、ge 0 to 5; variable ew_secondH,sn_secondH: integer range 0 to 8; variable ew_secondL,sn_secondL: integer range 0 to 9;beginif start=0 then 初始化dled ew_rled ew_rled ew_rled ew_rled ew_turnled ew_rled sn_rled sn_rled sn_rled sn_rled sn_turnled sn_rled ew_state ew_state ew_stateew_stateew_state ew_state sn_state sn_state sn_statesn_statesn_state sn_state L L L L L L L L=“111“; dled=display(sn_secondL);end case;end if;end process;end control;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报