《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 一種基于CPLD的交通燈控制系統(tǒng)設(shè)計
一種基于CPLD的交通燈控制系統(tǒng)設(shè)計
摘要: 本設(shè)計由于采用自頂向下法設(shè)計交通燈控制器,合理地處理燈時分配,分頻,控制顯示與編碼的相互關(guān)系,采用VHDL語言層次化和模塊化的設(shè)計方法,減少了設(shè)計芯片的數(shù)量、減少系統(tǒng)開發(fā)周期,降低了功耗,可以通過改變程序或著外部輸入來控制交通燈,經(jīng)過調(diào)試,運行正常。此設(shè)計是基于硬件描述語言VHDL,借助CPLD器件完成的數(shù)字系統(tǒng)的設(shè)計,顯示了可編程器件廣闊前景,加之工藝的改進,可編程邏輯器件的集成度和速度將進一步提高,性能將進一步完善。
關(guān)鍵詞: CPLD 交通燈
Abstract:
Key words :
0 引言
    隨著我國經(jīng)濟的快速發(fā)展,車輛擁有量也隨之急劇增加,再加上人口數(shù)量的膨脹,城市的交通擁擠問題變得日益突出。如何使交通燈" title="交通燈">交通燈的控制更加合理,使現(xiàn)有的交通資源發(fā)揮更大的效益,已經(jīng)成為城市管理者和科技工作者共同關(guān)心的問題。為此,我們設(shè)計開發(fā)了一個交通燈控制系統(tǒng),由于該系統(tǒng)采用VHDL語言自頂向下的設(shè)計方法,利用可編程邏輯器件CPLD" title="CPLD">CPLD來實現(xiàn),通過外部輸入可方便地設(shè)定交通燈的延遲時間,使交通燈控制數(shù)字電路設(shè)計得到了優(yōu)化,提高了系統(tǒng)的靈活性、可靠性和可擴展性。該系統(tǒng)可以較好地緩解交通壓力,并可實現(xiàn)對突發(fā)事件進行緊急處理。
    在數(shù)字系統(tǒng)設(shè)計領(lǐng)域,電子設(shè)計自動化(EDA)工具已經(jīng)成為主要的設(shè)計手段,隨著硬件描述語言VHDL和可編程邏輯器件CPLD的廣泛應(yīng)用,使數(shù)字電路的設(shè)計得到了優(yōu)化,并且具有很強的設(shè)計和仿真功能。


1 系統(tǒng)原理及方案
    交通信號燈是由交通燈控制器控制其紅綠燈周期變化的,現(xiàn)在的大部分十字路口交通燈采用的都是固定周期,由于實際路況較為復(fù)雜,不能有效地實時對時間資源的合理調(diào)配,達到緩解交通的目的。本文設(shè)計的交通燈控制系統(tǒng)的周期可以改變,黃燈和東西方向以及南北方向紅燈時間由外部輸入設(shè)定,綠燈由系統(tǒng)依據(jù)設(shè)定值自動計算。
    交通燈控制器控制兩個方向交叉路口的交通,以秒為單位,采用倒計時的方式顯示通行或者禁止通行的剩余時間。系統(tǒng)設(shè)置外部輸入復(fù)位信號,復(fù)位信號有效時,控制信號處于東西方向綠燈狀態(tài),并讀取設(shè)定輸入值,再將復(fù)位信號返回無效狀態(tài)后,系統(tǒng)按新讀入的設(shè)定值運行,綠燈變至紅燈時,黃燈亮,以便于車輛能停在停車線內(nèi)。如果能夠與傳感器相結(jié)合就具有智能功能,能夠根據(jù)當時的路況的隨時做出相應(yīng)的調(diào)整。交通燈工作時序見圖1。

    交通燈在東西南北方向安裝信號燈和數(shù)碼管,兩個方向共6個信號燈,4個數(shù)碼管。下表1是交通燈控制系統(tǒng)紅燈與黃燈可供改變的值。

2 系統(tǒng)硬件設(shè)計
    復(fù)雜可編程器件(CPLD)采用CMOS EPROM、E2PROM和快閃存儲器等編程技術(shù),構(gòu)成了高密度、高速度和低功耗的可編程邏輯器件。本文設(shè)計的交通燈控制器采用的是Lattice公司提供的CPLD產(chǎn)品-ISPLSI 1032,一片ISPLSI1032中共有192個寄存器,64個I/O管腳,8個特定輸入輸出管腳,4個特定輸入時鐘管腳和一個全局布線池。該器件所需的時鐘脈沖信號由外部電路提供,設(shè)為16MHz。
    本文設(shè)計的交通燈用兩組紅黃綠三色的發(fā)光數(shù)碼管LED作為兩方向的紅黃綠燈,用兩組數(shù)碼管作為東西和南北方向的倒計時顯示,用一個七位的撥動開關(guān)作為外部按鍵輸入,還需要741s47譯碼器驅(qū)動數(shù)碼管來實現(xiàn)數(shù)字的倒計時顯示。

