
EDA课程设计报告——交通灯.doc
11页交通信号灯控制电路设计一、 概述城市道路穿插口是城市道路网络的根本节点,也是网络交通流的瓶颈目前,大局部无控制穿插口都存在顶峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和效劳水平低下等问题特别是随着城市车流量的快速增长,城市无控制道路穿插口的交通压力越来越大因此,做好基于EDA技术平台的穿插口信号控制设计是缓解交通阻塞、提高城市道路穿插口车辆通行效率的有效方法交通信号控制的目的是为城市道路穿插口(或交通网络)提供平安可靠和有效的交通流,通常最为常用的原则是车辆在穿插口的通过量最大或车辆在穿插口的延误最小交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路设计一个基于FPGA的红绿灯交通信号控制器假设*个十字路口是由一条主干道和一条次干道集合而成,在每个方向设置红绿黄三种信号灯,红灯亮制止通行,绿灯亮允许通行黄灯亮允许行驶中车辆有时间停靠到制止线以外本课程的根本原理是在适宜的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL语言编辑文本程序,按设计要求连接好线以后,进展波形仿真,仿真结果正确后下载程序并对试验箱进展调试,使其最终的显示结果符合设计要求。
二、方案设计与论证在硬件时钟电路的根底上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示 红绿灯交通灯控制器层次设计:EDA技术的根本设计方法有电路级设计方法和系统级设计方法电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进展方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来下面给出各模块的VHDL设计过程和仿真结果1、 系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的因此,为了防止意外事件的发生,电路必须给一个稳定的时钟〔clock〕才能让系统正常运作但为了配合顶峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通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 range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK='1' and CLK'event) 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不同的值,用来实现控制通行时间<=i&j&k*=001*=010*=100G=29G=39G=49yyyG=0*<=i&j&k;t:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif *<="001"then g:=29;elsif *<="010"then g:=39;elsif *<="100"then g:=49;else g:=0;end if;3、 信号灯转换控制局部的ASM图Rm、Ym、Gm分别表示主干道红、黄、绿;Rf、Yf、Gf分别表示支道红、黄、绿;S表示灯亮的时间;nclr是计时器的清零端,低电平有清零;en是计时器的使能端,高电平使能。
Gm<=’1’Rf<=’1’S=GS=S+1nclr=‘1’en=‘1’Ym<=’1’Rf<=’1’S=3Rm<=’1’Gf<=’1’S=GS=3 Rm<=’1’Yf<=’1’yyyyS=S+1nclr=‘1’en=‘1’ nclr=‘0’en=‘0’nclr=‘0’en=‘0’if (clk'event and clk='1') then if nclr='0' then s:=0; elsif en='0' then s:=s; else s:=s+1; end if;case state iswhen a=>rm<='0';ym<='0';gm<='1'; rf<='1';yf<='0';gf<='0';if s=g thenstate <=b;nclr:='0';en:='0';Elsestate<=a;nclr:='1';en:='1';end if;3、状态装换 (1)开场设置为支路为绿灯、主路为红灯,持续时间为30秒; (2)30秒后,支路由绿灯变为黄灯,主路红灯不变,持续时间为4秒; (3)4秒后,支路由黄灯变为红灯,主路由红灯变为绿灯,持续时间30秒; (4)30秒后,支路红灯不变,主路由绿灯变为黄灯,持续时间为4秒; (5)4秒后,支路由红灯变为绿灯,主路由黄灯变为绿灯,持续时间为30秒; 随时间,主、支系统依次循环,可以自动切换,红绿灯时间间隔可以手动设置,以适应不同需求。
case state iswhen a=>rm<='0';ym<='0';gm<='1'; rf<='1';yf<='0';gf<='0';if s=g thenstate <=b;nclr:='0';en:='0';Elsestate<=a;nclr:='1';en:='1';end if;when b=>rm<='0';ym<='1';gm<='0'; rf<='1';yf<='0';gf<='0';if s=3 thenstate <=c;nclr:='0';en:='0';Elsestate<=b;nclr:='1';en:='1';end if;when c=>rm<='1';ym<='0';gm<='0'; rf<='0';yf<='0';gf<='1';if s=g thenstate <=d;nclr:='0';en:='0';Elsestate<=c;nclr:='1';en:='1';end if;when d=>rm<='1';ym<='0';gm<='0'; rf<='0';yf<='1';gf<='0';if s=3 thenstate <=a;nclr:='0';en:='0';Elsestate<=d;nclr:='1';en:='1';end if;end case;四、 总原理图1、电路连接图2、分频器模块 3、交通灯控制器模块4、波形仿真仿真图一仿真图二5、 硬件仿真:为了能对所设计的红绿灯交通灯控制器电路进展硬件测试,应将其输入输出信号锁定在开发系统的目标芯片引脚上,并重新编译,然后对目标芯片进展编程下载,完成红绿灯交通灯控制器的最终开发,其硬件测试示意图如图6-62。
不失一般性,本设计选用的EDA开发平台为GW48电路模式为No.5,选择目标器件为Cylone系列EP1C3T144C8芯片 锁定引脚时将CLK接至clock2〔承受1kHz的时钟频率〕;内部自复位信号同键3〔PIO8〕相连;手动、自动切换钮(1:自动、0手动)接键4〔PIO9〕;:红绿灯状态切换键〔每按一次就切换一个状态〕接键5〔PIO13〕; R1接发光二级管D8〔PIO23〕用于指示南北路口红灯;G1接发光二级管D7〔PIO22〕用于指示南北路口绿灯;Y1接发光二级管D6〔PIO21〕用于指示南北路口黄灯;R0接发光二级管D5〔PIO20〕用于指示东西路口红灯;G0接发光二级管D4〔PIO19〕用于指示东西路口绿灯;Y0接发光二级管D3〔PIO18〕用于指示东西路口红灯;NE*T_S 接发光二级管D1〔PIO16〕用于转态指示引脚锁定完成后,重新对该工程进展编译,综适宜配后将配置数据下载入GW48实验平台的FPGA中〔有关CLK等引脚在FPGA芯片EP1C6Q240C8引脚中的序号,请参见EDA书后的附录的附表〕选模式5,情况一(红绿灯间隔30秒,黄绿间隔5秒),设定最右边三个灯(从右到左)为支路灯:红灯、绿灯、黄灯;紧接着为主路:红灯、绿灯、黄灯(6号灯已坏顺延到7号灯);仿真图片如下:图一:支路绿灯,主路红灯图二:支路黄灯,主路红灯图三:支路红灯,主路绿灯图四:支路红灯,主路黄灯图五:支路绿灯,主路红灯五、实验目的1. 熟练掌握VHDL 语言和MA*+ PLUSII软件的使用;2. 理解状态机的工作原理和设计方法;3. 掌握利用EDA 工具进展自顶向下的电子系统设计方法六、实验步骤1.将实验系统上RS232接口与计算机串行口相连。
2.用VHDL将两个方案的源程序输入MA*+ PLUSII软件中3.编译程序并进展引脚分配,最后将程序下载到器件中去七、结果分析本次课程设计根本上满足了任务的设计要求,可以通过开关手动设置主干道和支道每次通行的时间分别为为30s、40s、50s,从而控制通行时间长短的转换;各个状态之间的转化及各个状态的通行时间也可以满足"主干道和支干道自动循环主干道和支道每次通行的时间为30s,而在两个状态交换过程出现的"主黄,支红"和"主红,支黄"状态,持续时间都为4s〞的设计要求但是设计也存在一定的缺陷,设计只能完成当开关i,j,k只有一个为高电平时使交通灯正常工作,,其他状态时定义G=0,这时交通灯不能正常工作例如当*=I&J&K=’101’,时,其波形仿真各个状态时间通行时间长短会出现过失,如下列图 然而,这种状况在实际生活中是不允许出现的其解决方法是:在各个when语句后增加一条if判断语句,判断如果g等于0,则保持原状态,如果g不等于0,则执行原来方案中的状态转换语句八、硬件要求主芯片EPF10K10LC84-4;6个LED灯〔红、黄、绿各两个〕;四个开关九、心得体会通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找资料,请教教师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有。












