国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的信號燈沖突檢測電路的設(shè)計(jì)與實(shí)現(xiàn)

2015-07-24 19:01:21楊福來孫旭飛
關(guān)鍵詞:沖突檢測綠燈校驗(yàn)

楊福來,孫旭飛,李 碩

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)

基于FPGA的信號燈沖突檢測電路的設(shè)計(jì)與實(shí)現(xiàn)

楊福來,孫旭飛,李 碩

(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)

采用軟件控制方式的道路交通信號機(jī)在死機(jī)時(shí)往往失去其綠沖突保護(hù)功能。根據(jù)“綠沖突矩陣”的檢測原理,本文提出一種道路交通信號控制機(jī)的信號沖突檢測方案,采用自頂向下的設(shè)計(jì)方法,通過FPGA實(shí)現(xiàn)系統(tǒng)的各個(gè)功能模塊。該系統(tǒng)可以獨(dú)立地檢測綠燈信號沖突這種道路交通的異常情況,并能立即做出處理。仿真及實(shí)際測試結(jié)果表明,該系統(tǒng)時(shí)序分配與程序設(shè)計(jì)合理,工作穩(wěn)定可靠,并能夠提高信號機(jī)嵌入式系統(tǒng)的實(shí)時(shí)性。

綠沖突;FPGA;綠沖突矩陣;校驗(yàn)

0 引言

隨著各國城市化進(jìn)程的不斷發(fā)展,智能交通系統(tǒng)在城市道路交通控制中得到了廣泛的應(yīng)用。智能道路交通信號機(jī)是智能交通系統(tǒng)的重要組成部分,也是解決城市交通問題的關(guān)鍵設(shè)備。信號機(jī)中的綠沖突檢測可以提高智能交通系統(tǒng)的安全性和可靠性。由于過去的綠沖突保護(hù)控制方式相對簡單,通常是用簡單的繼電器互鎖或者信號燈的接線實(shí)現(xiàn)[1],隨著多相位、多時(shí)段控制方式和線控、面控方式的發(fā)展,目前的綠沖突檢測多通過信號機(jī)的控制軟件實(shí)現(xiàn)。然而,當(dāng)這類信號機(jī)出現(xiàn)死機(jī)導(dǎo)致信號沖突時(shí),其保護(hù)功能就失效。因此研究一種新的綠沖突檢測電路在智能交通控制中具有十分重要的現(xiàn)實(shí)意義。

本文研究的綠沖突檢測電路采用FPGA實(shí)現(xiàn)。FPGA適合于組合邏輯和時(shí)序邏輯電路設(shè)計(jì),并且具有并發(fā)執(zhí)行的功能,相對于微控制器的程序設(shè)計(jì)更加穩(wěn)定可靠[2]。同時(shí),基于FPGA的綠沖突檢測電路實(shí)現(xiàn)信號機(jī)的綠沖突檢測功能,可以減輕信號機(jī) CPU的負(fù)擔(dān),提高系統(tǒng)的實(shí)時(shí)性。

1 綠沖突

綠沖突是指規(guī)定不允許同時(shí)放行的信號燈組中的綠色信號燈同時(shí)點(diǎn)亮[3]。就目前的交通信號控制機(jī)來說,產(chǎn)生綠沖突的原因大概有以下幾類:

(1)系統(tǒng)軟故障

此類綠沖突通常是由于交通信號機(jī)里面的控制系統(tǒng)出現(xiàn)死機(jī)或者是一些數(shù)據(jù)處理錯誤等軟故障造成的。不僅如此,如果交通信號機(jī)在較為惡劣的電磁環(huán)境下工作,也會受到電磁干擾而出現(xiàn)短暫的綠沖突現(xiàn)象。

(2)硬件故障

由于信號機(jī)的硬件變質(zhì)、損壞或者溫度變化、受潮等原因造成的綠沖突。這種情況如果發(fā)生,就可能長時(shí)間持續(xù)下去,只能對信號機(jī)進(jìn)行維修或者更換里面的部件[4-5]。

2 基于綠沖突矩陣的校驗(yàn)原理

本文設(shè)計(jì)的綠沖突檢測是基于綠沖突矩陣的檢測原理,沖突矩陣的行和列分別對應(yīng)一個(gè)信號燈組,為一對稱矩陣,如圖1所示。

