交通信號(hào)燈控制器代碼及說明_第1頁
交通信號(hào)燈控制器代碼及說明_第2頁
交通信號(hào)燈控制器代碼及說明_第3頁
交通信號(hào)燈控制器代碼及說明_第4頁
交通信號(hào)燈控制器代碼及說明_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告課程名稱:FPGA現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)設(shè)計(jì)名稱:交通信號(hào)燈控制器姓 名:* * *學(xué)號(hào):2010000379專業(yè):通信指導(dǎo)教師:* * *起止日期: 2010. 12. 25 - 2011. 1. 9課程設(shè)計(jì)任務(wù)書設(shè)計(jì)名稱:設(shè)計(jì)要求:(1)設(shè)計(jì)一個(gè)交通信號(hào)燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個(gè) 入口處設(shè)置紅、綠、黃三色信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮那么給行駛中 的車輛有時(shí)間停在禁行線外。(2)紅、綠、黃發(fā)光二極管作信號(hào)燈,用傳感器或邏輯開關(guān)作檢測(cè)車輛是否到來的信號(hào)。(3)主干道處于常允許通行的狀態(tài),支干道有車來時(shí)才允許通行。主干道亮綠燈時(shí),支 干道亮紅

2、燈;支干道亮綠燈時(shí),主干道亮紅燈。(4)主、支干道均有車時(shí),兩者交替允許通行,主干道每次放行45s,支干道每次放行 25s,設(shè)立45s、25s計(jì)時(shí)、顯示電路。(5)在每次由綠燈亮到紅燈亮的轉(zhuǎn)換過程中,要亮5s黃燈作為過渡,使行駛中的車輛有 時(shí)間停到禁行線外,設(shè)立5s計(jì)時(shí)、顯示電路。(6)發(fā)生緊急事件,如救護(hù)車、警車、搶險(xiǎn)車通過,可以手動(dòng)控制四個(gè)方向的紅燈全亮。一、設(shè)計(jì)目的和意義通過應(yīng)用Verilog語言在QuartusII軟件平臺(tái)上設(shè)計(jì)交通信號(hào)燈控制器,并借助硬件來測(cè) 試仿真效果。通過課程設(shè)計(jì),熟悉硬件編程語言的應(yīng)用,特別是有限狀態(tài)機(jī)的靈活使用,為以 后進(jìn)一步的學(xué)習(xí)實(shí)踐打下良好的基礎(chǔ)。二、設(shè)計(jì)

3、原理(1)主、支干道用傳感器檢測(cè)車輛到來情況,實(shí)驗(yàn)電路用邏輯開關(guān)代替。(2)選擇1HZ時(shí)鐘脈沖作為系統(tǒng)時(shí)鐘。(3) 45s、25s、5s定時(shí)信號(hào)可用順計(jì)時(shí),也可用倒計(jì)時(shí),計(jì)時(shí)起始信號(hào)由主控電路給出, 每當(dāng)計(jì)滿所需時(shí)間,啟、閉三色信號(hào)燈,并啟動(dòng)另一計(jì)時(shí)電路。(4)交通燈狀態(tài)變化如表1及圖1所示:表1:交通燈狀態(tài)圖主干道(A) 狀態(tài)主干道(A)交通燈 及顯示時(shí)間支干道(B)交通燈 及顯示時(shí)間支干道(B) 狀態(tài)0綠(45s)MM紅(50s)01黃(5s)oeM2紅(30s)MM綠(25s)1M黃(5s)2Emergency紅(0)MM紅(0)Emergency圖1:交通燈狀態(tài)圖(5)交通燈設(shè)計(jì)輸入信

4、號(hào)4個(gè):CLK (時(shí)鐘),EN(使能),EMERGENCY (緊急),BCHECK (檢測(cè)); 輸出信號(hào)4個(gè):LAMPA(主干道信號(hào)燈),LAMPB(支干道信號(hào)燈),AC0UNT(主干道計(jì)數(shù)器),BCOUNT(支干道計(jì)數(shù)器)。交通燈控制原理如圖2所示。CLKeFTEMERGENCYBCHECKCLKLAMPA2.OENLAMPB2.OEMERGENCY0cLJUC IZACOUNT7.0DCCI IKITF7 HIdCUUN 1 /.ujINPUTVCCINPUTVCCtraffic controlpJTPUTButput11、LAMPA2.OTA而。目萬r 1A cduZ 0 尸二rr前三汩

5、而行:而inst圖2:交通燈原理圖三、詳細(xì)設(shè)計(jì)步驟(1)確定4個(gè)輸入信號(hào)與4個(gè)輸出信號(hào),具體見圖2;(2)將50MHZ時(shí)鐘分頻為1MHZ;(3)設(shè)計(jì)紅黃綠3中信號(hào)燈切換的時(shí)間及順序;(4)設(shè)計(jì)支路檢測(cè)狀態(tài)下的信號(hào)燈切換;(5)設(shè)計(jì)緊急(EMERGENCY)狀態(tài)下信號(hào)燈的切換;(6)程序使用3always塊山,詳細(xì)代碼如下:module traffic_control(CLK,EN,EMERGENCY,BCHECK,LAMPA,LAMPB,ACOUNT,BCOUNT);output2:0 ACOUNT,BCOUNT;output2:0 LAMPA,LAMPB;reg clkl;input CLK

