步行街道自助式交通灯控制器课件Word文档下载推荐.docx

上传人:b****5 文档编号:16776585 上传时间:2022-11-26 格式:DOCX 页数:16 大小:134.21KB
下载 相关 举报
步行街道自助式交通灯控制器课件Word文档下载推荐.docx_第1页
第1页 / 共16页
步行街道自助式交通灯控制器课件Word文档下载推荐.docx_第2页
第2页 / 共16页
步行街道自助式交通灯控制器课件Word文档下载推荐.docx_第3页
第3页 / 共16页
步行街道自助式交通灯控制器课件Word文档下载推荐.docx_第4页
第4页 / 共16页
步行街道自助式交通灯控制器课件Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

步行街道自助式交通灯控制器课件Word文档下载推荐.docx

《步行街道自助式交通灯控制器课件Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《步行街道自助式交通灯控制器课件Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

步行街道自助式交通灯控制器课件Word文档下载推荐.docx

表1状态表

状态

主干道信号灯

步行街信号灯

主干道

步行街道

R(红)

G(绿)

Y(黄)

ST0

1

通行

禁行

ST1

车停靠

ST2

ST3

通行(绿灯闪烁)

ST4

通行(Z秒内)

2.1.2方案二

依照设计要求,系统采用自底向上的设计方法。

系统整体由交通灯控制模块、计数模块和分频模块三部分组成。

(1)交通灯控制模块

交通灯控制模块主要实现设计要求的五种状态之间的转换,所以采用状态机来设计。

五种状态如表1所示。

(2)计数模块

计数模块模块主要作用控制五种状态之间的转换时间,根据设计要求,设置步行街和主干道两个方向的交通灯时间。

(3)分频模块

由于较大的频率可能使各个状态之间的转换过快,无法更好的观察,所以采用分频模块,把高频率分成低频率,更好实现设计。

2.1.3最佳方案选择

方案一采用自顶向下设计方法,整个设计是从系统顶层开始的,结合模拟手段,可以从一开始就掌握所实现系统的性能状况,结合应用领域的具体要求,在此时就调整设计方案,进行性能优化或折衷取舍。

随着设计层次向下进行,系统性能参数将得到进一步的细化与确认,并随时可以根据需要加以调整,从而保证了设计结果的正确性,缩短了设计周期。

方案二采用自底向上的设计方法,设计从系统的底层开始,不过设计好后不易修改,而且还不易设计。

所以,我们采用方案一。

2.2总体框图

图1整体设计框图

3、选择器件

1.装有QuartusII软件的微型计算机。

计算机的硬件尽可能高,至少可以实现QuartusII软件的使用。

2.硬件实现的芯片为PFGA/CPLD,芯片管脚的数量要保证足够设计的程序所要使用的数量,并且使其所有管脚都有可分配的管脚,可以实现QuartusII上综合、适配的程序下载后可以顺利实现。

3.五个LED灯,用来显示交通灯,即:

行人方向红灯、行人方向绿灯和车辆方向红灯、车辆方向绿灯、车辆方向黄灯五个方向的亮灭。

4、功能模块

4.1去抖模块

这个模块的主要作用是消除按键在敲击时产生的抖动。

当UPIN为低电平,DOWNIN为高电平时,表示按键按下,KEYOUT有高电平输出;

当UPIN为高电平,DOWNIN为低电平时,表示按键弹起,KEYOUT有低电平输出。

4.1.1VHDL源程序(DITHER.VHD)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

ENTITYDITHERIS

PORT(

UPIN:

INSTD_LOGIC;

DOWNIN:

KEYOUT:

OUTSTD_LOGIC

);

ENDDITHER;

ARCHITECTUREBEHAVEOFDITHERIS

SIGNALOUT1:

STD_LOGIC;

SIGNALOUT2:

BEGIN

OUT1<

=NOT(OUT2ANDUPIN);

OUT2<

=NOT(OUT1ANDDOWNIN);

KEYOUT<

