文档详情

基于vhdl状态机设计的智能交通控制灯

re****.1
实名认证
店铺
DOCX
346.96KB
约14页
文档ID:482256989
基于vhdl状态机设计的智能交通控制灯_第1页
1/14

基于vhdl状态机设计的智能交通控制灯1设计方案十字路口设计两组交通灯分别操纵东西和南北两个方向的交通如图1所示,当东西方向的红灯亮时,南北方向对应绿灯亮,过渡时期黄灯亮,即东西方向红灯亮的时刻等于南北方向绿灯和黄灯亮的时刻之和交通灯坚持变亮的时刻取决于键盘输入的操纵键值同理,当南北方向的红灯变亮时,东西方向的交通灯也遵循此逻辑总体上由状态机实现操纵,本设计中使用两个状态机分别操纵东西和南北两个方向的交通每个状态机中都设有4个状态,分别对应红灯亮、绿灯亮、黄灯亮和显现紧急状况时两个方向上的红灯同时变亮,停止倒计时的同时数码管上显现闪耀路口的繁忙程度是不一样的,白天时的交通比较繁忙,因此,红绿灯要变化快一些以便提升通过效率,减少拥堵时刻;相反,夜晚交通稀疏,就需要红绿灯变化慢一些因此,加入键盘操纵程序来操纵交通坚持变亮状态的连续时刻2总体设计结构框图总体设计结构框图如图2所示,共有11个功能模块,包括操纵东西方向交通灯的状态机和操纵南北方向交通灯的状态机、计数器模块、键盘扫描模块、数字合成模块、三个分位模块、数码管显示模块、动态显示扫描模块Re&eik『in Vovnl num MdClwLKesotreds”wnaGeiin[।run:numfi fish技惠机(乐甚方面】ClockntirabKese:redbHoldjjr eenbCei in :C 口叫! rima”[ku*b fl ash我态吼I南里方御卜Num id ritiK3 配岫 十位柳城^ain nuAi”“nb陆伯M战 I同皿Nuflin rwa>nrah 才性糖犍Num1 X【nthNqc Numd?fnrac S umlClk Rcaei5clJ-DLl IB L 门如; fInsli p tcy \ n・东发珠Jfl2◎悻设而结构怖用用VHDL语言对各个模块进行编程,最后形成顶层文件,彳AX+PLUSII环境下进行编译与仿真,检查所编程序是否运行正确。

如果显现错误,需要进行修改,直到完全通过为止需要讲明的是,在进行程序编译时,要先从底层程序开始,所有底层程序都正确后,才能开始顶层程序的编译这是因为顶层程序是对底层程序的概括,它是把底层程序各个模块连接起来,相当于把每个模块的功能汇聚到一起,实现整个系统的操纵功能,因此底层程序的正确与否关系到顶层程序的运行结果VHDL言编程生成的结构框图如图3所示1■—"dlu—4-a-dv入^^上确工―国Bph■卜・"a'."*M』“奉一M0TS1言-0sad二E二二4F-■・rr':""!二一£»-**xfJ=63・■:E3I一“:sx£JqT瑶:冒Iri■tn』尿rE-*♦===92-Sv・mHI・S.S士『2、£*1>>¥■工O:*®£1L=rz之二二第之_4i・;■:sf二巴费事SJKA・=*■-1IJa-J8-■-IJ.»—T二方FIsr二3Igl<%fl93iI—flI^31i■一nE.+J中r一HE■■.F二矍二---.ifdnET-B5星tLKXK5*===r3±Lgwlis三二一二:£.■:"J-w«k--m-wM*7^\:Jr=-才口蜜'n:=£1超,+XDL增内城的用明3VHDL程序设计3.1状态机1(东西方向)程序关键代码en<=grtin/2;n<=grhl»/8,|lJ;CHANGE.STATE:PROgS(心ET.CLOCK)BEGINIFRKSET二.Q-THLNSTATK<=SO:El^lEridn|c.«lge(CLOCK)THEXCASESTATE15WHENSO=》—虹灯俣息IFHOLD="PTHENSTATEmAND€OtJNTNl)M0ANDCOUNTNUM。

)THENSTATEcSI:ENDIF;WHENS2=>—黄灯状态IFHOLD=^rTHENSTATE<=S3:ELSIFCOVNTNUM=mTHENSTATE<=S0;ELSIF(COUNTNUM>nANDCOUVENl:M

3.2计数器源程序代码IilnarySeet;tise诂“手卜1」哗沁一】164闻I;usr\err.>kLlogic_unsigned.alLemil#eoLinterIis(clock:insl(lwljugic;rcMel;inhohifhiMtd_lo^io:上匕}i”:inintegerran^r0k99;covnliium:buflerLnte^errangeQt99Xend;ARCHHiCTURIiBehgMOFCmmlerl【5Hi^rialnum:int匕%errun邯,0to99;beginPROCl^SfRpwtClork)BEGIN1FR妙配l±'(TTHEN»uiii<=4;ILS1Fr&iriL川附优】THENTFHuUMrTHENnuin<=num:EISEIFnti»k=kcyinTHENnuFI5EitiiFn<=Einrn4hEM)IF:ENI)IF;EXPIF;EMJPROCESS;ENDWhiniur:3.3分位程序源代码EntityFrniirriIIbPort(NuminHnJntfgrrRungt*0To99:一0入It<1NiiTnA^NumBtfhjIIntrgtrRange0To9一敷值街位,长<1):End:ArrhitrcNirrFrnOfFrrawrilkBrgi”PnMc»tt(Nurnin)Dcginifnumin>=9Qihrnnuma<=9;—"W仁茨得伍numb<=nunnn-90;—做位质材值dkifNumin>=80thenNuniA<=J:NumRyNumin-80;ElsifNumin5=70thenNumA<=7;NumR〈二Numin-70;KLifNundii>=60thenElsifNuminxSOihtjnYumAw=5:elsirtnmiin>^40thenmi]i'ka<=4;nuiiib〈二nmnin-40;川以ifINurrt)n>=30thenNuifnA=20lh廿nNumA<=2;NHrnB<=Numiri—20;EhifNumkiXlt)ihrnNurnA<=l;NiimKeNurnin—HkEl毗iVumA<^fhMumH《=XumM;EndIf:EndPrwc口叱4仿真结果东西方向和南北方向状态机仿真结果如图4、5所示,从图4能够看出,getin是从键盘获得的键值,那个地点输入的是40s,初始》犬态为S0状态.红灯亮。

从S0状态跳转到S1状态即由红灯状态跳转到绿灯状态时,数码管显示的倒计时从15s开始;当由S1状态跳转到S2状态即由绿灯状态跳转到黄灯状态时,GREENA由高电平变为低电平,YELLOWA由低电平变为高电平倒计时时刻从5s开始南北方向仿真图与东西方向类似,那个地点不再赘述计数器从键盘上得到的键值为40s,从仿真图(图6所示)上能够看出,计数器能正常计数工 丁m H q 衅■「‘ 广■^jErncnt ■工,jr^PoeCS^ f r … i^TTTm^r 3?工5t. W-f 笛女加m He life. Oft-t M电白F 泥也iau 15乱上1£而并9通后寻昔当礼卿CUR暨甲UL u」iTU JLTJL JUL u JUUWinj iTJUL lRIUIRTL iRTlpLU刚%市比方同找当程侍能看哽i * n ru Lnzf iJ~ij~LrLnjmj"Lp rLrLrLrL7rLru'j mj"u"从仿真结果能够看出,计数器能够正常计数,状态机状态能够正确状态变换东西方向初始状态为绿灯,从15开始倒计时,南北方向初始状态为红灯,从20开始倒计时该系统硬件电路包含了1个CPLD,6个7段LED数码显示器,分别表示各个方向上的红、黄、绿灯,以及相应的限流电阻。

与其他操纵方法相比,所用器件能够讲是比较简单经济的通过实验,实现了预定的交通灯系统的操纵功能数码显示器采纳动态扫描方式,大大节约了资源5终止语该交通灯操纵逻辑能够实现3种颜色灯的交替点亮以及时刻的倒计时,指挥车辆和行人安全通行本文介绍的是一种最差不多和简单的交通灯设计情形,同时提供了一些模块的源程序代码在此基础上能够举一反三,从而用VHDL语言实现其它交通灯的操纵设计随着EDA技术的进展,在今后的电子产品研究开发中,EDA技术具有更好的开发手段和性价比,拥有广泛的市场应用前景。

下载提示
相似文档
正为您匹配相似的精品文档