基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2008級(jí)學(xué)生 派'* EDA課程設(shè)計(jì)EDA!程設(shè)計(jì)報(bào)告書(shū)課題名稱(chēng) 基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)姓名陳勇學(xué)號(hào)0812201-08物理與電信工程系專(zhuān) 業(yè)電子信息工程指導(dǎo)教師田旺蘭講師2011年6月10日一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)具有四種信號(hào)燈的交通燈控制器。要 求:1 .由一條主干道和一條支干道匯合成十字路口,在每個(gè)入口處設(shè)置紅、綠、 黃、左拐允許四盞信號(hào)燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛 中的車(chē)輛有時(shí)間停在禁行線(xiàn)外,左拐燈亮允許車(chē)輛向左拐彎。2 .信號(hào)燈變換次序?yàn)椋褐髦Ц傻澜惶嬖试S通行,主干道每次放行40秒,亮5秒紅燈讓行駛中的車(chē)輛有時(shí)間停到禁行線(xiàn)外, 左

2、拐放行15秒,亮5秒紅燈;支 干道放行30秒,亮5秒黃燈,左拐放行15秒,亮5秒紅燈。各計(jì)時(shí)電路為 倒計(jì)時(shí)顯示。指導(dǎo)教師簽名:2011年 月 日二、指導(dǎo)教師評(píng)語(yǔ):指導(dǎo)教師簽名:2011 年月日三、成績(jī)驗(yàn)收蠱章2011 年月日基于EDA的交通燈控制系統(tǒng)設(shè)計(jì)1設(shè)計(jì)目的(1)掌握十字路口交通燈控制的設(shè)計(jì)原理,并能夠運(yùn)用VHD閭程語(yǔ)言編寫(xiě)出實(shí)驗(yàn)程序,進(jìn)一步對(duì)所學(xué)的ED砍口識(shí)進(jìn)行掌握與實(shí)際應(yīng)用。(2)學(xué)會(huì)在quartusII軟件環(huán)境中仿真,熟悉軟件的基本操作和運(yùn)行環(huán)境。(3)鍛煉自己獲取信息的能力,以及能夠獨(dú)立自主的思考和解決問(wèn)題的能力。2設(shè)計(jì)的主要內(nèi)容和要求設(shè)計(jì)一個(gè)基于EDA 勺交通燈控制系統(tǒng),所要設(shè)

3、計(jì)的交通信號(hào)燈控制電路要能 夠適用于由一條主干道和一條支干道的匯合點(diǎn)形成的十字交叉路口。能夠做到 主、支干道的紅綠燈閃亮的時(shí)間不完全相同, 在綠燈跳變紅燈的過(guò)程中能夠用黃 燈進(jìn)行過(guò)渡,使得行駛過(guò)程中的車(chē)輛有足夠的時(shí)間停下來(lái)。還要求在主、支干道各設(shè)立一組計(jì)時(shí)顯示器,能夠顯示相應(yīng)的紅、黃、綠倒計(jì)時(shí)??梢岳肰HD印言合理設(shè)計(jì)系統(tǒng)功能,使紅黃綠燈的轉(zhuǎn)換有一個(gè)準(zhǔn)確的時(shí)間間隔和轉(zhuǎn)換順序。3整體設(shè)計(jì)方案根據(jù)設(shè)計(jì)要求和系統(tǒng)所具有功能,并參考相關(guān)的文獻(xiàn)資料,經(jīng)行方案設(shè)計(jì),畫(huà)出如下所示的十字路口交通燈控制器系統(tǒng)框圖,及為設(shè)計(jì)的總體方案,框圖如圖3.1所示。并且可以得出系統(tǒng)的狀態(tài)圖如圖 3.2所示,其中:S0:支

