畢潤東,高 博
(四川大學微電子技術(shù)省重點實驗室,成都610064)
?
基于FPGA的交通信號燈控制系統(tǒng)設計
畢潤東,高博*
(四川大學微電子技術(shù)省重點實驗室,成都610064)
摘要:為了使交通信號燈系統(tǒng)針對車流量變化做出有效應對,設計了一種智能交通信號燈控制系統(tǒng)。該系統(tǒng)結(jié)合道路傳感器反饋的車流信息,采用有限狀態(tài)機實現(xiàn)了交通信號燈全感應自適應控制方案,得到最優(yōu)信號燈轉(zhuǎn)化和時間分配。該系統(tǒng)采用FPGA設計,結(jié)合成都科華北路復雜交通路口車輛統(tǒng)計信息,對該系統(tǒng)進行仿真和驗證。結(jié)果表明,該系統(tǒng)能減少17.550%的車輛平均延誤時間,保障交通順暢,提高了效率。
關(guān)鍵詞:智能控制系統(tǒng);交通信號燈控制;FSM;FPGA;Verilog HDL
現(xiàn)代城市中十字路口車流量大,而交通控制因素中的信號燈時間分配和狀態(tài)轉(zhuǎn)化不合理是交通系統(tǒng)效率低的主要原因。因此信號燈配時和狀態(tài)轉(zhuǎn)化的最佳選擇成為國內(nèi)外研究的重點。目前信號燈系統(tǒng)配時方案和狀態(tài)轉(zhuǎn)化的主要方法有:(1)時間分配基于模糊算法或遺傳算法[1-2],但是實際運用中當不同車道內(nèi)的車輛出現(xiàn)非線性增長時,調(diào)節(jié)精度較差[3]。(2)信號燈狀態(tài)轉(zhuǎn)化基于車流量[4],但是時間分配不合理。另外信號燈系統(tǒng)的硬件受限于單片機,ASIC兩種設備:(1)單片機控制能力好,但是端口有限,工作不夠穩(wěn)定[5]。(2)ASIC體積小,性能穩(wěn)定,卻不能更新,成本較高,設計周期長[6]。
針對以上問題,本文設計了一種基于FPGA的智能交通控制系統(tǒng)。本系統(tǒng)兼顧信號燈狀態(tài)轉(zhuǎn)化和配時,將狀態(tài)分為正常,上下班高峰期,深夜車少等3種方案,能實現(xiàn)有車才綠燈,特定時間特定狀態(tài),同時根據(jù)車輛排隊長度和無車綠燈停止兩個配時調(diào)節(jié)機制,實現(xiàn)合理配時。另外由于該系統(tǒng)外接傳感器較多,相應狀態(tài)控制復雜,因此利用FPGA在IO接口數(shù)、低功耗、性能穩(wěn)定等方面的優(yōu)勢,采用有限狀態(tài)機設計,使該系統(tǒng)設計方便,易于實現(xiàn)[6-7]。
1.1道路基本情況
根據(jù)成都市科華北路實地考察,其路況為南北向道路是進出城方向,也是主干道,東西向道路是環(huán)線支路。路口車輛流動性大,道路復雜,在各路口設置水泥基壓電探測器感應路口是否有車等待[8],T1,T3,T5,T7是直行路口探測器,T2,T4,T6,T8是左轉(zhuǎn)路口探測器。另外在所有路的直行路和轉(zhuǎn)彎路分別在離路口30 m,40 m,50 m處安裝探測器用來探測對應路段內(nèi)是否有車排隊[9],如圖1所示。
圖1 道路基本情況
1.2交通系統(tǒng)的方案設計
設有綠燈的狀態(tài)為主要狀態(tài),則交通系統(tǒng)一共有6個主要狀態(tài),分別是S0到S5。如圖2所示:箭頭代表車行方向。
圖2 信號燈主要狀態(tài)
由于白天和晚上車流量較大,深夜車流量極小,因此設計分為正常,上下班高峰期,深夜車少等3種信號燈狀態(tài)方案,其中正常情況和上下班高峰期是結(jié)合傳感器實現(xiàn)狀態(tài)依次跳變,而深夜情況實現(xiàn)狀態(tài)任意跳變。具體如下:
①正常情況信號燈在S0到S3之間依次循環(huán)。
②上下班高峰期上班高峰:7:00~9:00在狀態(tài)S3和S0之間增加狀態(tài)S4,而且S4狀態(tài)之后的S4_1_1只有L6轉(zhuǎn)彎方向變?yōu)辄S燈3 s,接下來S4_1_2只有L6轉(zhuǎn)彎方向變?yōu)榧t燈2 s,L5一直保持綠燈,最后進入S0狀態(tài);下班高峰期:17:00~19:00在S3和S0之間增加S5,之后狀態(tài)上同理。
③深夜情況0:00~6:00當所有路口都有車或者都無車時(T1到T8全為1或0),按照S0到S3之間依次循環(huán)。而當一些路口無車時按照以下規(guī)律:
(a)信號燈狀態(tài)在S0~S5之間選擇;
(b)當前狀態(tài)綠燈結(jié)束時,對應路段30 m內(nèi)有車,當前狀態(tài)綠燈保持除非其他路段有車等待;
(c)判斷順序是S0—S1—S2—S3—S4—S5—S0,當前狀態(tài)結(jié)束時,從當前狀態(tài)開始按判斷循序判斷,下一個狀態(tài)是對應路段有車的狀態(tài)。比如狀態(tài)S2結(jié)束時,按S3—S4—S5—S0—S1循序判斷;
(d)S4和S5之后的狀態(tài)與正常情況下的轉(zhuǎn)化相同,與高峰期轉(zhuǎn)化不同(即深夜增加S4_2_1和S4_2_2,以及S5_2_1和S5_2_2)。
1.3信號燈時間分配
正常情況的4個狀態(tài)S0到S3的信號燈時間:信號燈的基本綠燈時間都是30 s,之后是黃燈3 s。從一個主要狀態(tài)到下一個主要狀態(tài)有2 s的所有信號燈都是紅燈。高峰期兩個狀態(tài)S4和S5信號燈時間:同一路段同一方向直行和轉(zhuǎn)彎綠燈同時亮,持續(xù)15 s。針對復雜的車流情況,進行交通時間調(diào)節(jié)如下:
①由車排隊長度調(diào)節(jié)綠燈時間,不論是直行路還是轉(zhuǎn)彎路都符合如下規(guī)律:
(a)一般情況車排隊長度在第一個排隊探測器以內(nèi),即排隊長度在30 m以內(nèi),綠燈時間是30 s基本時間。
(b)輕度擁堵排隊長度在40 m以內(nèi)大于30 m,綠燈時間是40 s。
(c)擁堵排隊長度在50 m以內(nèi)大于40 m,綠燈時間是50 s。
(d)當在正常情況下,有且僅有主干道南路或北路中一條路,直行和轉(zhuǎn)彎同時出現(xiàn)擁堵時,系統(tǒng)進入對應的上班或下班高峰期情況。比如,只有北路的直行和轉(zhuǎn)彎同時出現(xiàn)擁堵時,進入下班高峰期情況。這樣可以極大地解決同路段車道相對方向車流量不均衡帶來的效率不高問題。
(e)將要綠燈的兩條路,綠燈時間由排隊長度的最大值決定。如南路直行排隊在30 m以內(nèi),北路直行排隊在50 m以內(nèi),則S0狀態(tài)綠燈時間為50 s。
(f)這個調(diào)節(jié)機制只對正常情況和高峰期的四個基本狀態(tài)適用。
②無車綠燈停止機制:
在當前狀態(tài)為綠燈的路段,同時綠燈的兩條路30 m處排隊探測器測得30 m內(nèi)都無車時,綠燈停止。比如,S0狀態(tài)南路和北路的直行是綠燈,同時測得南路和北路直行30 m內(nèi)無車,綠燈馬上停止。但是若只有一條路30 m內(nèi)無車,綠燈持續(xù)。這一機制只對正常情況和高峰期4個基本狀態(tài),以及深夜情況6個狀態(tài)適用。
根據(jù)以上方案,系統(tǒng)共22個狀態(tài),如圖3所示。其中6個主狀態(tài)(S0到S3是基本狀態(tài),S4,S5是高峰期狀態(tài)),6個主狀態(tài)中信號燈不是綠燈就是紅燈。6個主狀態(tài)之間是2個中間態(tài),一個是表示之前的主狀態(tài)綠燈變3 s黃燈,一個表示2 s全紅燈安全狀態(tài)。在沒有跳變的情況下,狀態(tài)自循環(huán)。
輸出紅綠燈控制信號為RYG,R代表紅燈,Y代表黃燈,G代表綠燈,且1表示對應燈亮,0表示對應燈滅。圖3中狀態(tài)下數(shù)值代表信號燈L1到L8的輸出控制信號。如在南北直行通行S0狀態(tài)時,L1和L5綠燈,狀態(tài)機輸出信號001,用數(shù)字“1”表示,其他紅燈輸出信號100,用“4”表示,因此S0下數(shù)字為14441444。另外黃燈輸出信號010,用“2”表示。
圖3 狀態(tài)圖
系統(tǒng)描述如圖4所示。其中端口定義如下:
①clk:1hz時鐘輸入,作為系統(tǒng)的時鐘。
②res:復位信號。
③times(1:0):深夜,上下班高峰,正常3種情況輸入指令。比如輸入為00代表整個系統(tǒng)是按深夜情況執(zhí)行狀態(tài)轉(zhuǎn)化。
④n,s,w,e(6:1):北,南,西,東路段車輛排隊長度探測器輸入信號。與圖1對應,比如n(1)=1時,代表北路直行方向30 m內(nèi)有車等待,s(5)=0時,代表南路左轉(zhuǎn)方向40 m到30 m內(nèi)無車等待。
⑤t(8:1):路口是否有車探測器輸入信號。比如,t(1)=1代表北路直行路口有車等待。
⑥L1,L2,L3,L4,L5,L6,L7,L8(2:0):北路,東路,南路和西路的直行和左轉(zhuǎn)彎信號燈。比如L1=100,010或者001,分別表示北路直行方向紅燈,黃燈,綠燈,L2代表北路左轉(zhuǎn)方向信號燈。
⑦C1,C2,C3,C4,C5,C6,C7,C8(7:0):分別代表北路,東路,南路和西路的直行和左轉(zhuǎn)的倒計時顯示。
設計由Verilog HDL語言描述,狀態(tài)采用獨熱碼編碼,應用三段式有限狀態(tài)機設計[10],以Altera公司EP2C35F672C6作為實現(xiàn)載體,占用了211個LUT單元。
圖4 HDL模型控制器
4.1系統(tǒng)仿真
圖5是在正常情況下的仿真結(jié)果,結(jié)果表明:在各路口一直都有車,車輛排隊長度30 m以內(nèi)時,在S1狀態(tài)綠燈15 s時(圖5中50 s),滿足綠燈停止條件,之后恢復每個路口都有車,車輛排隊長度一直在30 m以內(nèi)。可見系統(tǒng)從一個基本狀態(tài)到另一個基本狀態(tài)依次跳變,且在S1綠燈15 s后,南北左轉(zhuǎn)無車情況下綠燈停止。實現(xiàn)了S0到S3之間4個主狀態(tài)之間的依次循環(huán)跳變。
圖6仿真結(jié)果表明:在上班高峰期,且每個路口一直都有車,車輛排隊長度30 m以內(nèi)的情況。在圖中140 s處,實現(xiàn)了從S0到S34個基本狀態(tài)的跳變以后,主狀態(tài)變?yōu)樯习喔叻迤跔顟B(tài)S4,實現(xiàn)了主狀態(tài)在S0到S4之間依次循環(huán)跳變。
圖7仿真結(jié)果表明:在深夜情況下的仿真結(jié)果,當只有T1和T5,T3和T7有車,且都是輕度擁堵(有車路口都是40 m內(nèi)有車等待),因此綠燈時間都是40 s(初始態(tài)S0任然是30 s綠燈)??梢娭鳡顟B(tài)實現(xiàn)了僅在S0和S22個之間的依次跳變,而系統(tǒng)實現(xiàn)了有車才綠燈和根據(jù)車輛排隊長度配時。
圖5 正常情況
圖6 上班高峰期情況
圖7 深夜情況
4.2系統(tǒng)驗證
以科華路口南路直行車道為樣本,分別在下午3點和凌晨0點多次調(diào)查取平均值,可以得到南路直行車流量分別為845輛每小時和567輛每小時。根據(jù)韋伯斯特模型法[11],計算出傳統(tǒng)系統(tǒng)和本文新系統(tǒng)的車輛平均延誤時間,結(jié)果如表1所示。表1的分析結(jié)果表明新系統(tǒng)相對于傳統(tǒng)系統(tǒng)在車輛平均延誤時間上有所下降。當車流量極小時和車流量較大時,新系統(tǒng)的優(yōu)勢更明顯。
表1 新系統(tǒng)與傳統(tǒng)系統(tǒng)比較
本文設計了一款新型智能交通信號燈控制系統(tǒng)。與現(xiàn)有的交通系統(tǒng)不同,該系統(tǒng)增加車流探測器,基于現(xiàn)場可編程邏輯器件,采用有限狀態(tài)機設計三種信號燈狀態(tài)轉(zhuǎn)化方案和兩種信號燈時間分配調(diào)節(jié)機制,實現(xiàn)了針對交通復雜路口的高效智能控制。仿真與驗證結(jié)果表明,當車流量達到567輛每小時時,該系統(tǒng)較傳統(tǒng)系統(tǒng)減少了車輛17.550%的平均延誤時間。
參考文獻:
[1]曹海峰,葉朝輝.交通信號配時方案實時仿真系統(tǒng)設計與實現(xiàn)[J].傳感器與微系統(tǒng),2014,33(12):91-93,97.
[2]田豐,杜富瑞.基于WSN的智能交通燈控制系統(tǒng)設計[J].測控技術(shù),2009,28(12):56-59.
[3]許春善.基于線性規(guī)劃的城市交通流優(yōu)化調(diào)度模型[J].控制工程,2014,21(6):977-981.
[4]王維松,章偉,王金生,等.基于FPGA的一種智能交通紅綠燈設計[J].計算機應用與軟件,2013,30(1):200-202,234.
[5]王春玲,吳順偉. FPGA/CPLD選型及與其他技術(shù)的融合[J].現(xiàn)代電子技術(shù),2007(16):30-33,40.
[6]El-Medany W M,Hussain M R. FPGA-Based Advanced Real Traf?fic Light Controller System Design[C]//Proceeding of 4th IEEE Intelligent Data Acquisition and Advanced Computing Systems:Technology and Applications. Dortmund:IEEE,2007:100-105.
[7]羅勇,韓曉軍.基于FPGA的交通燈控制與實現(xiàn)[J].電子器件,2008,31(3):976-978.
[8]楊曉明,李宗津.基于水泥基壓電傳感器的車輛監(jiān)測研究[J].傳感技術(shù)學報,2013,26(2):266-270.
[9]楊永輝,黃磊,劉昌平.基于視頻分析的車輛排隊長度檢測[J].計算機應用研究,2011,28(3):1037-1041.
[10]夏宇聞. Verilog數(shù)字系統(tǒng)設計教程[M]. 3版.北京:北京航空航天大學出版社,2013:166-173.
[11]尹安東,閻耀雙.城市道路信控交叉口車輛延誤分析與治理對策[J].合肥工業(yè)大學學報(自然科學版),2007,30(3):353-356.
畢潤東(1993-),男,漢族,四川宜賓,四川大學微電子技術(shù)省重點實驗室,本科,主要研究方向為集成電路設計,bi?rundong_scu@163.com;
高博(1975-),男,漢族,四川成都,四川大學微電子技術(shù)省重點實驗室,副教授,博士,研究方向為集成電路芯片設計和生物醫(yī)學成像等,gaobo@scu.edu.cn。
收稿日期:2015-03-28修改日期:2015-04-22
中圖分類號:TP332.1
文獻標識碼:A
文章編號:1005-9490(2016)01-0229-06