基于FPGA的智能交通燈的設計9943264337_第1頁
基于FPGA的智能交通燈的設計9943264337_第2頁
基于FPGA的智能交通燈的設計9943264337_第3頁
基于FPGA的智能交通燈的設計9943264337_第4頁
基于FPGA的智能交通燈的設計9943264337_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第1章 緒 論1.1 交通控制系統以及交通紅綠燈控制電路的發展現狀 隨著社會經濟的發展,城市交通問題越來越引起人們的關注。出行交通的協調,已成為交通管理部門需要解決的重要問題之一。城市交通控制系統是用于城市交通數據監測、交通信號燈控制與交通疏導的計算機綜合管理系統,它是現代城市交通監控指揮系統中最重要的組成部分。 隨著城市機動車量的不斷增加,許多城市出現了交通超負荷運行的情況,因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長和缺乏對高速道路的系統研究和控制,高速道路沒有充分發揮出預期的作用。而城市高速道路在構

2、造上的特點,也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用好耗費巨資修建的城市高速道路,緩解主干道與匝道、城區同周邊地區的交通擁堵狀況,越來越成為交通運輸管理和城市規劃部門亟待解決的主要問題。 車輛的數量持續增加,不斷新建道路已不能很好地解決交通擁堵的現狀,這還需要好的交通疏導,但交通的問題日益突出,單單依靠人力來指揮交通已經不可行了,所以,設計交通燈來完成這個需求就顯保十字路口的行人和車輛順利、暢通地通過,往往采用電子控制的交通信號來進行指揮。智能交通紅綠燈控制電路是用于城市交通疏導的管理系統,它是現代城市交通監控指揮系

3、統中最重要的組成部分。智能的交通信號燈指揮著人和各種車輛的安全運行,實現紅、黃、綠燈的自動指揮是城鄉交通管理現代化的重要課題.在城鄉街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號燈.交通燈控制電路自動控制十字路口兩組紅、黃、綠交通燈的狀態轉換,指揮各種車輛和行人安全通行,實現十字路口城鄉交通管理自動化.1.2 智能交通紅綠燈控制電路技術的現狀 通信號控制系統大體上分為三種類型:定周期的信號機、多時段且具有無電纜協調功能的微電腦型信號機以及聯網式自適應多相位智能型信號機。具體采用哪種類型,應根據其應用場合及特點加以確定。其中,第一種類型以其成本低,設計

4、簡單,安裝及維護方便等特點得到了廣泛應用。本文討論的城鄉交通燈控制系統就屬于該種類型。而隨著各種控制器件的推出,交通燈控制電路得以更易實現并趨向智能化。 交通燈控制系統主要由時間發生器電路、光電檢測電路、控制電路等幾個部分組成。 目前設計交通燈的方案有很多,有應用CPLD設計實現交通信號燈控制器方法;有應用PLC實現對交通燈控制系統的設計;有應用單片機實現對交通信號燈設計的方法。目前,國內的交通燈一般設在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個倒計時的顯示計時器來控制行車。對于一般情況下的安全行車,車輛分流尚能發揮作用,但根據實際行車過程中出現的情況,還存在以下缺點:1兩車道

5、的車輛輪流放行時間相同且固定, 在十字路口,經常一個車道為主干道,車輛較多,放行時間應該長些;另一車道為副干道,車輛較少,放行時間應該短些。2沒有考慮緊急車通過時,兩車道應采取的措施,臂如,消防車執行緊急任務通過時,兩車道的車都應停止,讓緊急車通過。這些控制方法的功能修改及調試都需要硬件電路的支持,在一定程度上增加了功能修改及系統調試的困難。1.3 選題意義伴隨著社會的發展以及人類生活水平的提高,汽車的數量在迅速增加。DEA技術的發展和應用領域的擴大與深入,EDA技術在電子信息,通信,自動,控制及計算機應用等領域的重要性日益突出。隨著技術市場與人才市場對DEA的不斷的增加,交通的問題日益突出,

6、單單依靠人力來指揮交通已經不可行了,所以,設計交通燈來完成這個需求就顯的越加迫切了.為了確保十字路口的行人和車輛順利、暢通地通過,往往采用電子控制的交通信號來進行指揮。以下就是運用數字電子設計出的交通燈:其中紅燈亮,表示該條路禁止通行;黃燈亮表示停車;綠燈亮表示允許通行。因此,在設計中采用EDA技術,應用目前廣泛應用的VHDL硬件電路描述語言,實現交通燈系統控制器的設計,利用Multisim8集成開發環境進行綜合、仿真,并下載到CPLD可編程邏輯器件中,完成系統的控制作用。 1.4 本設計的工作1、任務設計一個交通紅綠燈控制電路。 2、要求(1)設東、西方向為主路、南、北方向為輔路;(2)當東

