好文档 - 专业文书写作范文服务资料分享网站

-基于VHDL的交通信号灯设计 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

H z和216Hz分频得到周期O.5s和1s的标准信号.32 768 H z还用于倒计时显示电路的刷新,计时电路根据交通信号灯每个状态需要持续的时间,预先设置相应计数器的初值,递减计数,在减到0前,状态机维持原状态,并产生11位的信号用于控制交通灯.当完成相应的定时后,使其转换到下一个状态,红黄绿信号灯也作相应的改变.限于篇幅略去倒计时及译码显示单元和LED信号灯组的驱动部分.

图3 交通信号灯状态转换图

(2) 交通管理器的设计

本设计采用层次描述方式,也采用原理图输入和文本输入混合方式建立描述文件。

图4 交通管理器工作流程 图 5 交通管理器顶层图形文件 (3) 控制器的逻辑描述

控制器是整个交通管理器的核心部件,控制三个定时器相互配合工作,保证交通安全畅通无阻运行的关键所在.它的逻辑描述如下:

LIBRARY IEEE;

USE IEEE. STD_ LOGIC_ 1164. ALL; ENTITY traffic _ control IS PORT(

clk:IN STD_ LOGIC;

c1,c2,c3:OUT STD_ LOGIC; 一各定时计数器的使能信号

w1,w2,w3:IN STD_ LOGIC; 一各定时计数器的工作信号

R1,R2:OUT STD_ LOGIC; 一两个方向的红灯信号

Y1,Y2:OUT STD_ LOGIC; 一两个方向的黄灯信号 G1,G2:OUT STD_ LOGIC; 一两个方向的绿灯信号

reset::IN STD_ LOGIC); 一复位信号 END traffic_ control;

ARCHITECTURE behave OF traffic control IS

TYPE state_space IS ( s0,s1,s2,s3 ); SIGNAL state:state_space; BEGIN PROCESS (clk) BEGIN

IF reset=1' THEN state<=s0;

ELSE (clk'EVENT AND clk=1)THEN CASE state IS

WHEN s0=>IF w1=1' THEN state<=s1; END IF; WHEN s1=>IF w2=1' THEN state<=s2; END IF; WHEN s2=>IF w3=1' THEN state<=s3; END IF;

WHEN s3=>IF w2=1' THEN state<=s0; END IF; END CASE; END IF; END PROCESS;

c1<=1' WHEN state=s0 ELSE '0

c2<=1' WHEN state=s1 0 R state=s3 ELSE '0 c3<=1' WHEN state=s2 ELSE '0

R1<=1' WHEN state=s1 OR state=s0 ELSE '0 Y1<=1' WHEN state=s3 ELSE '0 G1<=1' WHEN state=s2 ELSE '0

R2<=1' WHEN state=s2 OR state=s3 ELSE '0

Y2<=1' WHEN state=s1 ELSE '0 G2<=1' WHEN state=s0 ELSE '0 END behave:

(4) 定时器的逻辑描述

在交通管理器中有三个定时器,每个定时器定时各不相同,但就其逻辑描述而言,是完全相同的,下面以30秒定时计数器的逻辑描述为例作以说明.

LIBRARY IEEE;

USE IEEE. STD_ LOGIC_ 1164. ALL; ENTITY count 30 IS PORT(

clk:IN STD_ LOGIC; enable:IN STD_ LOGIC; c:OUT STD_ LOGIC); END count 30;

ARCHITECTURE behave OF count 30 IS BEGIN

PROCESS (clk)

VARIABLE cnt:INTEGER RANGE 30 DOWN TO 0 BEGIN

IF(clk'EVENT AND clk=1)THEN IF enable=1' AND cnt<30 THEN cent:=cent+1; ELSE cent:=0: END IF;

END IF; IF cent=30 THEN

c<=1;

ELSE

c<=0; END IF END behave:

编译器将顶层图形输入文件和第二层次功能块VHDL输入文件相结合并编译,即可产生交通管理器的目标文件.

(5) 仿真图形

三. 结束语

通过设计实例,在

Alter Quartus II环境下,用VHDL语言和原理图实现交通

管理器的复杂电路.根据VHDL的语法规则,对系统的逻辑行为进行描述,然后通过综合工具进行电路结构的综合、编译、优化,利用波形仿真工具,可在短时间内设计出高效、稳定、符合设计要求的电路.这种设计方法使设计人员摆脱了 电路细节的束缚,效率高、可靠性好、成本低,具有传统逻辑设计方法所无法比拟的优越性.

参考文献

[1]易 铭.PLC控制的交通信号灯控制系统的设计[J].工业控制计算机,2003,16(12):43-45.

[2] 林 涛.基于VHDL语言的交通信号控制器的设计与实现[J].交通与计算机,2006(4):72-75.

[3] 杜玉远.基于CPLD的智能交通信号灯控制器.电子世界, 2004(2): 30-31 [4] 刘焕成,刘智勇.多单片机系统及分组式交通信号灯控制器.电子技术, 2003(8): 15-19

[5] 王正勇;基于FPGA的交通信号控制器的设计[J];电子测量技术,2008.31(10):188-190

[6] 施先旺,刘婷婷,李国良;采用有限状态机实现控制指令的可靠检测火箭推进[J],2011(5);63-68

[7] 唐俊英:韩会山,陈 丽.EDA技术应用实例教程[M].北京电子工业出版社.2008. [8] 李忠波,袁宏; 电子设计与访真技术[M]北京机械工业出版社2004.

[9] 林建华,基于VHDL语言的交通灯管理系统的设计[J],仪器仪表用户,2011.

5a81f94hkf3pebf0il98
领取福利

微信扫码领取福利

微信扫码分享