=OUT1;

ENDBEHAVE;

4.1.2生成的模块

图2DITHER模块

4.1.3仿真图

图3去抖模块仿真图

仿真分析:

输入UPIN、DOWNIN都为低电平时,输出KEYOUT为高电平;

输入UPIN为高电平、DOWNIN为低电平时,输出KEYOUT为低电平;

输入UPIN为低电平、DOWNIN为高电平时,输出KEYOUT为高电平;

输入UPIN、DOWNIN都为高电平时,输出KEYOUT为低电平。

4.2分频器模块

这个模块的主要主要是转换频率,把高频率转换成低频率。

分频后的频率更能适应电路的要求,使电路可以更好的运行。

4.2.1VHDL源程序(DIV.VHD)

ENTITYDIVIS

PORT

CLK_IN:

DIV_OUT:

OUTSTD_LOGIC

);

ENDDIV;

ARCHITECTUREaOFDIVIS

SIGNALFRE_N:

INTEGERRANGE0TO10;

SIGNALCLK_TMP:

BEGIN

DIV_OUT<

=CLK_TMP;

PROCESS(CLK_IN)

IFFALLING_EDGE(CLK_IN)THEN

IFFRE_N<

=9THEN

FRE_N<

=0;

CLK_TMP<

=NOTCLK_TMP;

ELSE

FRE_N<

=FRE_N+1;

ENDIF;

ENDif;

ENDPROCESS;

ENDa;

4.2.2生成的模块

图4DIV模块

4.2.3仿真图

图5分频器模块仿真图

输入CLK_IN信号经过十二个周期后,输出DIV_OUT第一个上升沿来临,实现了分频的作用。

4.3设置计数器模块

这个模块的主要作用是设置并存储主干道方向和步行街道方向的时间长短。

此模块预置了有效信号,通过加计数和减计数加大和减小预知的信号,从而实现对行人通行时间、行人方向信号灯闪烁时间和车辆通行时间的控制。

4.3.1VHDL源程序(COUNT.VHD)

ENTITYCOUNTIS

CLK:

INSTD_LOGIC;

CLEAR:

CLKADD:

CLKSUB:

PRE_SET:

INSTD_LOGIC;

HUMAN_SET:

RST:

GHUMAN_TIME:

OUTINTEGERRANGE31DOWNTO0;

GHUMAN_CLKT:

GVEHICLE_TIME:

OUTINTEGERRANGE31DOWNTO0

ENDCOUNT;

ARCHITECTUREBEHAVEOFCOUNTIS

SIGNALHUMAN_TIME:

INTEGERRANGE31DOWNTO0;

SIGNALVEHICLE_TIME:

SIGNALSSTATE:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALSCLK:

STD_LOGIC;

SIGNALDSCLK:

SSTATE<

="

0000"

WHENPRE_SET='

0'

ELSE

HUMAN_SET&

CLEAR&

CLKADD&

CLKSUB;

SCLK<

=CLKADDORCLKSUBORCLEAR;

PROCESS(CLK)

IF(CLK'

EVENTANDCLK='

1'

)THEN

DSCLK<

=SCLK;

ENDIF;

ENDPROCESS;

PROCESS(RST,CLEAR,DSCLK)

