新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于EDA的交通信號燈電路的設計與仿真

        基于EDA的交通信號燈電路的設計與仿真

        作者: 時間:2016-10-16 來源:網絡 收藏

        傳統的控制電路的是基于中、小規模集成電路,電路元件多、焊接復雜、故障率高、可靠性低,而且控制系統的功能擴展及調試都需要硬件電路的支持,為日常維護和管理增加了難度。目前很多城市的還是應用傳統的電路,一旦出現故障,不能及時維修和處理,勢必會造成道路的交通混亂。通過技術的改進,采用基于EDA技術的交通信號燈控制電路彌補了傳統中的缺點,通過VHDL語言編寫系統控制程序,利用軟件控制整個系統的硬件電路,還可以利用EDA集成開發環境對交通信號燈的設計進行,驗證設計結果是否。改進后的交通信號燈電路組成元器件少,可靠性高,操作簡單,可擴展功能。

        本文引用地址:http://www.104case.com/article/201610/308041.htm

        1 交通信號燈控制電路

        1.1 交通信號燈工作原理

        基于FPGA的交通信號燈控制電路主要用于甲乙兩條車道匯合點形成的十字交叉路口,甲乙兩車道各有一組紅、黃、綠燈和倒計時顯示器,用以指揮車輛和行人有序的通行。兩組紅綠燈分別對兩個方向上的交通運行狀態進行管理,紅燈亮表示該道路禁止通行,黃燈表示停車,綠燈表示可以通行;倒計時顯示器是用來顯示允許通行或禁止通行的時間,以倒計時方式顯示交通燈閃亮持續時間。為每個燈的閃亮狀態設置一個初始值,指示燈狀態改變后,開始按照初始值倒計時,倒計時歸零后,燈的狀態將會改變至下一個狀態。交通燈兩車道的指示燈閃亮狀態是相關的,每個方向的燈閃亮狀態影響著另一個方向的指示燈閃亮狀態,這樣才能夠協調兩個方向的車流。甲乙兩車道交通燈工作狀態如表1所示,其中“1”代表點亮,“0”代表熄滅。

        基于EDA的交通信號燈電路的設計與仿真

        當甲車道綠燈亮時,乙車道對應紅燈亮,由綠燈轉換紅燈的過渡階段黃燈亮。同理,乙車道綠燈亮時,甲車道的交通燈也遵循此規則。當出現特殊情況時,各方向均亮紅燈,倒計時停止,特殊運行狀態結束后,控制器恢復原來狀態,繼續運行。

        1.2 交通信號燈電路結構

        根據交叉路口交通燈工作原理,圖1為交通信號燈控制電路的原理圖。該電路包含了1個FPGA芯片,2個七段LED數碼顯示管,6個發光二極管分別表示甲乙兩車道上指示燈,以及一個緊急按鈕。FPGA芯片采用EP1C12Q240C8,作為系統總體控制部分;利用外接發光二極管模擬交通信號燈的紅、黃、綠,控制甲乙兩車道車輛運行狀態;2個數碼管顯示交通信號燈閃亮持續時間,并采用動態掃描方式。

        基于EDA的交通信號燈電路的設計與仿真

        2 交通信號燈控制電路的VHDL設計與

        十字交叉路口的交通燈指揮行人和車輛的安全運行,在甲、乙車道的交叉路口設計一個交通控制,根據“紅燈停,綠燈行,黃燈等待”的交通規則,如下功能:

        1)甲車道和乙車道的車輛交替運行,每次通行時間設為30 s;

        2)每次黃燈先亮5 s,才能變換運行車道;

        3)黃燈亮時,要求每秒鐘閃亮一次;

        4)信號燈點亮時間可預置;

        5)特殊情況下可通過開關單獨控制,顯示器停止計時并閃爍顯示。

        通過對電路實現功能分析,整個系統主要由分頻模塊、狀態控制模塊、譯碼模塊以及顯示電路構成。如圖2所示,其中clk為系統外加時鐘信號,jin為特殊狀態禁止通行信號。

        基于EDA的交通信號燈電路的設計與仿真

        2.1 分頻模塊

        分頻模塊主要是把基準時鐘信號轉換為激勵信號,由于系統的外接時鐘信號設為1 kHz,而系統計時所需時鐘信號為1 Hz,因此首先通過分頻器把外部高頻率的時鐘信號轉換為內部需要的激勵信號,驅動狀態控制模塊工作。所謂分頻器實際上就是一個計數器,計數器對1 kHz信號進行計數,每當999時輸出一個脈沖信號,從而得到1 Hz時鐘信號,其波形如圖3所示。

        基于EDA的交通信號燈電路的設計與仿真

        2.2 狀態控制模塊

        狀態控制模塊是本系統的核心模塊,它的作用是根據計時賦值標志位和時鐘信號,判斷、調整和控制系統的工作狀態,提供適當的指示燈控制信號。其中對應輸出的工作狀態有4種,分別是st1、st2、st3和st4??刂萍?、乙車道的紅、黃、綠燈的信號分別用ra、ya、ga和rb、yb、gb表示,其值為‘1’表示燈亮,為‘0’表示燈滅。

        狀態控制模塊在脈沖信號作用下分別對甲乙車道的計數進行減1計數,并監測計數器的計數值,當計數器到臨界計數值時,在下一秒脈沖為計數器裝載新的計數初值,同時改變車道的指示燈狀態。當出現特殊情況時,控制按鍵輸入禁止通行信號,即jin為‘1’,計數器暫停計數,各方向車輛都處于禁止運行狀態。各狀態及特殊情況指示燈工作仿真波形如圖4所示。

        基于EDA的交通信號燈電路的設計與仿真

        當工作狀態為st1時ra=‘0’、ya=‘0’、ga=‘1’,即甲車道綠燈亮;rb=‘1’、yb=‘0’、gb=‘0’,即乙車道紅燈亮;此時計數器qh=3,ql=0,即30s。當工作狀態為st2時ra=‘0’、ya=‘1’、ga=‘0’,即甲車道黃燈亮;rb=‘0’、yb=‘1’、gb=‘0’,即乙車道黃燈亮;此時計數器qh=0,ql=5,即5s。同理,當工作狀態處于st3時,甲車道紅燈亮,乙車道綠燈亮,計數器置初值30;當工作狀態處于st4時,甲乙車道都點亮黃燈,計數器置初值5。在特殊情況jin=‘1’時,ra=‘1’,rb=‘1’,此時甲乙車道紅燈都點亮,禁止各方向車輛通行,同時計數器停止計數。

        2.3 譯碼模塊

        譯碼模塊的作用是根據根據狀態控制模塊中設置的計時初值顯示交通燈的閃亮持續時間,并將燈亮時間以倒計時的形式顯示出來。即將狀態控制模塊中計數器計數位各數值進行譯碼,輸出譯碼信號,驅動七段數碼管,由數碼管顯示器顯示當前計數值。當顯示黃燈點亮持續時間和特殊情況時數碼管顯示器實現閃爍顯示功能。

        譯碼模塊根據七段數碼管顯示控制規則,將狀態控制模塊計數器中數值按規則輸入譯碼信號,驅動數碼管各控制端。其中數碼管各顯示控制信號與數值顯示關系如表2所示。

        基于EDA的交通信號燈電路的設計與仿真

        譯碼模塊仿真波形如圖5。其中one存放計數器個位數值,ten存放計數器十位數值,seg7_1,seg7_2分別代表個位和十位數碼管顯示控制信號。根據計數器存放數值,seg7_ 1,seg7_2分別輸出對應控制信號,以便驅動數碼管顯示對應數值,例如:當one=6時seg7_1輸出“1011111”信號驅動數碼管顯示數字6;當ten=0時seg7_2輸出“1111110”信號驅動數碼管顯示數字0。

        基于EDA的交通信號燈電路的設計與仿真

        2.4 交通信號燈整體電路仿真分析

        交通信號燈控制電路仿真波形如圖6所示。

        基于EDA的交通信號燈電路的設計與仿真

        系統輸入的基準時鐘脈沖Clk=1 kHz,經過分頻后得到系統電路需要的時鐘激勵信號1 Hz。當工作狀態stx=st1時,甲車道綠燈信號ga=‘1’,乙車道紅燈信號rb=‘1’,并且計數器置入初始值30(qh=3,ql=0),數碼管開始倒計時顯示時間,此時甲車道綠燈亮,允許車輛通行30s,乙車道紅燈亮,禁止車輛通行;當工作狀態stx=st2時,甲車道黃燈信號ya=‘1’,乙車道黃燈信號yb=‘1’,并且計數器置入初始值5(qh=0,ql=5),數碼管開始倒計時閃爍顯示時間,此時甲乙兩車道黃燈亮,兩車道車輛運行狀態進入轉換階段;當工作狀態stx=st3時,甲車道紅燈信號ra=‘1’,乙車道綠燈信號gb=‘1’,并且計數器置入初始值30,數碼管開始倒計時顯示時間,此時甲車道紅燈亮,禁止車輛通行,乙車道綠燈亮,允許車輛通行30s;當工作狀態stx=st4時如同工作狀態st2。

        如圖中所示,在正常運行時出現特殊情況時,啟動特殊控制開關,使禁止通行信號jin=‘1’,此時ra=‘1’,rb=‘1’,甲乙兩車道都亮紅燈,禁止各方向車輛運行,此時數碼管停止計時并閃爍顯示,當特殊狀態結束后,恢復正常運行,數碼管繼續計時顯示。

        3 結束語

        基于EDA技術的交通信號燈控制電路設計改變了基于單片機的傳統交通燈不穩定和不利于擴展的缺點,突破了單片機的種種限制。通過VHDL語言編程,對交通信號燈控制電路做了改進:增加了指示燈倒計時和閃爍提醒功能,以便讓司機控制過交叉路口的車速,使交通更加安全有序;增加了全紅燈的特殊狀態,保證了緊急情況下公務車能順利通行。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 叶城县| 南郑县| 金门县| 宁南县| 土默特右旗| 当涂县| 定州市| 革吉县| 津市市| 嘉峪关市| 南阳市| 延庆县| 含山县| 徐汇区| 郎溪县| 景洪市| 旬邑县| 平罗县| 文山县| 台东市| 兴隆县| 承德市| 宽甸| 岗巴县| 治多县| 石泉县| 开平市| 永泰县| 体育| 宁明县| 绍兴县| 庆阳市| 临澧县| 磴口县| 白银市| 余干县| 砚山县| 巴林左旗| 会昌县| 宜兰县| 盐城市|