涂文元
【摘 要】依據EDA自頂向下的設計流程進行交通燈控制系統設計,采用VHDL語言編寫各功能模塊,生成各模塊符號圖,把各模塊符號圖以原理圖的形式連在一起得到系統頂層設計。并在QuartusII9.0集成開發環境里進行編譯、仿真和綜合,最后下載到實驗箱進行調試,調試結果表明:交通燈的狀態切換,倒計時時間顯示均可實現。
【關鍵詞】EDA;VHDL語言;QuartusII
中圖分類號: TP273 文獻標識碼: A 文章編號: 2095-2457(2017)20-0073-002
Design of Traffic Light Control System Based on
TU Wen-yuan
(Department of Physics and Electronic Information Engineering,Minjiang University,Fuzhou Fujian 350108,China)
【Abstract】Based on EDA's top-down design flow,the traffic light control system is designed.The function modules are written in VHDL language,and the module symbol maps are generated.The symbol diagrams are connected together in the form of schematics to get the top design of the system The And in QuartusII9.0 integrated development environment for compilation,simulation and synthesis, and finally downloaded to the experimental box for debugging,debugging results show that:traffic lights state switch, countdown time display can be achieved.
【Key words】EDA;VHDL language;QuartusII
0 引言
隨著可編程邏輯器件應用的日益廣泛,以大規模可編程邏輯器件為基礎的 EDA 技術打破了軟硬件之間的設計界限,使硬件系統軟件化,這已成為現代電子系統設計的發展趨勢[1]。VHDL語言,語法結構嚴謹,描述功能強大,可用簡潔明了的代碼實現復雜的邏輯電路設計;而且VHDL語言支持從系統級到門級所有層次的設計,支持自頂向下的模塊化設計方法,在電子設計領域,已被廣泛使用[2]。本文詳述了使用 VHDL語言實現對交通燈控制系統的層次化設計,將VHDL文本輸入和圖形輸入兩種方式混合使用,實現交通燈控制系統的設計。
1 交通燈控制系統的設計要求
交通燈控制系統實現如下要求[3]:(1) 主、支干道各設有一個綠、黃、紅指示燈,兩位數碼管用于顯示倒記時時間。(2) 主干道處于常允許通行狀態,而支干道有車來才允許通行。當主干道允許通行亮綠燈時,支干道亮紅燈。而支干道允許通行亮綠燈時,主干道亮紅燈。(3) 當主、支干道都有車流時,兩者交替允許通行。主干道每次放行時間45秒,支干道每次放行時間25秒。在每次由亮綠燈變為亮燈的轉換過程中,要亮5秒的黃燈作為過渡,并進行倒計時顯示。
2 交通燈控制系統各模塊設計與實現
2.1 狀態控制模塊
控制模塊電路clk為輸入時鐘,sm為主干道傳感信號,sb為支干道傳感信號,mg為主干道綠燈輸出,mr為主干道上的紅燈輸出,my為主干道的黃燈輸出,bg為支干道的綠燈輸出,br為支干道上紅燈輸出,by為支干道黃燈輸出。
控制模塊主要根據外部送來的sb、sm信號的狀態去控制交通燈輸出狀態的切換并輸出信號燈驅動信號。當sm=1、sb=1,即主干道和支干道都有車輛通過時,初始處于S1狀態,主干道顯示綠燈,支干道顯示紅燈,倒計時45秒后轉入S2狀態,則控制器使主干道切換為黃燈,支干道為紅燈;此后按照表1的狀態循環。控制模塊的仿真圖如圖2所示。
2.2 定時單元模塊
1)45秒定時單元
45秒定時單元輸入端口為clk、en45和支干道傳感信號sb,輸出端口為八位主干道時間數據dout45m和支干道時間數據dout45b,當sb=1且en45=1時,執行45秒倒計時功能。
2)25秒定時單元
25秒定時單元符輸入端口為clk、en25、主干道傳感信號sm和支干道傳感信號sb,輸出端口為八位主干道時間數據dout25m和支干道時間數據dout25b。當sb=0或者sm=0時,即主干道、支干道任意一道都沒有車輛通過時,不進行倒計時;當sb=1、sm=1且en25=1時,時鐘來到即執行25秒倒計時功能,開始倒計時;若en25=0,則不進行倒計時。
3)5秒定時單元
5秒定時單元輸入端口為clk、主干道使能en05m和支干道使能en05b,輸出端口為八位時間數據dout5。當en05m=1或者en05b=1時即表示主干道或支干道處于正常工作狀態,時鐘來到就開始實行倒計時,主干道、支干道倒計時均為5秒。
2.3 顯示控制單元模塊
顯示控制單元模塊以定時模塊的輸出ain05、ain25b、ain25m 、ain45b、ain45m和en05b、en05m、en25、en45四個使能信號作為輸入信號,選擇決定要送數碼管顯示的8位倒計時時間數據doutb、doutm。
2.4 譯碼器單元模塊
該模塊主要是完成四位BCD碼到7位數碼管顯示數據的譯碼功能,驅動主干道與支干道的數碼管,使其能夠正常顯示倒計時時間。輸入端口為ain4,輸出端口為dout7。
2.5 系統頂層原理圖設計
在以上各模塊都編譯通過且仿真正確的基礎上,采用原理圖輸入的設計方法,將上述各模塊連在一起,創建了系統頂層原理圖如圖1所示。
頂層設計仿真正確后,選定好所選用的實驗系統的配置芯片,鎖定引腳,完成引腳配置,重新進行編譯綜合后,即可生成下載文件,將此文件下載到選定的目標芯片,接上外圍器件,完成整個系統的設計。經過在杭州康芯電子有限公司生產的GW48EDA/SOPC實驗開發系統下載驗證,該設計完全符合交通燈控制系統的功能要求。
3 結束語
本系統借助VHDL語言和QUARTUSII開發軟件,快速、簡明地實現了交通燈控制系統的功能,根據上述設計實例,可以看出通過VHDL語言實現電子系統設計,是一個以軟件設計為主,器件配置相結合的過程,使得設計更為靈活方便,設計周期也可大大減小,提高了設計效率和可靠性[4]。VHDL 語言作為一種標準的硬件描述語言,具備強大的行為描述能力和移植復用能力,支持復雜電路設計的層次化分解和已有設計的移植再利用,已經成為電子系統設計不可或缺的重要工具。
【參考文獻】
[1]潘松,黃繼業.EDA技術使用教程.北京:科學出版社,2013.8.
[2]江思敏.VHDL數字電路及系統設計[M].北京:機械工業出版社,2006.181-203.
[3]黃健,譚永梅.基于CPLD 的交通控制系統設計[J].《自動化技術與應用》,2010(08).
[4]王彩鳳.VHDL語言在電子設計中的應用[J].《實驗科學與技術》,2014(4).endprint