交通信號燈控制電路的FPGA設計
1 引言
隨著(zhù)社會(huì )上特別是城市中機動(dòng)車(chē)輛保有量的不斷增加,在現代城市的日常運行控制中,車(chē)輛的交通控制越來(lái)越重要,在十字交叉路口,越來(lái)越多的使用紅綠燈進(jìn)行交通指揮和管理。本文以VHDL硬件描述語(yǔ)言為設計手段,完成了交通信號燈控制電路的開(kāi)發(fā),其中交通信號燈控制電路的開(kāi)發(fā)目的是設計一個(gè)適用于主、支干道十字交叉路口的紅黃綠交通燈的控制系統,通過(guò)合理設計系統功能,使紅黃綠燈的轉換有一個(gè)準確的時(shí)間間隔和轉換順序,當然這就需要有一個(gè)自動(dòng)和安全的系統對紅、黃、綠燈的轉換進(jìn)行控制。所設計的交通信號燈控制電路經(jīng)過(guò)在QuartusII 5.0軟件下進(jìn)行模擬仿真,觀(guān)察其波形,并通過(guò)將程序下載到目標FPGA器件,進(jìn)行硬件的調試驗證,證明所設計的交通信號燈控制電路完全可以實(shí)現預定的功能,并有一定的實(shí)用性。
2 系統設計要求
所要設計的交通信號燈控制電路,要能夠適用于由一條主干道和一條支干道的匯合點(diǎn)形成的十字交叉路口,主、支干道的紅綠燈閃亮時(shí)間不完全相同。具體的設計要求如下:實(shí)現控制一條主干道和一條次干道匯合組成的十字交叉路口,使主、支干道上的車(chē)輛行人交替通行,其中主干道車(chē)輛行人通行60秒,此時(shí)支干道上車(chē)輛行人禁止通行;支干道車(chē)輛通行30秒,同樣此時(shí)主干道上車(chē)輛禁止通行。每當信號燈由綠燈轉換成紅燈之前,黃燈要先亮5秒,此時(shí)另一個(gè)干道紅燈不變,禁止通行。在黃燈亮之前,綠燈按1HZ頻率閃爍5秒,以提示車(chē)輛行人。在主干道上安裝有數碼管,用來(lái)顯示本道各信號燈閃亮的時(shí)間。
3 系統設計方案及其邏輯設計
3.1 系統設計方案
通過(guò)參考其他的相關(guān)文獻[1],[2],[4],[5],[6],[7],對照研究如基于單片機、基于分立元件等其他設計手段的優(yōu)缺點(diǎn),我們認為使用基于FPGA的設計方法具有周期短,設計靈活,易于修改等明顯的優(yōu)點(diǎn),而且隨著(zhù)FPGA器件、設計語(yǔ)言和電子設計自動(dòng)化工具的發(fā)展和改進(jìn),越來(lái)越多的電子系統采用FPGA來(lái)設計,還有,通過(guò)FPGA設計電子系統,一旦該系統可以達到一定規模的量產(chǎn),很容易轉化為ASIC芯片設計。相信在將來(lái),FPGA設計方法將更大規模的應用于各種類(lèi)型的電子系統設計中。因此,我們決定使用VHDL硬件描述語(yǔ)言來(lái)編程實(shí)現系統設計要求,并采用自頂向下的設計思路,將系統劃分為6個(gè)模塊來(lái)實(shí)現,分別是交通燈控制模塊、顯示控制模塊、顯示譯碼模塊、60秒定時(shí)器模塊、30秒定時(shí)器模塊和5秒定時(shí)器模塊。如圖1所示。
圖1 交通信號燈控制電路的模塊劃分
3.2 邏輯設計
根據上文中確定的系統設計方案,運用模塊化的設計思路,我們在QuartusII 5.0軟件系統中設計了交通燈控制模塊、顯示控制模塊、顯示譯碼模塊、60秒定時(shí)器模塊、30秒定時(shí)器模塊和5秒定時(shí)器模塊的VHDL程序,并通過(guò)各個(gè)模塊程序之間的端口合理連接和協(xié)調,成功設計出交通信號燈控制電路,得到其邏輯結構原理圖,即為整個(gè)交通信號燈控制電路的邏輯結構。
4 設計驗證
通過(guò)在QuartusII 5.0軟件中的模擬仿真,驗證了該電路可以實(shí)現預定功能,即主、支干道交替通行,主干道通行60秒,支干道通行30秒。綠燈轉換成紅燈前,黃燈先亮5秒,此時(shí)另一個(gè)干道紅燈不變。當黃燈亮完5秒之后,另一條干道的綠燈亮而紅黃燈都不亮,此時(shí)該干道允許通行,主干道有數字顯示各燈閃亮的時(shí)間。如此一直循環(huán)往復,實(shí)現十字交叉路口的交通控制。另外我們還實(shí)現了一個(gè)附加功能,即當支干道一直沒(méi)有車(chē)通過(guò)的時(shí)候,主干道一直處于暢通狀態(tài),這樣可以在實(shí)際中遇到特殊情況時(shí),來(lái)靈活控制應用,另外還可以加入人工控制端,即當遇有需進(jìn)行交通管制等情形時(shí),可以由交通警察來(lái)手工控制路口信號燈的轉換。
為了更加準確的仿真和驗證電路的功能,我們根據實(shí)際生活中的多種交通情況,將其進(jìn)行分類(lèi),設定了十字路口出現的多個(gè)情境,并在QuartusII 5.0軟件環(huán)境中,分別對所設計的系統電路針對每個(gè)設定情境進(jìn)行功能仿真,圖2至圖5是其中幾種設定情境的實(shí)驗仿真結果(圖中的輸入變量SM,SB分別為主支干道傳感信號,CLK為來(lái)自時(shí)鐘發(fā)生電路的時(shí)鐘信號,輸出信號MR,MY,MG分別為主干道上的紅燈、黃燈和綠燈,BR,BY,BG分別為支干道上的紅燈、黃燈和綠燈,而OUT1,OUT2為主干道輸出,OUT3,OUT4為支干道輸出)。通過(guò)觀(guān)察這些情境下的實(shí)驗仿真結果,發(fā)現符合我們預想的功能,可以有序、準確的控制路口交通信號燈的順序轉換,并沒(méi)有發(fā)生誤操作。
除了進(jìn)行軟件的仿真之外,我們還將整體程序下載到目標FPGA器件,使用相應的硬件電路相配合,進(jìn)行硬件調試,也驗證了該電路工作情況良好,與軟件仿真的結果完全相符合,說(shuō)明我們所設計的交通信號燈控制電路通過(guò)了軟件仿真和硬件的測試,可以完成之前的預定功能。
圖2 交通信號燈控制電路的仿真結果一
圖3 交通信號燈控制電路的仿真結果二
圖4 交通信號燈控制電路的仿真結果三
圖5 交通信號燈控制電路的仿真結果四
5 結論
通過(guò)實(shí)驗仿真結果表明,我們所設計的交通信號燈控制電路能夠很好的完成相應的控制,實(shí)現了預定功能,通過(guò)硬件下載和調試,電路工作正常,控制結果完全達到相應的要求。
本文作者的創(chuàng )新觀(guān)點(diǎn)是:使用VHDL語(yǔ)言設計了一個(gè)實(shí)用的交通信號燈控制電路,通過(guò)軟件仿真和硬件調試,電路完成了預定功能,如果對其電路功能加以進(jìn)一步的改進(jìn)和完善,將其產(chǎn)品化后完全可以達到實(shí)用的目的。
參考文獻
[1] 藍運維. 基于FPGA的交通燈控制系統的仿真[J].現代電子技術(shù),2006(9):125-129.
[2] 何峰. 基于Verilog HDL設計的交通燈控制系統[J].現代電子技術(shù),2005(8):103-107.
[3] 路而紅.專(zhuān)用集成電路設計與電子設計自動(dòng)化[M].北京:清華大學(xué)出版社,2004.
[4] 孫凌翔,陳世和,李勁松. 順序控制法在交通燈控制系統中的應用[J],現代電子技術(shù),2006(10):26-27.
[5] 王成勇. 智能交通燈控制系統[J]. 廣東技術(shù)師范學(xué)院學(xué)報,2006(4):92-94.
[6] 陳勝利.PLC在控制交通信號燈中的應用[J].機電一體化,2003(9):85-87.
[7] 李靜. 單交叉口交通燈信號模糊控制及其仿真[J].微計算機信息,2006,22(3-1):33-38.
評論