在圖1(a)中假設(shè)有 G0、G1、G2三個(gè)綠燈信號,設(shè)G0和G1同時(shí)點(diǎn)亮視為沖突,G1和G2同時(shí)點(diǎn)亮視為沖突,則圖中對應(yīng)沖突的位置填入 1,G0和 G2同時(shí)點(diǎn)亮不視為沖突的位置填 0,如圖所示,本文稱之為綠沖突矩陣數(shù)據(jù),因此,綠沖突矩陣數(shù)據(jù)中的位信息 1就是某綠燈對子不允許同時(shí)點(diǎn)亮的定義。校驗(yàn)過程如下:

當(dāng)輸入的信號為G0G1G2=010時(shí) (1表示綠燈亮,0表示綠燈滅):

(1)G0為 0,不與 G0所在的行校驗(yàn),轉(zhuǎn)下一行;

(2)G1為 1,進(jìn)行校驗(yàn),將輸入信號“010”與 G1所在的行“101”相與,即 010&101=0,數(shù)據(jù)正確;

(3)G2為 0,同理不需要校驗(yàn)。

當(dāng)G0G1G2=110,即G0和G1同時(shí)亮?xí)r,與G0所在行相與后結(jié)果非 0,說明G0和 G1信號沖突,此時(shí),信號機(jī)應(yīng)立即切斷所有綠燈信號,轉(zhuǎn)而執(zhí)行黃閃信號。

本文設(shè)計(jì)的綠沖突檢測電路對應(yīng) 15路綠燈信號G0~G14,如東西方向的直行綠燈、左轉(zhuǎn)綠燈、右轉(zhuǎn)綠燈、掉頭綠燈、行人綠燈等。在本文中綠沖突矩陣數(shù)據(jù)是以字節(jié)為單位的,所以 15路信號對應(yīng)的綠沖突矩陣數(shù)據(jù)分成 4塊,每一塊有 8字節(jié),按照圖1(b)的編號順序通過FPGA串口寫進(jìn)FPGA的ROM中。其中第一塊數(shù)據(jù)用于校驗(yàn) G0~G7綠信號之間的沖突,第二塊數(shù)據(jù)用于校驗(yàn)G8~G14與G0~G7綠信號之間的沖突,第三塊數(shù)據(jù)用于校驗(yàn)G8~G14綠信號之間的沖突。第四塊數(shù)據(jù)也是用于校驗(yàn)G8~G14與G0~G7綠信號之間的沖突,因此不需要寫進(jìn) ROM。在校驗(yàn)的過程中還應(yīng)排除 Gx與 Gx自身的比對,如圖1(b)中斜方向所示。

圖1 綠沖突矩陣數(shù)據(jù)分布圖

3 總體方案

根據(jù)綠沖突矩陣的檢測原理,采用自頂向下的設(shè)計(jì)方法將檢測電路分為以下幾個(gè)模塊:(1)信號燈的燈組驅(qū)動電路,通過SPI方式在正常狀態(tài)下接收信號控制機(jī)的燈組數(shù)據(jù),在黃閃狀態(tài)下接收沖突檢測電路發(fā)送的信號燈黃閃數(shù)據(jù)。(2)沖突檢測電路采用 Xilinx的 FPGA芯片 XC3S50,通過 SPI模塊接收信號燈的狀態(tài)數(shù)據(jù)。(3)數(shù)據(jù)接收結(jié)束后復(fù)位時(shí)鐘分頻模塊,時(shí)鐘分頻模塊產(chǎn)生其他模塊所需時(shí)鐘,所有模塊都是在統(tǒng)一的時(shí)鐘線上運(yùn)行,以免發(fā)生時(shí)序混亂。(4)沖突檢測模塊,在檢測時(shí)序期間對 SPI接收的數(shù)據(jù)即信號燈的狀態(tài)數(shù)據(jù)進(jìn)行綠沖突校驗(yàn),校驗(yàn)是根據(jù)上文所說的綠沖突矩陣比對各綠燈信號狀態(tài),該綠沖突矩陣數(shù)據(jù)存放在FPGA的IP核所生成的ROM里面。(5)黃閃延時(shí)判斷模塊,沖突檢測模塊的檢測結(jié)果經(jīng)過黃閃延時(shí)判斷模塊進(jìn)行延時(shí)檢測并確認(rèn)是否有沖突。如果沒有沖突,則燈組驅(qū)動繼續(xù)接收信號控制機(jī)的燈組數(shù)據(jù);如果有沖突,則黃閃標(biāo)志置位,切斷MCU的SPI通道,沖突檢測電路通過 SPI開始發(fā)送黃閃數(shù)據(jù)至燈組驅(qū)動,從而讓燈組驅(qū)動切換至黃閃狀態(tài)。總體方案如圖2所示。

