交通信號燈_數(shù)字邏輯程序設計_第1頁
交通信號燈_數(shù)字邏輯程序設計_第2頁
交通信號燈_數(shù)字邏輯程序設計_第3頁
交通信號燈_數(shù)字邏輯程序設計_第4頁
交通信號燈_數(shù)字邏輯程序設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、石家莊經(jīng)濟學院信息工程學院數(shù)字邏輯課程設計報告題 目 十字路口交通燈控制器 姓 名 趙永超 學 號 班 號 指導老師 成 績 2010年6月目 錄1. 功能描述522. 開發(fā)工具選擇523. 設計方案 524 模塊描述525. VHDL實現(xiàn)526. 調試仿真527. 課程設計回顧總結 52參 考 文 獻 52附錄 521.功能描述ar,ay,ag 和br,by,bg分別表示A和B道的紅燈,黃燈,綠燈的驅動信號。信號燈在高電平時亮,低電平時熄滅。十字路口的交通燈控制電路功能:十字路口交通燈控制規(guī)則為:當A道無車時,傳感器輸出X0,A道紅燈一直亮,B道綠燈一直亮,直到15s定時時間到且A道有車為止

2、;當B道通行15s且A道有車時,B道綠燈亮變成黃燈,經(jīng)過5s后變成紅燈亮,A道由紅燈亮變成綠燈亮,直到10s定時時間到或者X0為止;最后A道黃燈亮,B道紅燈亮,直到5s定時時間到,再回到B道綠燈亮,A道紅燈亮的初始狀態(tài)。2.開發(fā)工具選擇 選擇VHDL語言描述,利用Quartus II 5.1工具。3. 設計方案在設計方案之前,我們應明確課程設計的任務和要求:該數(shù)字系統(tǒng)完成對十字路口交通信號燈的控制,十字路口由一條南北方向的支干道(簡稱A道)和東西方向的主干道(簡稱B道)構成。A道安裝有車輛檢測傳感器X,當該道有車時,傳感器輸出信號為高電平,當該道無車時,傳感器輸出低電平信號。十字路口交通燈控制

3、規(guī)則為:當A道無車時,傳感器輸出X0,A道紅燈一直亮,B道綠燈一直亮,直到15s定時時間到且A道有車為止;當B道通行15s且A道有車時,B道綠燈亮變成黃燈,經(jīng)過5s后變成紅燈亮,A道由紅燈亮變成綠燈亮,直到10s定時時間到或者X0為止;最后A道黃燈亮,B道紅燈亮,直到5s定時時間到,再回到B道綠燈亮,A道紅燈亮的初始狀態(tài)。(1)、首先對問題進行仔細分析設東西和南北方向的車流量大致相同,從題目中計數(shù)值與交通燈的亮滅的關系如下圖所示:5s15s0sec35sec黃燈亮紅燈亮15sec紅燈亮綠燈亮黃燈亮10s5s圖2綠燈亮 B道A道(2) 經(jīng)過認真分析后制定設計方案如圖3十字路口交通燈控制系統(tǒng)由定時

4、器模塊、控制器模塊和輸出模塊組成。定時器模塊由15s、5s、10s三個定時器構成,分別確定A道、B道通行時間(綠燈亮時間)、緩沖時間(黃燈亮時間)和禁止時間(紅燈亮時間)。三個定時器采用以秒為時鐘的計數(shù)器來實現(xiàn),e15,e5,e10分別是三個定時計數(shù)器的工作使能信號,即當e15,e5,e10為1時,相應的定時器計數(shù);tm15、tm5、tm10為定時計數(shù)器的計數(shù)指示信號,當計數(shù)器在計數(shù)過程中,相應的指示信號為0,當計時時間到即計時結束時,相應的指示信號為1。交通燈控制器模塊的作用是對系統(tǒng)工作狀態(tài)的轉換進行控制,根據(jù)十字路口交通控制信號燈控制規(guī)則則可得到系統(tǒng)狀態(tài)轉換表如圖4示,其中ar,ay,ag

