交通燈是城市交通監管系統的重要組成部分,對于保證機動車輛的安全運行,維持城市道路的順暢起到了重要作用。目前很多城市交叉路口的交通燈實行的是定時控制,燈亮的時間是預先設定好的,在時間和空間方面的應變性能較差,一定程度上造成了交通資源的浪費,加重了道路交通壓力。本文在EDA技術的基礎上,利用FPGA的相關知識設計了交通燈控制系統,可以根據實際情況對燈亮時間進行自由調整,整個設計系統通過Max+PlusⅡ軟件進行了模擬仿真,并下載到FPGA器件中進行硬件的調試,驗證了設計的交通信號燈控制電路完全可以實現預定的功能,具有一定的實用性。 1 系統設計要求 所設計的交通信號燈控制電路,主要適用于在兩條干道匯合點形成的十字交叉路口,路口設計兩組紅綠燈分別對兩個方向上的交通運行狀態進行管理。交通燈的持續閃亮時間由鍵盤輸入控制。燈亮時序如圖1所示,當B方向的紅燈亮時,A方向對應綠燈亮,由綠燈轉換成紅燈的過渡階段黃燈亮,即B方向紅燈亮的時間等于A方向綠燈和黃燈亮的時間之和。同理,當A方向的紅燈變亮時,B方向的交通燈也遵循此規則。各干道上安裝有數碼管,以倒計時的形式顯示本道各信號燈閃亮的時間。當出現特殊情況時,各方向上均亮紅燈,倒計時停止。特殊運行狀態結束后,控制器恢復原來的狀態,繼續運行。 2 系統整體設計 整個系統設計如圖2所示,該系統主要由計數模塊、控制模塊、分頻模塊、分位模塊以及顯示電路構成。其中分頻模塊主要將系統輸入的基準時鐘信號轉換為1 Hz的激勵信號,驅動計數模塊和控制模塊工作。控制模塊根據計數器的計數情況對交通燈的亮滅及持續時間進行控制,并通過分位電路將燈亮時間以倒計時的形式通過數碼管顯示出來。圖中Reset是復位信號,高電平有效,可以實現對計數器的異步清零。Hold為保持信號,當Hold為“1”,計數器暫停計數,表示出現特殊情況,各方向車輛都處于禁行狀態。 3 主要功能模塊設計及仿真 3.1 計數模塊設計 計數模塊主要實現累加循環計數,計數的最大值由鍵盤輸入控制,輸出的計數值為控制模塊的燈控提供參考,計數器的主程序設計如下: 計數模塊的仿真如圖3所示,從圖中可以看出,在時鐘的驅動下,計數值不斷自加,當計數值countnum等于鍵盤輸入值32(key=32)時,計數返回到0,開始下一輪計數。當Hold檢測到特殊情況時置‘1’,使計數器暫停計數。 3.2 控制器模塊的仿真設計 在控制器模塊中,紅、綠、黃三盞燈工作的總時間由鍵盤輸入,各交通燈時間分配規則如下:紅燈時間占總時間的1/2,綠燈時間占3/8,黃燈時間占1/8,本設計中鍵盤輸入值為32(key=32),正常情況下紅燈亮16 s,綠燈亮12 s,黃燈亮4 s。 控制器仿真情況如圖4所示,當hold為低電平,計數值countnum<12時,greenA輸出高電平,A東西方向綠燈亮起車輛通行,此時與之相對應的redB輸出高電平,B方向紅燈亮起車輛禁行。A方向顯示交通燈閃爍持續時間的數碼管numA從12開始遞減,同時B方向顯示交通燈閃爍持續時間的數碼管numB從16開始遞減。當12<countnum<16時,yellowA輸出高電平,A方向黃燈亮起,numA從數值4開始倒計時,此時greenB仍處于低電平,numB繼續倒計時,B方向紅燈閃亮車輛仍處于禁行狀態。當countnum>16,redA輸出高電平,A方向紅燈亮起車輛禁行,numA從數值16開始倒計時,此時greenB輸出高電平,B方向綠燈亮起車輛通行,numB從數值12開始遞減。當16<countnum<28時,redA繼續處于高電平狀態,numA繼續倒計時,A方向車輛禁行,而此時yellowB輸出高電平,B方向黃燈亮起,numB從數值4開始遞減。當hold為‘1’時,表示進入緊急狀態,FLASH置‘1’,各方向的紅燈均亮起,所有機動車禁行。 3.3 分位模塊設計 分位模塊的設計主要是將燈亮時間分為十位和個位,通過兩個相應的數碼管分別顯示出來。本設計中燈亮時間最長不超過40 s(numin<40),numA,numB分別表示十位、個位上的數字,分位模塊程序設計的流程圖如圖5所示。 分位模塊的仿真如圖6所示,numin的數值大小可以通過numA,numB的組合以十進制數值顯示,從而實現了分位功能。 4 系統的硬件設計及調試 本系統的主要邏輯設計由一片EPlK30TC144-3芯片完成,編寫的VHDL源程序在Altera公司的邏輯綜合工具Max+PlusⅡ下經過編譯和功能仿真測試后,針對下載芯片進行管腳配置,下載到EPlK30TC144-3芯片中,進行相應的硬件調試,調試結果與軟件仿真的結果相吻合,驗證了設計完成了預定功能。 5 結 語 本文利用硬件描述語言VHDL編程,借助Altera公司的Max+PlusⅡ軟件環境下進行了編譯及仿真測試,通過FPGA芯片實現了一個實用的交通信號燈控制系統,設計由于采用了EDA技術,不但大大縮短了開發研制周期,提高了設計效率,而且使系統具有設計靈活,實現簡單,性能穩定的特點。 |