趙博玉 沈小林
【摘要】伴隨著中國經(jīng)濟(jì)的快速發(fā)展,城市規(guī)模越來越大,機(jī)動(dòng)車輛越來越多,給城市交通帶來了巨大壓力。而傳統(tǒng)交通燈控制系統(tǒng)是通過采用中小規(guī)模集成電路,或者是采用單片機(jī)和PLC等控制芯片進(jìn)行設(shè)計(jì),從而存在控制精度低、電路設(shè)計(jì)復(fù)雜、系統(tǒng)維護(hù)困難、成本居高不下等問題。本文采用FPGA的cyclone II芯片,用Verilog HDL硬件描述語言,通過Quartus II軟件進(jìn)行綜合仿真,對(duì)各功能模塊進(jìn)行設(shè)計(jì),然后通過連線組合各底層模塊來實(shí)現(xiàn)頂層模塊設(shè)計(jì)。
【關(guān)鍵詞】FPGA;交通燈控制系統(tǒng);Quartus II;Verilog HDL
Traffic lights control system design in FPGA
Zhao Boyu,Shen Xiaolin
(School of computer and control Engineering,North University of China,Taiyuan 030051,China)
Abstract:With the rapid development of China's economy,the increasing scale of the city,motor vehicles,more and more traffic to the city brought tremendous pressure.Aimed at the traditional problems such as inaccurate control,complex peripheral circuits,inflexible program modification and higher costs,the design traffic light control systems adopt single chip microcomputer as a control chip,the system of each functional module is designed FPGA with Verilog hardware description language and Quartus II software platform.Each functional module component symbols is added,and then achieve top-level module design through the connection combination from each bottom-level module.
Key words:FPGA;traffic light control system;Quartus II;Verilog HDL
1.引言
伴隨著中國經(jīng)濟(jì)飛速發(fā)展,城鎮(zhèn)化水平越來越高,城市規(guī)模越來越大,機(jī)動(dòng)車輛越來越多,給城市交通帶來了巨大壓力,因此交通燈控制系統(tǒng)的作用顯得十分重要。交通信號(hào)燈控制系統(tǒng)是一個(gè)典型的純數(shù)字系統(tǒng)[1],傳統(tǒng)交通燈控制系統(tǒng)大都通過中小規(guī)模集成電路,或者是采用單片機(jī)和PLC控制芯片進(jìn)行設(shè)計(jì),從而存在控制精度低、電路設(shè)計(jì)復(fù)雜、系統(tǒng)維護(hù)困難、成本居高不下等問題。采用超大規(guī)模可編程器件FPGA實(shí)現(xiàn),可降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期,保證設(shè)計(jì)過程的正確性,為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性[2]。FPGA采用了邏輯單元陣列LCA這樣一個(gè)新概念(由可編程的與陣列和固定的或陣列組成),其內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線三個(gè)部分[3]。FPGA由于其并行工作機(jī)制的原理,所以其運(yùn)行速度非???,在低功耗和小體積上也有很大的優(yōu)勢。因此,F(xiàn)PGA適應(yīng)于交通燈控制系統(tǒng)的應(yīng)用要求,對(duì)緩解城市交通有重要的現(xiàn)實(shí)意義。
圖2.1 模塊設(shè)計(jì)框圖
圖3.1 Quarts II中頂層模塊的核心代碼
圖3.2 頂層模塊RTL視圖
2.系統(tǒng)設(shè)計(jì)思想
本文通過采用FPGA實(shí)現(xiàn)交通燈控制系統(tǒng),用Verilog HDL語言實(shí)現(xiàn)低級(jí)建模的思想[4],從而實(shí)現(xiàn)所設(shè)想的交通燈控制要求和剩余倒計(jì)時(shí)時(shí)間顯示。通過QuartusII軟件進(jìn)行綜合編譯,生成RTL視圖和Technology Map視圖用來實(shí)現(xiàn)表達(dá)設(shè)計(jì)構(gòu)想。
本設(shè)計(jì)采用模塊化層次設(shè)計(jì)[5],遵循自上而下的設(shè)計(jì)理念(Top-Down),先設(shè)計(jì)出頂層模塊,通過設(shè)計(jì)出頂層模塊實(shí)現(xiàn)設(shè)計(jì)構(gòu)想,接著分層次的引出各個(gè)子模塊,包括:分頻模塊,控制模塊及計(jì)時(shí)模塊,數(shù)字取位模塊,SMG加碼顯示模塊,每個(gè)子模塊執(zhí)行不同的功能,通過內(nèi)部連線相互作用,最終實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。模塊設(shè)計(jì)框圖如圖2.1所示。
3.模塊設(shè)計(jì)
3.1 分頻模塊
系統(tǒng)芯片采用Alter公司cycloneII芯片,型號(hào)為EP2C8Q208C,頻率為20MHz,時(shí)鐘周期為T=50ns,而本次設(shè)計(jì)需要的頻率為1Hz,即時(shí)鐘周期為1s。因此需要對(duì)cycloneII芯片自帶的頻率進(jìn)行相應(yīng)倍數(shù)的分頻。要得到1s的時(shí)鐘周期,就需要N=1s/T個(gè)點(diǎn)。
3.2 控制模塊及計(jì)數(shù)模塊
控制模塊的主要功能是控制LED綠黃紅三色燈的亮滅情況,另外還通過計(jì)數(shù)模塊控制LED綠黃紅三色燈在數(shù)碼管中的亮滅時(shí)間。
3.3 數(shù)字取位模塊
該模塊的設(shè)計(jì)原理其實(shí)很簡單,就是利用最基本的數(shù)學(xué)運(yùn)算符“%”和“/”來取得綠黃紅三色燈顯示時(shí)間的十位和個(gè)位,其中利用運(yùn)算符“%”來取得十位數(shù),利用運(yùn)算符“/”來取得個(gè)位數(shù)。因?yàn)樽罡咧荒塬@得十位取位,所以輸入數(shù)的范圍是00~99。
3.4 SMG加碼顯示模塊
該模塊的主要更能使譯碼,因?yàn)樵擄@示模塊采用8段數(shù)碼管顯示模塊,所以要經(jīng)過將由二進(jìn)制組成的數(shù)字“轉(zhuǎn)換”成SMG碼,即:
根據(jù)數(shù)字取位模塊獲得的十位和個(gè)位數(shù),轉(zhuǎn)換成SMG碼,在8段數(shù)碼管中顯示出倒計(jì)時(shí)時(shí)間。
3.5 頂層模塊
頂層模塊的核心功能是通過將前面的分頻模塊,控制模塊,計(jì)數(shù)模塊,十位取位模塊,SMG加碼顯示模塊例化,將前面的模塊聯(lián)合起來,組成一個(gè)系統(tǒng),在Quartus II軟件中編寫Verilog HDL語言,其核心代碼如圖3.1所示。
核心代碼通過編譯后,在軟件中點(diǎn)擊RTL Viewers實(shí)現(xiàn)綜合仿真,得到頂層模塊RTL視圖如3.2所示:
4.結(jié)論
通過Verilog HDL語言硬件描述語言和Quartus II軟件,完成了交通燈控制系統(tǒng)各個(gè)模塊功能的設(shè)計(jì),通過頂層模塊將各個(gè)模塊聯(lián)合起來,組成了一個(gè)完整的交通燈控制系統(tǒng),解決了傳統(tǒng)設(shè)計(jì)方法的弊端,如:開發(fā)周期長,成本高,精確度低和可靠性差等。通過采用FPGA芯片,使得在程序修改和系統(tǒng)維護(hù)上十分便捷和高效,對(duì)緩解城市交通壓力有著重要的現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1]曹瑞.基于EDA技術(shù)進(jìn)行數(shù)字電路設(shè)計(jì)的研究[J].微計(jì)算機(jī)信息,2007,23(7):273-275.
[2]張立,張光新,柴磊,等.FPGA在多功能計(jì)費(fèi)器系統(tǒng)中的應(yīng)用[J].儀器儀表學(xué)報(bào),2005,26(8):735-737.
[3]夏宇聞.基于verilog HDL的數(shù)字系統(tǒng)設(shè)計(jì)入門教程[M].北京航空航天大學(xué)出版社,2008.
[4]吳厚航.深入淺出玩轉(zhuǎn)fpga[M].北京航空航天大學(xué)出版社,2010.
[5]王誠,吳蕾.FPGA設(shè)計(jì)的四種常用的思想與技巧[M].電子工程專輯,2004.
作者簡介:趙博玉(1989—),男,山東青島人,中北大學(xué)碩士研究生,研究方向:檢測技術(shù)與自動(dòng)化裝置。