圖2 總體方案

4 各模塊設(shè)計(jì)

4.1 SPI模塊

SPI協(xié)議(Serial Peripheral Interface),即串行外圍設(shè)備接口,是一種高速全雙工的通信總線。SPI總線包含 4條總線,分別為 NSS、SCK、MOSI、MISO,F(xiàn)PGA SPI時(shí)序如圖3所示。從圖中可以看出,F(xiàn)PGA在時(shí)鐘的下降沿采集燈組的數(shù)據(jù),在上升沿發(fā)送數(shù)據(jù)。數(shù)據(jù)的傳輸是從低位開始,接收的燈組信號存到三組 16位寄存器 P0、P1、P2。P0、P1、P2的數(shù)據(jù)格式一樣,如圖4所示,分別表示不同的道路方向。G是綠燈信號,Y是黃燈信號,R是紅燈信號,下標(biāo)表示不同的形式,如左轉(zhuǎn)、右轉(zhuǎn)等。另有一組4位的寄存器YS用于存放黃閃數(shù)據(jù),當(dāng)處于黃閃狀態(tài)時(shí),YS寄存器的值以時(shí)鐘分頻模塊控制的時(shí)鐘頻率進(jìn)行 0/1交替改變,并通過 SPI發(fā)送至燈組驅(qū)動,從而控制燈組驅(qū)動進(jìn)入黃閃狀態(tài),SPI模塊如圖5所示。

4.2 時(shí)鐘分頻模塊

圖3 FPGA SPI時(shí)序圖

圖4 SPI發(fā)送和接收的數(shù)據(jù)格式

圖5 SPI模塊

時(shí)鐘分頻模塊相當(dāng)于整個(gè)電路的驅(qū)動模塊,所有沖突檢測模塊都是在時(shí)鐘分頻模塊提供的時(shí)鐘下工作。如圖6所示,輸入的系統(tǒng)時(shí)鐘 CLKIN被分頻為 BUSY、CHCK、ADR3、ADR2、ADR1、ADR0,頻率為62.5 Hz~2 kHz。分頻器是通過計(jì)數(shù)器實(shí)現(xiàn)的,計(jì)數(shù)的方式如式(1)所示[6],當(dāng)計(jì)數(shù)到波形翻轉(zhuǎn)時(shí)間點(diǎn)時(shí)將波形輸出取反。BUSY和CHCK的功能如表1所示,當(dāng)BUSY為 1時(shí),沖突檢測電路通過 SPI開始接收燈組狀態(tài)數(shù)據(jù),如果處于黃閃狀態(tài),則同時(shí)發(fā)送黃閃數(shù)據(jù)。ADR3~ADR0是ROM校驗(yàn)表的地址,可以尋址16個(gè)16位綠沖突矩陣數(shù)據(jù)。CLK4HZ是黃燈閃爍的頻率,RD信號是ROM的讀數(shù)據(jù)信號,頻率是4 kHz。由于RD讀信號和ADR地址信號不能同時(shí)跳變,否則數(shù)據(jù)將會不穩(wěn)定,從而讀不到正確的數(shù)據(jù),因此需要將RD信號與ADR0的地址錯開,如圖7所示,程序設(shè)計(jì)是通過16 kHz時(shí)鐘分頻得到4 kHz,但是在復(fù)位時(shí)計(jì)數(shù)器從1開始計(jì)數(shù),最后將4 kHz取反后輸出到RD信號。

圖6 時(shí)鐘分頻模塊

表1 BUSY和CHCK功能表

圖7 RD時(shí)序圖

4.3 沖突檢測模塊

綠沖突檢測模塊是本文設(shè)計(jì)的核心模塊,其檢測周期定為 4 ms。在檢測周期開始時(shí),先將 P0、P1、P2三燈組中的15路綠燈信號讀入8位寄存器G_SIG0、G_SIG1,其位置排列如圖8所示。綠沖突檢測就是尋找綠沖突矩陣數(shù)據(jù)中定義的同時(shí)點(diǎn)亮的綠燈對子,如果找到一個(gè)或一個(gè)以上的對子就判定發(fā)生了綠沖突。因此,尋找過程就是一個(gè)循環(huán)處理過程。首先判斷G_SIG0或G_SIG1中的 i位是否為 1(i為 0~14),如果 i為 1,說明 i位的綠燈亮;其次,把 G_SIG0或 G_SIG1中的 i位值清零。i位清零后,如果 G_SIG0或 G_SIG1中的值不為零,說明有與 Gi成對的綠燈對子存在。把這個(gè)數(shù)值與綠沖突矩陣數(shù)據(jù)中Gi對應(yīng)的數(shù)據(jù)相與,若結(jié)果不為零,說明有與 Gi成對但不允許同時(shí)點(diǎn)亮的綠燈對子存在,即存在綠沖突,循環(huán)處理結(jié)束,準(zhǔn)備輸出黃閃。如果結(jié)果為零,i加1,進(jìn)行下一輪比對處理。