IF(RST='

VEHICLE_TIME<

=8;

ELSIF(DSCLK'

EVENTANDDSCLK='

CASESSTATEIS

WHEN"

0100"

=>

VEHICLE_TIME<

0101"

0110"

0111"

0001"

=VEHICLE_TIME-1;

0010"

=VEHICLE_TIME+1;

WHENOTHERS=>

=VEHICLE_TIME;

ENDCASE;

PROCESS(CLEAR,DSCLK)

HUMAN_TIME<

=4;

1100"

HUMAN_TIME<

1101"

1110"

1111"

1001"

=HUMAN_TIME-1;

1010"

=HUMAN_TIME+1;

=HUMAN_TIME;

PROCESS(PRE_SET,RST)

GHUMAN_TIME<

=5;

GHUMAN_CLKT<

=7;

GVEHICLE_TIME<

=15;

ELSIF(PRE_SET'

EVENTANDPRE_SET='

=HUMAN_TIME+3;

=HUMAN_TIME+VEHICLE_TIME+3;

4.3.2生成的模块

图6COUNT模块

4.3.3仿真图

图7计数器模块仿真图

当PRE_SET下降沿时,GHUMAN_TIME、GHUMAN_CLKT、GVEHICLE_TIME三个数组输出信号发生跳转,三者关系符合GVEHICLE_TIME<

=HUMAN_TIME+VEHICLE_TIME+3。

可以看出,满足计数器的预定功能。

4.4交通灯控制模块

这个模块的主要作用是交通灯五种状态的实现。

此模块采用状态机来实现交通灯的五种状态,设置了行人方向和车辆方向的五个交通灯,即行人方向红灯、行人方向绿灯和车辆方向红灯、车辆方向绿灯、车辆方向黄灯。

并设置了请求信号输入,作为行人要通过主干道的按钮。

4.4.1VHDL源程序(LIGHT.VHD)

ENTITYLIGHTIS

SRED:

OUTSTD_LOGIC;

SGREEN:

ERED:

EGREEN:

EYELLOW:

OUTSTD_LOGIC;

GT_SET:

ININTEGERRANGE31DOWNTO0;

ININTEGERRANGE31DOWNTO0;

REQUEST:

CLK:

INSTD_LOGIC

ENDLIGHT;

ARCHITECTUREBEHAVEOFLIGHTIS

TYPEIN_STATESIS(ST0,ST1,ST2,ST3,ST4);

SIGNALCURRENT_STATE:

IN_STATES;

SIGNALNEXT_STATE:

SIGNALSTART:

SIGNALSIG:

PROCESS(CURRENT_STATE,RST)

ORCURRENT_STATE=ST0)THEN

START<

='

;

ELSESTART<

A:

PROCESS(START,CLK)

SIG<

ELSIF(CLK'

IF(START='

IF(SIG=GVEHICLE_TIME)THEN

ELSESIG<

=SIG+1;

ENDPROCESSA;

PROCESS(RST,CLK)

CURRENT_STATE<

=ST0;

=NEXT_STATE;

PROCESS(CLK,CURRENT_STATE)

CASECURRENT_STATEIS

WHENST0=>

ERED<

EGREEN<

EYELLOW<

SRED<

SGREEN<

IF(REQUEST='

ANDGT_SET='

NEXT_STATE<

=ST1;

ELSENEXT_STATE<

WHENST1=>

IF(SIG=1)THEN

=ST2;

WHENST2=>

IF(SIG=GHUMAN_TIME)THEN

=ST3;

WHENST3=>

=NOTCLK;

IF(SIG=GHUMAN_CLKT)THEN

=ST4;

WHENST4=>

SRED<

NEXT_STATE<

4.4.2生成的模块

图8LIGHT模块

4.4.3仿真图

图9交通灯控制模块的仿真图

从图上可以看出五个交通灯的变化情况,符合源程序赋予的各个状态的变化。

5、总体设计原理图

5.1整体组装设计原理图

图10整体组装设计原理图

5.2整体仿真图

图11系统整体仿真图

当RST为高电平时,五种灯(行人方向红灯、行人方向绿灯和车辆方向红灯、车辆方向绿灯、车辆方向黄灯)按照五种状态依次变换,每种状态之间的变换时间与计数模块的一致。

5.3管脚分布

图12系统整体管脚分布

参考文献

1.曹昕燕,周凤臣,聂春燕。

EDA技术实验和课程设计。

北京:

清华大学出版社,2006。

2.潘松,黄继业。

EDA技术实用教程(第三版)。

科学出版社,2006。

3.谭会生。

EDA技术综合应用实例和分析。

西安:

西安电子科技大学出版社,2004。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1