交通燈控制器_第1頁(yè)
交通燈控制器_第2頁(yè)
交通燈控制器_第3頁(yè)
交通燈控制器_第4頁(yè)
交通燈控制器_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、vhdl語(yǔ)言與eda課程設(shè)計(jì): 交 通 燈 控 制 器通信與控制工程系電子信息工程摘 要本系統(tǒng)采用gw48 eda/sopc實(shí)驗(yàn)箱來(lái)設(shè)計(jì)交通燈控制器,模擬實(shí)現(xiàn)了紅、綠燈指揮交通的功能。它直接采用fpga/cpld芯片開(kāi)發(fā),用vhdl語(yǔ)言編程和quartus 6.0設(shè)計(jì)。交通燈控制器設(shè)計(jì), 系統(tǒng)地闡述了用fpga/cpld實(shí)現(xiàn)數(shù)字電路的設(shè)計(jì)過(guò)程, 展示了fpga/cpld的強(qiáng)大功能和非凡特性。本交通燈控制器適用東西方向和南北方向的車(chē)流量大致相同的路口,紅燈45秒,黃燈5秒,綠燈40秒,同時(shí)用數(shù)碼管指示當(dāng)前狀態(tài)(紅、黃、綠燈)剩余時(shí)間。另有一個(gè)緊急狀態(tài),當(dāng)緊急狀態(tài)出現(xiàn)時(shí),兩個(gè)方向都禁止通行,指示紅

2、燈。緊急狀態(tài)解除后,重新計(jì)時(shí)并指示時(shí)間。關(guān)鍵詞:交通燈控制器,設(shè)計(jì)要求 . 11方案論證與對(duì)比 . 11. 1方案一 . 11. 2方案二 . 12. 設(shè)計(jì)過(guò)程 . 13. 1總體設(shè)計(jì)慨要 . 12.2 交通燈原理分析 . 24. 模塊設(shè)計(jì)及仿真 . 34.1. 頂層文件的設(shè)計(jì) . 34.2. 狀態(tài)控制模塊(jtd ctrl) . 45. 3倒計(jì)時(shí)模塊(jtd time)的設(shè)計(jì) . 56. 4數(shù)碼管顯示模塊(jtd xs)的設(shè)計(jì) . 77. 5信號(hào)燈顯示模塊(jtd light)的設(shè)計(jì) . 98. 6引腳鎖定 . 114編程下載 . 125結(jié)束語(yǔ) . 126致謝 . 127參考文獻(xiàn) . 13更

3、多論文1. 交通燈控制器設(shè)東西方向和南北方向的車(chē)流量大致相同,因此紅、黃、綠燈的時(shí)長(zhǎng)也相同,定為紅燈45秒,黃燈5秒,綠燈40秒,同時(shí)用數(shù)碼管指示當(dāng)前狀態(tài)(紅、黃、綠燈)剩余時(shí)間。另外,設(shè)計(jì)一個(gè)緊急狀態(tài),當(dāng)緊急狀態(tài)出現(xiàn)時(shí),兩個(gè)方向都禁止通行,指示紅燈。緊急狀態(tài)解除后,重新計(jì)時(shí)并指示時(shí)間。采用vhdl語(yǔ)言直接編寫(xiě),實(shí)現(xiàn)交通燈指揮功能。但此方案編寫(xiě)復(fù)雜且困難,開(kāi)發(fā)時(shí)間較長(zhǎng)。編譯后,不便讀懂,找出錯(cuò)誤很困難。采用模塊層次化設(shè)計(jì),將此設(shè)計(jì)分為四個(gè)模塊:計(jì)時(shí)模塊,狀態(tài)控制模塊,信號(hào)燈顯示模塊,數(shù)碼掃描顯示模塊。將四個(gè)模塊再分別用vhdl語(yǔ)言編寫(xiě)成,做成原理圖模塊,用原理圖輸入法做整個(gè)設(shè)計(jì)的頂層文件。此方

4、案設(shè)計(jì)方便、簡(jiǎn)單,方法易懂、易操作,也易于尋找程序中的錯(cuò)誤,故我們采用此方案。根據(jù)交通燈控制器的功能與要求,將其總體電路分為狀態(tài)控制,倒計(jì)時(shí),數(shù)碼管顯示,信號(hào)燈顯示模塊(jtd ctrl,jtd time,jtd xs,jtd light)。jtd ctrl實(shí)現(xiàn)邏輯和時(shí)序控制,外部?jī)陕访}沖振蕩器的頻率選為1 khz和1 hz的信號(hào),1khz信號(hào)用于顯示模塊的掃描,1 hz信號(hào)用做倒計(jì)時(shí)模塊的計(jì)數(shù)脈沖。m為緊急狀態(tài)和自動(dòng)運(yùn)行狀態(tài)的控制端??傮w框圖:更多論文22.2 交通燈原理分析當(dāng)m = 1時(shí),進(jìn)入緊急狀態(tài),s輸出為b100100,即南北、東西向均為紅燈亮。當(dāng)m = 0時(shí),交通即開(kāi)始正常工作。m

