基于信號校驗技術(shù)的單片機交通燈控制終端
摘要:根據(jù)區(qū)域協(xié)調(diào)型智能交通系統(tǒng)的要求,設(shè)計了基于單片機控制的交通燈控制終端。交通燈控制終端與智能協(xié)調(diào)中樞控制系統(tǒng)進行通信,反饋車流量信息,并按照中樞系統(tǒng)的要求來控制紅綠燈的工作。本終端采用雙單片機信號校驗的方式,配合看門狗的使用,糾正終端運行過程中可能發(fā)生的錯誤,并加入警報和自投入備用模塊,在運行出錯情況下發(fā)出警報,在設(shè)備故障情況下自投入備用控制器,保證路口交通安全穩(wěn)定。
本文引用地址:http://m.butianyuan.cn/article/201610/307243.htm智能交通系統(tǒng)一直是交通系統(tǒng)研究的一個重要方向,智能交通系統(tǒng)研究中一個重要的分支是統(tǒng)籌各路段的車流量信息,統(tǒng)一規(guī)劃調(diào)控各路口的紅綠燈時間來控制車輛通行,達到智能交通所需要的目的。
現(xiàn)階段的交通燈控制終端一般采用PLC作為控制器,PLC穩(wěn)定性好,編程和操作簡單,在信號燈亮燈時長不變的交通燈控制中得到廣泛應(yīng)用。但是PLC通信復(fù)雜,參數(shù)更改不方便,靈活性差,并不能很好的滿足智能交通系統(tǒng)對于交通燈控制終端的要求。
基于智能交通系統(tǒng)對于交通燈控制終端的特殊要求,提出了以單片機為控制核心的交通燈控制終端。單片機可編程性強,靈活性好,而且價格便宜,可以隨時與智能協(xié)調(diào)中樞控制系統(tǒng)進行通信,并能在極短的時間內(nèi)響應(yīng)智能協(xié)調(diào)中樞控制系統(tǒng)的控制要求,實現(xiàn)交通燈控制時長的變化。
1 系統(tǒng)總體概況
智能交通系統(tǒng)的結(jié)構(gòu)如圖1所示,智能協(xié)調(diào)中樞控制系統(tǒng)(以下簡稱“智能控制系統(tǒng)”)與交通燈控制終端進行實時通信,交換紅綠燈時長和車流量信息等數(shù)據(jù),交通燈控制終端根據(jù)智能控制系統(tǒng)的要求來控制紅綠燈工作。
本文設(shè)計的以單片機為控制核心的交通燈控制終端能夠?qū)崟r響應(yīng)智能控制系統(tǒng)發(fā)出的信號,隨時調(diào)整紅綠燈時間,并能將車流量統(tǒng)計信息實時反饋給智能控制系統(tǒng)。智能控制系統(tǒng)發(fā)送給單片機的時間信號以及單片機輸出的交通燈顯示信號都會經(jīng)過合理性校驗,確保信息的合理性,保證交通路口通行安全。如控制單片機出現(xiàn)運行錯誤,系統(tǒng)可自復(fù)位并發(fā)出警報;如系統(tǒng)發(fā)生永久性故障,系統(tǒng)可自動切換備用控制器。
1.1 運行要求
十字路口交通燈系統(tǒng)中,每個路口有4個信號燈,分別為紅、黃、直行、左行。十字路口的交通放行方式會隨路口要求不同而不同,一般情況下,對側(cè)路口紅綠燈信號相同,整個路口紅綠燈按照既定的工作順序周期循環(huán)工作。
本系統(tǒng)采用最為典型的工作方式,其它情況只需要改變對應(yīng)控制的燈即可。
1)每個方向的交通燈按智能控制系統(tǒng)設(shè)定的方式周期循環(huán)工作。
2)東西(南北)信號燈為黃燈或綠燈時,南北(東西)方向必須是紅燈。
3)黃燈固定的工作時長為3 s;綠燈的工作時長由智能控制系統(tǒng)控制,單片機根據(jù)智能控制系統(tǒng)發(fā)送的綠燈時長來實時更改綠燈時長,在兩組信號發(fā)送的間隔時間內(nèi)按照上一組時間信號工作;每組紅燈時長為另一只的綠燈時長加黃燈時長。
1.2 安全性要求
考慮到交通系統(tǒng)中,安全穩(wěn)定是第一位,所以對于交通燈控制系統(tǒng)需滿足安全要求;
1)如果智能控制系統(tǒng)遭到入侵或者癱瘓,交通燈控制系統(tǒng)必須保證交通燈能正常工作,不出現(xiàn)錯誤。
2)信號燈顯示必須確保不會出現(xiàn)錯誤,如兩個方向同時綠燈的情況。
3)如果單片機出現(xiàn)故障,必須保證交通燈信號不出現(xiàn)紊亂,并在短時間內(nèi)投入備用控制終端,同時發(fā)出警報通知相關(guān)值班人員。
2 設(shè)計方案
雖然現(xiàn)在技術(shù)成熟,單片機抗干擾能力較強,但是單片機在實際工作中還是有一定幾率出錯,如程序跑飛,還有曾經(jīng)遇到過的I/O口輸出紊亂等問題。為了系統(tǒng)的安全穩(wěn)定性,調(diào)用看門狗寄存器來糾正程序跑飛,同時加入一片單片機作為信號校驗單片機來糾正I/O輸出紊亂問題。故本系統(tǒng)采用兩片AT89C51單片機作為核心器件,其中一片負(fù)責(zé)控制交通燈信號顯示,另一片負(fù)責(zé)對顯示信號進行校驗。
控制單片機(U1)負(fù)責(zé)接收輸入的綠燈時長信號和車流量計數(shù)信號,對綠燈時長進行合理性判斷,進行車流量脈沖計數(shù),輸出控制信號燈的電平,并在收到智能控制系統(tǒng)請求車流量數(shù)據(jù)的信號后,將車流量數(shù)據(jù)反饋給智能控制系統(tǒng)。信號校驗單片機(U2)負(fù)責(zé)對控制信號燈的顯示信號進行合理性校驗,包括校驗兩個路口的紅綠燈是否矛盾以及綠燈時長是否合理,校驗無誤后允許信號燈接收電平信號做出改變;如果校驗不通過,則保持之前信號燈信號不變,復(fù)位控制單片機,同時發(fā)出警報,如多次校驗不通過,則斷開當(dāng)前整個系統(tǒng)(包括控制和校驗),投入備用信號燈控制器。
3 硬件設(shè)計
整個控制終端要和智能控制系統(tǒng)進行有線或無線通信,然后將數(shù)據(jù)發(fā)送給信號燈,信號校驗單片機對信號進行校驗后判斷是否讓信號燈變化,警報系統(tǒng)需要在收到警報信號后發(fā)出警報并持續(xù)一段時間,而且在重復(fù)收到警報信號后要啟動備用控制器。
3.1 核心模塊
核心模塊包含兩片單片機,其中單片機U1為主控制單片機,單片機U2為信號校驗單片機,主控制單片機負(fù)責(zé)通信、顯示等功能,信號校驗單片機負(fù)責(zé)校驗主控制單片機的信號是否合理(詳見本文5軟件設(shè)計一節(jié))。U1的信號燈顯示信號通過P2口輸出,輸出的信號同時接入鎖存器74HC573的輸入端和U2的P2口中,U2的P2口作為輸入口,讀取U1輸出的交通燈顯示信號,對其進行合理性校驗。鎖存器74HC573的鎖存控制端LE接U2的P1.0口,如果U2校驗了U1輸出的信號沒有問題后,P1.0會輸出高電平并延時一段時間以打開74HC5 73鎖存端,讓顯示信號輸入鎖存器。同時,U2的P1.1口經(jīng)非門接U1的復(fù)位引腳,如信號校驗不通過,則在P1.1口輸出低電平復(fù)位U1,如U2復(fù)位則不會造成U1誤復(fù)位。鎖存器的輸出端接信號燈,這里用16個發(fā)光二極管模擬信號燈,對側(cè)信號燈分為一組,兩組信號燈八個引腳分別接入鎖存器的八個輸出端。鎖存器的輸出端同時又接U1的P0口,如果U1因為運行的問題復(fù)位后,在程序初始化后通過讀取P0口狀態(tài)獲取當(dāng)前信號燈顯示的狀態(tài),然后從當(dāng)前狀態(tài)開始循環(huán)運行,不至于造成信號燈顯示混亂。U1的串口通信引腳P3.0和P3.1可根據(jù)實際運用接外部通信模塊,包括串口通信模塊或藍牙通信模塊,實現(xiàn)通信功能。核心模塊電路圖如圖2所示。
3.2 警報模塊
為保證系統(tǒng)的穩(wěn)定性,警報模塊運用最簡單的RC延時電路,以實現(xiàn)在收到持續(xù)時間很短的單片機警報信號后,能夠保持發(fā)出警報。模塊設(shè)計延時為5 s,此處用LED代替警報燈及時間繼電器等警報器件。若警報模塊收到警報信號,則會持續(xù)報警5 s;如單片機出現(xiàn)故障持續(xù)輸出警報信號,兩次信號的時間間隔小于5 s,則模塊持續(xù)報警,報警持續(xù)設(shè)定時間后時間繼電器動作,跳開當(dāng)前系統(tǒng),切換備用交通燈控制器。警報模塊電路圖如圖3所示。
4 軟件設(shè)計
根據(jù)方案設(shè)計要求和硬件電路,單片機1中為控制程序,單片機2為信號校驗程序,采用C語言為單片機編寫程序。
4.1 控制程序
為了防止程序跑飛,啟用單片機的看門狗寄存器,單片機在初始化或復(fù)位后,會向智能控制系統(tǒng)發(fā)送信號來獲取當(dāng)前的綠燈時長信號。單片機通過讀取P0口的狀態(tài),確定當(dāng)前信號燈運行的狀態(tài)系數(shù)a,然后跳轉(zhuǎn)到相應(yīng)狀態(tài)開始循環(huán)運行,如果信號燈處于初始狀態(tài)時,則順序運行,這樣可保證單片機復(fù)位后立刻返回當(dāng)前狀態(tài)繼續(xù)循環(huán)運行。流程圖如圖4。
在一個周期內(nèi)交通燈信號變化6次,每種狀態(tài)根據(jù)相應(yīng)時長用嵌套延時語句進行延時,同時,在每秒的嵌套語句開始都對看門狗計時器清0(喂狗)。
單片機和智能控制系統(tǒng)的通信包括發(fā)送車流量信息和接收綠燈時長。單片機在收到智能控制系統(tǒng)的請求數(shù)據(jù)信號0xff后,會將T0計數(shù)器記錄的車流量數(shù)據(jù)發(fā)送給智能控制系統(tǒng)。如果單片機收到的數(shù)據(jù)不是0xff,則識別此數(shù)據(jù)為綠燈時長數(shù)據(jù)。每次智能控制系統(tǒng)會發(fā)送4個綠燈的時長數(shù)據(jù),單片機接到全部4個數(shù)據(jù)后對其合理性進行校驗。如果4個數(shù)據(jù)都在預(yù)設(shè)的范圍內(nèi),則為合法數(shù)據(jù),單片機將其裝入顯示時間數(shù)組中;如果存在非法數(shù)據(jù),則將4個數(shù)據(jù)全部舍棄。這樣設(shè)計是為了防止智能控制系統(tǒng)紊亂或者被入侵而造成交通癱瘓等嚴(yán)重后果。如單片機一直不收到數(shù)據(jù)請求信號或時長數(shù)據(jù),則交通燈控制終端會一直按照現(xiàn)有的時長數(shù)據(jù)正常循環(huán)運行。
4.2 信號校驗程序
信號校驗單片機是為了防止主單片機的I/O口輸出紊亂造成交通燈信號錯誤而設(shè)置的,主要是對控制單片機輸出信號進行有效性校驗,校驗無誤后再顯示。同時為了防止信號校驗單片機出錯,啟動看門狗寄存器,并且在單片機初始化時會置P1.2高電平延時0.5 s來啟動警報電路,這樣如果信號校驗單片機跑飛復(fù)位,警報信號亦會動作。信號校驗流程圖如圖5。
信號校驗單片機只有在檢測到顯示信號發(fā)生變化后才會去判斷信號是否正常,由于兩次信號變化的時間間隔很長,這樣可以保證信號變化時單片機U2正處于判斷信號相同循環(huán)中,74HC573處于不可寫入狀態(tài),防止未經(jīng)校驗的信號寫入鎖存器。
當(dāng)單片機校驗到顯示信號不正常時,會輸出低電平復(fù)位控制單片機,并啟動警報電路。如果顯示信號一直不正常,則警報電路會持續(xù)收到警報信號報警,持續(xù)一段時間后時間繼電器動作切換備用控制器。如果控制單片機因為看門狗復(fù)位,則信號校驗單片機同樣會檢測到然后啟動警報電路。
5 系統(tǒng)調(diào)試
按設(shè)計把硬件環(huán)境搭建出來后,通過在正確程序中加入while(1)語句模擬單片機跑飛,單片機I/O口飛線高低電平來強制拉高或拉低單片機I/O電平模擬單片機I/O口輸出紊亂,進行實物硬件調(diào)試。
經(jīng)多次修改調(diào)試,系統(tǒng)在長時間運行中能夠保持穩(wěn)定;在模擬故障環(huán)節(jié)中,復(fù)位功能及警報功能均正常動作,系統(tǒng)功能達到預(yù)定要求。
6 結(jié)束語
本文采用單片機作為交通燈控制終端的控制核心,采用信號校驗的方式,彌補了PLC控制器運用于智能交通系統(tǒng)中的不足,同時保證系統(tǒng)運行的穩(wěn)定性,更方便的滿足智能交通系統(tǒng)對于通信和控制的要求。在本系統(tǒng)的基礎(chǔ)上,亦可通過更換不同種類和功能的單片機,滿足更多不同的交通控制要求。
評論