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

下载本文档

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

文档简介

1、PLD与现代传感技术应用课程论文 基于FPGA的交通信号灯的设计学 院: 电信学院 专 业: 控制理论与控制工程 姓 名: 于洪军 基于FPGA的交通信号灯的设计于洪军(辽宁科技大学 电信学院, 电信2010)摘要: 交通灯控制系统通常需要实现自动控制路口红绿灯的变化, 基于FPGA设计的交通灯控制系统具有电路简单、可靠性强、运算速度高的特点。系统通过功能扩展、接口扩展可同时控制多个路口的红绿灯变换, 并实现具有根据需要实时快速擦写应用程序的功能。利用Quar tus I I 软件平台对设计系统进行仿真,。仿真结果表明系统能够自动控制交通灯转变。关键词:交通灯控制; FPGA; VHDL;仿真

2、0 引言 可编程逻辑设计是近年来在电子设计领域中出现的一门新技术, 它把复杂的数字系统转化为用一两个可编程逻辑器件即可实现的片上系统; 把系统的新换代转化为简单的在系统编程设计; 把后期的系统调试转移到设计实现之前在计算机上进行的时序仿真 1 。这种新的技术将使硬件设计向软件化方向发展, 大大简化数字系统的开发过程, 使数字系统不再需要大量不同种类的芯片及芯片之间的复杂连线, 不再需要一次又一次地调试硬件电路并反复修改、制作电路。有效地减少系统体积, 增加系统的可靠性, 而且缩短开发周期,降低研制成本 2 。基于FPGA ( Field Programmable Gates Array) 的设

3、计具有串、并行工作方式和高速、高可靠性、规模大、设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定等优点, 因而在电子系统中得到广泛应用 3 。 本文利用VHDL 4 硬件描述语言, 以及SOPC 嵌入式系统设计, 并通过QuartusII软件和Altera 公司的Cyclone 系列FPGA 完成了交通灯控制系统的设计,并对结果进行了模拟仿真。随着社会经济的发展, 城市交通问题越来越引起人们的关注。人、车、路三者关系的协调, 已成为交通管理部门需要解决的重要问题之一 5 。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统, 它是现代交

4、通监管系统的重要组成部分, 本文应用FPGA 设计实现交通灯控制功能。1设计要求所设计的交通信号灯控制电路, 主要适用于在两条干道汇合点形成的十字交叉路口, 路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。灯亮时序如图1 所示, 当B方向的红灯亮时, A方向对应绿灯亮, 由绿灯转换成红灯的过渡阶段黄灯亮, 即B方向红灯亮的时间等于A方向绿灯和黄灯亮的时间之和。同理, 当A方向的红灯变亮时, B 方向的交通灯也遵循此规则。当出现特殊情况时, 各方向上均亮红灯。特殊运行状态结束后, 控制器恢复原来的状态, 继续运行。图1 交通灯设计要求2 交通灯设计总体框图启动交通灯首先将开关 rest

5、由低电平状态置为高电平状态(复位信号,低电平时有效),则系统就会进入稳定的工作状态。A、B两路交通灯。初始状态为A绿灯亮,B红灯亮。15 秒后 ,A黄灯亮,B红灯亮。5秒后,A红灯亮,B绿灯亮。15之后,A红灯亮,B黄灯亮。如此反复循环。 图2 交通灯设计总体框图 3 软件流程图及程序交通灯信号: CLK:时钟脉冲; (如图2所示) 。主控制电路设计程序如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;use ieee.std_logic_arith.all;ENTITY fz1 ISPOR

6、T( clk : IN STD_LOGIC; rest : in std_logic; r0,y0,g0,r1,y1,g1: out std_logic);END ENTITY fz1;ARCHITECTURE behavioral OF fz1 ISconstant yellow_time : integer:=5;constant green_time : integer:=15;constant red_time : integer:=20;signal p,f : integer range 0 to 3;signal clk_500 :std_logic;BEGIN process(

7、clk) variable load_A,load_B :integer; begin if rest='0' then f<=0;load_A:=green_time;load_B:=red_time; r0<='0'y0<='0'g0<='1' r1<='1'y1<='0'g1<='0' elsif clk'event and clk='1' then case f is when 0=>if load_A=

8、0 then load_A:=yellow_time;f<=1; else load_A:=load_A-1; -A路绿灯时间,循环等待 r0<='0'y0<='0'g0<='1'-A路绿灯 r1<='1'y1<='0'g1<='0'-B路红灯 end if; when 1=>if load_A=0 then load_B:=green_time;f<=2; else load_A:=load_A-1; -黄灯时间 r0<='0&#

9、39;y0<='1'g0<='0'-A路黄灯 r1<='1'y1<='0'g1<='0'-B路红灯 end if; when 2=>if load_B=0 then load_B:=yellow_time;f<=3; else load_B:=load_B-1; -绿灯时间 r0<='1'y0<='0'g0<='0' -A路红灯 r1<='0'y1<='0'g1&l

10、t;='1' -B路绿灯 end if; when 3=>if load_B=0 then load_A:=green_time;f<=0; else load_B:=load_B-1; -黄灯时间 r0<='1'y0<='0'g0<='0' -A路红灯 r1<='0'y1<='1'g1<='0' -B路黄灯 end if; when others=>r0<='1'y0<='0'g0&l

11、t;='0'r1<='1'y1<='0'g1<='0' end case; end if; end process ;end behavioral; 4 程序仿真图 图3 功能仿真启动状态图说明:图3为交通灯由启动到稳定的时序仿真图。交通灯程序首先Rest由低电平置高低电平。初始状态为r0= 0,y0=0,g0=1;r1=1,y1=0,g1=0即,A路绿灯亮,B路红灯亮。在 5ns处rest=1,进入启动状态。Load_A(初始值为green_time)开始计时(load_A=load_A-1)。 图4 稳定运行

12、状态图说明:如图,50ns后,系统进入稳定运行状态。r0= 0,y0=0,g0=1;r1=1,y1=0,g1=0。即A路绿灯亮,B路红灯亮,15s(15个clk周期)r0= 0,y0=1,g0=0;r1=1,y1=0,g1=0即A黄灯亮,B黄灯亮。循环5s后,r0= 1,y0=0,g0=0;r1=0,y1=0,g1=1,即A红灯亮B绿灯亮。循环15s后进入状态r0= 1,y0=0,g0=0;r1=0,y1=1,g1=0即A红灯亮,B黄灯亮,循环5s。依此方式,循环反复运行,完成交通灯控制功能。5 结语VHDL 语言可用简洁明确的代码描述来进行复杂逻辑的设计 ,使用灵活方便 ,易于设计结果的交流 ,保存和重用。EDA 技术彻底改变了数字系统的设计方法和实现手段 ,借助于硬件描述语言的国际标准VHDL 和强大的 EDA 工具 ,随着 VHDL 语言使用范围的日益扩大 ,必将给硬件设计领域带来巨大的改革。 参考文献1Misubishi Semiconductor.PM50RSA120 Data Sheetcommon/cfm/ePartProfile.cfm

温馨提示

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

评论

0/150

提交评论