5、=0時(shí),經(jīng)過(guò)40秒, s由b100010變?yōu)閎100001,再經(jīng)過(guò)5秒,s變?yōu)閎010100,再經(jīng)過(guò)40秒,s變?yōu)閎001100,再經(jīng)過(guò)5秒,s變?yōu)閎100010如此循環(huán)下去。當(dāng)m=1跳變到m=0時(shí),數(shù)碼管繼續(xù)計(jì)時(shí),恢復(fù)正常工作狀態(tài)。南北、東西方向的紅綠燈按表一表二變化。東西(a)方向紅燈 紅燈 綠燈 黃燈45秒 40秒 5秒南北(b)方向綠燈 黃燈 紅燈 紅燈40秒 5秒 45秒m s 備注1. 100100 長(zhǎng)時(shí)間亮紅燈0狀態(tài)1:100010 持續(xù)40秒,轉(zhuǎn)到狀態(tài)2狀態(tài)2:100001 持續(xù)5秒,轉(zhuǎn)到狀態(tài)3狀態(tài)3:010100 持續(xù)40秒,轉(zhuǎn)到狀態(tài)4狀態(tài)4:001100 持續(xù)5秒,轉(zhuǎn)到狀態(tài)

6、1s的六位分別對(duì)應(yīng)東西方向(a方向)的紅綠黃和南北方向(b方向)的紅綠黃。1表示亮,0表示滅。 更多論文3 3模塊設(shè)計(jì)及仿真頂層原理圖設(shè)計(jì)可以依據(jù)系統(tǒng)框圖進(jìn)行,由反饋控制,倒計(jì)時(shí),數(shù)碼管顯示,信號(hào)燈顯示模塊(jtd ctrl,jtd time,jtd xs,jtd light)五部分組成。其頂層原理圖如圖2所示。圖2 頂層原理圖 圖3 頂層文件的仿真波形更多論文4狀態(tài)控制模塊根據(jù)倒計(jì)時(shí)模塊(jtd time)的輸出信號(hào)和1hz的時(shí)鐘信號(hào),產(chǎn)生系統(tǒng)的狀態(tài)機(jī),控制其他部分的協(xié)調(diào)工作。該模塊的源文件程序如下:library ieee;use ieee.std_logic_1164.all;use i

