基于VHDL交通信号灯控制器.doc_第1页
基于VHDL交通信号灯控制器.doc_第2页
基于VHDL交通信号灯控制器.doc_第3页
基于VHDL交通信号灯控制器.doc_第4页
基于VHDL交通信号灯控制器.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

PLD与现代传感技术应用课程论文 基于VHDL的交通信号灯的设计学 院: 电信学院 专 业: 控制工程 姓 名: 王 晋 学 号: 102430111356 基于VHDL的交通信号灯的设计王晋(辽宁科技大学 电信学院, 电信2010)摘要:交通灯控制系统在城市交通监管中起着极其重要的作用。应用VHDL语言,在Altera公司的QuartusII软件环境下,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计, 并进行了逻辑综合、 仿真, 系统的软件仿真测试结果满足了设计要求,达到了预期的效果。由于设计采EDA技术,不但大大缩短了开发研制周期, 提高了设计效率,而且使系统具有设计灵活,实现简单, 性能稳定的特点。关键词:交通灯控制; FPGA; VH DL;仿真0 引言 交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的, 在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文在 EDA 技术的基础上,利用FPGA 的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过Quartus I I软件进行了模拟仿真,并可以下载到FPGA 器件中进行硬件的调试, 验证其设计的交通信号灯控制电路预定的功能。 1 VHDL的特点随着电子技术的发展 ,数字系统的设计正朝高速度、大容量、小体积的方向发展 ,传统的自底而上的设计方法已难以适应形势。EDA ( Electronic Design Automation)技术的应运而生 ,使传统的电子系统设计发生了根本的变革。EDA 技术就是依赖功能强大的计算机 ,在EDA工具软件平台上 ,对以硬件描述语言VHDL(Very Hieh Speed Integrated Circuit Hardware DescriptionLanguage)为系统逻辑描述手段自顶而下地逐层完成相应的描述、综合、优化、仿真与验证 ,直至生成器件。VHDL 语言是目前应用于数字系统仿真最为实用的语言之一。VHDL 语言最早由美国国防部提出。用VHDL 语言进行数字逻辑电路和数字系统的设计 ,是电子电路设计方法上的一次革命性变革。与传统设计方法相比 ,VHDL 描述电路行为的算法有很多优点:(1) 设计层次较高、 用于较复杂的计算时 ,能尽早发现存在的问题 ,缩短设 计周期;(2)独立实现 ,修改方便 ,系统硬件描述能力强;(3)可读性好 ,有利于交流 ,适合于文档保存;(4)VHDL 语言标准、 规范、 移植性强;(5)VHDL 类型众多而且支持用户自定义类型 ,支持自顶而下的设计方法和 多种电路的设计。2 交通灯设计说明启动交通灯首先将开关 rest由低电平状态置为高电平状态(复位信号,低电平时有效),则系统就会进入稳定的工作状态。分load0和load1两路交通灯。初始状态为load0绿灯亮,load1红灯亮。30 秒后 , load0和load1均变黄 ,持续5秒后, load0为红灯亮 , load1为绿亮。30 秒后 , load0和load1均变黄 ,持续5秒,如此交替循环。3 交通灯设计思路框图 图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_UNSIGNED.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 range 0 to 3;signal clk_500 :std_logic;BEGIN temp1: process(clk) variable cnt1 :integer range 0 to 2; variable cnt2 :integer range 0 to 3; BEGIN if clkevent and clk=1 then if cnt1=2 then cnt1:=0; if cnt2=3 then cnt2:=0; clk_500=not clk_500; else cnt2:=cnt2 + 1; end if; else cnt1:=cnt1+1; end if ; end if ; end process temp1; -当clk周期为10ns时,分频后200*250*2,周期为1stemp2: process( clk_500) variable load0,load1:integer; begin if rest=0 then f=0;load0:=green_time;load1:=red_time; r0=0;y0=0;g0=1; r1=1;y1=0;g1if load0=0 then load0:=yellow_time;f=1; else load0:=load0-1; -0路绿灯时间,循环等待 r0=0;y0=0;g0=1;-0路绿灯 r1=1;y1=0;g1if load0=0 then load0:=green_time;f=2; else load0:=load0-1; -黄灯时间 r0=0;y0=1;g0=0;-0路黄灯 r1=0;y1=1;g1if load0=0 then load0:=yellow_time;f=3; else load0:=load0-1; -绿灯时间 r0=1;y0=0;g0=0; -0路红灯 r1=0;y1=0;g1if load0=0 then load0:=green_time;f=0; else load0:=load0-1; -黄灯时间 r0=0;y0=1;g0=0; -0路黄灯 r1=0;y1=1;g1r0=1;y0=0;g0=0;r1=1;y1=0;g1=0; end case; end if; end process temp2 ;end behavioral; 图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即load0黄灯亮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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论