劉穎杰,呂紫薇,申文豪
(河北農業大學 機電工程學院 河北 保定 071000)
隨著電子科學技術的發展,數字系統的設計正朝高速度、大容量、小體積的方向發展,傳統的自底而上的設計方法已難以適應形勢。
本文采用VHDL語言和EDA技術來進行交通信號燈的設計。VHDL語言描述能力強,覆蓋了邏輯設計的諸多領域和層次,大大簡化了硬件設計任務,提高了設計的可靠性,EDA技術則通常采用的是硬件描述語言進行電子電路設計,它的特點是采用自頂向下的方法對電路進行設計,本設計就是采用EDA技術的這一特點,它的優點是:頂層功能描述完全獨立于目標器件的結構,在設計的最初階段,設計人員可不受芯片結構的約束,集中精力對產品進行最適應市場需求的設計,從而避免了傳統設計方法中的再設計風險,縮短了產品的上市周期;設計成果的再利用得到保證;由于采用的是結構化的設計方法,因此確認主系統基本結構后,可以實現多人多任務的并行工作方式,提高系統的設計規模和效率;在選擇目標器件的類型、規模、硬件結構等方面具有更大的自由度。
對于利用VHDL語言設計程序,需要考慮的不僅僅是程序的設計,還要考慮芯片運行的速度、功耗、成本及電路類型等,對于一個好的程序來說,實現功能所消耗芯片的單元越少越好,這就是我們在設計程序時所遵循的基本原則。
本文設計的是一個交通信號控制器,控制一個十字路口,十字路口由一條主干道和一條支干道匯合而成,每個路口處設置紅、綠、黃三色信號燈。
主、支干道均有車時,兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,在每次由綠燈轉向紅燈的過程中,有5秒的黃燈作為過渡。
在設計過程中,系統的設計難點則是主、支干道的秒數跳轉、數碼管顯示電路的動態掃描和秒數跳轉時交通燈顏色的轉變。
本設計使用EPM240T100C5芯片作為核心,控制數碼管顯示模塊來顯示秒數的跳轉,通過計數器的計數狀態來控制交通信號燈的轉變。如圖1所示。

圖1 系統設計
本文采用的是共陰極的七段數碼管來顯示,采用兩個數碼管來顯示主干道秒數的跳轉,將兩個數碼管的1~7引腳接在一起,通過對陰極的選通來實現數碼管的亮滅,用高頻來對數碼管進行選通,從而使人眼能夠看到恒定的數碼管顯示。數碼管的接線圖如圖2所示。

圖2 數碼管連接
本文采用發光二極管作為交通信號燈,將主、支干道的所有燈的負極接在一起,利用EPM240T100C5芯片的輸出信號來控制信號燈的亮滅。如圖3所示。

圖3 交通燈轉變
主干道交通信號燈的秒數跳轉則是需要從45進制跳轉到5進制再跳轉到25進制,支干道交通信號燈則是需要從45進制跳轉到25進制再到5進制的跳轉,這里主要介紹的是主干道秒數的跳轉,對于支干道秒數的跳轉與主干道類似。
對于秒數的跳轉,需要設計3個減法計數器,在這里,設計了一個75進制的加法計數器,75進制的加法計數器在0~44計數的時候,數碼管顯示的是45進制的減法計數,在45~49計數的時候,數碼管顯示的是5進制的減法計數器,在50~74計數的時候,數碼管顯示的是25進制的減法計數器,利用此方法則可以實現秒數的跳轉。