EDA交通信号控制器的VHDL设计Word文档格式.docx

上传人:b****3 文档编号:14766301 上传时间:2022-10-24 格式:DOCX 页数:10 大小:192.72KB
下载 相关 举报
EDA交通信号控制器的VHDL设计Word文档格式.docx_第1页
第1页 / 共10页
EDA交通信号控制器的VHDL设计Word文档格式.docx_第2页
第2页 / 共10页
EDA交通信号控制器的VHDL设计Word文档格式.docx_第3页
第3页 / 共10页
EDA交通信号控制器的VHDL设计Word文档格式.docx_第4页
第4页 / 共10页
EDA交通信号控制器的VHDL设计Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

EDA交通信号控制器的VHDL设计Word文档格式.docx

《EDA交通信号控制器的VHDL设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA交通信号控制器的VHDL设计Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

EDA交通信号控制器的VHDL设计Word文档格式.docx

绿

表1交通信号灯的4种状态

设计要求:

(1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。

(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。

 

二、设计原理

1、设计目的:

学习EDA开发软件和Quartus的使用方法,熟悉可编程逻辑器件的使用。

通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。

设计说明:

在事先准备及老师指导后,将此次设计分4个模块,来解决交通灯的各项特性。

(1)第一模块:

clk时钟秒脉冲发生电路

在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。

因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

模块说明:

系统输入信号:

Clk:

由外接信号发生器提供256的时钟信号

系统输出信号:

full:

产生每秒一个脉冲的信号

(2)第二模块:

计数秒数选择电路

计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。

系统输入:

full:

接收由clk电路的提供的1hz的时钟脉冲信号

系统输出信号:

tm:

产生显示电路状态转换信号

tl:

倒计数值秒数个位变化控制信号

th:

倒计数值秒数十位变化控制信号

(3)第三模块:

红绿灯状态转换电路

本电路负责红绿灯的转换。

tm:

接收计数秒数选择电路状态转换信号

comb_out:

负责红绿灯的状态显示

(4)第四模块:

时间显示电路

本电路负责红绿灯的计数时间的显示。

tl:

led7s1:

负责红绿灯的显示秒数个位

led7s2:

负责红绿灯的显示秒数十位

三、设计方案

CLK

时间显示数据输出

信号灯输出

图2交通信号灯控制器程序原理框图

进程将CLK信号分频后产生1秒信号,然后构成两个带有预置数功能的十进制计数器,并产生允许十位计数器计数的控制信号。

状态寄存器实现状态转换和产生状态转换的控制信号,下个模块产生次态信号和信号灯输出信号,以及每一个状态的时间值。

经过四个模块的处理,使时间计数、红绿灯显示能够正常运行。

四、程序清单:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYtrafficIS

PORT(clk:

instd_logic;

outstd_logic_vector(6downto0);

led7s2:

outstd_logic_vector(5downto0));

END;

ARCHITECTUREoneOFtrafficIS

TYPEdmIS(s0,s1,s2,s3);

SIgnalcurrent_state,next_state:

dm;

SIGNALFULL:

STD_LOGIC;

SIGNALtl:

STD_LOGIC_VECTOR(6DOWNTO0);

SIGNALth:

STD_LOGIC_VECTOR(1DOWNTO0);

SIGNALtm:

SIGNALTIME:

BEGIN

P_REG:

PROCESS(CLK)

VARIABLECNT8:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

IFCLK'

EVENTANDCLK='

1'

THEN

IFCNT8="

"

CNT8:

="

00000000"

;

FULL<

='

ELSECNT8:

=CNT8+1;

FULL<

='

0'

ENDIF;

ENDPROCESSP_REG;

PROCESS(full)

IFfull'

EVENTANDfull='

IFTIME<

1000011"

THEN

TIME<

=TIME+1;

ELSeTIME<

0000000"

ENDIF;

ENDPROCESS;

REG:

process(full,current_state)

IFfull='

ANDfull'

EVENTTHEN

current_state<

=next_state;

ENDprocess;

COM:

process(current_state,time)

begin

casecurrent_stateis

whens0=>

comb_out<

001100"

tm<

=39-time;

iftime=39thennext_state<

=s1;

elsenext_state<

=s0;

endif;

whens1=>

010100"

=43-time;

iftime=40thencomb_out<

elsiftime=41thencomb_out<

000100"

elsiftime=42thencomb_out<

elsiftime=43thennext_state<

=s2;

whens2=>

100001"

=63-time;

iftime=63thennext_state<

=s3;

whens3=>

100010"

=67-time;

iftime=64thencomb_out<

elsiftime=65thencomb_out<

100000"

elsiftime=66thencomb_out<

elsiftime=67thennext_state<

endcase;

endprocess;

PROCESS(tm)

BEGIN

IFtm>

=30THENth<

11"

tl<

=tm-30;

ELSIFtm>

=20THENth<

10"

=tm-20;

=10THENth<

01"

=tm-10;

ELSEth<

00"

=tm;

process(th,tl)

casethis

when"

=>

led7s1<

0111111"

0000110"

1011011"

1001111"

whenothers=>

null;

casetlis

when"

led7s2<

0000001"

0000010"

0000011"

0000100"

1100110"

0000101"

1101101"

1111101"

0000111"

0001000"

1111111"

0001001"

1101111"

endprocess;

end;

五、用QuartusII软件的设计过程主要包括

1建立项目

2输入设计电路(可采用不同方式)

3设计编译

4设计仿真

5设计下载

六、仿真结果(如下图)

七、引脚设置

接下来就要选择目标器件并对相应的引脚进行锁定了,我们选择的器件为cyclone系列的EP1C3T144芯片,引脚锁定方法如下图所示。

将未使用的管脚设置为三态输入(一定要设置,否则可能会损坏芯片)。

本实验只能用采用模式6下载调试,一切正常。

八、实验中问题

A、程序设计中的问题

在程序设计中有遇到不知如何简化程序的问题,开始编写的时候设置的变量、信号过多,不懂得巧妙的应用。

B、波形仿真中的问题

波形仿真正确,但是波形图中存在毛刺现象,毛刺现象又称为竞争冒险,由于信号在FPGA器件内部通过连线和逻辑单元时都有一定的延时。

延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。

另外信号高低电平的转换也需要一定的过渡时间。

所以多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。

如果一个组合逻辑电路中有“毛刺“出现,就说明该电路存在“冒险”。

毛刺的消除可以通过改变设计,破坏毛刺产生的条件来减少毛刺的发生。

毛刺并不是对所有的输入都有危害,对于D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且不满足数据的建立和保持时间,就不会对系统造成危害,因此可认为D触发器的D输入端对毛刺不敏感。

根据这个特性,应当在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。

由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间。

这种方法可以大大减少毛刺,但他并不能完全

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

当前位置:首页 > 农林牧渔 > 林学

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

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