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