摘 要: 傳統(tǒng)交通控制器多數(shù)由單片機或PLC實現(xiàn)。FPGA不僅可解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷下降,促使FPGA越來越多地取代了ASIC的市場,尤其是對小批量、多品種的產(chǎn)品需求,使之成為首選。本文介紹了一種復(fù)雜路口交通燈控制器的設(shè)計用FPGA實現(xiàn)的方法。
關(guān)鍵詞: FPGA VHDL 交通控制器
1.引言
1.1課題的提出
近年來,隨著我國經(jīng)濟的發(fā)展,城市的交通擁擠問題日趨嚴重,交通事故頻發(fā),提高城市路網(wǎng)的通行能力、實現(xiàn)道路交通的科學(xué)化管理來減少路口交通事故迫在眉睫。因此研究開發(fā)出適合中國國情、性能價格比高的路口控制器成為一項特別緊迫的任務(wù)。
該語言因具備強大的行為描述能力和豐富的仿真語句而成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。
1.2 FPGA簡介
FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,促使FPGA越來越多地取代了ASIC的市場,特別是對小批量、多品種的產(chǎn)品需求,使FPGA成為首選。
1.3 FPGA特點
(1)FPGA芯片的規(guī)模也是越來越大,其單片邏輯門數(shù)已達到上百萬門,所能實現(xiàn)的功能越來越強,同時還可以實現(xiàn)系統(tǒng)集成。
(2)FPGA芯片在出廠之前100%都做過測試,不需要設(shè)計人員承擔(dān)投資風(fēng)險和費用。而且資金投入少,節(jié)省許多潛在的開銷。
(3)用戶可以反復(fù)地編程,擦除,使用,或在外圍電路不變的情況下,用不同軟件就可實現(xiàn)不同功能。FPGA軟件易學(xué)易用,可以讓設(shè)計人員集中精力進行電路設(shè)計,快速將產(chǎn)品推向市場。
2.交通控制器系統(tǒng)的VHDL設(shè)計
2.1 VHDL語言概述
VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。VHDL的語言形式和描述風(fēng)格與句法與一般的計算機高級語言十分類似。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體分成可視部分和不可視部分,即涉及實體的內(nèi)部功能和算法完成部分。
2.2 VHDL開發(fā)FPGA流程
用VHDL語言開發(fā)FPGA的完整流程為:文本編輯→功能仿真→邏輯綜合→布局布線→時序仿真→編程下載。
通常以上過程可以都在FPGA廠家提供的開發(fā)工具中完成,利用VHDL語言進行FPGA設(shè)計開發(fā)的基本流程如下:VHDL輸入→功能仿真→邏輯綜合→適配分割→布局布線→時序仿真→編程測試。
2.3交通控制器VHDL初步設(shè)計說明
初步設(shè)計主要是體現(xiàn)本次采用VHDL語言設(shè)計的設(shè)計思想,設(shè)計理念,設(shè)計方法。
在初步設(shè)計中暫不需要考慮以下幾點:
(1)開辟存儲單元,即系統(tǒng)開啟后運行的是固定的參數(shù),不重新設(shè)置,運行參數(shù)不變;
(2)東西南北交通燈為簡單的紅綠黃三色燈,不帶指示箭頭,因而燈總數(shù)為12,需要的輸出控制線為6;
(3)南北向與東西向運行時間相同,即采用對偶式設(shè)計,因而時間置入只要簡單考慮南北向或東西向一種情況。
2.4初步設(shè)計要求
利用VHDL語言按照以下要求進行編程,具體要求如下:設(shè)計一個交通信號燈,要求能夠?qū)崿F(xiàn)手動和自動兩種控制方式,在手動方式下,通過觸發(fā)相應(yīng)的按鈕,進行東西向與南北向之間的交通信號的切換。在自動方式下,首先要能夠?qū)|西向與南北向的紅綠燈時間與黃燈時間進行設(shè)置,在確認設(shè)置數(shù)值后,啟動系統(tǒng),要求系統(tǒng)按照所預(yù)置的數(shù)值運行。
2.5初步設(shè)計思想
該程序總體分為兩大部分,一為手動部分,二為自動部分,因此在程序設(shè)計時也應(yīng)該按照這兩個部分進行設(shè)計。
(1)自動部分。自動部分總體分為三大塊:一為設(shè)置部分,二為LED顯示部分,三為系統(tǒng)運行部分。整個系統(tǒng)設(shè)計的整體思想是,首先在設(shè)置部分對東西向與南北向的紅綠燈、黃燈時間進行設(shè)置,同時通過LED顯示部分,將所設(shè)置的數(shù)值在數(shù)碼管上顯示出來。接著,在系統(tǒng)運行部分,將設(shè)置部分所預(yù)設(shè)的數(shù)值作為整個系統(tǒng)運行的參數(shù)。
(2)手動部分。手動部分功能較為單一,只需通過觸發(fā)相應(yīng)的按鈕,實現(xiàn)東西向與南北向之間的交通信號的切換,即兩個方向上的紅綠燈切換。
3.結(jié)論與拓展
3.1結(jié)論
從上述的討論中,可以看到本次采用FPGA實現(xiàn)復(fù)雜路口流量控制器有其獨特的優(yōu)點,但也有不足之處。
3.2拓展
在總結(jié)和分析本次采用FPGA實現(xiàn)復(fù)雜路口交通流量控制器優(yōu)缺點的基礎(chǔ)上,我們可以看出本次設(shè)計的交通控制器可以做以下拓展:
(1)開辟動態(tài)的存儲單元,滿足運行參數(shù)組可增可減;
(2)信號燈控制輸出口可進一步時分復(fù)用,減少輸出口數(shù)量;
(3)信號燈左右拐時間可設(shè)計不同,以進一步滿足實際交通情況;
(4)24小時制數(shù)字時控脈沖發(fā)生器改進為可置數(shù),以滿足交通流量變化時可重新預(yù)置時間段。
總之,采用FPGA實現(xiàn)復(fù)雜路口交通流量控制器可以根據(jù)用戶的具體要求實現(xiàn)不同的拓展。
參考文獻:
[1]褚正勇,翁木云編著.FPGA設(shè)計及應(yīng)用.西安電子科技大學(xué)出版社,2002.
[2]楊恒,盧飛成編著.FPGAHDL快速工程實踐入門與提高.北京航空航天大學(xué)出版社,2003.
[3]汪道憲主編.CPLD/FPGA可編程邏輯器件應(yīng)用與開發(fā).國防工業(yè)出版社,2004.
[4]黃正瑾編著.在系統(tǒng)編程技術(shù)及其應(yīng)用.東南大學(xué)出版社,2004.