姜海洋,李建兵,葉珊珊,徐靜波
(解放軍信息工程大學(xué) 信息系統(tǒng)工程學(xué)院,鄭州 450001)
異構(gòu)網(wǎng)絡(luò)高速公路的事故感知與報警方法
姜海洋,李建兵,葉珊珊,徐靜波
(解放軍信息工程大學(xué) 信息系統(tǒng)工程學(xué)院,鄭州 450001)
設(shè)計了一種基于異構(gòu)網(wǎng)絡(luò)的高速公路事故報警系統(tǒng)。基于該系統(tǒng),提出了一種高速公路事故感知方法,并設(shè)計了異構(gòu)硬件網(wǎng)絡(luò)、交互通信協(xié)議和事故感知策略。通過設(shè)定不同的事故場景,用實驗對事故感知方法進行了驗證。結(jié)果表明,設(shè)計的交通事故感知方法實現(xiàn)了對按鍵報警信息、節(jié)點故障信息和總線異常信息的正確判斷。
異構(gòu)網(wǎng)絡(luò);智能交通;RS485總線;CAN總線
高速公路的快速發(fā)展,給人們的出行帶來方便,同時也引發(fā)了一系列行車安全問題。相比普通的交通事故,高速公路交通事故具有損失大、危害重、救援難等特點[1],而且二次事故多發(fā)問題嚴(yán)峻[2]?,F(xiàn)有的交通事故識別主要有兩種方法:一是通過圖像處理算法分析攝像機所采集的圖像信息,以實現(xiàn)事故自動識別;另一種是由高速公路管理人員通過監(jiān)視監(jiān)控大屏幕識別事故[3-4]。兩種方法在識別事故后均無法立即發(fā)出報警信息提醒后方車輛,難以防止二次事故的發(fā)生。
因此,本文設(shè)計一種基于異構(gòu)網(wǎng)絡(luò)的高速公路事故報警系統(tǒng),系統(tǒng)可感知交通事故信息,并實時、自動控制布設(shè)在公路兩側(cè)的信號燈,發(fā)布報警信息,提示事故地點后方車輛,同時向高速公路監(jiān)控中心報警。系統(tǒng)中交通事故感知功能主要由事故感知子網(wǎng)完成,本文重點對感知子網(wǎng)的搭建、事故感知協(xié)議的設(shè)計和具體感知方法進行介紹。
設(shè)計的系統(tǒng)由遠程管理系統(tǒng)和終端采集控制平臺組成,系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖如圖1所示。遠程管理系統(tǒng)位于高速公路監(jiān)控中心,其核心是服務(wù)器和系統(tǒng)管理軟件。終端采集控制平臺布設(shè)在高速公路上,它是基于CAN總線和RS485總線的分布式系統(tǒng),采用三層網(wǎng)絡(luò)布局。第一層是網(wǎng)關(guān)層,采用移動通信模塊(GPRS)與遠程管理系統(tǒng)通信,通過CAN總線接入中繼層。第二層是中繼層,該層的中繼節(jié)點有A節(jié)點和B節(jié)點兩種類型,兩種節(jié)點對稱分布在公路兩側(cè),并通過ZigBee無線模塊通信(各A節(jié)點間采用CAN總線中繼通信組成主干通信網(wǎng),B節(jié)點不支持CAN總線通信)。第三層是控制層,該層有控制節(jié)點(C節(jié)點),C節(jié)點與對應(yīng)的A、B節(jié)點相連并對稱分布在公路兩側(cè)。RS485總線和控制節(jié)點布設(shè)在公路兩側(cè)護欄上,每個中繼節(jié)點均通過RS485總線連接10個控制節(jié)點,每個控制節(jié)點上安裝有信號燈和報警按鍵。
圖1 系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖
終端采集控制平臺需要感知高速公路遠距離范圍內(nèi)的事故信息,對可靠性和實時性有很高要求。由于GPRS網(wǎng)絡(luò)覆蓋面廣且實時性強,并使用TCP/IP協(xié)議保證了通信的可靠性[5],故終端采集控制平臺選用GPRS模塊與遠程管理系統(tǒng)通信。對于有3G或4G覆蓋的區(qū)域,GPRS可用3G或4G來代替。通過對比不同的現(xiàn)場總線可知,CAN總線具有突出的高可靠性和遠距離通信特性[6-8],因此選用CAN總線作為終端采集控制平臺中繼層的主干通信線路。同時,為了滿足高速公路兩側(cè)信息的感知和信號燈的控制需求,并考慮到高速公路上橫跨路面的布線方式不可行,因此A節(jié)點和B節(jié)點之間的通信方式選擇了低功耗、短時延、高可靠性的ZigBee無線通信[9-10]。
交通事故信息感知的關(guān)鍵是事故信息感知子網(wǎng),一個子網(wǎng)由1個中繼節(jié)點(A或B)與10個控制節(jié)點(C)組成,下面重點介紹事故感知子網(wǎng)的系統(tǒng)設(shè)計、通信協(xié)議和事故感知方法的實現(xiàn)。
中繼節(jié)點與控制節(jié)點組成的事故感知子網(wǎng)主要用于采集按鍵報警信息和嚴(yán)重的交通事故中護欄上總線被撞斷的事故信息。事故感知子網(wǎng)的通信選用可靠性高、成本低廉、技術(shù)成熟的RS485總線,其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示。
圖2 事故感知子網(wǎng)結(jié)構(gòu)圖
以A節(jié)點和C節(jié)點為例,介紹事故感知子網(wǎng)中的節(jié)點硬件設(shè)計。A節(jié)點以32位ARM微處理器STM32F105R8T6為核心,它是針對需要互聯(lián)和實時性能的應(yīng)用而設(shè)計的互聯(lián)型微控制器,支持2個CAN 2.0B控制器,滿足做CAN總線中繼的要求。A節(jié)點通過SP3485芯片連接RS485總線。C節(jié)點的核心是功耗低、穩(wěn)定性強的STC12C5A32S2單片機,通過MAX485芯片連接RS485總線。總線首尾兩端各接有一個120 Ω的匹配電阻,以消除總線上信號的反射回波,保證通信可靠性[11]。
事故感知子網(wǎng)可采集的交通事故分為兩類:第一種是事故當(dāng)事人按下報警按鍵的情況;第二種是撞到護欄的嚴(yán)重事故,總線受損的情況。這兩類事故信息的采集,主要通過中繼節(jié)點輪詢地與各個控制節(jié)點通信,并分析各控制節(jié)點返回應(yīng)答信息來實現(xiàn)。
3.1 事故感知協(xié)議設(shè)計
中繼節(jié)點對控制節(jié)點的訪問采用靜態(tài)時分復(fù)用(TDMA)策略,每個控制節(jié)點占用一個時隙,以避免總線沖突。中繼節(jié)點是總線的主節(jié)點,由其發(fā)起總線上的對話,分別與各個控制節(jié)點握手通信??刂乒?jié)點不主動向總線發(fā)出數(shù)據(jù),只有收到中繼節(jié)點的握手邀請才作出應(yīng)答。中繼節(jié)點輪詢與全部控制節(jié)點完成握手的過程稱為一個TDMA周期,若每個周期內(nèi),各個節(jié)點的應(yīng)答指令均正常,則中繼節(jié)點認(rèn)為無事故發(fā)生,然后進行下一個握手通信周期,依次循環(huán)。中繼節(jié)點發(fā)出信息的數(shù)據(jù)幀格式如下所示:
幀首信息類型控制節(jié)點起始/終止地址消息體長度消息體CRC校驗碼幀尾0xA50x5ATypeStartEndLenthDataCRCHCRCL0xBF
幀格式中Type用于標(biāo)識信息的類型;在中繼節(jié)點與單獨的控制節(jié)點握手通信時,Type為1表示握手通信幀;Start與End的值相等且等于控制節(jié)點地址;Lenth的值為0。控制節(jié)點在接收完全部信息后,若Start和End的值與本節(jié)點地址相同,且CRC校驗正確時,才對中繼節(jié)點作出應(yīng)答;否則拋棄該信息,等待下一次接收。
中繼節(jié)點根據(jù)控制節(jié)點的應(yīng)答信息來判定交通事故,應(yīng)答信息的幀格式如下所示:
幀首信息類型控制節(jié)點地址消息長度消息內(nèi)容CRC校驗碼幀尾0xA50x5ATypeAddressLenthC_AlarmCRCHCRCL0xBF
當(dāng)發(fā)生輕微事故,事故當(dāng)事人按下某個控制節(jié)點所連接的報警按鈕時,該節(jié)點內(nèi)的按鍵報警標(biāo)志位Button_Down將被置為1??刂乒?jié)點在應(yīng)答中繼節(jié)點時,若判斷Button_Down為1,則返回的應(yīng)答消息幀格式中的C_Alarm的值為2表示按鍵報警,Type的值為1表示應(yīng)答信息幀,Address為此控制節(jié)點的地址。中繼節(jié)點收到信息后,若判斷C_Alarm的值為2,則認(rèn)為有事故發(fā)生。
當(dāng)發(fā)生嚴(yán)重的交通事故導(dǎo)致某個控制節(jié)點與中繼節(jié)點的通信線路被撞斷時,中繼節(jié)點將無法接收到相應(yīng)控制節(jié)點的應(yīng)答信息。中繼節(jié)點會再次與該節(jié)點發(fā)起握手通信,在無應(yīng)答的情況下,重復(fù)該過程三次,然后地址信息加1,再與下一個控制節(jié)點進行握手通信,若下一個節(jié)點仍無應(yīng)答,則認(rèn)為出現(xiàn)嚴(yán)重事故,若下一節(jié)點應(yīng)答正常,則認(rèn)為前一節(jié)點出現(xiàn)故障,但總線連接正常,最后中繼節(jié)點繼續(xù)輪詢與控制節(jié)點握手通信以檢測事故。
3.2 事故感知方法的軟件實現(xiàn)
事故感知方法的軟件實現(xiàn)包含中繼節(jié)點軟件和控制節(jié)點軟件兩部分。中繼節(jié)點軟件包括事故檢測程序和串口中斷程序,控制節(jié)點軟件包括外部中斷程序和串口中斷程序。事故感知方法的各程序關(guān)系如圖3所示。中繼節(jié)點的事故檢測程序發(fā)起與控制節(jié)點的握手通信,控制節(jié)點在串口中斷程序中接收握手信息,并根據(jù)其外部中斷程序中的Button_Down來識別按鍵報警信息,再返回應(yīng)答信息給中繼節(jié)點。中繼節(jié)點的串口中斷程序接收控制節(jié)點的應(yīng)答信息,若接收完成,則將接收完成標(biāo)志位Finish置為1,并提取C_Alarm信息。事故檢測程序根據(jù)Finish判斷是否接收到控制節(jié)點的應(yīng)答信息,根據(jù)C_Alarm信息來判斷報警按鍵是否按下。
圖3 事故感知方法的各程序關(guān)系示意圖
(1) 中繼節(jié)點的事故檢測程序
事故檢測程序主要功能是檢測節(jié)點故障信息和事故信息并報警,其程序流程圖如圖4所示。中繼節(jié)點首先設(shè)置要檢測的節(jié)點地址,其次執(zhí)行握手通信子函數(shù),該子函數(shù)的流程圖如圖5所示,然后地址加1。在握手通信子函數(shù)中,首先發(fā)送握手通信指令,并根據(jù)Finish信息判斷是否握手成功。若成功,則返回握手成功標(biāo)志位Link_OK=1給事故檢測程序,否則再次發(fā)送握手通信指令,在連續(xù)握手失敗三次的情況下,返回Link_OK=0。
圖4 中繼節(jié)點的事故檢測程序流程圖
圖5 中繼節(jié)點的握手通信子函數(shù)流程圖
然后事故檢測程序根據(jù)Link_OK判斷控制節(jié)點的連接情況。分兩種情況討論:
① 有Link_OK等于1,即握手成功,則需要根據(jù)C_Alarm判斷按鍵報警。若C_Alarm不等于2,則認(rèn)為無按鍵報警,然后繼續(xù)輪詢檢測其他控制節(jié)點。若C_Alarm等于2,則認(rèn)為存在按鍵報警,然后停止事故檢測并報警。
② Link_OK不等于1,則需要繼續(xù)判斷是節(jié)點故障還是總線損壞。中繼節(jié)點再次執(zhí)行握手通信子函數(shù),判斷是否與下一個控制節(jié)點握手通信成功。若握手失敗,則認(rèn)為有事故發(fā)生,然后停止事故檢測并報警。若握手成功,則認(rèn)為前一個節(jié)點故障但無事故發(fā)生,并發(fā)出節(jié)點故障報警信息,然后判斷是否有按鍵報警,在無報警情況下,繼續(xù)輪詢檢測,若有按鍵報警,則停止事故檢測并報警。
(2) 中繼節(jié)點的串口中斷程序
中繼節(jié)點的串口中斷程序接收完應(yīng)答信息后進行CRC校驗。若校驗正確,則提取C_Alarm值,并置位Finish為1;否則,清零接收計數(shù)器和接收緩存。
(3) 控制節(jié)點的外部中斷程序
控制節(jié)點通過外部中斷采集報警按鍵信息。若報警按鍵被按下,則外部中斷被觸發(fā),置Button_Down為1;否則,Button_Down保持0不變。
(4) 控制節(jié)點的串口中斷程序
控制節(jié)點在串口中斷程序中接收握手通信指令并應(yīng)答??刂乒?jié)點接收完握手指令后,首先進行CRC校驗,并判斷中繼節(jié)點是否與本節(jié)點握手通信,若是,則根據(jù)Button_Down判斷報警按鍵是否按下。若按下則置C_Alarm為2,否則C_Alarm為1。最后將信息發(fā)送給中繼節(jié)點??刂乒?jié)點的串口中斷程序流程圖如圖6所示。
圖6 控制節(jié)點的串口中斷程序流程圖
4.1 事故感知策略的驗證方法
圖7 測試平臺
事故感知策略的驗證選用由1個中繼節(jié)點A1和3個控制節(jié)點(C1、C2、C3)組成的事故感知子網(wǎng),子網(wǎng)中各節(jié)點按照本文圖2所示的方式連接,測試平臺如圖7所示。測試分為4種場景:①系統(tǒng)正常,無報警;②報警按鍵被按下;③總線連接正常,但某個控制節(jié)點故障;④總線被撞斷或損壞的異常情況。針對這4種場景,利用軟件工具對節(jié)點間的通信數(shù)據(jù)進行采集和分析,以此來驗證交通事故感知方法。
對于4種不同的場景,分別進行如下操作:①系統(tǒng)上電后,不進行任何操作。②系統(tǒng)正常運行一段時間后,按下C2節(jié)點上的報警按鍵。③系統(tǒng)正常運行一段時間后,關(guān)閉C2節(jié)點的電源,模擬節(jié)點故障。④系統(tǒng)正常運行一段時間后,斷開C2節(jié)點與C1節(jié)點之間的總線,模擬總線被撞斷。
4.2 測試結(jié)果與分析
使用軟件工具采集RS485總線數(shù)據(jù)的情況如圖8所示。
圖8(a)是系統(tǒng)正常時的數(shù)據(jù)采集情況,A1節(jié)點與3個C節(jié)點不斷地輪詢握手。
圖8(b)是C2節(jié)點的報警按鍵被按下的情況,方框內(nèi)的數(shù)據(jù)幀是C2返回的數(shù)據(jù)幀,幀格式中的C_Alarm為0x02。A1節(jié)點收到該信息并判斷C_Alarm為0x02,即認(rèn)為C2節(jié)點的按鍵被按下,然后停止與各控制節(jié)點握手通信。
圖8(c)是C2節(jié)點出現(xiàn)故障的情況,故障信息被感知過程的數(shù)據(jù)如方框內(nèi)所示。由于C2節(jié)點故障,其無法應(yīng)答A1節(jié)點的握手信息。A1節(jié)點按照協(xié)議連續(xù)三次發(fā)送與C2節(jié)點握手的信息均未收到應(yīng)答,轉(zhuǎn)而與C3進行了一次握手;與C3節(jié)點握手成功,則中繼節(jié)點認(rèn)為C2節(jié)點故障,總線正常。然后A1節(jié)點繼續(xù)與其他C節(jié)點輪詢握手通信。
圖8(d)是C2與C1之間總線斷開的情況,此時A1節(jié)點無法與C2和C3握手通信。中繼節(jié)點按照協(xié)議,連續(xù)三次發(fā)送與C2節(jié)點握手的信息,C2節(jié)點均無應(yīng)答,然后中繼節(jié)點向C3節(jié)點發(fā)送三次握手信息,C3節(jié)點同樣無應(yīng)答,此時A1節(jié)點認(rèn)為C1與C2之間總線被撞斷,并停止與各C節(jié)點握手通信。上述測試結(jié)果表明,本文提出的事故感知策略可有效地在設(shè)計的4種場景中正確判斷出系統(tǒng)正常、報警按鍵被按下、節(jié)點故障和總線被撞斷的信息。
[1] 劉東,馬社強,牛學(xué)軍.我國高速公路交通事故特點分析[J].中國人民公安大學(xué)學(xué)報:自然科學(xué)版,2008,14(4):65-68.
[2] 尚煒,高大慶.高速公路安全形勢及對策研究[J].中國公路,2012(18):106-108.
[3] 蔡志理.高速公路交通事件檢測及交通疏導(dǎo)技術(shù)研究[D].長春:吉林大學(xué),2007.
[4] 胡宏宇.基于視頻處理的交通事件識別方法研究[D].長春:吉林大學(xué),2010.
[5] 趙亮,黎峰.GPRS無線網(wǎng)絡(luò)在遠程數(shù)據(jù)采集中的應(yīng)用[J].計算機工程與設(shè)計,2005,26(9):2552-2554.
[6] 張楨,牛玉剛.DCS與現(xiàn)場總線綜述[J].電氣自動化,2013,35(1):4-6,46.
[7] 冀石磊,夏繼強,陶震宇,等.基于GPRS及CAN總線的遠程電機群控制[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015,15(1):27-30.
[8] 李真花,崔健.CAN總線輕松入門與實踐[M].北京:北京航空航天大學(xué)出版社,2011.
[9] 蒲泓全,賈軍營,張小嬌,等.ZigBee網(wǎng)絡(luò)技術(shù)研究綜述[J].計算機系統(tǒng)應(yīng)用,2013,22(9):6-9.
[10] 杜軍,馬俊,周亞強.基于ZigBee技術(shù)的電子標(biāo)簽識別系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015,15(3):54-57.
[11] 于月森,葉王慶.RS-485總線可靠性應(yīng)用研究[J].微計算機信息,2007,23(23):274-276.
姜海洋(碩士研究生),主要研究方向為嵌入式系統(tǒng)應(yīng)用與開發(fā)、電子系統(tǒng)設(shè)計。
Freeway Accident Detection and Alarm Method Based on Heterogeneous Network
Jiang Haiyang,Li Jianbing,Ye Shanshan,Xu Jingbo
(School of Information System Engineering,PLA Information Engineering University,Zhengzhou 450001,China)
In the paper,a freeway accident alarm system based on heterogeneous network is designed.Based on the system,a method of sensing freeway accident is proposed.And the heterogeneous network,the interactive communication protocol and the accident detection method are designed.By setting different accident scenarios,the realization of the method is verified.The experiment results show that the design of traffic accident detection method can realize the correct judgment of button alarm information,node fault information and bus abnormal information.
heterogeneous network;intelligent transportation;RS485 bus;CAN bus
TP277
A
?士然
2017-03-13)