7、、西方向綠燈亮(表示允許東西方向本輛直行或左拐能過十字路口),南、北方向亮紅燈,反之,當南、北方向綠燈時,東、西方向應亮紅燈;(3)采用超聲波自動檢(必需完成部分)(可采用CD4046BE鎖相環作為接收處理模塊)測交通狀況并產生控制信號對信號燈進行控制,東、西方或南、北方向紅綠信號應能每隔一定時間交替地顯示;當主路綠燈后,若此時輔路無車時,綠燈時間最短不超少于40S;當輔路方向綠燈后,若此時主路無車時,綠燈時間最長不超過25S;(4)在交替之前,從第1S開始黃燈應以1Hz頻率閃動至交替結束,交替時間為5S;(5)有倒計時顯示功能。(6)確定調試方案,選擇測試儀器;(7)安裝電路和調試電路達到設

8、計要求。第2章 硬件部分簡介2.1 具體方案論證與設計 主控數字部分采用CPLD控制方案1:根據原理框圖,使用分立的外圍元件采用555時基電路做成1Hz時基電路和40kHz超聲波信號產生器。555定時器是一種雙極型模擬數字兼容的集成器件,只需在其外部配上少量的阻容元件,就可以構成單穩觸發器、多諧振蕩器、施密特觸發器等脈沖電路。由于它使用靈活、方便,電源范圍大,因而廣泛地應用在波形產生、變換、測量與控制等方面。以下為NE555管腳圖及內部原理圖常譯碼器采用的是七段字型譯碼器,其作用是將輸入的4位BCD碼DCBA譯成與其對應的七段字型輸出,用于驅動數碼管,顯示從0-9的數字。本實驗采用74LS47

9、譯碼器,用來驅動共陰極的發光二極管顯示器。中規模集成電路74LS47,是一種常用的七段顯示譯碼器,該電路的輸出為低電平有效,即輸出為0時,對應字段點亮;輸出為1時對應字段熄滅。該譯碼器能夠驅動七段顯示器顯示015共16個數字的字形。輸入A3、A2、A1和A0接收4位二進制碼,輸出Qa、Qb、Qc、Qd、Qe、Qf和Qg分別驅動七段顯示器的a、b、c、d、e、f和g段。方案2:采用Verilog語言編寫智能交通燈中計數部分控制部分以及譯碼部分,然后下載到芯片CPLD中,加上分頻和超聲波電路就可以實現其功能。由于采用VHDL語言編寫程序時CPLD片內資源不夠用,于是部分分頻則由外部電路輔助完成。超

10、聲波電路經測試,采用COX20106的信號處理電路一般用于測距電路,如若只用其信號作為檢測信號,信號的處理會比較的復雜,不便于調試。因為信號只是用來檢測車輛的有無,故采用鎖相環電路來實現超聲波車輛的檢測。2.2 主控芯片的簡介CPLD是從PAL和GAL器件發展出來的器件,相對而言規模大,結構復雜,屬于大規模集成電路范圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是借助集成開發軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統”編程)將代碼傳送到目標芯片中,實現設計的數字系統。CPLD主要是由可編程邏輯宏單元(MC,Macro Cell

11、)圍繞中心的可編程互連矩陣單元組成。其中MC結構較復雜,并具有復雜的I/O單元互連結構,可由用戶根據需要生成特定的電路結構,完成一定的功能。由于CPLD內部采用固定長度的金屬線進行各邏輯塊的互連,所以設計的邏輯電路具有時間可預測性,避免了分段式互連結構時序不完全預測的缺點。器件特點:它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計制造成本低、對設計者的硬件經驗要求低、標準產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用于產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器

12、件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。電路如下EPM240芯片EPM240電源JTAG及晶振EPM240,數碼管EPM240排針印制電路板第3章 智能交通燈控制電路原理3.1 智能交通燈控制電路原理框圖分頻電路(分成4K)CD4046BE 超聲波信號檢測(車輛檢測)紅、綠、黃燈七段數碼時鐘顯示CPLD主控電路(譯碼、控制) 3.2 主控電路 采用CPLD開發板來實現,其中可以用程序實現時基電路,5秒、25秒、50秒的定時,以及信號處理,譯碼驅動等功能。3.3 超聲波自動檢測電路超聲波簡介超聲檢測是指用超聲波來檢測材料和工件、并以超聲檢測儀