撥動開關(guān)高電平位表示"1",低電平表示"0",復(fù)位信號占撥動開關(guān)的一位,有"1"、"0"兩種狀態(tài);東西方向和南北方向的紅燈以及黃燈各占兩位,各有"00"、"01"、"10"、"11"四種狀態(tài),相對應(yīng)表1中的四種時間。設(shè)計框圖如下:

 

3 系統(tǒng)軟件設(shè)計及實現(xiàn)
3.1 頂層設(shè)計
    根據(jù)交通燈控制系統(tǒng)的要求,我們將主控電路分為分頻器、信號控制器兩個模塊,在isplever開發(fā)平臺上,分別編譯這兩個模塊的VHDL程序,然后用原理圖輸入法做出項層設(shè)計模塊(見圖3),其中輸入的信號有16MHz的基準時鐘脈沖、設(shè)定值輸入及復(fù)位信號;輸出信號包括兩個方向的綠燈、黃燈、紅燈控制信號,倒計時計數(shù)器的十位、個位的8421BCD碼信號。

3.2 分頻器模塊
    分頻器模塊是對輸入16MHz的脈沖進行分頻,把這個固定頻率的時鐘脈沖通過分頻轉(zhuǎn)化為低頻率的脈沖,得到的1Hz信號用作控制器的時鐘信號。圖4為分頻器模塊的框圖。下面為分頻主要程序:

3.3 控制器模塊
    控制器模塊的功能是控制信號燈的亮滅和數(shù)碼管的顯示。對于控制器模塊,其輸入信號為1Hz的方波信號、復(fù)位信號、黃燈和東西方向紅燈和南北方向紅燈時間設(shè)定值。輸出信號包括東西方向和南北方向綠燈、黃燈、紅燈控制信號。圖5為控制器模塊的框圖。控制器模塊程序

圖中:cp、reset分別為時鐘脈沖和復(fù)位輸入信號。yellow_1,yellow_0,ew_red_l,ew_red_0,sn_red_1,sn_red_0分別為黃燈和東西方向紅燈和南北方向紅燈可調(diào)輸入變量。
    r_ew,y_ew,g_ew,r_8n,y_sn,g_sn分別為東西方向和南北方向的紅綠燈控制信號。
    qhew,qlew,qhsn,qlsn則是東西方向和南北方向的紅綠燈倒數(shù)計時顯示信號。
    控制器模塊工作流程:
    先由外部開關(guān)控制可調(diào)的南北方向紅燈、東西方向紅燈和黃燈時間的高位和低位。 (設(shè)南北方向紅燈通行時間為X、東西方向紅燈通行時間為Y、黃燈時間通行時間為Z,一個總周期的時間為X+Y)
    首先東西方向通行,東西方向綠燈亮,南北方向紅燈亮,且兩個方向上的倒數(shù)計時顯示器由X向下作減法計時。當?shù)褂嫊r顯示器減法計時到Z時,東西方向黃燈亮,南北方向繼續(xù)紅燈。當兩個方向的的倒計時顯示器減法計時到1,然后由1變?yōu)閅后,轉(zhuǎn)為南北方向通行。
    南北方向通行:東西方向紅燈亮,南北方向綠燈亮,且兩個方向上的倒計時顯示器由Y向下作減法計時。當?shù)褂嫊r顯示器減法計時到z時,南北方向黃燈亮,東西方向繼續(xù)紅燈。當兩個方向的的倒計時顯示器減法計時到1,然后由1變?yōu)閄后,轉(zhuǎn)為東西方向通行。如此交替運行。

3.4 仿真結(jié)果
    對控制器模塊的VHDL程序利用ispLEVER輸入如下的一測試向量:

 


    在isp[EVER平臺上進行仿真,在波形觀察器的窗口觀察仿真結(jié)果。對應(yīng)上面仿真向量的仿真波形如圖6所示,改變仿真向量可以做出其他仿真波形,結(jié)果都顯示基于VHDL語言的交通燈控制器的硬件實現(xiàn)方法是可行的。

3.5 軟件到硬件的過度
    Lattice器件的在系統(tǒng)編程是借助ispVM system軟件來實現(xiàn)的。ispVM SystemTM是一個綜合的將設(shè)計下載到器件的軟件包。運用這一完整的器件編程工具快速簡便地通過i spSTREAMTM將編寫好的程序燒寫到可編程邏輯器件CPLD上,實現(xiàn)軟件到硬件的過渡。


4 結(jié)束語
    本設(shè)計由于采用自頂向下法設(shè)計交通燈控制器,合理地處理燈時分配,分頻,控制顯示與編碼的相互關(guān)系,采用VHDL語言層次化和模塊化的設(shè)計方法,減少了設(shè)計芯片的數(shù)量、減少系統(tǒng)開發(fā)周期,降低了功耗,可以通過改變程序或著外部輸入來控制交通燈,經(jīng)過調(diào)試,運行正常。此設(shè)計是基于硬件描述語言VHDL,借助CPLD器件完成的數(shù)字系統(tǒng)的設(shè)計,顯示了可編程器件廣闊前景,加之工藝的改進,可編程邏輯器件的集成度和速度將進一步提高,性能將進一步完善。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。