5、和br,by,bg分別表示由控制器輸出的A道和B道紅、黃、綠燈點亮信號,e15、e10、e5分別表示由控制器輸出傳給15s、10s、5s三個定時計數(shù)器的計數(shù)使能信號,x為輸入控制器的車輛傳感器信號,tm15、tm5、tm10分別表示由15s、10s、5s定時計數(shù)器產生的計時時間到信號,它們是控制器的輸入信號。從圖4可知系統(tǒng)有5個狀態(tài),編碼為S0(00)、S1(01)、S2(10)、S3(11)、S4(xx),各信號高電平有效,低電平無效。輸出模塊的作用是將控制器輸出的各個信號進行驅動以點亮對應的信號燈,。cpresetx定時器模塊控制器模塊10s定時器5s定時器25s定時器e10tm10e5t

6、m5e15tm15控 制 器brbyybgarayagclkclrx輸出模塊圖3十字路口交通燈控制器狀態(tài)轉換表(圖4)控制器輸入控制器輸出說明現(xiàn)態(tài)狀態(tài)轉換條件次態(tài)輸出x*tm15 tm5 not(x)tm20br by bgar ay age15 e5 e10B道綠燈,A道紅燈S0(0 0)1 x xS1(0 1)001100100B道黃燈,A道紅燈S1(0 1)x 1 xS2(1 0)010100010B道紅燈,A道綠燈S2(1 0)x x 1S3(1 1)100001001B道紅燈,A道綠燈S3(1 1)x 1 xS0(0 0)1000100104 模塊描述該控制系統(tǒng)主要分為三大模塊:定時

7、計數(shù)器模塊和控制器模塊和連接模塊、定時計數(shù)器模塊:該模塊分為三個定時電路,假設時基脈沖為1Hz,則需要設計一個15進制計數(shù)器、一個5進制計數(shù)器和一個10進制計數(shù)器,且每個計數(shù)器應具有計數(shù)使能控制端和計時時間到信號輸出端。本設計中可采用異步清零、同步置位的4位十進制加法計數(shù)器74LS160構成。(1)、模10定時計數(shù)器的簡化形式如下圖:表二 模10計數(shù)器功能真值表輸入計數(shù)變量輸出resetcpegcountT_51 × ×置數(shù)0當count=10時,T_10=1否則T_10=0 0 1當count<10計數(shù)值加一否則置00 00Counter10cpe10resettm

8、10模10定時計數(shù)器(2)、模5定時計數(shù)器的簡化形式如下圖:輸入計數(shù)變量輸出resetcpeycountT_51 × ×置數(shù)1當count=5時,T_5=1否則T_5=0 0 1當count<5計數(shù)值加一否則置10 01cpe5resettm5Counter5模5定時計數(shù)器 (3)、模15定時計數(shù)器的簡化形式如下圖: 表三 模15計數(shù)器功能真值表輸入計數(shù)變量輸出resetcpeycountT_51 × ×置數(shù)0當count=45時,T_15=1否則T_15=0 0 1當count<15計數(shù)值加一否則置10 00cpe15resetTm15Co

9、unter15模15定時計數(shù)器 、控制器模塊的簡化形式如下圖:tm10tm5tm15xcpresetbrbybgarayage10e5e15controller控 制 器 模 塊5. VHDL實現(xiàn):下面是程序實現(xiàn)的vhdl代碼(1)模5定時計數(shù)器實現(xiàn)代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter5 isPORT (cp, e5,reset: IN STD_LOGIC; -定義輸入信號 tm5: OUT STD_LOGIC); -定義輸出信號END counter5;ARCHITECTURE cnt5 of counter5

