基于VHDL交通信号灯控制器

上传人:san****glu 文档编号:33201857 上传时间:2018-02-14 格式:DOC 页数:9 大小:159.50KB
返回 下载 相关 举报
基于VHDL交通信号灯控制器_第1页
第1页 / 共9页
基于VHDL交通信号灯控制器_第2页
第2页 / 共9页
基于VHDL交通信号灯控制器_第3页
第3页 / 共9页
基于VHDL交通信号灯控制器_第4页
第4页 / 共9页
基于VHDL交通信号灯控制器_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于VHDL交通信号灯控制器》由会员分享,可在线阅读,更多相关《基于VHDL交通信号灯控制器(9页珍藏版)》请在金锄头文库上搜索。

1、PLD 与现代传感技术应用课程论文基于 VHDL 的交通信号灯的设计学 院: 电信学院 专 业: 控制工程 姓 名: 王 晋 学 号: 102430111356 基于 VHDL 的交通信号灯的设计王晋(辽宁科技大学 电信学院, 电信 2010)摘要:交通灯控制系统在城市交通监管中起着极其重要的作用。应用 VHDL 语言,在Altera 公司的 QuartusII 软件环境下 ,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计, 并进行了逻辑综合、 仿真, 系统的软件仿真测试结果满足了设计要求,达到了预期的效果。由于设计采 EDA 技术,不但大大缩短了开发研制周期 , 提高了设计效率,而且使

2、系统具有设计灵活,实现简单, 性能稳定的特点。关键词:交通灯控制; FPGA; VH DL;仿真0 引言交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的, 在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文在 EDA 技术的基础上,利用 FPGA 的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过 Quartus I I 软件进行了模拟仿真,并可以下载到FPGA 器件中进行硬件的调试, 验证其设计

3、的交通信号灯控制电路预定的功能。1 VHDL 的特点随着电子技术的发展 ,数字系统的设计正朝高速度、大容量、小体积的方向发展 ,传统的自底而上的设计方法已难以适应形势。 EDA ( Electronic Design Automation)技术的应运而生 ,使传统的电子系统设计发生了根本的变革。EDA 技术就是依赖功能强大的计算机 ,在 EDA 工具软件平台上 ,对以硬件描述语言VHDL(Very Hieh Speed Integrated Circuit Hardware DescriptionLanguage)为系统逻辑描述手段自顶而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直至生

4、成器件。VHDL 语言是目前应用于数字系统仿真最为实用的语言之一。VHDL 语言最早由美国国防部提出。用 VHDL 语言进行数字逻辑电路和数字系统的设计 ,是电子电路设计方法上的一次革命性变革。与传统设计方法相比 ,VHDL 描述电路行为的算法有很多优点:(1)设计层次较高、 用于较复杂的计算时 ,能尽早发现存在的问题 ,缩短设 计周期;(2)独立实现 ,修改方便 ,系统硬件描述能力强;(3)可读性好 ,有利于交流 ,适合于文档保存;(4)VHDL 语言标准、 规范、 移植性强;(5)VHDL 类型众多而且支持用户自定义类型 ,支持自顶而下的设计方法和 多种电路的设计。2 交通灯设计说明启动交

5、通灯首先将开关 rest 由低电平状态置为高电平状态(复位信号,低电平时有效) ,则系统就会进入稳定的工作状态。分 load0 和 load1 两路交通灯。初始状态为 load0 绿灯亮,load1 红灯亮。30 秒后 , load0 和 load1 均变黄 ,持续 5 秒后, load0 为红灯亮 , load1 为绿亮。30 秒后 , load0 和 load1 均变黄 ,持续 5 秒,如此交替循环。3 交通灯设计思路框图 Rest信 号 由 低 电 平置 为 高 电 平 交 , 交通 灯 进 入 启 动 状 态 load0绿 灯 亮l1红 灯 亮 Load0、 load1均 黄 灯 亮l