13、作為顯示方式的一種無損檢測方法。超聲檢測是利用超聲波的眾多特性(如反射和衍射),通過觀察顯示在超聲檢測儀上的有關超聲波在被檢材料或工件中發生的傳播變化,來判定被檢材料和工件的內部和表面是否存在缺陷,從而在不破壞或不損害被檢材料和工件的情況下,評估其質量和使用價值。     超聲波是頻率大于 20 kHz 的一種機械波(相對于頻率范圍在 20 Hz 20 kHz 的聲波而言)。超聲檢測用的超聲波,其頻率范圍一般在 0.25 MHz 15 MHz 之間。用于金屬材料超聲檢測的超聲波,其頻率范圍通常在 0.5 MHz 10 MHz 之間;而用于普通鋼

14、鐵材料超聲檢測的超聲波,其頻率范圍通常為 1 MHz 5 MHz。    超聲波具有眾多與眾不同的特性,如:聲束指向性好(能量集中);聲壓聲強大(能量高),傳播距離遠;穿透能力強;在界面處會產生反射、透射(或折射)和波型轉換,以及產生衍射等。如下原理圖,采用CD4046BE作為接收處理模塊。先由4M的晶振產生40Khz的信號,然后經過信號的處理驅動LST發射出車輛檢測信號,然后通過另一端LSR接受超聲波信號,當有車通過路口時,在SIGNA IN就會輸出一個低電平信號至CPLD主控電路超聲波發送信號電路:超聲波接收信號電路:當超聲波探頭沒有遇到障礙物時14

15、腳的頻率波形如下:當超聲波探頭遇到了障礙物時的14腳的頻率波形如下:有關鎖相環CD4046BE的介紹:3.4 分頻電路用三個74LS163將一個4M的晶振分成4K的頻率74LS04:74LS00:Verilog編寫程序如下:/ 程序說明開始/ =/ 功能: 通過超聲波探測返回信號,對十字路口的交通燈實施智能控制/ 參數: en, clk, lampm, lampn, msignal, nsignal,segout,bitout/ 輸入參數: en,clk,msignal,nsignal/ 輸出參數: lampm,lampn,segout,bitout/ 主要思路: 本設計分為設置各亮燈時間,設

16、置亮燈順序并實行減法計數,最后顯示倒計時時間和各種燈,在探測信號發生變化時會有新的計時時間/ 日期: 2009/9/ 版本:/ 程序編寫人員:/ 程序測試記錄:/ =/ 模塊說明結束module traffic(en, clk, lampm, lampn, msignal, nsignal,segout,bitout);input en , nsignal , msignal ; /定義兩條路的探測信號input clk; /時鐘信號50Moutput2 :0 lampm , lampn ; /定義燈的輸出output3 :0 segout ; /數碼管輸出位選output6 :0 bitou

17、t ; /數碼管輸出段選reg 2 : 0 lampm ,lampn ;reg 31 : 0 clk_for_1HZ ; reg clk_1HZ ; /將50M信號分頻至1HZreg 6 : 0 moutg , mouts , noutg , nouts ;reg 7 : 0 numm , numn ;reg tempm = 0 , tempn = 0 ;reg 1 : 0 countm = 2'b00 , countn = 2'b00 ; /兩路狀態變量reg 7 : 0 mred , mgreen , myellow, nred, ngreen, nyellow; /各燈亮

18、時間/task shown;input3:0 in;output6:0 out;begin case(in) / 數碼管譯碼輸出0 : out = 7'b0000001 ; 1 : out = 7'b1001111 ;2 : out = 7'b0010010 ;3 : out = 7'b0000110 ;4 : out = 7'b1001100 ;5 : out = 7'b0100100 ; 6 : out = 7'b0100000 ;7 : out = 7'b0001111 ;8 : out = 7'b0000000 ;