4、干道沒(méi)有車(chē)輛行駛,支干道綠燈,支干道紅燈S1:支干道有車(chē)輛行駛,支干道綠燈,支干道紅燈S2:主干道黃燈,支干道綠燈S3:主干道紅燈,支干道綠燈S4:主干道紅燈,支干道黃燈圖3.1整體設(shè)計(jì)方框圖17CA"0圖3.2系統(tǒng)狀態(tài)圖4硬件電路的設(shè)計(jì)4.1 頂層文件原理圖根據(jù)以上設(shè)計(jì)思路,可以得到如下的頂層文件原理圖如4.1所示,具體實(shí)物模塊如圖4.2所示。 a國(guó) 斯士 ,士士-*aClKlfil:fTmEImP TM副的iMEtp qEDLir|d 町E節(jié)切i;一.一.ek3R叫ih 15伍切LP 3TikflFii-ir nilHh£lL|MI力0呻句I I ww Lp H|”uF

5、但 l1|圖4.1頂層文件原理圖j- dktad5 0carsel2 .0s!seg6.0 insffi1i圖4.2頂層文件的實(shí)體圖4.2時(shí)鐘分頻器模塊設(shè)計(jì) b kb hi i a 一 !» ra m nj a elk CLK1S a臥m*FitarIVir:mstIS!y M lg|>FM.I-a-* 1/E* _! U I ;/;(圖4.3時(shí)鐘分頻器模塊分頻器實(shí)現(xiàn)的是將高頻時(shí)鐘信號(hào)轉(zhuǎn)換成低頻時(shí)鐘信號(hào),用于觸發(fā)控制器、計(jì) 數(shù)器和掃描顯示電路。系統(tǒng)的動(dòng)態(tài)掃描需要1HZ的脈沖,而系統(tǒng)時(shí)鐘計(jì)時(shí)模塊需 要1HZ的脈沖。分頻模塊主要為系統(tǒng)提供所需的時(shí)鐘計(jì)時(shí)脈沖。該模塊將1kHZ的脈沖信

6、號(hào)進(jìn)行分頻,產(chǎn)生1S的方波,作為系統(tǒng)時(shí)鐘計(jì)時(shí)信號(hào)。具體實(shí)物模塊 如圖4.3所示。4.3 控制及計(jì)時(shí)模塊設(shè)計(jì)控制模塊根據(jù)外部輸入信號(hào)和計(jì)時(shí)模塊產(chǎn)生的輸出信號(hào),產(chǎn)生系統(tǒng)的狀態(tài) 機(jī),控制其他部分協(xié)調(diào)工作。計(jì)時(shí)模塊用來(lái)設(shè)定主干道和支干道計(jì)時(shí)器的初值, 并為掃描顯示譯碼模塊提供倒計(jì)時(shí)時(shí)間??刂萍坝?jì)時(shí)模塊采用狀態(tài)機(jī)進(jìn)行設(shè)計(jì),可以定義出 5種狀態(tài),分別為S0:主 干道綠燈,支干道紅燈且沒(méi)有車(chē)輛行駛;S1:主干道綠燈,支干道紅燈或支干道有車(chē)輛駛?cè)?;S2:主干道黃燈,支干道紅燈;S3:主干道紅燈,支干道綠燈;S4: 主干道紅燈,支干道黃燈。利用 CASES句定義狀態(tài)的轉(zhuǎn)換方式及時(shí)間的變換方 式,達(dá)到主干道綠燈亮

