張哲 郭昭利 段品凡 曾健 王彥博 朱志剛
摘要:為實現(xiàn)智能交通控制燈的功能,以FPGA應(yīng)用設(shè)計為基礎(chǔ),使用Verilog HDL 語言編寫并且使用Quartus Ⅱ進(jìn)行仿真。本設(shè)計包含主控模塊、電源模塊、時鐘模塊、LED顯示模塊,實現(xiàn)設(shè)計功能且驗收效果良好。
關(guān)鍵詞:FPGA;Verilog;Quartus;Ⅱgfdg
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)10-0204-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
在當(dāng)下,人們生活水平的提高,越來越多的人擁有車輛,交通事故成為社會難題,在這樣的背景下,智能交通燈應(yīng)運(yùn)而生。
1 原理
1.1 FPGA簡介
FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它于80年代中期Xilinx推出,是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。FPGA是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。FPGA以并行運(yùn)算為主,以硬件描述語言來實現(xiàn);相比于PC或單片機(jī)(無論是馮諾依曼結(jié)構(gòu)還是哈佛結(jié)構(gòu))的順序操作有很大區(qū)別,F(xiàn)PGA開發(fā)需要從頂層設(shè)計、模塊分層、邏輯實現(xiàn)、軟硬件調(diào)試等多方面著手。
1.2 Verilog 語言簡介
Verilog HDL是一種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時序建模。
2 總體設(shè)計
本設(shè)計總體框圖如下:
3 詳細(xì)設(shè)計
3.1 設(shè)計要求
交通控制燈的東西方向用R1、Y1、G1示意,南北方向用R2、Y2、G2示意,時鐘周期CLK為1秒。本設(shè)計分為6種狀態(tài),狀態(tài)0:R2、G1亮,其他滅,持續(xù)20秒;狀態(tài)1:R2亮,G1閃爍,其他滅,持續(xù)5秒;狀態(tài)2:R2、Y1亮,其他滅,持續(xù)5秒;狀態(tài)3:G2、R1亮,其他滅,持續(xù)20秒;狀態(tài)4:R1亮,G2閃爍,其他滅,持續(xù)5秒;狀態(tài)5:Y2、R1亮,其他滅,持續(xù)5秒;后返回狀態(tài)1。
3.2 設(shè)計原理
開始,由時鐘輸入端輸入頻率為50MHZ的系統(tǒng)時鐘脈沖,后經(jīng)分頻器得到周期為1秒的系統(tǒng)時鐘CLK,再將CLK送給主控模塊,由主控模塊內(nèi)部程序處理,劃分6種狀態(tài),最后由LED顯示電路顯示。
3.3 軟件流程圖
本設(shè)計要求各個干道都有紅綠黃三色的指示燈控制,并實現(xiàn)其交替閃爍,其中東西干道用R1、Y1、G1表示,南北干道用R2、Y2、G2表示,具體控制圖如下:
4 仿真
主控設(shè)計是整個的核心,其具體仿真如下:
上圖CPA為分頻器輸出1秒的時鐘脈沖,CPB在5個時鐘脈沖后置1,并累加一次。此時執(zhí)行狀態(tài)0:R2、G1為1,其他為0,持續(xù)4個CPB脈沖;當(dāng)CPB第5個脈沖來臨時,執(zhí)行狀態(tài)1:R2為1,G1閃爍,其他為0,持續(xù)1個CPB脈沖;當(dāng)CPB第6個脈沖來到,執(zhí)行狀態(tài)2:R2、Y1為1,其他為0,持續(xù)1個CPB脈沖;當(dāng)CPB第7個脈沖來到,執(zhí)行狀態(tài)3:G2、R1為1,其他為0,持續(xù)4個CPB脈沖;當(dāng)CPB第11個脈沖來到時,執(zhí)行狀態(tài)4:R1為1,G2閃爍,其他為0,持續(xù)1個CPB脈沖;當(dāng)CPB第12個脈沖來臨時,執(zhí)行狀態(tài)5:Y2、R1為1,其他為0,持續(xù)1個CPB脈沖,后返回狀態(tài)1重復(fù)執(zhí)行。
5 驗收
根據(jù)設(shè)計要求各個干道都用紅綠黃三色指示燈,其中東西方向用R1、Y1、G1示意,南北方向用R2、Y2、G2示意驗收表及顯示結(jié)果如下:
6 總結(jié)
本設(shè)計采用Verilog HDL 語言編寫,進(jìn)行分層設(shè)計,實現(xiàn)紅綠黃三種指示燈的交替點(diǎn)亮。除了掌握了本次設(shè)計,也對QuartusII軟件的操作更加熟練。在實驗的進(jìn)行當(dāng)中,也遇到了很多問題,通過與同學(xué)探討和請教老師,最終成功做出實驗,并加深了對交通燈原理和設(shè)計思路的認(rèn)知。通過本次的學(xué)習(xí)進(jìn)一步加深了對電子產(chǎn)品設(shè)計的了解。同時也掌握了做課程設(shè)計的一般流程,為以后的設(shè)計積累了經(jīng)驗。
參考文獻(xiàn):
[1] 陳賾,鄒道勝,朱如琪.CPLD/FPGA與ASIC設(shè)計實踐教程[M].2版.科學(xué)出版社出版,2010.
【通聯(lián)編輯:唐一東】