EDA交通燈課程設(shè)計(jì)_第1頁(yè)
EDA交通燈課程設(shè)計(jì)_第2頁(yè)
已閱讀5頁(yè),還剩19頁(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、目錄前 言 41 設(shè)計(jì)任務(wù)42 題目分析與整體構(gòu)思42.1交通燈控制器應(yīng)具備的功能 42.2 實(shí)現(xiàn)方案43 硬件電路設(shè)計(jì) 53.1 分頻器的設(shè)計(jì) 53.2控制器的設(shè)計(jì)63.3 計(jì)數(shù)器的設(shè)計(jì)73.4分位譯碼電路的設(shè)計(jì) 173.5分位譯碼電路的設(shè)計(jì) 273.6數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì) - 綠燈和紅燈驅(qū)動(dòng)83.7數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì) - 黃燈驅(qū)動(dòng)83.8頂層連接文件及仿真94 程序設(shè)計(jì)104.1 分頻器的設(shè)計(jì)101 - PAGE 19 - HYPERLINK l _TOC_250005 4.2控制器的設(shè)計(jì)114.3 計(jì)數(shù)器的設(shè)計(jì)13 HYPERLINK l _TOC_250004 4.3.1綠燈計(jì)數(shù)器的設(shè)計(jì)13

2、 HYPERLINK l _TOC_250003 4.3.2紅燈計(jì)數(shù)器的設(shè)計(jì)144.3.3黃燈計(jì)數(shù)器的設(shè)計(jì)154.4 分位譯碼電路的設(shè)計(jì) 1 164.5分位譯碼電路的設(shè)計(jì) 2 174.6數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì)184.6.1紅綠燈數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì)18 HYPERLINK l _TOC_250002 4.6.2黃燈數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì)195 硬件測(cè)試 196 引腳鎖定 20 HYPERLINK l _TOC_250001 7 心得體會(huì) 21 HYPERLINK l _TOC_250000 8 參考文獻(xiàn) 23前言伴隨著社會(huì)的發(fā)展以及人類(lèi)生活水平的提高,汽車(chē)的數(shù)量在 D 的 DEA 技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與

3、深入,EDA 技術(shù)在電子信息,通信,自動(dòng),控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出。隨著技術(shù)市場(chǎng)與人才市場(chǎng)對(duì)DEA 的不斷的增加 ,交通的問(wèn)題日益突出,單單依靠人力來(lái)指揮交通已經(jīng)不可行了,所以,設(shè)計(jì)交通燈來(lái)完成這個(gè)需求就顯的越加迫切了.為了確保十字路口的行人和車(chē)輛順利、暢通地通過(guò),往往采用電子控制的交通信號(hào)來(lái)進(jìn)行指揮。以下就是運(yùn)用數(shù)字電子設(shè)計(jì)出的交通燈:其中紅燈亮,表示該條路禁止通行;黃燈亮表示停車(chē);綠燈亮表示允許通行。交通管理器工作流程圖:1、設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)十字路口的交通燈控制系統(tǒng),用實(shí)驗(yàn)平臺(tái)上的LED 發(fā)光二極管顯示車(chē)輛通過(guò)的方向(甲車(chē)道和乙車(chē)道各一組),用數(shù)碼管顯示該方向的亮燈時(shí)間。要求

4、:交通燈按正常狀態(tài)依次點(diǎn)亮紅、黃、綠燈,交警可以根據(jù)路口車(chē)流量的情況分別設(shè)置紅、綠、黃燈持續(xù)點(diǎn)亮的時(shí)間。在紅、綠燈點(diǎn)亮?xí)r,能夠顯示其點(diǎn)亮持續(xù)的時(shí)間。2、題目分析與整體構(gòu)思交通燈控制器應(yīng)具備的功能設(shè)甲車(chē)道 和乙車(chē)道 方向的車(chē)流量大致相同,因此紅、黃、綠燈的時(shí)長(zhǎng)也相同,考慮到黃燈的作用是警示已過(guò)停車(chē)線的司機(jī)盡快離開(kāi)路口,而路口總寬度不變,因此將其固定為 5 秒,而紅燈亮的時(shí)間 等于綠燈亮的時(shí)間加上黃燈亮的時(shí)間,因此緊對(duì)綠燈點(diǎn)亮?xí)r間進(jìn)行設(shè)置就可以同時(shí)改變紅燈亮的時(shí)間,這里將綠燈所能設(shè)置的最長(zhǎng)時(shí)間設(shè)置為 40 秒即( 0t140)。同時(shí)用數(shù)碼管正計(jì)時(shí)指示當(dāng)前狀態(tài)(紅、黃、綠)所亮的時(shí)間。實(shí)現(xiàn)方案從題目