6、,EN,EMERGENCY,BCHECK;reg2:0 numa,numb;reg tempa,tempb;reg|25:0count;reg2:0 counta,countb;reg2:0 ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft;reg2:0 LAMPA,LAMPB;/*信號(hào)定義與說明:CLK:為同步時(shí)鐘;EN:使能信號(hào),為1的話,那么控制器開始工作;LAMPA:控制A方向四盞燈的亮滅;其中,LAMPA0LAMPA2,分別控制A方向的綠燈、黃燈和 紅燈;LAMPB:控制B方向四盞燈的亮滅;其中,LAMPB0LAMPB2,分別控制

7、B方向的綠燈、黃燈 和紅燈;ACOUNT:用于A方向燈的時(shí)間顯示,8位BCOUNT:用于B方向燈的時(shí)間顯示,8位*/always (posedge CLK ) 將 50MHZ 時(shí)鐘分頻為 1MHZbeginif(count=49999999)begincount=0; clkl=clkl; end else count=count+1; end assign ACOUNT=numa; assign BCOUNT=numb; always (EN) if(!EN) begin ared =6; ayellow =2; agreen =4; bred =6; byellow =2; bgreen

8、=4; endalways (posedge clkl)/該進(jìn)程控制 A 方向 beginif(EMERGENCY)/EMERGENCY高電平有效,手動(dòng)控制begin numa=0;LAMPA=4;counta=0;tempa=0; endelse if(EN) begin if(!tempa)/亮燈 begin tempa=l; case(counta)/控制亮燈的順序0: begin numa=agreen; LAMPA= 1; counta= 1; end 1: begin numa=ayellow; LAMPA=2; counta=2; end2: begin numa=ared; L

9、AMPA=4; counta=0; end default:LAMPA2) numa=numa-1;if(numa=2) begin numa=l ;tempa=0;if (BCHECK) &(counta=2) countal)if(numa|3:0=0) beginnuma3:0=4,bl001;numa7:4=numa7:4-l;endelsenuma3:0=numa3:0-1;if (numa=2)begin tempa=O;if (!BCHECK )& (counta=l) counta=0;end*/endendelsebeginLAMPA=3blOO;counta=0; temp

10、a=0;endendalways (posedge clkl)/該進(jìn)程控制B方向的四種燈beginif(EMERGENCY)/EMERGENCY高電平有效,手動(dòng)控制beginnumb=0;LAMPB=4;countb=0;tempb=0;endelse if (EN)beginif(!tempb)begintempb=l;case (countb)0: begin numb=bred; LAMPB=4; countb=l; endbegin numb=bgreen; LAMPB=1; countb=2; endbegin numb=byellow; LAMPB=2; countb=0; end

11、 default:LAMPB2) numb=numb-l;if(numb=2) begin numb=l ;tcmpb=0;if(BCHECK )& (countb=l) countbl)if(!numb3:0)beginnumb3:0=9;numb7:4=numbf7:4-l;endelse numb3:0=numb3:0-l;if(numb=2)begin tempb=O;if(!BCHECK) & (countb=l) countb=0;end*/endendelsebeginLAMPB=3blOO;tempb=0; countb 1EN2BCHECK-3EMERGENCY04H LAM

12、PA08國 AC0UNT3 17國 LAMPB21國 BCOUNTMaster Time Bar:|硬AZ甑x 一 口團(tuán)r10.0 ns20. 0 ns30. 0 ns15.325 ns,_n_n rLrLn rm nj LrLn n n rLrLrLn n rLn n rm n n rLn n rLn n n n n rLrLrLnjci )rrnx444圖3: BCHECK低電平EMERGENCY低電平時(shí),主干道和支干道的信號(hào)燈的顯示狀態(tài)從圖4中可以看出,在支干道檢測(cè)到無車輛通過或者緊急信號(hào)發(fā)生時(shí),主干道和支干道的信號(hào)燈能夠按照預(yù)先設(shè)計(jì)正確變換。Simulation WaveformsSi

13、mulation mode: FunctionallK325nT 生.37.32 ns Interval:22.0 nsStart:End:Name 0CEK- 1EN- 2BCHECK- 3EMERGENCY040 LAMPA080 ACOUNT._/17國 LANPB210 BCOUNTA Master Time Bar:A 英 乳 觸-/I、1”2O.pns3O.pns40. 15.325 ns1 IWOTWlTWi rmTDTOOTUWLTLnJWUTrwmTOTUWETlTOTUTOTBCigDc : 4tnran tn xm(旭醯姻歐堂區(qū)短頤0(0回由媽近媽頤莎頤顏M H21X4X Hi iXw0圖4: BCHECK EMERGENCY低電平或高電平時(shí),主干道和支干道的信號(hào)燈的顯示狀態(tài)五、總結(jié)仿真結(jié)果符合設(shè)計(jì)要求,交通燈有規(guī)律的變化,顯示倒計(jì)時(shí);在檢測(cè)支路無車輛和緊急情 況下,交通燈可以做出相應(yīng)調(diào)整。設(shè)計(jì)中使用FSM (三段式),此方式描述方法雖然代碼結(jié)構(gòu) 復(fù)雜了一些,但是使FSM做到了同步寄存器輸出,有利于實(shí)現(xiàn)交通燈控制。六、體會(huì)通過課程設(shè)計(jì),更加體會(huì)到硬件編程語言的特點(diǎn),與以前所

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論