2023年数电综合实验报告交通灯_第1页
2023年数电综合实验报告交通灯_第2页
2023年数电综合实验报告交通灯_第3页
2023年数电综合实验报告交通灯_第4页
2023年数电综合实验报告交通灯_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字逻辑与数字系统设计综合实验二

——十字路口交通灯自动控制器的设计

学院电子工程学院

班级卓越001012班

学号00101201

姓名冉艳伟

实验时间2023.6.8

十字路口交通灯自动控制器的设计

一、实验目的

学习QuartusH的使用方法,熟悉可编程逻辑器件的使用。通过

制作来了解交通灯控制系统,交通灯控制系统重要是实现城市十字交

叉路口红绿灯的控制。

二、设计任务

设计一个十字路口交通控制系统,其东西,南北两个方向除了有

红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示

每一路允许通行的时间,绿灯,黄灯,红灯的连续时间分别是40、5

和45秒。当东西或南北两路中任一道上出现特殊情况,例如有消防

车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即

进入特殊运营状态,即两条道上的所有车辆皆停止通行,红灯全亮,

时钟停止计时,且其数字在闪烁。当特殊运营状态结束后,管理系统

恢复本来的状态,继续正常运营。

南北jp道

________OOO________

OO

OO

东西干道oo

------------OOOI--------------

图1路口交通管理示意图

ABCD

南北干道交通灯绿(40秒)黄(5秒)红(40秒)红(5秒)

东西干道交通灯红红绿黄

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

三、实验规定

(1)按照设计任务设计,采用VHDL语言编写程序,并在QUARTU

SII工具平台中进行仿真,下载到EDA实验箱进行验证。交通灯用

发光二级管模拟,观测交通灯的运营是否正常,假如不正常,排除故

障直至对的为止。

(2)编写设计报告,规定涉及方案选择、程序清单、调试过程、

测试结果及心得体会。

规定:必须用可编程器件实现电路功能。可以是原理图,也可以是

VHDL代码,也可以混合输入。

五、设计说明

(1)第一模块:CLK时钟秒脉冲发生电路

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

式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳

定的时钟(cl。ck)才干让系统正常运作,故对1MHz的时钟信

号进行1000000分频。

模块说明:

系统输入信号:

CLKi:由外接信号发生器提供1MHz的时钟信

号;

系统输出信号:CLK:产生每秒一个脉冲的信号;

(2)第二模块:模90倒计数器

按照实验规定,交通灯循环一次为90秒,且显示倒数的计数值,

故设计一模90倒计数器通过主程序运算即可显示各路计数值。

模块说明:

系统输入:CLK:接受由CLK电路的提供的lhz的时钟脉冲信号;

reset:紧急情况输入

系统输出信号:L1:倒计数值秒数十位变化控制信号;

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

(3)交通灯主程序

说明:

系统输入:CLK:接受由CLK电路的提供的1hz的时钟脉冲信

号;

reset:紧急情况输入

系统输出信号:Lx:东西方向红绿黄灯控制信号;

Ly:南北方向红绿黄灯控制信号;

NUMxl:东西方向倒计数值秒数十位变化控制

信号;

NUMxO:东西方向倒计数值秒数个位变化控制信

号;

NUMxl:南北方向倒计数值秒数十位变化控制信

号;

NUMxO:南北方向倒计数值秒数个位变化控制信

号;

六、设计方案

图2交通灯控制系统示意图

交通控制系统示意图

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

采用VHDL语言输入的方式实现交通信号灯控制器

时间显

次态发生器

信号灯输出信号

信号灯输出

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

七、程序清单

(1)第一模块:CLK时钟秒脉冲发生电路

entitydefreqis

叩ort(CLKi:instd_logic;

8CLK:outstd_1ogic

。);

enddefreq;

architecturebehavofdefreqis

signa1q:integerrange999999downto0;

begin

叩rocess(CLKi,q)

4)egin