按照沖突矩陣的數(shù)據(jù)格式,需將 G0~G15分別與第2節(jié)中描述的綠沖突矩陣數(shù)據(jù)的三塊數(shù)據(jù)進(jìn)行校驗(yàn),F(xiàn)PGA程序設(shè)計(jì)如圖9所示。在每次讀信號到來時(shí),F(xiàn)PGA讀入2字節(jié)數(shù)據(jù),隨后地址信號ADR加1計(jì)數(shù),地址 ADR 0~3的區(qū)域?yàn)榈谝粔K數(shù)據(jù),4~7的區(qū)域?yàn)榈诙K數(shù)據(jù),8~11的區(qū)域?yàn)榈谌龎K數(shù)據(jù)。 在滿足時(shí)序(BUSY為 0,CHCK為 1)與不黃閃的條件下,讀入的第一塊數(shù)據(jù)用于綠燈狀態(tài) G0~G7與自身的比對,第二塊數(shù)據(jù)用于綠燈狀態(tài)G0~G7與綠燈狀態(tài)G8~G14的比對,第三塊數(shù)據(jù)用于綠燈狀態(tài)G8~G14與自身的比對。如果比對處理結(jié)果判定為綠沖突,則將綠沖突臨時(shí)標(biāo)志置1,否則將臨時(shí)標(biāo)志清 0。

圖8 綠燈信號狀態(tài)圖

圖9 綠沖突檢測流程圖

4.4 黃閃延時(shí)判斷模塊

當(dāng)信號燈閃爍時(shí),每隔 250 ms就要改變一次狀態(tài),即0和 1的交替變化,這樣沖突臨時(shí)標(biāo)志必然也會變化, 從而導(dǎo)致錯誤判斷。 因此需要加入延時(shí)判斷,在BUSY上跳變的時(shí)候?qū)εR時(shí)標(biāo)志進(jìn)行判斷,若是1則計(jì)數(shù)器累積加1,否則清 0計(jì)數(shù)器。當(dāng)累計(jì)到 19時(shí)(BUSY周期 16 ms,即計(jì)數(shù)時(shí)間超過 300 ms),才可確認(rèn)為沖突信號,觸發(fā)黃閃信號,程序如圖10所示。

延時(shí)判斷必須在臨時(shí)標(biāo)志被清 0之前,從圖11的時(shí)序圖中可以看出,臨時(shí)標(biāo)志位變化是在 BUSY上升沿之前,清 0在 BUSY上升沿之后,因此延時(shí)判斷的觸發(fā)信號為BUSY的上升沿。

圖10 黃閃延時(shí)判斷流程圖

圖11 黃閃延時(shí)判斷時(shí)序圖

4.5 其他模塊

實(shí)際上,信號沖突檢測電路還包括紅綠沖突檢測、紅燈滅與綠燈滅檢測電路,這些電路在邏輯上相對簡單,本文不做描述。另外,利用 Xilinx FPGA的 IP核生成的ROM模塊以及RS232串口模塊在本文所列出的相關(guān)參考文獻(xiàn)中有詳細(xì)的介紹,這里也不再描述[7-8]。

5 仿真與測試

通過 Xilinx的 ISE開發(fā)軟件編寫Test Fixture測試文件對各個(gè)模塊進(jìn)行仿真測試,查看各個(gè)模塊的波形時(shí)序正確后,對頂層模塊進(jìn)行整體仿真。仿真結(jié)果表明,本設(shè)計(jì)時(shí)序邏輯正確,當(dāng) 2個(gè)燈組的綠燈狀態(tài)違反綠沖突矩陣數(shù)據(jù)定義時(shí)能正確檢測出沖突,進(jìn)而進(jìn)入黃閃。最后利用 STM32主控板和 FPGA開發(fā)板以及自己焊接的LED信號燈電路對程序進(jìn)行實(shí)際驗(yàn)證測試,如圖12所示。測試表明,信號燈在沒有沖突的時(shí)候能正常運(yùn)行,沖突時(shí)則進(jìn)入黃閃狀態(tài)。

圖12 硬件測試圖

