EDA课程设计——交通灯.doc
《EDA课程设计——交通灯.doc》由会员分享,可在线阅读,更多相关《EDA课程设计——交通灯.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 交通信号灯控制电路设计一、 概述 城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上
2、角的彩灯来代替信号灯的一种实际电路。设计一个基于FPGA的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL语言编辑文本程序,按设计要求连接好线以后,进行波形仿真,仿真结果正确后下载程序并对试验箱进行调试,使其最终的显示结果符合设计要求。二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。 红绿灯交
3、通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。下面给出各模块的VHDL设计过程和仿真结果。1、 系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。但为了
4、配合高峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通。Clk_gen电路最主要的功能就是产生一些额外的输出信号,并将其用做后续几个电路的使能(enable)控制与同步信号处理。 该电路的核心部分就是分频电路,通过对外接信号发生器提供1kHz的时钟信号进行1000分频,得到一个周期为1秒的输出使能信号ena_lhz(占空比1:1000)和flash_lhz(占空比1:1);4分频后得到红绿灯信号译码电路所需的频率为250Hz的显示使能信号ena_scan。architecture one of fenpingqi issignal counter:integer ran
5、ge 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;2、 开关控制部分的ASM图i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。X=i&j&kX=
6、001X=010X=100G=29G=39G=49yyyG=0x=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x=001then g:=29;elsif x=010then g:=39;elsif x=100then g:=49;else g:=0;end if;3、 信号灯转换控制部分的ASM图Rm、Ym、Gm分别表示主干道红、黄、绿;Rf、Yf、Gf分别表示支道红、黄、绿;S表示灯亮的时间;nclr
7、是计时器的清零端,低电平有清零;en是计时器的使能端,高电平使能。Gm=1Rf=1S=GS=S+1nclr=1en=1Ym=1Rf=1S=3Rm=1Gf=1S=GS=3 Rm=1Yfrm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=1;gm=0; rf=1;yf=0;gf=0;if s=3 thenstate =c;nclr:=0;en
8、:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=0;gf=1;if s=g thenstate =d;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=1;gf=0;if s=3 thenstate =a;nclr:=0;en:=0;Elsestateclr,CLK=clk,q=Q); u2: kongzhi port map(i=i,j=j,k=k,clk=Q,rm=rm,ym=ym,gm=gm1,rf=rf,yf=yf,gf=gf); u3:count_down port map(RE,CLK,ena_1Hz_1,rec
9、ount_1,load,S,next_state_1); NEXT_S=next_state_1;end architecture JTD;分频器代码 library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpingqi isport (CLR,CLK:in std_logic ; q:buffer std_logic);end fenpingqi;architecture one of fenpingqi issignal
10、counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;3、交通灯控制器代码 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 交通灯
限制150内