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


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

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

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

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

 

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

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

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

圖中:cp,、reset分別為時(shí)鐘脈沖和復(fù)位輸入信號(hào)。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分別為東西方向和南北方向的紅綠燈控制信號(hào)。
    qhew,,qlew,,qhsn,qlsn則是東西方向和南北方向的紅綠燈倒數(shù)計(jì)時(shí)顯示信號(hào),。
    控制器模塊工作流程:
    先由外部開(kāi)關(guān)控制可調(diào)的南北方向紅燈,、東西方向紅燈和黃燈時(shí)間的高位和低位。 (設(shè)南北方向紅燈通行時(shí)間為X,、東西方向紅燈通行時(shí)間為Y,、黃燈時(shí)間通行時(shí)間為Z,一個(gè)總周期的時(shí)間為X+Y)
    首先東西方向通行,,東西方向綠燈亮,,南北方向紅燈亮,且兩個(gè)方向上的倒數(shù)計(jì)時(shí)顯示器由X向下作減法計(jì)時(shí),。當(dāng)?shù)褂?jì)時(shí)顯示器減法計(jì)時(shí)到Z時(shí),,東西方向黃燈亮,南北方向繼續(xù)紅燈,。當(dāng)兩個(gè)方向的的倒計(jì)時(shí)顯示器減法計(jì)時(shí)到1,,然后由1變?yōu)閅后,轉(zhuǎn)為南北方向通行,。
    南北方向通行:東西方向紅燈亮,,南北方向綠燈亮,且兩個(gè)方向上的倒計(jì)時(shí)顯示器由Y向下作減法計(jì)時(shí)。當(dāng)?shù)褂?jì)時(shí)顯示器減法計(jì)時(shí)到z時(shí),,南北方向黃燈亮,,東西方向繼續(xù)紅燈。當(dāng)兩個(gè)方向的的倒計(jì)時(shí)顯示器減法計(jì)時(shí)到1,,然后由1變?yōu)閄后,,轉(zhuǎn)為東西方向通行。如此交替運(yùn)行,。

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

 


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

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


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

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