6 結(jié)論

本文詳細(xì)介紹了基于FPGA的綠沖突檢測電路各個(gè)模塊的原理與設(shè)計(jì),經(jīng)過嚴(yán)密的時(shí)序分析以及 Verilog語言編程,實(shí)現(xiàn)了各個(gè)模塊的基本功能,并通過了功能仿真與實(shí)際的硬件測試。結(jié)果表明該系統(tǒng)可以正確檢測出各種綠信號沖突并立即做出處理,使得智能交通系統(tǒng)更加安全可靠。利用FPGA設(shè)計(jì)的功能模塊經(jīng)過編譯后生成實(shí)際的時(shí)序邏輯電路,更加穩(wěn)定可靠,而且后期還可以進(jìn)行功能更改與完善,方便維護(hù)。

[1]尹征琦,朱勁,劉智勇.綠沖突的智能保護(hù)及其實(shí)現(xiàn)[J].公路交通科技,1998,15(3):26-29.

[2]梁赫西,謝虎城,王建,等.基于 FPGA的智能車牌定位識別系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(11):32-35.

[3]高雨,葉煒,沈國江.多相位智能交通控制器的設(shè)計(jì)[J].江南大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,5(5):556-560.

[4]史忠科,黃輝先.交通控制系統(tǒng)導(dǎo)論[M].北京:科學(xué)出版社,2003.

[5]王錕,張衛(wèi)華,衛(wèi)立陽.基于綠間隔矩陣的信號配時(shí)計(jì)算方法研究及應(yīng)用[J].交通科技,2014(2):132-134.

[6]王水魚,馮曉靖.一種新型 delta-sigma小數(shù)分頻器的FPGA實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2013,32(5):25-27,31.

[7]徐文波,田耕.Xilinx FPGA開發(fā)實(shí)用教程(第二版)[M].北京:清華大學(xué)出版社,2012.

[8]劉東華.Xilinx系列 FPGA芯片 IP核詳解[M].北京:電子工業(yè)出版社,2013.

Design and implementation of signal conflict detection circuit based on FPGA

Yang Fulai,Sun Xufei,Li Shuo
(College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350108,China)

Road traffic signal controller with software control tends to lose its green conflict protection when it crashes.This paper presents a traffic signal conflict detection scheme of traffic signal controller according to the principles of green conflict matrix. Finally the system′s various functional modules were achieved in top-down design approach using FPGA.This system can independently detect green signal conflict,and handles it immediately.Simulation and practical test results show that the system runs stably and reliably and its timing assignments and program design are reasonable,which also improves the real-time performance of embedded systems.

green conflict;FPGA;green conflict matrix;check

TP277

A

1674-7720(2015)23-0023-04

楊福來,孫旭飛,李碩.基于 FPGA的信號燈沖突檢測電路的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2015,34(23):23-26.

2015-08-09)

楊福來(1990-),通信作者,男,在讀碩士研究生,主要研究方向:智能交通、嵌入式系統(tǒng)。E-mail:fulaiyang@163.com。

孫旭飛(1961-),男,碩士,副教授,主要研究方向:嵌入式系統(tǒng)、智能交通技術(shù)、電力線擴(kuò)頻載波技術(shù)。

李碩(1990-),男,在讀碩士研究生,主要研究方向:嵌入式系統(tǒng)與應(yīng)用。

猜你喜歡
沖突檢測綠燈校驗(yàn)
為什么紅燈停,綠燈行
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
獨(dú)立學(xué)院補(bǔ)考安排沖突檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
計(jì)算機(jī)應(yīng)用安全策略本體研究
計(jì)劃協(xié)同工作中的沖突檢測與消除算法研究
紅燈停,綠燈行
大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗(yàn)方法
鍋爐安全閥在線校驗(yàn)不確定度評定
一路綠燈 一路關(guān)愛
中國火炬(2010年5期)2010-07-25 07:48:00
棋牌| 江孜县| 长乐市| 咸宁市| 泰宁县| 彭阳县| 吉水县| 固原市| 临沂市| 特克斯县| 黄平县| 万荣县| 孝感市| 巩留县| 兰坪| 南靖县| 炎陵县| 蕲春县| 连江县| 法库县| 齐齐哈尔市| 大埔县| 汝城县| 莱西市| 丰镇市| 喀喇| 洪江市| 鹰潭市| 嵊州市| 浮山县| 玉溪市| 玛沁县| 无为县| 交城县| 蓬安县| 周口市| 沙雅县| 于都县| 婺源县| 炎陵县| 洛阳市|