陳春先 曲鳴飛 張麗 辛義
【摘要】? ? 本文就校內的十字路口,設計了基于FPGA的紅綠燈控制系統(tǒng),該課題采用當下比較前沿的技術FPGA并且可以使得系統(tǒng)具有電路簡單,可靠性強、運算速度高的特點。系統(tǒng)通過功能擴展、接口擴展可同時控制多個路口的紅綠燈變換, 并實現具有根據需要實時快速擦寫應用程序的功能,為校園安全增添實時保障。
【關鍵詞】? ? 紅綠燈控制系統(tǒng)? ? FPGA
引言
伴隨社會經濟的不斷發(fā)展,人們的生活質量得以較大提高,近乎家家都有小轎車,當然校園內的大學生們,也隨著與社會接軌程度的加深,開車的逐漸增多,加之校園教職工的車輛,校園安全便增加了一項不可忽略的重點,那就是校園車輛的行駛安全,尤其是路口的安全便尤為突出。
為解決上述問題,經過調查研究,本文設計了一種基于FPGA的控制系統(tǒng),FPGA 具有可編程、高集成度、高速和高可靠性等優(yōu)點,通過配置器件內部的邏輯功能和輸入/輸出端口,將原來電路板級的設計放在芯片中進行,提高了電路性能,降低了印刷電路板設計的工作量和難度,有效提高了設計的靈活性和效率。
系統(tǒng)可以根據校園實際情況實時更換控制功能,比如可以寒暑假期間與學期間設置不同的等燈時長,對于系統(tǒng)只需要改幾個數字重新下載即可,具有較好的可擴展性,系統(tǒng)維護也比較簡單。
一、功能需求及系統(tǒng)組成
1.1功能需求
為保證校園內十字路口行人和車輛有序通行, 控制需求如下:
(1)A向B向各設一組左拐燈,紅、綠、黃燈,顯示順序為:綠—黃—左拐—黃—紅
(2)雙向各設置一組倒計時顯示器
A 向左拐、綠、黃和紅燈顯示時間分別為10S,40S,5S,50S;
B 向左拐、綠、黃和紅燈顯示時間分別為10S,30S,5S,60S;
(3) 期望有五種控制模式,可以通過控制開關進行切換,以應對工作日及假期需求
方式1:A向綠燈長亮,B向紅燈亮;
方式2:A向左拐燈長亮,B向紅燈亮;
方式3:B向綠燈長亮,B向紅燈亮;
方式4:B向左拐燈長亮,A向紅燈亮
方式5:自動按雙向燈的顯示要求交替循環(huán)。
(4)須有硬件復位控制
1.2系統(tǒng)組成框圖
根據需求調研,該控制系統(tǒng)功能框圖如下圖1所示:
采用FPGA設計實現,不僅可以降低成本,縮短設計周期,還能保證設計正確性。
二、系統(tǒng)硬件平臺
設計研發(fā)階段,特采用 Basys2開發(fā)板作為硬件平臺,其中資源足以實現設計任務,該平臺的資源框圖如圖2所示:
賽靈思公司的Spantan3E-100CP132作為控制器,外圍輸入用3個撥動開關作為方式控制開關和系統(tǒng)復位開關,8只發(fā)光二極管模擬雙向的左轉、紅、黃、綠燈,4個LED數碼管正好模擬雙向的信號燈計時數。
三、系統(tǒng)軟件平臺
Xilinx的 開發(fā)工具ISE,集成了FPGA開發(fā)需要的所有功能,提供了一個功能強大的設計收斂環(huán)境。ISE的主要功能包括設計輸入、綜合、 仿真、實現和 下載。
四、控制系統(tǒng)設計
4.1交通燈控制器功能設計
控制器需要具備控制電路模塊、計時模塊、譯碼模塊、動態(tài)掃描顯示模塊等,如下圖3所示。
依據控制器系統(tǒng)框圖,頂層電路設計如下所示,由控制模塊JTD_CTRL、 分頻模塊、計時模塊和譯碼顯示模塊四部分組成。CLK50M是硬件平臺提供的50MHz時鐘源,M(2:0)是控制方式撥動開關輸入,CLR為系統(tǒng)復位按鍵,輸出信號ABL(7:0)為信號燈顯示控制信號,接8只發(fā)光二極管,模擬AB雙向的左拐、黃、綠、紅燈,LED(6:0)為7段LED的段選控制信號,SEL(3:0)為4個LED的位選控制端。
4.2邏輯控制電路
該模塊根據外部信號產生系統(tǒng)狀態(tài)機,控制其它模塊協調工作。
自動模式下,狀態(tài)機生成8個狀態(tài)轉換,八個狀態(tài)S0—S7邏輯抽象如下:
S0(000):A向紅燈,B向黃燈5s; S1(001):A向綠燈40s,B向紅燈; S2(010):A向黃燈5S,B向紅燈; S3(011):A向左轉燈10s,B向紅燈; S4(010):A向黃燈5S,B向紅燈; S5(011):A向紅燈,B向綠燈30s; S6(110):A向紅燈,B向黃燈5s; S7(111):A向紅燈,B向左轉燈10s;
手動模式下,狀態(tài)機生成4個狀態(tài),分別是 S1、 S3、 S5 、S7。
4.3分頻
該模塊根據平臺提供的50MHz時鐘信號,分頻出1KHz和1Hz,1Hz時鐘信號給控制模塊和計時模塊,1KHz時鐘信號給顯示控制模塊,動態(tài)掃描4個LED數碼管
4.4計時控制
該模塊根據分頻提供的1Hz時鐘信號,減1計數,為顯示電路提供倒計時時間,每種狀態(tài)下的倒計時時間見前文中狀態(tài)的邏輯抽象。
4.5掃描顯示
該模塊對計時單元輸出的計時信號進行譯碼,生成段選碼和位選碼,分頻單元輸出的1KHz時鐘信號對4位數碼管動態(tài)掃描。
4.6掃描顯示
該模塊對計時單元輸出的計時信號進行譯碼,生成段選碼和位選碼,分頻單元輸出的1KHz時鐘信號對4位數碼管動態(tài)掃描。
4.7譯碼驅動
該模塊對邏輯控制單元輸出的狀態(tài)機進行譯碼,生成A向和B向紅綠黃燈的顯示信號,輸出的信號ABL7-ABL0與燈的對應A向左轉、A向黃燈、A向綠燈、A向紅燈、B向左轉、B向黃燈、B向綠燈、B向紅燈
五、 綜合驗證
軟件平臺提供的綜合工具可以對設計文件查找語法錯誤,修正之后,對部分模塊進行仿真測試,驗證邏輯功能符合設計需求。
六、約束設計、布局布線、生成可編程代碼、下載、測試、修正
結合系統(tǒng)設計輸入輸出和選定的硬件測試平臺BASYS2, 資源分布完成后,布局布線,生成.bit文件,下載到硬件平臺,功能測試并調試設計過程,本設計經測試,完全可以實現設計預期。
參? 考? 文? 獻
[1] 蔣敏.VHDL語言與數字系統(tǒng)的設計. 應用科技.2010
[2] 羅勇. 基于FPGA的交通燈控制與實現. 電子器件.2008.
[3] 蔣敏. VHDL語言與數字系統(tǒng)的設計. 應用科技,2010.