應用VHDL語言設計數字系統,大部分設計工作可在計算機上完成,從而縮短系統開發時間,提高工作效率。下面介紹基于VHDL設計交通燈控制器的一種方案,并給出源程序和仿真結果。
1 系統功能與要求
交通燈控制器控制兩個主干道交叉路口的交通,路口車輛多,直行信號、左轉彎信號分開顯示,a,b兩個主干道的通行時間相等,其中指示直行的綠燈亮30 s,指示左轉彎的綠燈亮12 s,綠燈變至紅燈時,黃燈亮3 s,以便于車輛能停在停車線內,紅燈信號的最后3 s相應的黃燈也同時亮,以便提示駕駛人員準備起步。在兩個主干道路口都配備傳感器用來檢測有無車輛通行。當兩個主干道都有車輛時,自動處于主干道a綠燈,主干道b紅燈的狀態,然后輪流切換通行。當主干道a無車輛時,自動處于主干道b綠燈,主干道a紅燈的狀態;反之亦然,以提高通行效率。
2 設計與仿真
根據交通燈控制器的功能與要求,將其總體電路分為分頻器、信號控制器兩個模塊。外部脈沖振蕩器的頻率選為32 768 kHz,經分頻器分頻得1 Hz的信號,1 Hz信號用做信號控制器的計數脈沖,用VHDL設計組成交通燈控制器的分頻器、信號控制器兩個模塊,在QuartusⅡ開發平臺上,分別編譯兩個模塊的VHDL程序,然后用原理圖輸入法形成圖1所示的總體框圖。
其中信號控制器的VHDL程序如下:
其中,Sa,Sb分別是a,b路口傳感器的信號,aR,aY,aG,aLR,aLY,aLG分別代表控制主干道a的直行紅燈、黃燈、綠燈,左轉彎紅燈、黃燈、綠燈的信號;bR,bY,bG,bLR,bLY,bLG分別代表控制主干道b的直行紅燈、黃燈、綠燈,左轉彎紅燈、黃燈、綠燈的信號;aPR,aPG,bPR,bPG是人行道信號,enl是使能信號。enl=0時a,b兩路口紅燈同時亮,便于處理特殊情況。用QuartusⅡ對程序編譯、仿真,得到的仿真波形如圖2所示,經程序下載、實驗驗證,系統功能符合要求。
基于VHDL設計交通燈控制器,外圍電路少、功耗低、可靠性高,便于系統功能的修改,設計效率高。
-
控制器
+關注
關注
112文章
15874瀏覽量
175314 -
仿真
+關注
關注
50文章
3967瀏覽量
132942 -
vhdl
+關注
關注
30文章
816瀏覽量
127951
發布評論請先 登錄
相關推薦
評論