if(CLKi'eventandCLKi='1')then

。if(q=999999)then

°q<=0;

。else

oooq<=q+1;

sendif;

fendif;

oif(q<500000)then

。CLK<='0';

else

oCLK<='r;

»endif;

»endprocess;

endbehav;

(2)第二模块:模90倒计数器

libraryieee;

useieee.std_logic_1164.a11;

useieee.std_logic_unsigned.a11;

entitysubcounter90is

叩ort(CLK:instd_logic;

8reset:instd_1ogic;

L1,L0:outstd_1ogic_vector(3downto0)

°);

endsubcounter90;

architecturebehavofsubcounter90is

osigna1ltl,ltO:std_1ogic_vector(3downto0);

begin

process(CLK,reset,Itl,1tO)

begin

»if(reset='O')then

。if(CLK'eventandCLK='1')then

。oif(lt0="0000")then

ooif(It1="0000")then

»«ltl<="1000";

8o]t0<="1001";

。eIse

oltl<=ltl-1;

»ltO<="1001";

ooendif;

else

8ltO<=ltO—1;

endif;

endif;

eIse

ItO<=lt0;

。1t1<=lt1;

endif;

»endprocess;

oL0<=ItO;

endbehav;

(3)交通灯主程序

libraryieee;

useieee.std_logic_1164.a11;

useieee.std」ogic_unsigned.all;

entitytrafficlightis

port(CLK:instd_1ogic;

。reset:instd_logic;

aLx,Ly:outstd_logic_vector(2downto0);

。NUMxl,NUMx0,NUMyl,NUMyO:outstd_logic_vect

or(3downto0)

0);

endtrafficlight;

architecturestructureoftraffic1ightis

osigna1It1,1t0,NUMxt1,NUMxtO,NUMytl,NUMytO:std_1

ogic_vector(3downto0);

signalCLKt:std_logic;

componentdefreq

port(CLKi:instd」ogic;

oCLK:outstd」ogic

);

。endcomponent;

0componentsubcounter90

。port(CLK:instd_logic;

8。reset:instd_logic;

8L1,LO:outstd_logic_vector(3downto0)

);

endcomponent;

begin

Ul:defreqportmap(CLK,CLKt);

»U2:subcounter90portmap(CLKt,reset,1tl,1tO);

aprocess(ltl,ltO,reset,NUMxtl,NUMxtO,NUMytl,NUMyt0)

obegin

if(reset='O')then

ooif(111>"0100")then

。。Lx<="100";

NUMxtl<=ltl-5;

NUMxt0<=lt0;

。e1sif(lt1="0100"andlt0>"0100")then

oooLx<="010";

oNUMxtl<=ltl-4;

»»NUMxt0<=lt0—5;

«else

Lx<="001";

。oNUMxtl<=ltl;

gNUMxtO<=1t0;

sendif;

if((ltl>"0100")or(1tl^"0100"andlt0>"0100"))then

»Ly<="001";

o»if(lt0>"0100")then

oNUMyt1<=1t1-4;

。NUMytO<=1tO-5;

eIse

。»NUMyt1<=1tl-5;

NUMyt0<=1tO+5;

endif;

«elsif((It1>"0000")or(1tl="0000"andlt0>"0100"))t

hen

ooLy<="100";

«if(lt0>"0100")then

NUMytl<=1t1;

“NUMyt0<=lt0-5;

oaoelse

。。»NUMyt1<=1t1-1;

。NUMytO<=lt0+5;

endif;

else

。Ly<="010";

。NUMytl<=lt1;

oNUMytO<=ltO;

oendif;

o(>NUMxl<=NUMxtl;

,NUMx0<=NUMxtO;

。NUMy1<=NUMytl;

»NUMy0<=NUMyt0;

else

Lx<="001";

。Ly<="001";

。if(CLKt='0')then

NUMxl<=NUMxtl;

o»NUMxO<=NUMxt0;

ooNUMy1<=NUMyt1;

oNUMy0<=NUMytO;

oelse

。»NUMxl<="0000

OOONUMX0<="0000";

NUMyl<="0000";

oNUMy0<="0000";

»endif;

endif;

»endprocess;

endstructure;

八、仿真结果

1.第一模块:CLK时钟秒脉冲发生电路

(1)功能仿真:

(2)时序仿真

(2)第二模块:模90倒计数器

(1)功能仿真:

SimulationWaveforms

Simulationmode:Functional

QMasterTimeBar:15.75ns小|Pointer:8.28n5Interval:[-7.47n$Start:

SO.pns16O.pns24O.pns32O.pns400.p"480.,0ns560.pns640.,0m720.pns800.pns880.pns96P.i0ns

1575ns

J

nuinwnmnnnfwmROTJiflnRJimmTOwnnnnjinnnjinnnnnnfWMnnnmRnmnnwmmnnwinnnnr

n___nnnnnnnn

_j_i__r_j_ii_i___r

unn_rm_nn_rLn_nji_rm_rr^_rm_n_n_

rjLrmrLnjinjLmuumnjinAnjwLnjLrLmuumruTnannjTnArLnjinjumrmjTn

~X-THYT6]Y[5]Y[4]--Y[3]x[2]X[1]X[0]x[ST

(2)时序仿真

SimulationWaveforms

Simulationmode:Timing

底MasterTimeBar:1575nsPointer:2.76nsInterval:-1299nsStart:End

A)ps80«ns160/ns240,0ns320.,0ns400.,0ns480/ns560.pns640/ns720.pns800.,0ns880/ns96O.pns|

美1T5.75n_s_________________________________________

ia^oCLKJIumniuinnfuuinwinnninjuinnwOTTOWiiOTWMfwuiiminiwinjinnnwiwuinnwwuimnnr

电7^7reset

文LO

♦3-L0[3]nnn-nnnn

04-L0[2]_j_L_j_ii_i___r

Q5-L0[l]...TLn_rm_nj-\_rm_rm__nj~\_rm_rm_rLn

36-U)[0]juvumanrumnjiruuinjmnnnnjwirumjijmjumjmru™rinjirmnnnrir

LITsTTny两⑸X一叵Txzzs[i]X⑼X~~i^T

8xzna

"8-LI[3]_「

-LI[2]

Q10-Ll[l]

Q11-LI[0]

in

(3)交通灯总程序仿真

(1)功能仿真:

xwo

-NW1x0[3]

-NWIxO[2]

-NWIxOtl]

