基于EDA的交通燈控制系統(tǒng) (圖)
關(guān)鍵詞:eda;vhdl;控制器;cpld
引言
---eda技術(shù)是用于電子產(chǎn)品設(shè)計(jì)中比較先進(jìn)的技術(shù),可以代替設(shè)計(jì)者完成電子系統(tǒng)設(shè)計(jì)中的大部分工作,而且可以直接從程序中修改錯(cuò)誤及系統(tǒng)功能而不需要硬件電路的支持,既縮短了研發(fā)周期,又大大節(jié)約了成本,受到了電子工程師的青睞。
---實(shí)現(xiàn)路口交通燈系統(tǒng)的控制方法很多,可以用標(biāo)準(zhǔn)邏輯器件、可編程序控制器plc、單片機(jī)等方案來(lái)實(shí)現(xiàn)。但是這些控制方法的功能修改及調(diào)試都需要硬件電路的支持,在一定程度上增加了功能修改及系統(tǒng)調(diào)試的困難。因此,在設(shè)計(jì)中采用eda技術(shù),應(yīng)用目前廣泛應(yīng)用的vhdl硬件電路描述語(yǔ)言,實(shí)現(xiàn)交通燈系統(tǒng)控制器的設(shè)計(jì),利用maxplusⅱ集成開(kāi)發(fā)環(huán)境進(jìn)行綜合、仿真,并下載到cpld可編程邏輯器件中,完成系統(tǒng)的控制作用。
交通燈系統(tǒng)控制器設(shè)計(jì)要求
---路口交通燈控制系統(tǒng)與其他控制系統(tǒng)一樣,劃分為控制器和受控電路兩部分??刂破魇拐麄€(gè)系統(tǒng)按設(shè)定的工作方式交替指揮車(chē)輛及行人的通行,并接收受控部分的反饋信號(hào),決定其狀態(tài)轉(zhuǎn)換方向及輸出信號(hào),控制整個(gè)系統(tǒng)的工作過(guò)程。
---按照路口交通運(yùn)行的實(shí)際情況,在本系統(tǒng)中,設(shè)定系統(tǒng)的工作情況如下。
---路口交通燈控制系統(tǒng)的東西路有交通燈r(紅)、y(黃)、g(綠);東西人行安全通道燈:rxr(紅)、rxg(綠)。南北路有交通燈:r1(紅)、y1(黃)、g1(綠);南北人行安全通道燈:rxr1(紅)、rxg1(綠),所有燈均為高電平點(diǎn)亮。設(shè)置15s的通行時(shí)間和5s轉(zhuǎn)換時(shí)間的變模定時(shí)電路,由預(yù)置輸入整數(shù)cnt決定是模15還是模5,輸入邏輯cx是用來(lái)決定計(jì)數(shù)到4時(shí)清零還是到14時(shí)清零。clk是外部提供的基準(zhǔn)秒脈沖信號(hào)。x0、x1、x2、x3是由控制器輸出的表示計(jì)數(shù)時(shí)間的四位二進(jìn)制數(shù)。圖1是該系統(tǒng)控制器的符號(hào)框圖。
---控制器的程序設(shè)計(jì)
● 控制器的asm圖
---根據(jù)系統(tǒng)設(shè)計(jì)要求,得到控制器的asm圖,如圖2所示。在這里,所有輸入信號(hào)均為高電平有效。該asm圖反映了交通燈系統(tǒng)的不同狀態(tài)的轉(zhuǎn)換過(guò)程及持續(xù)時(shí)間。
● 控制器的vhdl程序設(shè)計(jì)
---根據(jù)所分析的系統(tǒng)的asm圖,結(jié)合系統(tǒng)的設(shè)計(jì)要求,用vhdl語(yǔ)言對(duì)各個(gè)模塊進(jìn)行編程,最后形成頂層文件,在max+plusⅱ環(huán)境下進(jìn)行編譯與仿真,檢查所編程序是否運(yùn)行正確。如果出現(xiàn)錯(cuò)誤,需要進(jìn)行修改,直到完全通過(guò)為止。需要說(shuō)明的是,在進(jìn)行程序編譯時(shí),要先從底層程序開(kāi)始,所有底層程序都正確后,才能開(kāi)始頂層程序的編譯。這是因?yàn)轫攲映绦蚴菍?duì)底層程序的概括,它是把底層程序各個(gè)模塊連接起來(lái),就相當(dāng)于把每個(gè)模塊的功能匯聚到一起,實(shí)現(xiàn)整個(gè)系統(tǒng)的控制功能,所以底層程序的正確與否,關(guān)系到頂層程序的運(yùn)行結(jié)果。
---在控制器的程序設(shè)計(jì)中,在定義結(jié)構(gòu)體時(shí),有兩種程序設(shè)計(jì)方法均可以通過(guò)編譯及仿真,但在進(jìn)行時(shí)序分析時(shí)結(jié)果卻不同。
(1)如果這樣定義:
...
architecture con1_arc of con1 is
signal current_state:state;
begin
...
在進(jìn)行程序調(diào)試時(shí),均通過(guò)了編譯及仿真,但在進(jìn)行時(shí)序分析中,卻出現(xiàn)了不按設(shè)定的計(jì)數(shù)順序工作的結(jié)果:14, 13, 2,1, 0...。經(jīng)過(guò)反復(fù)修改調(diào)試,對(duì)程序進(jìn)行了修改,如(2)所定義的。
(2)
architecyture con1_arc of con1 is
signal current_state:state;
signal temp_state:state;
...
temp state<=current_state;
begin
...
---在這種設(shè)計(jì)方法中,多定義了一個(gè)信號(hào)變量,從而使得程序能按設(shè)定的狀態(tài)14,13,12...進(jìn)行轉(zhuǎn)換。通過(guò)這個(gè)實(shí)例,可以看出eda技術(shù)作為電子設(shè)計(jì)工具的功能修改及調(diào)試的方便快捷,即不需要硬件電路的支持就可以找到問(wèn)題所在并進(jìn)行修改,體現(xiàn)了它的優(yōu)越性。
硬件電路實(shí)現(xiàn)
---根據(jù)交通燈系統(tǒng)的控制要求,圖3所示為本系統(tǒng)的硬件電路圖。該電路包含了1個(gè)cpld芯片,2個(gè)七段led數(shù)碼顯示器,20個(gè)分別表示各個(gè)方向上的紅、黃、綠燈,以及相應(yīng)的限流電阻。這個(gè)電路與其他控制方法相比,所用器件可以說(shuō)是比較簡(jiǎn)單經(jīng)濟(jì)的。經(jīng)過(guò)實(shí)驗(yàn),實(shí)現(xiàn)了預(yù)定的交通燈系統(tǒng)的控制功能。
結(jié)束語(yǔ)
---本文介紹了采用eda進(jìn)行交通燈系統(tǒng)控制器的設(shè)計(jì)實(shí)例。通過(guò)本設(shè)計(jì)可以看到,隨著eda技術(shù)的發(fā)展,在今后的電子產(chǎn)品的研發(fā)中,eda技術(shù)具有更好的開(kāi)發(fā)手段和性?xún)r(jià)比,具有廣泛的市場(chǎng)應(yīng)用前景。
參考文獻(xiàn)
1 孟貴胥,王兢.數(shù)字電子技術(shù).大連理工大學(xué)出版社
2 張霞.vhdl在現(xiàn)代eda中的應(yīng)用.現(xiàn)代電子技術(shù).2001.5
3 余華,岳秋琴.電子設(shè)計(jì)自動(dòng)化技術(shù)的發(fā)展及在現(xiàn)代數(shù)字電子系統(tǒng)設(shè)計(jì)中的應(yīng)用.現(xiàn)代電子技術(shù).2001.5
4 夏宇聞.復(fù)雜數(shù)字電路與系統(tǒng)的verilog-hdl設(shè)計(jì)技術(shù).北京航空航天大學(xué)出版社. 1998
5 “as eda tool complexity grows, so do users education needs”. electronic design.vol49
6 “harness the power of vhdl for pld design”. electronic design.no.19-26.1994
評(píng)論