5、中計(jì)數(shù)值與交通燈的亮滅的關(guān)系如圖(1)所示:圖( 1)交通燈控制器系統(tǒng)框圖如圖 2 所示:圖(2)3、硬件電路設(shè)計(jì)分頻器的設(shè)計(jì)分頻器實(shí)現(xiàn)的是將高頻時(shí)鐘信號(hào)轉(zhuǎn)換成低頻的時(shí)鐘信號(hào),用于觸發(fā)控制器和計(jì)數(shù)器。該分頻器實(shí)現(xiàn)的是一千分頻,將一千赫茲的時(shí)鐘信號(hào)分頻成一赫茲的時(shí)鐘信號(hào)。 生成的 Symbol 文件如圖 3 和仿真波形如圖 4 所示。圖 (3)圖(4)控制器的設(shè)計(jì)控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值及t1 的輸入數(shù)據(jù)控制發(fā)光二極管的亮、滅, 以及輸出正計(jì)時(shí)數(shù)值給七段數(shù)碼管的分位譯碼電路。本控制器是利用時(shí)鐘沿的下降沿讀取前級(jí)計(jì)數(shù)器的計(jì)數(shù)值,然后作出反應(yīng);生成的實(shí)體模塊如圖 5 和仿真波形如圖 6所示。

6、圖(5)計(jì)數(shù)器的設(shè)計(jì)圖(6)計(jì)數(shù)器 1 的計(jì)數(shù)范圍為由 t1 引腳輸入。計(jì)到 t1 后,下一個(gè)時(shí)鐘沿恢復(fù)到 0,開(kāi)始下一輪計(jì)數(shù)。仿真波形如圖當(dāng) t1 取 7 時(shí),計(jì)數(shù)器計(jì)數(shù)到 7 后清零。實(shí)體模塊如圖 7 和仿真波形如圖 8。計(jì)數(shù)器 2 和計(jì)數(shù)器 3 的實(shí)體模塊如圖 9 和圖 10 所示。圖(7)圖( 9)圖(10)圖(8)分位譯碼電路的設(shè)計(jì) -1由于控制器輸出的 正計(jì)時(shí)數(shù)值可能是 1 位或者 2 位十進(jìn)制數(shù),因此在七段數(shù)碼管的譯碼電路前要加上分位電路(即將其分成2 個(gè) 1 位的十進(jìn)制數(shù),如 40 分成 4 和 0,5 分為 0 和 5)。與控制器一樣,分位電路同樣可以由時(shí)鐘驅(qū)動(dòng),也可以設(shè)計(jì)成

7、純組合邏輯電路??刂破髦校肓思拇嫫?。本電路中分位電路使用組合邏輯電路實(shí)現(xiàn)。生成的實(shí)體模塊如圖 11 及仿真波形如圖 12。圖(11)圖( 12)分位譯碼電路的設(shè)計(jì)2分位譯碼電路 2 和分位譯碼電路 1 的功能是一樣的 ,為了區(qū)別兩個(gè)不同的引腳NumC3.0 和 NumD3.0 因此再設(shè)計(jì)一個(gè)電路,只是引腳名的名稱(chēng)不同,如圖13。圖( 13)3.6 數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì)綠燈和紅燈驅(qū)動(dòng)要求數(shù)碼管共陽(yáng)極連接(共陽(yáng)極的公共端為低電平時(shí),LED不亮),在設(shè)計(jì)中為每個(gè)數(shù)碼管都添加了一個(gè)驅(qū)動(dòng)電路,在使用時(shí)通過(guò)調(diào)用模塊來(lái)實(shí)現(xiàn)。本模塊設(shè)計(jì)為時(shí)序邏輯電路,采用下降沿觸發(fā)。實(shí)體模塊如圖14 和仿真波形如圖 15。圖

