数电综合实验报告记录2交通灯.docx
《数电综合实验报告记录2交通灯.docx》由会员分享,可在线阅读,更多相关《数电综合实验报告记录2交通灯.docx(11页珍藏版)》请在冰豆网上搜索。
数电综合实验报告记录2交通灯
数电综合实验报告记录2交通灯
数电综合实验报告记录2交通灯
作者:
日期:
数字逻辑与数字系统设计综合实验――十字路口交通灯自动控制器的设计
学院电子工程学院班级卓越002班学号00201姓名冉艳伟实验时间20__68
十字路口交通灯自动控制器的设计一、实验目的学习Quartusll的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
二、设计任务设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5和45秒。
当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时,且其数字在闪烁。
当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。
南北干道
________
OOO
_____________
OO
OO
东西干道匸匚
OO
OO
OOOI图11路口交通管理示意图
AABBCCDD南北干道交通灯:
绿(040秒)
黄(55秒)
红(040秒)
红(55秒)
东西干道交通灯红红绿黄
表11交通信号灯的44种状态三、实验要求
(1)按照设计任务设计,采用VHDI语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。
交通灯用发光二级管模拟,观察交通灯的运行是否正常,如果不正常,排除故障直至正确为止。
(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。
要求:
必须用可编程器件实现电路功能。
可以是原理图,也可以是VHDL弋码,也可以混合输入。
五、设计说明
(1)第一模块:
CLK时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。
因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作,故对1MHz的时钟信号进行1000000分频。
模块说明:
系统输入信号:
CLKi:
由外接信号发生器提供1MHZ的时钟信号;系统输出信号:
CLK:
产生每秒一个脉冲的信号;
(2)第二模块:
模90倒计数器
按照实验要求,交通灯循环一次为90秒,且显示倒数的计数值,故设计一模90倒计数器通过主程序运算即可显示各路计数值。
模块说明:
系统输入:
CLK:
接收由CLK电路的提供的1hz的时钟脉冲信号;reset:
紧急情况输入系统输出信号:
L1:
倒计数值秒数十位变化控制信号;L0:
倒计数值秒数个位变化控制信号;(3)交通灯主程序说明:
系统输入:
CLK:
接收由CLK电路的提供的1hz的时钟脉冲信号;reset:
紧急情况输入系统输出信号:
L_:
东西方向红绿黄灯控制信号;Ly:
南北方向红绿黄灯控制信号;NUM_l:
东西方向倒计数值秒数十位变化控制信号;NUM_O:
东西方向倒计数值秒数个位变化控制信号;NUM_l:
南北方向倒计数值秒数十位变化控制信号;NUM_O:
南北方向倒计数值秒数个位变化控制信
号; 六、设计方案GA.RBYA.RBRA3RA.YB图2交通灯控制系统示意图
交通挾制系统示意图
采用LVHDL语言输入的方式实现交通信号灯控制器
LJLJLJn_J
东西南北图22交通信号灯控制器的原理框图图33交通信号灯控制器程序原理框图
七、程序清单
(1)第一模块:
CLK时钟秒脉冲发生电路entitydefreqisport(CLKi:
instd」ogic;CLK:
outstd_logic);enddefreq;architecturebehavofdefreqissignalq:
integerrange999999downto0;beginprocess(CLKi,q)beginif(CLKi"eventandCLKi="1")thenif(q=999999)thenq<=0;elseq<=q+1;endif;endif;if(q<500000)thenCLK<="0";elseCLK<="1";endif;endprocess;endbehav;
(2)第二模块:
模90倒计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_
unsigned.all;entitysubcounter90isport(CLK:
instd_logic;reset:
instd_logic;L1,L0:
outstd_logic_vector(3downto0));endsubcounter90;
architecturebehavofsubcounter90issignallt1,ltO:
std_logic_vector(3downto0);beginprocess(CLK,reset,lt1,lt0)beginif(reset="0")thenif(CLK"eventandCLK="1")thenif(lt0=“0000”)thenif(lt1=“0000”)thenlt1<=“1000”;lt0<=“1001”;elselt1<=lt1-1;lt0<=“1001”;endif;elselt0<=lt0-1;endif;endif;elselt0<=lt0;lt1<=lt1;endif;endprocess;L1<=lt1;L0<=lt0;endbehav;(3)交通灯主程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_
unsigned.all;entitytrafficlightisport(CLK:
instd_logic;reset:
instd_logic;L_,Ly:
outstd_logic_vector(2downto0);NUM_1,NUM_0,NUMy1,NUMy0:
outstd_logic_vector(3downto0));
endtrafficlight;architecturestructureoftrafficlightissignallt1,ltO,NUM_t1,NUM_tO,NUMyt1,NUMytO:
std_logic_vector(30);signalCLKt:
std_logic;ponentdefreqport(CLKi:
instd_logic;CLK:
outstd」ogic);endponent;ponentsubcounter90port(CLK:
instd_logic;reset:
instd_logicL1,L0:
outstd_logic_vector(3downto0));endponent;beginU1:
defreqportmap(CLK,CLKt);U2:
subcounter90portmap(CLKt,reset,lt1,lt0);process(lt1,lt0,reset,NUM_t1,NUM_t0,NUMyt1,NUMyt0)beginif(reset二"0")thenif(lt1>“0100”)thenL_<=“100”;NUM_t1<=lt1-5;NUM_t0<=lt0;elsif(lt仁“0100”andlt0>“0100”)thenL_<=“010”;NUM_t1<=lt1-4;NUM_t0<=lt0-5;elseL_<=“001”;
downto
NUM_t1<=lt1;NUM_tO<=ltO;endif;if((lt1>“0100”)or(It仁“0100”andlt0>“0100”))thenLyv二“001”;if(lt0>“0100”)thenNUMyt1<=lt1-4;NUMyt0<=lt0-5;elseNUMyt1<=lt1-5;NUMyt0<=lt0+5;endif;elsif((lt1>“0000”)or(lt仁“0000”andlt0>“0100”))thenLy<=“100”;if(lt0>“0100”)thenNUMyt1<=lt1;NUMyt0<=lt0-5;elseNUMyt1<=lt1-1;NUMyt0<=lt0+5;endif;elseLy<=“010”;NUMyt1<=lt1;NUMyt0<=lt0;endif;NUM_1<=NUM_t1;NUM_0<=NUM_t0;NUMy1<=NUMyt1;NUMy0<=NUMyt0;elseL_<=“001”;Ly<=“001”;if(CLKt="0")then
NUM_lv二NUM_tl;NUM_Ov二NUM_tO;NUMy1<=NUMyt1;NUMyOv二NUMytO;elseNUM_1<=“0000”;NUM_0<=“0000”;NUMy1<=“OOOO”;NUMyO<=“OOOO”;endif;endif;endprocess;endstructure;八、仿真结果1.第一模块:
CLK时钟秒脉冲发生电路
(1)功能仿真:
(2)时序仿真
(2)第二模块:
模90倒计数器
(1)功能仿真:
(2)时序仿真(3)交通灯总程序仿真
(1)功能仿真:
UWEOL.:
]Emm】
HiWlllWHII]
PTfe:
:
・
HAIMWHtw證】
drjU_
aSLIfflll[|]-HfkiH]HA^_
Lnwi[_]叮LWEM』-IWrlLU=rTTT一LTJ■Lir.“.ror.iftii.r.Mvuo.".r.uni"iurmwnii:
iniMi-・bdquo;,...............
...................
"l"!
"”H-41!
■]■!
;IIH--H-I-----------1-a.
;.1a.
L;aa.
-.
.
..i.1_nrr
(2)时序仿真■|p
Hrm“I.."c"nj-raquo;巧nrw3C0DCJ脚r~iniinmaig乍is晅阴佃
CLE"laquo;ri
uvl
回Ur
■LJ
Izl
■L_tll
Ls】
讣a【_
■LF|2]Itfe
■LrlH0
LrH]◎
10回BIT3i]
-YTW_
HZ
■iprfcou:
:
和J014
Ltinwjbull;;-□VlMtzi
■WTl_j评al
mirij5日
■HTfc]a19
-?
mbd
(3tfllfeT
译啦
-HHIJLa益
-nijo❻:
參
Limjci
回nikj
■unwf]■azi
■NTij]
■NS_?
J
r~r_rn____ri_TLTLJTrLrLn_rLrLrLirL_rLr一-LrL_rLn_rLrL_rLrL_rLTL_nnnrnnjinnn.mnninnnrnruunRiuuii.i几imnm两匚nMnyuvuinnuiiAnj-"
y[门「皿jumiOri⑶~_hiJT
[叮~旦JT”?
1
LAiimwnmmmcininirni"TonirT-旷1门unviirr「-吓可一期-门1「「-叩T
门口口口「口迴汹MM删韓删删谪融删話細卿删锵曲!
「:
-7
"""tiT"inj.n_
rn__
II
.umu.ii如畑DEM■助同ftK砂环珈巩耐皿刖EDOM(二MnE)KTOB门J
iii~rm_ii;nJJIIII_r~n;i~ninj」;Ticjfflronrini:
rTiii\imi>inrjriii:
imr>m7irTir.i_
i九、引脚设置接下来就要选择目标器件并对相应的引脚进行锁定了,引脚锁定方法如下图所示。
ModeNSTC
DrcclionLowbongBankvYefGraupI/OSiardcird
1
CLKIiD-itPm经4裁N13.
3l厂1仕Bui:
; 工a吨OutputPlh_.1342B2^N13.3\_71~L[坛mul:
:
t_ilputPINbdquo;U52B2^N13.
一厂L(dE_auh; 科aL_MoutputPIN_23S2B2M13.
J-ML/rrli^efeulc}
5
MOutputP;
3.
珅_ECJENJI":
G
Ly[i:
Outut
2B2LN13.3-\E(duJuir
7
LfdOutput
2B2N113A.fTl
Gkbult:
8a
Ou蚀tpm」]4
3.3I"LL;dc_auh.
回
P1H_31S1_N1LVTTI
tdE"aui:
;
10
NLiMtsafl]
PIN2flL31N1玄詁Lfl-n怙ui:
:
Oulj_itpn23L31M13.
詁L/T-L也亡3]|:
:
12
OutputPiH24131N13laquo;3A!
/rn.
比aMJMKint)
PBHJ91EJ1_N33,3-MLE【北诂ul:
; 妙
Cki^tPLH_t1a.
i-\-
_vmi血pui:
; ]f
IMJMKIMUU^Llt艮刖131N0i.i-"o
Lkn(da; 迫
aKIM/0[3]OutputPIM_1O35B!
hD3.3-\-i.zr-LClefdult:
17神
Outf_itPtC:
CH3D3N0-EiJr-aul^
p
OuhjutPIN1125jB2N013\./TH.
(defeul:
1
缶;HJMAOJOulpLitPlN_n32B2_N03.
3-^L/TTLtderauh; 202
Output:
:
2H2_N03.
小V-VT;LCde-auh; 21a
Durput
2
22
cmmetpnu82B2MJ3.
制LEtle^uIC
hUMflfOlOutputPJN:
15zD2hD13\./TL址汕忙
禹bull;resetIreutpn_2210I_N113-El(de^ul:
:
十、实验总结(故障排除与收获体会)
综合设计实验对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。
通过设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,我们进行了数字电路设计,老师命题,进行设计。
趣味性强,同时也可以学到很多东西。
我们做的是交通灯控制器的设计。
在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
通过这个程序设计,我进一步加深了对电子设计自动化的了解,并进一步熟练了对lQuartusll软件的操作。
在编写程序的过程中,遇到了很多问题,有些函数不太熟悉,使我发现自己以前学习上存在的不足。
通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。
同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。
做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。
最后参照每个模块把输入和输出引脚设定,运用我们所学的LVHDL语言进行编程。
这次课程设计虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!
相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。
我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。
只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!
快乐至上,享受过程,而不是结果!
认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在实时测量技术试验上学到的最重要的东西,也是以后都将受益匪浅的!