7、eee.std_logic_unsigned.all;entity jtd_ctrl isport ( clk :in std_logic;at,bt : in std_logic_vector(7 downto 0);s: out std_logic_vector(1 downto 0);end jtd_ctrl;architecture jtd of jtd_ctrl issignal q :std_logic_vector (1 downto 0);beginprocess(clk,at,bt)beginif clkevent and clk =1 thenif(at =x01)or (

8、bt = x01) then q=q+1; 通過(guò)at,bt的反饋信號(hào)控制倒計(jì)時(shí)模塊和信號(hào)顯示jtd_light模塊的工作else q=q;end if;end if;end process;s=q;end jtd;:更多論文5倒計(jì)時(shí)模塊用來(lái)設(shè)定a和b兩個(gè)方向計(jì)時(shí)器的初值,并為數(shù)碼管顯示模塊提供倒計(jì)時(shí)時(shí)間。倒計(jì)時(shí)模塊源文件程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jtd_time isport( clk : in std_logic;m : in std_logic;s

9、 :in std_logic_vector(1 downto 0);at,bt :out std_logic_vector(7 downto 0);end jtd_time;architecture jtd_1 of jtd_time issignal ati : std_logic_vector(7 downto 0):=x01;signal bti : std_logic_vector(7 downto 0):=x01;signal art,agt,ayt : std_logic_vector(7 downto 0);signal brt,bgt,byt : std_logic_vecto

10、r(7 downto 0);begin 設(shè)定各個(gè)紅綠黃的工作時(shí)間art=x45; 更多論文6 agt=x40;ayt=x05;brt=x45;bgt=x40;byt=x05;process (clk,m,s)beginif m = 1 then ati=ati; btiati=art; btibtiati=agt; btiati=ayt;end case;end if;if ati/=x01 then a方向(東西方向)倒計(jì)時(shí)if ati(3 downto 0)= 0000 thenati(3 downto 0)=1001;ati(7 downto 4)=ati(7 downto 4)-1;e

11、lse ati(3 downto 0)=ati(3 downto 0)-1;ati(7 downto 4)=ati(7 downto 4);end if;end if;if bti/=x01 then b方向(南北方向)倒計(jì)時(shí)if bti(3 downto 0)=0000 thenbti(3 downto 0)=1001;bti(7 downto 4)=bti(7 downto 4)-1; 更多論文7 else bti(3 downto 0)=bti(3 downto 0)-1;bti(7 downto 4)=bti(7 downto 4);end if;end if;end if;end i

12、f;end process;at=ati;bt=bti;end jtd_1;顯示模塊用來(lái)顯示倒計(jì)時(shí)時(shí)間。采用動(dòng)態(tài)掃描顯示,通過(guò)分位程序,控制四個(gè)數(shù)碼管的顯示時(shí)間。數(shù)碼管顯示模塊的源文件程序?yàn)椋簣D5 倒計(jì)時(shí)模塊的仿真波形圖更多論文8 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jtd_xs isport ( clk1k :in std_logic;at,bt :in std_logic_vector(7 downto 0);led1,led2,led3,led4:out std_l

13、ogic_vector(3 downto 0);end jtd_xs;architecture jtd_3 of jtd_xs issignal ou1,ou2,ou3,ou4:std_logic_vector(3 downto 0);signal sl:std_logic_vector(1 downto 0);beginprocess(clk1k)beginif clk1kevent and clk1k =1 thenif sl=11 then sl=00; 掃描led顯示管else slou1ou2ou3ou4=at(7 downto 4);end case;end process;led

14、1=ou1; 更多論文9 led2=ou2;led3=ou3;led4=ou4;end jtd_3;:通過(guò)控制模塊的輸出的狀態(tài)控制信號(hào),控制六個(gè)信號(hào)燈的亮滅。信號(hào)燈顯示模塊的源文件程序?yàn)椋簂ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jtd_light isport (m :in std_logic;s : in std_logic_vector(1 downto 0);abl :out std_logic_vector(5 downto 0);圖6 數(shù)碼管顯示模塊的仿真波形圖更多

15、論文10 end jtd_light;architecture jtd_2 of jtd_light issignal lt: std_logic_vector (5 downto 0);beginprocess (s,m)beginif m =1 then ltltltltlt=001100;end case;end if;end process;abl=lt;end jtd_2;圖7 信號(hào)燈顯示模塊的仿真波形圖更多論文11本次設(shè)計(jì)我們采用gw48 eda/sopc實(shí)驗(yàn)箱,選擇模式5,引腳鎖定如圖8所示:圖8 引腳鎖定更多論文12 4編程下載在實(shí)驗(yàn)箱上選擇clock2為1hz, clock5

16、為1024hz,模式選擇模式5,引腳鎖定如上圖所示。下載后,結(jié)果顯示正確,六個(gè)信號(hào)燈依次為東西方向的紅綠黃和南北方向的紅綠黃。兩個(gè)方向上的數(shù)碼管顯示的時(shí)間完全吻合。鍵8為緊急狀態(tài)控制端,按下鍵8時(shí),兩路信號(hào)燈都為紅燈,時(shí)間暫停,再次按下鍵8,恢復(fù)原狀態(tài),繼續(xù)計(jì)時(shí)。結(jié)果證實(shí)調(diào)試成功!5結(jié)束語(yǔ)通過(guò)的緊張工作,完成了我們的設(shè)計(jì)任務(wù)用vhdl設(shè)計(jì)交通燈控制器。通過(guò)本次課程設(shè)計(jì)的學(xué)習(xí),我們深深的體會(huì)到設(shè)計(jì)課的重要性和目的性所在。為了完成項(xiàng)目,在網(wǎng)絡(luò)上找到了許多相關(guān)資料,大大擴(kuò)充自己的知識(shí)面,使許多以前想解決卻無(wú)法解決的困難迎刃而解。對(duì)軟件設(shè)計(jì)流程有了更深刻的理解,掌握了eda軟件的使用。將書(shū)本上的理論知

17、識(shí)和實(shí)際有機(jī)地結(jié)合起來(lái),鍛煉了實(shí)際分析問(wèn)題和解決問(wèn)題的能力,提高了適應(yīng)實(shí)際的能力,為今后的學(xué)習(xí)和實(shí)踐打下了良好的基礎(chǔ)。本次eda課程設(shè)計(jì)的目的和意義:通過(guò)設(shè)計(jì)交通燈控制器,了解eda技術(shù),了解并掌握vhdl硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,鞏固和綜合運(yùn)用所學(xué)過(guò)的原理知識(shí),提高分析、解決實(shí)際問(wèn)題的獨(dú)立工作能力。在指導(dǎo)老師田漢平老師和周桃云老師的精心指導(dǎo)和嚴(yán)格要求下,經(jīng)過(guò)我們自己的努力,終于完成了這次課程設(shè)計(jì)。同時(shí)獲得了豐富的理論知識(shí),極大地提高了實(shí)踐能力,對(duì)fpga技術(shù)方面有了更深的了解,這對(duì)我們今后進(jìn)一步學(xué)習(xí)有極大的幫助。通過(guò)大量閱讀資料,我拓寬了自己的知識(shí)面,并懂得將所學(xué)知識(shí)融會(huì)貫通到實(shí)踐中去。在獲得知識(shí)的同時(shí),我也認(rèn)識(shí)到了自己還需要學(xué)習(xí)的東西很多,理論需要很好的結(jié)合實(shí)踐,全面分析并解決問(wèn)題的能力有待提高。另外,此次課程設(shè)計(jì)還獲得了我們的同學(xué)大力支持,在我們對(duì)有些知識(shí)掌握不夠時(shí),是我們的同學(xué)及時(shí)伸出幫助之手使我們的課程設(shè)計(jì)能夠及時(shí)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論