8、( 14)圖( 15)數(shù)碼管驅(qū)動(dòng)的設(shè)計(jì)黃燈驅(qū)動(dòng)由于黃燈固定時(shí)間是 5 秒,因此變化范圍是 0 至 5 秒,七段數(shù)碼管只要能顯示 0-5 的數(shù)就行了,所以單獨(dú)用一個(gè)數(shù)碼管驅(qū)動(dòng)。 實(shí)體模塊如圖 16和仿真波形如圖 17。圖(16)圖( 17)頂層連接及其仿真交通燈控制器的頂層文件連接圖如圖18 和仿真波形如圖 19。圖( 18)圖(19)對(duì)圖 18 和 19 的解釋?zhuān)涸趫D 18 中,綠燈計(jì)數(shù)器直接接分位譯碼器1,紅燈計(jì)數(shù)器直接接分位譯碼器 2,每個(gè)譯碼器分別接兩個(gè)驅(qū)動(dòng)電路,然后接輸出。左邊5 個(gè)驅(qū)動(dòng)器接的數(shù)碼管顯示的是甲車(chē)道各個(gè)燈亮的時(shí)間,右邊5 個(gè)驅(qū)動(dòng)器接的數(shù)碼管顯示的是乙車(chē)道各個(gè)燈亮的時(shí)間。在

9、 19 圖中可以看出甲、乙車(chē)道綠燈亮的時(shí)間加上黃燈亮的時(shí)間等于甲車(chē)道紅燈滅的時(shí)間。同時(shí)我們可以看出該系統(tǒng)滿(mǎn)足我們所需的要求。4、程序設(shè)計(jì)分頻器的設(shè)計(jì)library ieee; useieee.std_logic_1164.all;entity fredevider is分頻器port(clkin:in std_logic; clkout:out std_logic);end;architecture devider of fredevider is constantN:integer:=499;signal counter:integer range 0 to N;signal Clk:std

10、_logic; begin process(clkin)beginif rising_edge(clkin)then if Counter=N thencounter=0; clk=not clk; elsecounter=counter+1; end if;end if; end process; clkout=clk; end;控制器的設(shè)計(jì)控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值控制發(fā)光二極管的亮、滅,以及輸出正計(jì)時(shí)數(shù)值給七段譯碼管的分譯碼電路。library ieee;useieee.std_logic_1164.all;entity control is控制器port (clk:in std_

11、logic;c1,c2,c3:outstd_logic; 計(jì)數(shù)器工作時(shí)能信號(hào),為 1 時(shí)計(jì)數(shù)w1,w2,w3:in std_logic;計(jì)數(shù)器指示信號(hào),在計(jì)數(shù)過(guò)程中,相應(yīng)的指示信號(hào)為 0,計(jì)數(shù)結(jié)束時(shí)為 1r1,r2:out std_logic;分別為甲乙車(chē)道紅燈y1,y2:out std_logic;分別為甲乙車(chē)道黃燈g1,g2:out std_logic;分別為甲乙車(chē)道綠燈reset:in std_logic);復(fù)位信號(hào),高電平有效end control ; architecturea of control istype state_spaceis (s3,s2,s1,s0);四種狀態(tài)beg

12、insignal state: state_space;process(clk) beginif reset=1 thenstateif w1=1 then stateif w2=1 thenstateif w3=1 thenstateif w2=1 thenstate=s0;end if ; end case;end if; end if;end process;c1=1when state=s0 else 0;c2=1when state=s1 or state=s3else 0; c3=1when state=s2 else 0;r1=1when state=s1 or state=s0

13、else 0; y1=1when state =s3else0;g1=1when state =s2 else 0;end a ;計(jì)數(shù)器的設(shè)計(jì)綠燈計(jì)數(shù)器library ieee;r2=1when state=s2 or state=s3else 0; y2=1when state =s1 else 0; g2=1when state =s0 else 0;useieee.std_logic_1164.all; entity counter1 isport (clk:in std_logic; enable:in std_logic;t1:in integerrange0 to 40 ;綠燈可設(shè)

14、置亮的時(shí)間c1:out std_logic); end counter1 ;architecture a of counter1 is beginprocess(clk)variable cnt : integer range 0 to 40 ; 變量 cnt 定義為常數(shù),取值范圍為 0到 40beginif (clkevent and clk=1) then時(shí)鐘上升沿到來(lái)if enable=1andcntt1 then 使能信號(hào)為 1,并且 cnt 小于 t1 時(shí)cnt:=cnt+1;加計(jì)數(shù)elsecnt:=0;end if ;if cnt=t1 thenc1=1; 乙道開(kāi)始通行, S0 狀