19、9 : out = 7'b0000100 ; default : out <= 7'bzzzzzzz ; endcaseendendtask/ always (numm or numn) begin shown(numm3:0,moutg); / 調用函數shown,輸出顯示譯碼 shown(numm7:4,mouts); shown(numn3:0,noutg); shown(numn7:4,nouts); end/always (posedge clk) begin /1HZ的分頻程序 if (clk_for_1HZ = 32'd25_000_000) beg

20、in clk_for_1HZ = 32'd0 ; clk_1HZ = clk_1HZ ; end else clk_for_1HZ = clk_for_1HZ + 1 ; end/LED inst_shuma (.D1(moutg) , .D2(mouts) , .D3(noutg) , / 調用shuma實現動態掃描 .D4(nouts) , .clk(clk) , .segout(segout) , .bitout(bitout) ); /=/功能:交通燈的工作邏輯,兩路亮燈對應為 主路 輔路/ 綠 30s 紅 35s/ 黃 5s 紅/ 紅 20s 綠 15s/ 紅 黃 5s/ 在

21、探測到信號時執行新的時序 /=always (posedge clk_1HZ) begin /主路邏輯 if(!en) begin if(!tempm) /減法計數控制,為0時輸入計數初值 begin tempm <= 1; /啟動減法計數,等待置數 if(countn = 2'b00 && countm = 2'b00) begin if(nsignal = 0) mgreen <= 8'b0101_0000 ; else mgreen <= 8'b0011_0000 ; if(msignal = 0) mred <=

22、8'b0011_0000 ; else mred <= 8'b0010_0000 ; myellow<= 8'b0000_0101 ; end case(countm) / 設置主路亮燈秩序 2'b00: begin numm <= mgreen; /有車執行既定的30S綠燈時間lampm <= 3'b101; /亮綠燈countm <= 2'b01; /轉至下一狀態 end 2'b01: begin numm <= myellow; lampm <= 3'b110;countm <

23、= 2'b10; end /黃燈時間維持不變 2'b10: begin numm <= mred; /有車信號執行既定時間 lampm <= 3'b011; /亮紅燈countm <= 2'b00; /返回至初始狀態 enddefault: begin numm <= mgreen; lampm <= 3'b101; countm <= 2'b01; end /出錯亮紅燈 endcase end else begin / tempm = 1進行減法計數 if(numm > 1) if(numm3:0=0)

24、 begin numm3:0 <= 4'b1001; /十進制的減法計數 numm7:4 <= numm7:4-4'd1; end else numm3:0 <= numm3:0-4'd1; if(numm = 2) tempm<=0; /減法計數到2,開始置數; end end else begin /en無效亮紅燈,計數初值為0,等待置數 lampm <= 3'b100; countm <= 0; tempm <= 0; endend / end always模塊/always (posedge clk_1HZ) b

25、egin /輔路邏輯 if(!en) begin if(!tempn) /減法計數控制,為0時輸入計數初值 begin tempn<=1; /啟動減法計數,等待置數 if (countn = 2'b00 && countm = 2'b00 )beginif(nsignal = 0) nred <= 8'b0101_0101 ; elsenred <= 8'b0011_0101 ;if(msignal = 0)ngreen <= 8'b0010_0101 ;elsengreen <= 8'b0001_0

26、101 ;nyellow<= 8'b0000_0101 ;end case(countn) 2'b00: begin numn <= nred; /有車執行既定的35S紅燈時間 lampn <= 3'b011; /亮紅燈countn<= 2'b01; /轉下一狀態 end 2'b01: begin numn <= ngreen; /否則執行既定時間15Slampn <= 3'b101; /亮綠燈countn <= 2'b10; /轉下一狀態 end 2'b10: begin numn &l

27、t;= nyellow; /維持黃燈時間不變lampn <= 3'b110 ;countn <= 2'b00 ; end default: begin numn <= nred; lampn <= 3'b011;countn<= 2'b01; end /出錯亮紅燈 endcase end / 進行減法計數 else begin if(numn >1) if(!numn3:0) beginnumn3:0 <= 4'b1001; numn7:4<=numn7:4-4'd1; end else numn3

28、:0 <= numn3:0-4'd1; if (numn = 2) tempn <= 0; end end else begin lampn <=3'b100; tempn <=0; countn <=0; endend / end always模塊/endmodule/ =/ LED動態掃描verilog 代碼,D14為數碼管輸入/ 2009/9 By duan wen/ =module LED(clk , segout , bitout , D1 , D2 , D3 , D4);input clk ; / 時鐘信號50Minput 6 : 0 D1 , D2 , D3 , D4 ; / 輸入信號output 3 : 0 segout ; / 輸出位選output 6 : 0 bitout ; / 輸出段選reg 3 : 0 segout ;reg 6 : 0 bitout ;reg 14 : 0 count_for_clk ; /延時計數器always (posedge clk) begin /延時程序 count_for_clk <= count_for_clk + 14'd1 ;

溫馨提示

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

評論

0/150

提交評論