一種基于FPGA的多路視頻通道控制系統(tǒng)設(shè)計(jì)
視頻監(jiān)控以其直觀、方便、信息內(nèi)容豐富而廣泛應(yīng)用于許多場合。視頻監(jiān)控成為人們生活中不可缺少的技術(shù)。在一些危險(xiǎn)場所,用視頻監(jiān)控代替人工監(jiān)視,可以保證人們的生命安全。鑒于一路視頻的視野范圍有限,要充分收集目標(biāo)的信息,就需要有多路視頻來對同一個物體在不同方位進(jìn)行監(jiān)控。因此需要有一個良好的控制手段,確保多路視頻控制穩(wěn)定,可靠。針對織布機(jī)告警系統(tǒng)的需求,提出一種基于FPGA的多路視頻通道控制系統(tǒng),本系統(tǒng)設(shè)計(jì)利用FPGA間接控制2塊MAX4312選通所需要的視頻通道,實(shí)現(xiàn)各個視頻通道間相互切換。根據(jù)開關(guān)控制信號的設(shè)計(jì)思想在FPGA中對撥動開關(guān)輸入信號做去抖動處理,然后對不同的開關(guān)操作進(jìn)行編碼,最后將信號送給DSP進(jìn)行處理。
1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)總體結(jié)構(gòu)如圖1所示。在1臺工業(yè)織布機(jī)上安裝了16個CCD圖像傳感器對布匹進(jìn)行圖像監(jiān)控,通過2片MAX4312選擇16路圖像視頻信號中的一路,經(jīng)可編程視頻輸入器件SAA7111處理后從VP0輸出數(shù)字圖像信號。同時SAA7111輸出相應(yīng)的行、場同步信號HS,VS以及與HS鎖定的時鐘信號LLC、LLC2,利用這些信號在EP3C25F324C8中對圖像進(jìn)行預(yù)處理。然后將處理后的圖像通過PPI口送給BF561中進(jìn)行算法處理,最后將處理結(jié)果送給報(bào)警和狀態(tài)指示裝置,實(shí)現(xiàn)織布機(jī)告警功能。為了使圖像監(jiān)控更方便,該系統(tǒng)設(shè)計(jì)增添了電平撥動開關(guān)和脈沖撥動開關(guān)。電平開關(guān)使輸入圖像停止切換,固定于其中一路視頻輸人圖像。脈沖開關(guān)可以左右撥動,每次向左或向右撥動都會產(chǎn)生一個很短的上升沿脈沖,同時圖像向前或向后進(jìn)行切換,實(shí)現(xiàn)手動選擇視頻輸入通道的功能。
2 軟件模塊設(shè)計(jì)
2.1 開關(guān)控制信號
實(shí)際工程中,BF56l連接在FPGA上的PF引腳比較少。為了節(jié)約資源,只通過BF561中的BF9來識別2個撥動開關(guān)的動作。因此首先需要將2個撥動開關(guān)輸入信號在FPGA中進(jìn)行處理整合,得到合適的信號。
本系統(tǒng)開關(guān)控制信號的設(shè)計(jì)思想:由于設(shè)計(jì)這個信號的目的是識別開關(guān)控制動作。因此,只要任何一個開關(guān)發(fā)生了動作就需要產(chǎn)生一個脈沖。如果只有脈沖信號就只能知道開關(guān)發(fā)生了動作,而不知道是哪個開關(guān)發(fā)生了什么動作。所以,要識別具體是哪個開關(guān)發(fā)生了什么動作就必須配合雙口RAM中的數(shù)據(jù)進(jìn)行解碼。該系統(tǒng)設(shè)計(jì)的脈沖持續(xù)時間對BF561來說并不重要,只要BF561能識別這個脈沖即可。由于系統(tǒng)中的2個撥動開關(guān),一個是電平撥動開關(guān),另一個是脈沖撥動開關(guān),因此,只要根據(jù)電平撥動開關(guān)的動作制作相應(yīng)的脈沖信號,再用這個信號與脈沖撥動開關(guān)產(chǎn)生的原始信號邏輯相與,就能得到所需要的目的信號。
由于撥動開關(guān)是機(jī)械觸點(diǎn),當(dāng)其斷開、閉合時會有相應(yīng)的前沿、后沿抖動,為了使每次動作都只做一次響應(yīng),就必須對原始開關(guān)信號做去抖動處理。抖動信號可以分為2種:一種是時間很短的干擾信號,如高頻毛刺;另一種是時間較長的干擾信號,如開關(guān)抖動。這里的撥動開關(guān)都是人為操作,因此每次觸發(fā)的時間都不會很短,一般小于10 Hz。根據(jù)上述分析開關(guān)抖動信號屬于后一種。因此在每次開關(guān)操作后,對其產(chǎn)生的信號進(jìn)行連續(xù)采樣,如果每次采樣都是低電平或者都是高電平,就認(rèn)為此信號不是抖動,確實(shí)開關(guān)狀態(tài)發(fā)生了變化。整個設(shè)計(jì)過程使用Verilog硬件描述語言編寫,然后在QuartusⅡ平臺上編譯,并采用SignalTapⅡLogic Arlalvzer對信號采樣分析,調(diào)試通過后連同其他程序一起燒寫進(jìn)FPGA的配置器件EPCSl6中。圖2~圖4分別是各個開關(guān)動作去抖動前和去抖動后的實(shí)時信號采樣圖。去抖動模塊中的部分代碼如下:
評論