10、is -結構體BEGIN PROCESS(cp, reset) -進程的敏感信號是cp和reset,進程描述摸5計數(shù)過程 VARIABLE cnt: INTEGER RANGE 5 DOWNTO 0; -定義變量cnt為整數(shù),范圍5到0 BEGIN IF reset='1' THEN cnt:=0; ELSIF (cp'EVENT AND cp='1') THEN -如果CP信號發(fā)生變化且變化后結果是CP=1 IF e5='1' AND cnt<5 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END

11、IF; IF cnt=5 THEN tm5<='1' ; ELSE tm5<='0' END IF; END PROCESS;END cnt5;(2)、模10定時計數(shù)器實現(xiàn)代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter10 IS PORT(cp, e10, reset: IN STD_LOGIC; -定義輸入信號 tm10: OUT STD_LOGIC); -定義輸出信號END counter10;ARCHITECTURE cnt10 OF counter10 IS BEGIN P

12、ROCESS(cp, reset) -進程的敏感信號是cp和reset,進程描述摸5計數(shù)過程 VARIABLE cnt: INTEGER RANGE 10 DOWNTO 0; -定義變量cnt為整數(shù),范圍10到0BEGIN IF reset='1' then cnt:=0; ELSIF (cp'EVENT AND cp='1') THEN -如果CP信號發(fā)生變化且變化后結果是CP=1 IF e10='1' and cnt<10 THEN cnt:=cnt+1; ELSE cnt:=0; END IF;END IF;IF cnt=10

13、 then tm10<='1'ELSE tm10<='0' END IF;END process;END cnt10;(3)、模15定時計數(shù)器實現(xiàn)代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter15 is PORT (cp, e15, reset: IN STD_LOGIC; -定義輸入信號 tm15: OUT STD_LOGIC); -定義輸出信號END counter15;ARCHITECTURE cnt15 of counter15 isBEGIN PROCESS(cp, re

14、set) -進程的敏感信號是cp和reset,進程描述摸15計數(shù)過程 VARIABLE cnt: INTEGER RANGE 15 DOWNTO 0; -定義變量cnt為整數(shù),范圍15到0BEGIN IF reset='1' THEN cnt:=0; ELSIF (cp'EVENT AND cp='1') THEN -如果CP信號發(fā)生變化且變化后結果是CP=1 IF e15='1' AND cnt<15 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF; IF cnt=15 THEN tm15

15、<='1' ; ELSE tm15<='0' END IF; END PROCESS;END cnt15;(4)、控制器controller實現(xiàn)代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY controller IS PORT(cp,x,reset,tm10,tm5,tm15:IN STD_LOGIC; -定義輸入信號 br,by,bg,ar,ay,ag,e10,e5,e15:OUT STD_LOGIC); -定義輸出信號end controller;ARCHITECTURE behave_co

16、ntrol OF controller IS -結構體TYPE CONTROL_STATE IS (S0,S1,S2,S3) ; -定義枚舉類型數(shù)據(jù),4個狀態(tài)SIGNAL state:CONTROL_STATE:=S0; -定義初始信號為S0BEGINPROCESS(CP,X,RESET) -進程的敏感信號是cp,x和reset,進程描述控制器運行BEGINIF RESET='1' THEN state<=S0;ELSIF (cp'EVENT AND cp='1') THEN -如果CP信號發(fā)生變化且變化后結果是CP=1 CASE state IS

17、 WHEN S0=> IF (x AND tm15)='1' THEN state<=S1; END IF; WHEN S1=> IF tm5='1' THEN state<=S2; END IF; WHEN S2=> IF (NOT x)OR tm10)='1' THEN state<=S3; END IF; WHEN S3=> IF tm5='1' THEN state<=S0; END IF; END CASE; END IF;END PROCESS;br<='1

18、' when state=S2 or state=S3 else '0'by<='1' when state=S1 else '0'bg<='1' when state=S0 else '0'ar<='1' when state=S0 or state=S1 else '0'ay<='1' when state=S3 else '0'ag<='1' when state=S2 else '0

19、'e10<='1' when state=S2 else '0'e5<='1' when state=S1 or state=S3 else '0'e15<='1' when state=S0 else '0'END behave_control;(5)、連接模塊(對各接口進行例化)實現(xiàn)代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY LATTICE;ENTITY RYG IS PORT(cp, reset, x: IN

20、 STD_LOGIC; br, by, bg, ar, ay, ag: OUT STD_LOGIC);END RYG;ARCHITECTURE BE_RYG OF RYG IS COMPONENT counter10 -元件說明:模10計數(shù)器 PORT(cp, e10, reset: IN STD_LOGIC; tm10: OUT STD_LOGIC);END COMPONENT;COMPONENT counter5 -元件說明:模5計數(shù)器 PORT (cp, e5, reset: IN STD_LOGIC; tm5: OUT STD_LOGIC);END COMPONENT;COMPONEN

21、T counter15 -元件說明:模15計數(shù)器 PORT (cp, e15, reset: IN STD_LOGIC; tm15: OUT STD_LOGIC);END COMPONENT;COMPONENT controller -元件說明:控制器 PORT(cp, x, reset, tm10, tm5, tm15: IN STD_LOGIC; br, by,bg, ar, ay, ag, e10, e5, e15: OUT STD_LOGIC);END COMPONENT;signal tag1, tag2, tag3, tag4, tag5, tag6: std_logic;BEGINU1: counter10 PORT MAP(cp=>cp, e10=>tag1, r

溫馨提示

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

評論

0/150

提交評論