7、45秒,支干道綠燈亮25秒,黃燈亮5秒的設(shè)計(jì)要求。 具體實(shí)物模塊如圖4.4所示,其中:CAR為支干道車(chē)輛檢測(cè)開(kāi)關(guān)CLK1S TIWE1H3.Ocar TlMFlLp 0TIMC2H|3 01FiMEZ |3 OJ(e>jnt6 0ledf: 0在支干道有車(chē)的情況下,模塊可以進(jìn)行減計(jì)時(shí)CLK1S為1S的時(shí)鐘脈沖TIME1H、TIME1L、TIME2H、TIME2L 分別 為主干道時(shí)鐘高位、主干道時(shí)鐘低位、支干道 時(shí)鐘高位、支干道時(shí)鐘低位圖4.4控制電路模塊LED為L(zhǎng)ED燈發(fā)光情況,分別為主干道綠燈、 主干道黃燈、主干道紅燈、支干道綠燈、主干 道黃燈、主干道紅燈Count的總的系統(tǒng)時(shí)間,用來(lái)

8、改變系統(tǒng)的狀態(tài)4.4 譯碼顯示電路設(shè)計(jì)根據(jù)狀態(tài)控制器所控制的狀態(tài)和計(jì)數(shù)器 的計(jì)時(shí)時(shí)間,選擇當(dāng)前狀態(tài)下的根據(jù)狀態(tài)控 制器所控制的狀態(tài)和計(jì)數(shù)器的計(jì)時(shí)時(shí)間,選 擇當(dāng)前狀態(tài)下的采用動(dòng)態(tài)掃描顯示。具體實(shí) 物模塊如圖4.5所示。elkCLP?e|2 0| 會(huì)犧0TlklEI Hp 0) 711/lrl ip 0 TIM訓(xùn),Uj TlMDLp 0| ccur|E Ft心圖4.5譯碼顯示電路模塊4.5 頂層文件的編寫(xiě)將以上各個(gè)單元模塊仿真成功后,再進(jìn)行頂層文件的編寫(xiě)。將各個(gè)單元模塊 的變量賦值給頂層文件,從而將各個(gè)單元模塊連接起來(lái),統(tǒng)一調(diào)配。得到頂層文 件的實(shí)體模塊如圖4.2所示。其中:CLK為1KHZK統(tǒng)時(shí)

9、鐘脈沖CAM支干道車(chē)輛行駛情況,高電平為有車(chē)行駛,低電平為無(wú)車(chē)行駛LED為交通燈發(fā)光情況SEL為數(shù)碼管位碼掃描SEGJ數(shù)碼管段碼5軟件設(shè)計(jì)5.1 時(shí)鐘分頻模塊:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp ISPORT(clk:IN STD_LOGIC;CLK1S:OUT STD_LOGIC);END fp;ARCHITECTURE one OF fp ISSIGNAL N: STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINPROCESS(clk)BEGI

10、NIF clk'EVENT AND clk='1' THEN N<=N+1;END IF;END PROCESS;CLK1S<=N(9);END one;5.2 交通燈控制及計(jì)時(shí)模塊:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY kz ISPORT(CLK1S,car:IN STD_LOGIC;-1S脈沖,支干道車(chē)輛檢測(cè)TIME1H,TIME1L:OUT STD_LOGIC_VECTOR(3 DOWNTOM道計(jì)時(shí)TIME2H,TIME2L:OUT

11、 STD_LOGIC_VECTOR(3 DOWNTOM道計(jì)時(shí) count:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-系統(tǒng)總計(jì)時(shí)led:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);- 交通燈顯示END KZ;ARCHITECTURE one OF kz ISTYPE states IS (s0,s1,s2,s3,s4,s5);-狀態(tài)初始化SIGNAL current_state,next_state :states;SIGNAL c:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINREG:PROCESS(CLK1S,car,cu

12、rrent_state,c)BEGINIF car ='0'THEN current_state <= s0;c<="0000000"ELSEIF CLK1S'EVENT AND CLK1S ='1' THEN - 支干道有車(chē)開(kāi)始計(jì)數(shù)c <=c+1;current_state <=next_state;END IF;END IF;CASE current_state IS - 狀態(tài)轉(zhuǎn)換WHEN s0 => LED <="100001" - 支干道無(wú)車(chē)不減計(jì)時(shí)TIME1H<=

13、"0100"TIME1L<="0101"TIME2H<="0101"TIME2L<="0000"IF car = '1' THEN next_state <= s1;ELSE next_state <= s0;END IF;WHEN s1 => LED <="100001" - 主干道綠燈,支干道紅燈IF c="0101100" THEN next_state <= s2;ELSE next_state <

14、= s1;END IF;WHEN s2 => LED <="010001" - 主干道黃燈,支干道紅燈IF c="0110001" THEN next_state <= s3;ELSE next_state <=s2;END IF;WHEN s3 => LED <="001100" - 主干道紅燈,支干道綠燈IF c="1001010" THEN next_state <= s4;ELSE next_state <= s3;END IF;WHEN s4 => L

