【正文】
END IF。EN:=39。039。IF S=3 THEN 計(jì)時(shí)3秒后,轉(zhuǎn)到狀態(tài)A.........STATE=A。BY=39。MG=39。WHEN D=MR=39。139。EN:=39。039。否則繼續(xù)執(zhí)行狀態(tài)C........END IF。CLR:=39。039。IF(SM AND SB)=39。BY=39。MG=39。WHEN C=MR=39。139。EN:=39。039。139。139。END IF。CLR:=39。039。 THEN 人工智能控制,當(dāng)輸入SM=39。139。ELSESTATE=A。CLR:=39。139。039。139。039。CLR=39。139。THEN S:=S。 CLR=39。139。定義信號(hào)STATE_TYPE,類型是上面定義的BEGINCNT:PROCESS(CLK) 塊CNT為進(jìn)程(CLK敏感信號(hào))VARIABLE S:INTEGER RANGE 0 TO 29。定義輸入(位),也可以使用STD_LOGICMR,MY,MG,BR,BY,BG:OUT BIT)。[8] 邱磊、肖兵:《基于VHDL語言的交通燈控制器設(shè)計(jì)》,《福建電腦》,2004年第十二期,第7677頁。通過此次設(shè)計(jì),我對(duì)于VHDL硬件描述語言有了更深入地了解,也在原來所學(xué)的理論基礎(chǔ)上得到了進(jìn)一步地應(yīng)用。本設(shè)計(jì)將各任務(wù)進(jìn)行細(xì)分包裝,使各任務(wù)保持相對(duì)獨(dú)立;能有效改善程序結(jié)構(gòu),便于模塊化處理,使程序的可讀性、可維護(hù)性和可移植性都得到進(jìn)一步的提高。 連接各個(gè)模塊light電路的工作就是將所有的子電路全部連接起來,進(jìn)行時(shí)序分析,當(dāng)程序完成后,再下載到FPGA,以便硬件電路的驗(yàn)證工作。一個(gè)程序包中至少應(yīng)該包含以下結(jié)構(gòu)中的一種:u 常數(shù)說明:如定義系統(tǒng)數(shù)據(jù)總線通道的寬度。但是,如果要進(jìn)一步設(shè)計(jì)較為復(fù)雜的程序時(shí),庫中的命令可能就無法支持了。系統(tǒng)輸出信號(hào): recount:產(chǎn)生重新計(jì)數(shù)的輸出使能控制信號(hào);sign_state:產(chǎn)生輸出狀態(tài)信號(hào);red:負(fù)責(zé)紅色信號(hào)燈的顯示;green:負(fù)責(zé)綠色信號(hào)燈的顯示;發(fā)光二極管7組6組5組4組3組2組1組led(24 downto 0)000yxwvutsrqponmlkjihgfedcba yellow:負(fù)責(zé)黃色信號(hào)燈的顯示。其對(duì)應(yīng)方式如下表所示: 紅綠燈信號(hào)控制電路在紅綠燈交通信號(hào)系統(tǒng)中,大多數(shù)的情況是通過自動(dòng)控制的方式指揮交通。 end case。 when 3=led(24 downto 0)=1111000000000000000000000。 end if。當(dāng)reset=0,clk為上升沿觸發(fā),且ena_1hz與recount為1時(shí),load將減1的數(shù)值賦給t_ff。139。elsif (clk39。139。圖9 倒計(jì)時(shí)控制電路系統(tǒng)輸入信號(hào):clk:由外部信號(hào)發(fā)生器提供1kHz的時(shí)鐘信號(hào);reset:系統(tǒng)內(nèi)部自復(fù)位信號(hào);ena_1hz:接收由時(shí)鐘發(fā)生電路提供的1Hz的脈沖信號(hào);recount:重新計(jì)數(shù)的使能控制信號(hào);load:負(fù)責(zé)接收計(jì)數(shù)器所需要的計(jì)數(shù)數(shù)值。如此循環(huán)下去,道路就會(huì)暢通無阻了。例如程序中:when 000=load=conv_std_logic_vector(greenew_time,8)。 when others=load=conv_std_logic_vector(yellowsn_time,8)。 when 100=load=conv_std_logic_vector(yellowew_time,8)。 when 010=load=conv_std_logic_vector(redsn_time,8)。) then case sign_state is when 000=load=conv_std_logic_vector(greensn_time,8)。) then if (ena_scan=39。 then load=00000000。constant greensn_time:integer:=25。constant redsn_time:integer:=15。constant yellowew_time:integer:=5。系統(tǒng)輸出信號(hào): load:負(fù)責(zé)產(chǎn)生計(jì)數(shù)器所需要的計(jì)數(shù)數(shù)值。如果想增減信號(hào)的位數(shù),只需要改動(dòng)常數(shù)的賦值就可以了。例如程序中用到的:constant scan_bit:positive:=2。從圖6又可以看出,當(dāng)加入1kHZ的時(shí)鐘信號(hào)后,ena_1hz產(chǎn)生了周期為一秒的脈沖信號(hào),flash_1hz產(chǎn)生了周期為一秒的脈沖時(shí)鐘信號(hào)。因此,hld1時(shí)鐘發(fā)生電路(見圖4)最主要的功能就是產(chǎn)生一些穩(wěn)定的輸出信號(hào),并將其用做后面幾個(gè)電路的使能控制與同步信號(hào)。接收到重新計(jì)數(shù)的信號(hào)后計(jì)數(shù)秒數(shù)選擇電路就會(huì)負(fù)責(zé)產(chǎn)生計(jì)數(shù)器所需要的計(jì)數(shù)值,并將這一數(shù)值發(fā)送給倒計(jì)時(shí)控制電路,由它利用發(fā)光二極管顯示倒計(jì)時(shí)的狀態(tài)。 圖1 十字路口示意圖時(shí)鐘發(fā)生電路紅綠燈信號(hào)控制電路倒計(jì)時(shí)控制電路計(jì)數(shù)秒數(shù)選擇電路 東西及南北方向信號(hào)燈時(shí)鐘輸入端 系統(tǒng)復(fù)位端 東西及南北方向倒計(jì)時(shí) 圖2 交通信號(hào)燈系統(tǒng)結(jié)構(gòu)圖由交通信號(hào)燈系統(tǒng)結(jié)構(gòu)圖(見圖2)可知,該系統(tǒng)由4個(gè)子電路組成。 紅綠燈交通信號(hào)系統(tǒng)功能描述在交通信號(hào)燈的設(shè)計(jì)中,外部硬件電路方面主要包括:兩組紅綠燈、兩組LED顯示器(見圖1)。是EDA設(shè)計(jì)中使用最多的語言之一,它具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大地簡化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。對(duì)于系統(tǒng)的仿真。該段程序的設(shè)計(jì),主要是通過D0D4數(shù)據(jù)寄存器來實(shí)現(xiàn)。: 信號(hào)燈的PLC外部連線圖 倒計(jì)時(shí)數(shù)碼管的設(shè)計(jì)在實(shí)際的交通控制中,僅有信號(hào)燈是遠(yuǎn)遠(yuǎn)不夠的,還需要系統(tǒng)將各個(gè)時(shí)序階段的具體運(yùn)行時(shí)間顯示出來。對(duì)于無線強(qiáng)通控制,當(dāng)強(qiáng)通開關(guān)X002按下后,通過X002的常開及常閉開關(guān)強(qiáng)行接通直行方向綠燈,同時(shí)強(qiáng)行斷開其它方向通路。:對(duì)于南北左轉(zhuǎn)方向,當(dāng)開始按鈕啟動(dòng)后,在直行黃燈啟動(dòng)5s后左轉(zhuǎn)綠燈啟動(dòng),同時(shí)啟動(dòng)定時(shí)器T3。對(duì)于某一組數(shù)碼管,又分為了個(gè)位數(shù)字顯示和十位顯示,所以本設(shè)計(jì)當(dāng)中的四組數(shù)碼管共占用28點(diǎn)輸出。 外部輸入控制按鈕I/O端口分配啟動(dòng)停止南北強(qiáng)通啟動(dòng)南北強(qiáng)通停止東西強(qiáng)通啟動(dòng)?xùn)|西強(qiáng)通停止X000X001X002X003X004X005PLC系統(tǒng)的信號(hào)燈輸出量主要是由各個(gè)方向的紅、黃、綠燈所構(gòu)成的。 東西方向信號(hào)燈工作時(shí)序圖 可編程控制器I/O端口分配由于本設(shè)計(jì)所選用的PLC為輸入點(diǎn):64,輸出點(diǎn):64,晶體管輸出。 南北方向信號(hào)燈工作時(shí)序圖2.東西方向東西方向的信號(hào)燈工作與南北方向呈對(duì)稱方式,行車與南北方向道路交替進(jìn)行。對(duì)于直行紅黃綠燈,該組信號(hào)燈的3個(gè)燈以綠燈(35s) 黃燈(5s) 紅燈(80s)依次循環(huán)。該十字路口信號(hào)燈包括南北方向左轉(zhuǎn)和直行紅黃綠燈和人行道紅綠燈各兩組,東西方向左轉(zhuǎn)紅黃綠燈用人行道紅綠燈各兩組,本節(jié)設(shè)計(jì)主要圍繞各個(gè)信號(hào)燈的工作時(shí)序圖和具體的PLC控制程序來做介紹。尤其重要的是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和數(shù)字化使數(shù)據(jù)傳輸和信息利用得到了可靠保證。它等于綠燈時(shí)間與黃燈時(shí)間之和減去頭車啟動(dòng)的損失時(shí)間。兩者之和等于一個(gè)周期的長度。B2是路口3信號(hào)和路口2信號(hào)的相對(duì)相位差。通常用時(shí)距圖表示信號(hào)配時(shí)與距離的關(guān)系。從某一車流方向來看,為使車輛在交叉口處不受阻而流暢通過,與其使相關(guān)聯(lián)信號(hào)同時(shí)顯示同一燈色(特別是綠燈開始時(shí)間),不如使綠燈開始時(shí)間錯(cuò)開一些。如一個(gè)具有兩相位(東西向和南北向)交通流的交叉口,設(shè)兩個(gè)相位的交通到達(dá)率(到達(dá)率)分別是dl、d2,相應(yīng)相位的通行能力分別為s1,s2,周期時(shí)長為C,綠燈時(shí)間分別為gg2,其中損失時(shí)間分別為LL2(損失時(shí)間是指燈色切換過程中的損失時(shí)間和不能被充分利用的綠燈時(shí)間,原因是綠燈出現(xiàn)之初車隊(duì)有個(gè)反應(yīng)和加速的過程),則: (21) (22)將上兩式相加,并將代入g1+g2=C,得 (23)若s1=s2=s,則有 (24)由式(24)可計(jì)算出保證路口不堵塞的一個(gè)最小周期值。一般信號(hào)燈的最短周期長度不少于36秒,否則就不能保證幾個(gè)方向的車輛順利通過交叉口。 智能交通信號(hào)控制系統(tǒng)的基本組成智能交通信號(hào)控制系統(tǒng)的基本組成是:主控中心、路口交通信號(hào)控制機(jī)以及數(shù)據(jù)傳輸設(shè)備。此時(shí),信號(hào)的聯(lián)動(dòng)不僅對(duì)提高單個(gè)信號(hào)交叉口的通行能力和服務(wù)水平有很大作用,而且還對(duì)提高整條道路或整個(gè)路網(wǎng)的通行能力發(fā)揮著極其重要的作用。這種控制方式的周期長度和綠燈時(shí)間可根據(jù)需要作很大的變動(dòng)。當(dāng)次干路沒有車輛時(shí),主干路總是保持綠燈,事實(shí)上分配到次干路的綠燈時(shí)間可充分利用,所有“多余的”綠燈時(shí)間則都分配給主干路。這種信號(hào)保證主干路總保持綠燈直到設(shè)在次干路上的檢測器探到有車輛到達(dá)。這種信號(hào)的周期長、相位、綠燈時(shí)間、轉(zhuǎn)換時(shí)間等都是事先確定的。二是可使患有色盲的人憑借位置來判斷信號(hào)的含義。常用于路面較寬的道路。在吸取國外信號(hào)燈設(shè)置經(jīng)驗(yàn)的基礎(chǔ)上,結(jié)合我國目前具體的交通狀況,路口信號(hào)燈的設(shè)置與改進(jìn)要運(yùn)用交通工程學(xué)理論作指導(dǎo),根據(jù)路口的地形特點(diǎn)、車流狀況,作好車輛與行人交通流量的調(diào)查,進(jìn)口道上車輛行駛速度的調(diào)查,交通事故及違章調(diào)查,車輛可穿越的空當(dāng)及延誤調(diào)查等,具體問題具體分析,制定優(yōu)化的信號(hào)配時(shí),保證現(xiàn)代交通高效、節(jié)能、低公害運(yùn)行。 信號(hào)燈的設(shè)置當(dāng)交叉路口的交通量接近路口的通行能力時(shí),考慮在交叉路口設(shè)置交通信號(hào)控制。(3)紅燈亮?xí)r,不準(zhǔn)車輛、行人通行。交通信號(hào)燈用輪流顯示不同燈色來指揮交通的通行或停止。如果控制系統(tǒng)的規(guī)模較小,控制模型維數(shù)較低,就可用極小值原理或動(dòng)態(tài)規(guī)劃法對(duì)上述最優(yōu)問題求解。(13)式表示:此步排隊(duì)長度是上步剩余排隊(duì)長度減去此步放行長