-NlfNxO(O)

MWxl

-mfflxi[3]

-NVJ1xl[2]

-NUflxlfl]

-NWIxltO)

MlNyO

-NV»lyO[3]

-NWIyO[2]

-NVHyO[1]

-NWIR[0]

□HWyl

-iwiiyiiai

-NW1yl[l]

-NUHyttO]

(2)时序仿真

QMastaTimeBar«|»|Pontef35023usInieivat

A32788w983.04us

r-n

KlfflxO畿电懒盥懦就献烟幽㈱mm

-HIHxOjuu_n__n__n__n__n__n__ri

-NIWxO

-SIWxO_rLn_n_n_n_n_rLn_rurL_n_rL_n_n_JTn_rLrL_nn_n_n_rin_n_

■NIWxOnMQIlOOyywiIlIWuwiJuyiaQnJifyioyilWliywyiiyiaooMiiwwwfwiwiwwwvwmiiimiwiiwiiwwiiwiiiruumr

miwxik(3j)r-^r[0)烬冰而T"(31x⑶⑴X~~t5T⑶X~~^3~mWWCEECZn

■NlMxl

-NtHxl

-NlBxl

-NIHxlJ~31MMMMIMIMIMMMIM—~I_

㈱㈱微XTOM姒㈱x姒瞰x怫㈱丽xmwmmx愀x㈱怫飒嫄x丽wwwcfoT

—in__in_in_in_in_n_in_in_u___in_in_L

n_m_m_o_rn_n_n_rn_rrun_n_m_r_u_

I.TIIITlTUl.TJTilllTITIHTJTIIITITIIITITIllT.ITJimTin1011^1110111111UTUJTU.

ummuuuuinjwuuumjiruumRnjirimumjmjuinjinonzywmjuumrmruuuijmnnn.

(ojXtTT;*❸酗।弼蹴嬲:嬲:嬲:嬲E嬲嬲嬲嬲:嬲E嬲嬲嬲嬲嬲嬲嬲嬲嬲明脸n而曲

,L_u—r-n-nvuwwwwiwwwwuwwwwwwwwiii=L^

九、引脚设立

接下来就要选择目的器件并对相应的引脚进行锁定了,引脚锁定方法如下图

所示。

NodeNameDrectionLocation1/0BankVrefGroup1/0StandardReserx

1eCLKInputPIN584B4N13.3-VLVTTL(default)

23Lx[2]OutputPIN_1342B2_N13.3-VLVTTL(default)

3QLx[l]OutputPIN_1352B2_N13.3-VLVTTL(default)

40Lx[0]OutputPIN1362B2N13.3-VLVTTL(default)

5饪Ly[2]OutputPIN_1372B2_N13.3-VLV1TL(default)

6QLy[i]OutputPIN_1392B2.N13.3-VLVTTL(default)

70Ly[O]OutputPIN_1412B2.N13.3-VLVm.(defeult)

83NUMx0[3]OutputPIN_414B4.N13.3-VLVTTL(default)

90NUMxO[2]OutputPIN.301Bl.Nl3.3-VLVTTL(default)

102NUMx0[l]OutputPIN_281B1_N13.3-VLVTTL(default)

110NUMxO[O]OutputPIN_251B1_N13.3-VLVTTL(default)

123NUMxl[3]OutputPIN_241Bl.Nl3.3-VLVTTL(default)

130NUMxl[2]OutputPIN_91B1_NO3.3-VLVm.(default)

14@NUMxl[l]OutputPIN_81B1_NO3.3-VLVTTL(default)

15QNUMxl[0]OutputPIN_71B1_NO3.3-VLVTTL(default)

16&NUMyO口]OutputPIN.1033B3_N03.3-VLVTTL(default)

17妙NUMyO[2]OutputPIN_1043B3.N03.3-VLVTTL(default)

183NUMyO[l]OutputPIN_1122B2_N03.3-VLVTTL(default)

192NUMyO[O]OutputPIN_U32B2JI03.3-VLVm.(default)

202NUMyl[3]Outpu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论