15、ED <="001010" - 支干道黃燈,主干道紅燈IF c="0110001" THEN next_state <= s5;ELSE next_state <=s4;END IF;WHEN OTHERS => LED <="100001" next_state <= s0;END CASE;IF c="0101101" THEN TIME1H<="0000"TIME1L<="0101"- - 系統(tǒng)時(shí)間為45,主干道黃燈計(jì)時(shí)5

16、 秒END IF;IFc="0110010" THENTIME1H<="0011"TIME1L<="0000"TIME2H<="0010"TIME2L<="0101"- - 系統(tǒng)時(shí)間為50,主干道計(jì)時(shí)30 秒 , 支干道計(jì)時(shí)25秒END IF;IF c="1001011" THEN TIME2H<="0000"TIME2L<="0101"- - 系統(tǒng)時(shí)間為75,支干道黃燈計(jì)時(shí)5 秒END IF;IFc

17、="1010000"THENTIME1H<="0100"TIME1L<="0000"TIME2H<="0101"TIME2L<="0101"- - 系統(tǒng)時(shí)間為80,主干道計(jì)時(shí)45 秒,支干道計(jì)時(shí)50 秒END IF;IF c="1010000" THEN c<="0000000" - 系統(tǒng)時(shí)間清零END IF;END PROCESS REG;count <=c;END one;5.3 掃描顯示譯碼器:LIBRARY IE

18、EE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY xs ISPORT(clk,CLK1S,car:IN STD_LOGIC;TIME1H,TIME1L:IN STD_LOGIC_VECTOR(3 DOWNTO 0); 主干道置數(shù)- TIME2H,TIME2L:IN STD_LOGIC_VECTOR(3 DOWNTO 0); 支干道置數(shù)- count:IN STD_LOGIC_VECTOR(6 DOWNTO 0); -計(jì)數(shù)信號(hào) sel:OUT STD

19、_LOGIC_VECTOR(2 DOWNTO 0); -數(shù)碼管位碼- seg:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -數(shù)碼管段碼-END xs;ARCHITECTURE one OF xs ISSIGNAL num:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL numsel:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL numseg:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL Q1,Q2,Q3,Q4:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINSM:PROCES

20、S (clk,num,numsel) - 掃描BEGINIF clk'EVENT AND clK='1' THEN numsel<=numsel+1;IF numsel="011" THEN numsel<="000"END IF;END IF;END PROCESS SM;WX:PROCESS (numsel,Q1,Q2,Q3,Q4) -位選BEGINCASE numsel ISWHEN"011" =>num<=Q4;WHEN"010" =>num<=Q

21、3;WHEN"001" =>num<=Q2;WHEN"000" =>num<=Q1;WHEN OTHERS =>NULL;END CASE;END PROCESS WX;ZS:PROCESS(CLK1S,car,Q1,Q2,Q3,Q4,num,TIME1H,TIME1L,TIME2H,TIME2L)- 數(shù)碼管置數(shù)BEGINIF car ='1' THENIF CLK1S'EVENT AND CLK1S='1' THENIF Q2>"0000" THEN Q2&

22、lt;=Q2-1;ELSEIF Q1>"0000" THEN Q1<=Q1-1;Q2<="1001" - 減計(jì)時(shí)END IF;END IF;IF Q4>"0000" THEN Q4<=Q4-1;ELSEIF Q3>"0000" THEN Q3<=Q3-1;Q4<="1001"END IF;END IF;END IF;IF Q1="0000" AND Q2="0000" THENQ1<=TIME1H;Q2

23、<=TIME1L;END IF;IF Q3="0000" AND Q4="0000" THENQ3<=TIME2H;Q4<=TIME2L;END IF;ELSE Q1<=TIME1H;Q2<=TIME1L; -支路無(wú)車(chē)輛不減計(jì)時(shí)Q3<=TIME2H;Q4<=TIME2L;END IF;END PROCESS ZS;YM:PROCESS (num,numseg)BEGINCASE num ISWHEN "0000"=>numseg<="1111110"WHEN &

24、quot;0001"=>numseg<="0110000"WHEN "0010"=>numseg<="1101101"WHEN "0011"=>numseg<="1111001"WHEN "0100"=>numseg<="0110011"WHEN "0101"=>numseg<="1011011"WHEN "0110"=>

25、numseg<="1011111"WHEN "0111"=>numseg<="1110000"WHEN "1000"=>numseg<="1111111"WHEN "1001"=>numseg<="1111011"WHEN OTHERS=>NULL;END CASE;END PROCESS YM;sel<=numsel;seg<=numseg;END one;5.4 頂層文件:LIBRARY IE

26、EE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY jtd ISPORT (clk:IN STD_LOGIC;-動(dòng)態(tài)掃描時(shí)鐘car:IN STD_LOGIC;-支路車(chē)輛傳感信號(hào)led:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); -交通燈信號(hào)sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -數(shù)碼管位碼seg:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -數(shù)碼管段碼-END jt

27、d;ARCHITECTURE one OF jtd ISCOMPONENT fPPORT(clK:IN STD_LOGIC;CLK1S:OUT STD_LOGIC);END COMPONENT;COMPONENT kzPORT(CLK1S,car:IN STD_LOGIC;TIME1H,TIME1L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);TIME2H,TIME2L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);count:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(5 DOW

28、NTO 0);END COMPONENT;COMPONENT xsPORT(clK,CLK1S,car:IN STD_LOGIC;TIME1H,TIME1L:IN STD_LOGIC_VECTOR(3 DOWNTO 0);TIME2H,TIME2L:IN STD_LOGIC_VECTOR(3 DOWNTO 0);count:IN STD_LOGIC_VECTOR(6 DOWNTO 0);sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);seg:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;SIGNAL CLK1S:STD_

