數(shù)字網(wǎng)絡(luò)視頻監(jiān)控器中的多路轉(zhuǎn)接邏輯的設(shè)計(jì)與實(shí)現(xiàn)
摘要: 本文主要介紹在視頻監(jiān)控板中多路視頻信號(hào)輸入情況下的數(shù)據(jù)緩存、信號(hào)格式轉(zhuǎn)換的設(shè)計(jì),并用Altera的Cyclone器件實(shí)現(xiàn)的整個(gè)過程。包括簡單介紹視頻監(jiān)控器電路板的原理,此轉(zhuǎn)接邏輯在系統(tǒng)中的作用和地位,并詳細(xì)介紹了此邏輯用FPGA設(shè)計(jì)實(shí)現(xiàn)的過程。
隨著科技的日新月異,視頻監(jiān)控市場(chǎng)也得到了飛速發(fā)展。視頻監(jiān)控以其直觀、方便、信息內(nèi)容豐富而廣泛應(yīng)用于許多場(chǎng)合。近年來,隨著互聯(lián)網(wǎng)的大范圍普及,以及計(jì)算機(jī)、網(wǎng)絡(luò)以及圖象處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控技術(shù)也有長足的發(fā)展。視頻監(jiān)控已經(jīng)滲透到教育、政府、娛樂場(chǎng)所、醫(yī)院、酒店、運(yùn)動(dòng)場(chǎng)館、城市治安等多種領(lǐng)域,視頻監(jiān)控服務(wù)器被稱為繼手機(jī)以后另外一個(gè)極具市場(chǎng)開發(fā)前景的消費(fèi)電子產(chǎn)品。
數(shù)字網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器主要完成從攝像頭獲取的模擬信號(hào)到數(shù)字化壓縮后送到網(wǎng)絡(luò)的功能,其原理框圖如圖1所示。
圖1 數(shù)字網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器原理框圖
由圖1所示,監(jiān)控器電路板主要由A/D芯片,F(xiàn)PGA多路轉(zhuǎn)接芯片,壓縮芯片,CPU等組成。其中本文要介紹的多路轉(zhuǎn)接邏輯的FPGA實(shí)現(xiàn)位于A/D芯片和壓縮芯片之間,由于FPGA內(nèi)部含有PLL模塊,所以跟FPGA連接的TW2804芯片的27MHz輸入時(shí)鐘可以由FPGA產(chǎn)生。
這里選用Altera的Cyclone系列的EP1C6Q240C8,其內(nèi)部有90k的存儲(chǔ)容量,6kLEBS,2個(gè)PLL,在后面的設(shè)計(jì)介紹中,將會(huì)講到整個(gè)設(shè)計(jì)用到了64k的存儲(chǔ)容量,1個(gè)PLL,大約4—5k左右的LEBS,所以選用此低成本的FPGA,可以完成此設(shè)計(jì),而且基本上充分用到了內(nèi)部的大多數(shù)資源,加上此芯片的引腳有240個(gè),能滿足外面的引腳連接,所以Altera的EP1C6Q240C8成為此邏輯設(shè)計(jì)中最佳的選擇器件。
如圖1所示,A/D芯片接受來自四個(gè)攝像頭的四路模擬視頻信號(hào),這里采用Techwell公司的TW2804芯片,此芯片支持四路視頻模擬信號(hào)的輸入,輸出是數(shù)字ITU-R BT.656格式的信號(hào),時(shí)鐘是27MHz。D1、D2、D3、D4信號(hào)的時(shí)序圖如圖2所示。
圖2 ITU-R BT.656格式信號(hào)時(shí)序圖
其中EAV和SAV分別為行尾和行頭標(biāo)志信號(hào),他們中間是行與行之間的空白信號(hào),SAV后面的VALID有效時(shí)的信號(hào)為1440bytes的d1格式的有效視頻信號(hào),總的這些信號(hào)加起來是視頻信號(hào)的一行信號(hào),一幀視頻信號(hào)包括576行這樣的行信號(hào),也就是有效的這種格式的一幀輸出視頻信號(hào)為1440*576bytes的信號(hào),由于每一行信號(hào)中由兩個(gè)bytes來表示一個(gè)像素,所以這種d1格式一幀的像素為720*576分辨率。
FPGA轉(zhuǎn)接邏輯要實(shí)現(xiàn)的功能是要在顯示終端上同時(shí)顯示四路的視頻信號(hào)。也就是要顯示如圖3所示的視頻信號(hào)。
由于要在一個(gè)顯示終端上同時(shí)顯示四路信號(hào),所以原來每一路信號(hào)的720*576分辨率要轉(zhuǎn)換為原來1/4的分辨率,即cif的格式,cif格式是352*288的分辨率,這樣四路cif格式的信號(hào)組合成如圖3所示的一個(gè)幀輸出到終端顯示出來。
因?yàn)樵诮K端顯示上是要求四路視頻信號(hào)同步輸出的,也就是不允許出現(xiàn)其中一路信號(hào)已經(jīng)在顯示器上顯示出來了,但另外一路信號(hào)還沒有顯示出來,也就是出現(xiàn)畫面上一部分是黑屏的情況,所以在這種情況下,需要把四路不同的視頻信號(hào)先用FPGA在SDRAM中緩存起來,當(dāng)每一路信號(hào)都在SDRAM中都至少存滿一幀時(shí)就可以同步讀出,并通過FPGA內(nèi)部緩存組成如圖3所示的幀格式,然后輸出給壓縮芯片壓縮后由處理器控制輸出至網(wǎng)絡(luò),這里的壓縮芯片選的是VWEB公司的VW2010。
圖3 顯示終端視頻信號(hào)格式
至此,F(xiàn)PGA要實(shí)現(xiàn)的功能已經(jīng)非常清晰,首先把輸入的四路d1格式的信號(hào)分別轉(zhuǎn)換成四路cif格式的信號(hào),然后把這四路信號(hào)分別緩存在SDRAM中,當(dāng)SDRAM中每一路信號(hào)都至少存滿一幀時(shí),同步讀出,讀出SDRAM到FPGA中后,經(jīng)過格式的重新組合,最后組成如圖3所示的信號(hào)格式輸出。其中數(shù)據(jù)在SDRAM中的緩存控制是最重要也是最復(fù)雜的環(huán)節(jié)。下面詳細(xì)介紹此FPGA的邏輯設(shè)計(jì)與實(shí)現(xiàn)。
由上面的介紹可知,此FPGA主要有三方面的接口,與TW2804的輸入接口,與SDRAM的緩存接口,與VW2010的輸出接口。所以FPGA的內(nèi)部邏輯大致可以設(shè)計(jì)為如圖4所示。
圖4 FPGA內(nèi)部邏輯結(jié)構(gòu)框圖
輸入格式轉(zhuǎn)換模塊主要是完成四路信號(hào)從d1到cif格式的轉(zhuǎn)換,即從原來的720*576像素的分辨率轉(zhuǎn)換為352*288像素的分辨率。其轉(zhuǎn)換過程是把一幀中偶數(shù)行的數(shù)據(jù)全部去掉,每一行中按像素的順序一個(gè)隔一個(gè)的去掉,最后保留的數(shù)據(jù)就是原來1/4的數(shù)據(jù)。這個(gè)過程比較簡單,通過設(shè)計(jì)兩個(gè)行列計(jì)數(shù)器就能實(shí)現(xiàn)。其仿真圖如圖5所示。
圖5 d1到cif格式轉(zhuǎn)換的簡單仿真示意圖
圖5所示為在奇數(shù)行時(shí)數(shù)據(jù)一個(gè)空一個(gè)的有效,在一行讀完后,下一行就都設(shè)為無效。
接下來是內(nèi)部輸入緩沖模塊,此模塊用來控制與SDRAM控制相連接和進(jìn)行數(shù)據(jù)緩存控制的模塊。其內(nèi)部邏輯圖如圖6所示。
圖6 FPGA內(nèi)部緩沖與內(nèi)部SDRAM控制器的連接邏輯圖
下面給出對(duì)此次設(shè)計(jì)以后可以擴(kuò)展和改進(jìn)的功能。
首先,因?yàn)檫@是四路的多路轉(zhuǎn)換緩沖,所以直接把它們固定組合起來送至網(wǎng)絡(luò)顯示終端。如果需要支持更多路的視頻信號(hào)輸入進(jìn)行多路轉(zhuǎn)換,例如輸入信號(hào)是8路或16路,那么送入網(wǎng)絡(luò)的時(shí)候就有一個(gè)組合的問題,即在顯示器上四幅圖像最終顯示視頻輸入的哪四幅。這在實(shí)際情況下也是經(jīng)常出現(xiàn)的情況,例如在某個(gè)建筑物中安裝了8個(gè)攝像頭,在白天的情況下可能要監(jiān)視樓道內(nèi)的情況,而到晚上可能要監(jiān)視樓外門口的情況,這就需要在FPGA中進(jìn)行一個(gè)選擇,所以,此時(shí)可以在FPGA中加入一個(gè)I2C從模塊,通過此模塊可以與處理器通信,在FPGA中設(shè)置一些寄存器,通過由I2C送來的不同的寄存器配置指令,就可以實(shí)現(xiàn)顯示器上圖像的實(shí)時(shí)切換。
其次,由于Cyclone系列的產(chǎn)品存儲(chǔ)容量比較有限,如果要增加到16路這樣的規(guī)模,輸入輸出緩沖的存儲(chǔ)容量必將不夠,所以此時(shí)可以考慮用Cyclone2系列的產(chǎn)品。
另外,如果以后要完成路數(shù)比較多的轉(zhuǎn)接,可以在監(jiān)控器板上多加幾塊TW2804和VW2010芯片,這樣就需要FPGA的輸入輸出引腳要足夠多,而EP1C6Q240C8這樣的FPGA芯片有240個(gè)引腳,足夠擴(kuò)展需要。
總之,在這樣的轉(zhuǎn)接邏輯中用到Altera的Cyclone系列低成本的FPGA產(chǎn)品,充分利用了其現(xiàn)有的內(nèi)部資源,而且價(jià)格也是非常的易于接受,是非常理想的選擇。
本次設(shè)計(jì)項(xiàng)目是作者年初在龍芯產(chǎn)業(yè)化研發(fā)中心作客座研究生時(shí)獨(dú)立負(fù)責(zé)設(shè)計(jì)并實(shí)現(xiàn)的,其中此次視頻監(jiān)控器的CPU用的是龍芯2號(hào),此轉(zhuǎn)接邏輯已成功設(shè)計(jì)完成。
評(píng)論