6、oad0红 灯 亮l1绿 灯 亮load0、 load1均 黄 灯 亮持 续 30秒 持 续 5秒持 续 5秒 持 续 30秒 图 1 交通灯设计框图4 软件流程图及程序根据交通灯信号控制的要求,可把它分解为定时器和控制器两部分。CLK: 时钟脉冲; rest:复位信号,低电平有效。r0:road0 红灯;y0:road0 黄灯;g0:road0 绿灯。r1:road1 红灯;y1:road1 黄灯;g1:road1 绿灯。(如图 1 所示) 。主控制电路设计程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNS

7、IGNED.ALL;use ieee.std_logic_arith.all;ENTITY fz ISPORT( clk : IN STD_LOGIC;rest : in std_logic;r0,y0,g0,r1,y1,g1: out std_logic);END ENTITY fz;ARCHITECTURE behavioral OF fz ISconstant yellow_time : integer:=5;constant green_time : integer:=30;constant red_time : integer:=30;signal p,f : integer ran

8、ge 0 to 3;signal clk_500 :std_logic;BEGINtemp1: process(clk) variable cnt1 :integer range 0 to 2;variable cnt2 :integer range 0 to 3;BEGINif clkevent and clk=1 then if cnt1=2 thencnt1:=0;if cnt2=3 then cnt2:=0;clk_500if load0=0 thenload0:=yellow_time;fif load0=0 thenload0:=green_time;fif load0=0 the

9、nload0:=yellow_time;fif load0=0 thenload0:=green_time;fr0=1;y0=0;g0=0;r1=1;y1=0;g1=0;end case;end if; end process temp2 ;end behavioral;开始判断是否r e s t = 1l o a d 0 绿灯亮l o a d 1 红灯亮是否到 3 0 秒l o a d 0 、 l o a d 1黄灯亮是否到 5 秒l o a d 0 红灯亮l o a d 1 绿灯亮是否到 3 0 秒否是否是否l o a d 0 , l o a d 1黄灯亮是否到 5 秒否是是是否l o a

10、 d 0 绿灯亮l o a d 1 红灯亮开始计时 图 2 软件流程图5 程序仿真图图 3 功能仿真图说明:图 3 为交通灯由启动到稳定的时序仿真图。为了显示明显,时钟选择clk(分频 clk_500 未使用)触发信号。交通灯程序首先 Rest 由低电平置高低电平。初始状态为 r0= 0,y0=0,g0=1, r1=1,y1=0,g1=0 即,load0 绿灯亮,load1红灯亮。在 0.3ns 处 rest=1, load0:=load0-1,开始自减,进入状态 f=0 ,30s 后load0=0 时,进入状态 f=1,r0= 0,y0=1,g0=0;r1=0,y1=1,g1=0 即 loa

11、d0 黄灯亮load1 黄灯亮。循环 5s 后进入状态 f=2,r0= 1,y0=0,g0=0;r1=0,y1=0,g1=1 ,即load0 红灯亮,load1 绿灯亮。循环 30s 后进入状态 f=3,r0= 0,y0=1,g0=0;r1=0,y1=1,g1=0 即 load0 黄灯亮 load1 黄灯亮。循环 5s 后,进入状态 f=0。依此方式,循环反复运行,完成交通灯控制功能。6 结语VHDL 语言可用简洁明确的代码描述来进行复杂逻辑的设计 ,使用灵活方便 ,易于设计结果的交流 ,保存和重用。EDA 技术彻底改变了数字系统的设计方法和实现手段 ,借助于硬件描述语言的国际标准 VHDL 和强大的 EDA 工具 ,随着 VHDL 语言使用范围的日益扩大 ,必将给硬件设计领域带来巨大的改革。参考文献1 侯伯亨.VHDL 硬件描述语言与数字逻辑电路设计M . 西安:西安电子科技大学出版社 ,1999.2 邢建平 ,曾繁泰. VHDL 程序设计教程. 3 版. 北京:清华大学出版社 ,2005.3 Xilinx lnc. The Programmable Logic Data Book Z .Xilinc lnc ,USA:1998.

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

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

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