29、LOGIC;SIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL TIME1H,TIME1L,TIME2H,TIME2L:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINU1:fp PORT MAP(CLK=>clk,CLK1S=>CLK1S);U2:kzPORTMAP(CLK1S=>CLK1S,car=>car,count=>count,led=>led,TIME1H=>TIME1H, TIME1L=>TIME1L,TIME2H=>TIME2H,TIME2L=>TIM

30、E2L);U3:xsPORTMAP(clk=>clk,CLK1S=>CLK1S,car=>car,count=>count,sel=>sel,seg=>seg, TIME1H=>TIME1H,TIME1L=>TIME1L,TIME2H=>TIME2H,TIME2L=>TIME2L); END;6系統(tǒng)仿真與分析6.1 仿真結(jié)果利用quartusII軟件對(duì)頂層實(shí)體程序進(jìn)行編譯,生成了可以進(jìn)行仿真定時(shí)分 析以及下載到可編程器件的相關(guān)文件,然后進(jìn)行仿真,即可得到最后仿真結(jié)果。 仿真結(jié)果如圖6.1所示:Vaue at20.25 ncznrft?

31、B 1ctrQ 1ckE led ledLtf ledtLD 0B KDC01忙10 USp10DD01led:4: I 戶(hù)國(guó)sagseqO 制國(guó) xq【£JB C110011B 1 0 0 R n0 1LJLIE12K1LJ1LHULU0LLX1J£ LJ2K1-Value 就 2CL25 nccarR 1dkeoE rrle 1'XnoiIE:。£ 1i«l.UCOledt,2£013BQledl.41eoled國(guó)B 1S 5egE C110011segfoiE 1整1B 1E0力引60seg4C 1w 1-1當(dāng)班OY二11 ,仁/, 11廣倏I_IYmlq三審MO.,dm 4.0 ns MO.,0 ns鴕0.。七10 US 4的 此以J20 25 m*caielk9 1b a1_1 L_1 _1|_|11111 1_ 1 1 l_t國(guó)3B 1OKC1WWQlWicoa iMUBC百E田00蟲(chóng)引BO互kd(480LF14d1可E 1國(guó)xg3 QUQGL1二二wn工匚:jou工口mip工camn工-up二工加1工二工

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論