15、態(tài)elsec1=0;end if ; end if ;end process;end a;紅燈計(jì)數(shù)器library ieee; useieee.std_logic_1164.all; entity counter2 isport (clk:in std_logic; enable:in std_logic;t1:in integerrange0 to 40 ; c2:out std_logic);end counter2 ;architecture a of counter2 isconstanty:Integer:=5; 黃燈固定時(shí)間為 5 秒signal t2 : integerrange

16、 0 to 45;紅燈亮的時(shí)間beginprocess(clk)variable cnt : integer range0 to 45 ; 變量 cnt 定義為常數(shù),取值范圍為 0到 45begint2=t1+y;if (clkevent and clk=1) then時(shí)鐘上升沿到來(lái)if enable=1andcntt2 then 使能信號(hào)為 1,并且 cnt 小于 t2 時(shí)cnt:=cnt+1;elsecnt:=0;end if ;if cnt=t2 thenc2=1; 工作在 S1 或 S3 狀態(tài)elsec2=0;end if ; end if ;end process; end a;黃燈

17、計(jì)數(shù)器library ieee; useieee.std_logic_1164.all; entity counter3 isport (clk:in std_logic; enable:in std_logic; c3:out std_logic;m3:out integer range0 to 5 ); end counter3;architecture a of counter3 isbeginprocess(clk)variable cnt : integer range 0 to 5 ; 變量 cnt 定義為常數(shù),取值范圍為 0到 5beginif (clkevent and clk

18、=1) then時(shí)鐘上升沿到來(lái)if enable=1andcnt5 then 使能信號(hào)為 1,并且 cnt 小于 5 時(shí)cnt:=cnt+1;加計(jì)數(shù)elsecnt:=0;end if ;if cnt=5 thenc3=1; 工作在 S2 狀態(tài)elsec3=0;end if ; end if ; m3=40 THEN 輸入計(jì)時(shí)數(shù)據(jù)大于 40NumA=4; 把十位數(shù)字送給 A NumB=30 THENNumA=3;NumB=20 THEN NumA=2;NumB=10 THEN NumA=1;NumB=Numin-10;ELSENumA=0;NumB=40 THEN NumC=4;NumD=30

19、THEN NumC=3;NumD=20 THEN NumC=2;NumD=10 THEN NumC=1;NumD=Numin-10;ELSENumC=0;NumDsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCESS;END;黃燈驅(qū)動(dòng)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HDqudong IS黃燈驅(qū)動(dòng)PORT(clk:in STD_LOGIC; enable:in std_logic;data:IN inte

20、ger RANGE 0 TO 5;黃燈變化范圍segout:out STD_LOGIC_VECTOR(6 downto 0); END;ARCHITECTURE behavior OF HDqudong ISBEGINprocess(Clk,data) BEGINIF falling_edge(Clk) and enable=1 then casedataiswhen 0=segoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCESS;END;5硬件測(cè)試把頂層文件連接圖進(jìn)行編譯仿真后就可以進(jìn)行硬件測(cè)試了,我們所用的仿真實(shí)驗(yàn)箱是 GW48系列 SOPC/EDA實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)(杭州康芯電子有限公司現(xiàn)代 DSP實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng))。在實(shí)驗(yàn)箱中因?yàn)橛?1HZ的頻率并且自帶譯碼器, 所以在下載時(shí)用的頂層文件連接圖就把分頻器和譯碼器驅(qū)動(dòng)電路給去掉了,如圖( 20),在實(shí)驗(yàn)過(guò)程中由于數(shù)碼管不夠,圖中 5 個(gè)數(shù)碼管顯示的是一個(gè)車(chē)道的綠、紅、黃燈時(shí)間。6、引腳鎖定圖(20)在下載之前,要進(jìn)行引腳的鎖定,我們用的是模式5,各個(gè)端口的引腳鎖定如圖 21。20 - PAGE 24 -圖( 21)在確定引腳鎖定正確后再編譯一次,然后下載到實(shí)驗(yàn)箱中。首先對(duì)綠 燈時(shí)間 t1 進(jìn)行置數(shù)

溫馨提示

  • 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)論