《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于SoPC的視頻監(jiān)視器千兆網(wǎng)顯示接口設(shè)計
基于SoPC的視頻監(jiān)視器千兆網(wǎng)顯示接口設(shè)計
梁 藝,周衛(wèi)星
華南師范大學(xué) 物理與電信工程學(xué)院,廣東 廣州510006
摘要: 應(yīng)用SoPC和千兆以太網(wǎng)技術(shù)設(shè)計實現(xiàn)了視頻監(jiān)視器的千兆網(wǎng)顯示接口。通過該接口視頻監(jiān)視器可以完成數(shù)字視頻信號的遠(yuǎn)程接收和顯示。該設(shè)計利用Altera SoPC解決方案,將主要模塊集成在一片F(xiàn)PGA上,可以快速構(gòu)建千兆以太網(wǎng)系統(tǒng),提高系統(tǒng)的集成度與穩(wěn)定性。在數(shù)字遠(yuǎn)程視頻傳輸上,該設(shè)計充分利用了千兆網(wǎng)的特性,對比其他數(shù)字視頻傳輸方法,具有高速率、低成本以及分組數(shù)據(jù)的優(yōu)勢。
關(guān)鍵詞: PSoC 數(shù)字電視 Altera
Abstract:
Key words :
</a></a>

摘  要: 應(yīng)用SoPC和千兆以太網(wǎng)技術(shù)設(shè)計實現(xiàn)了視頻監(jiān)視器的千兆網(wǎng)顯示接口。通過該接口視頻監(jiān)視器可以完成數(shù)字視頻信號的遠(yuǎn)程接收和顯示。該設(shè)計利用Altera" title="Altera">Altera" title="Altera">Altera SoPC解決方案,將主要模塊集成在一片F(xiàn)PGA上,可以快速構(gòu)建千兆以太網(wǎng)系統(tǒng),提高系統(tǒng)的集成度與穩(wěn)定性。在數(shù)字遠(yuǎn)程視頻傳輸上,該設(shè)計充分利用了千兆網(wǎng)的特性,對比其他數(shù)字視頻傳輸方法,具有高速率、低成本以及分組數(shù)據(jù)的優(yōu)勢。
 關(guān)鍵詞: 千兆網(wǎng);視頻顯示接口;SoPC

  隨著數(shù)字電視技術(shù)的日益成熟,數(shù)字視頻傳輸系統(tǒng)已經(jīng)在各領(lǐng)域得到廣泛應(yīng)用。在如安防監(jiān)控等許多應(yīng)用環(huán)境中,都需要系統(tǒng)能將視頻數(shù)據(jù)遠(yuǎn)距離傳輸?shù)教囟ūO(jiān)視器,并要求視頻數(shù)據(jù)是非壓縮的,以保證運(yùn)動監(jiān)控圖像的質(zhì)量。數(shù)字視頻數(shù)據(jù)量大,對傳輸系統(tǒng)的帶寬有很高的要求。目前主流的解決方案是通過串行數(shù)字接口(SDI),在視頻流的發(fā)送接收端配備相應(yīng)的SDI接口或者轉(zhuǎn)接板卡,利用視頻同軸電纜傳輸視頻信號[1]。但是使用SDI接口的缺點(diǎn)是不能直接傳輸壓縮視頻信號,而且由于傳輸?shù)膬?nèi)容是非分組數(shù)據(jù),所以要為每路信號配備一條同軸電纜,布線成本較高。
   隨著技術(shù)成本的降低,千兆網(wǎng)的作用開始超越網(wǎng)絡(luò)主干網(wǎng)領(lǐng)域。它具備的高帶寬以及網(wǎng)絡(luò)兼容性使其在數(shù)字視頻傳輸領(lǐng)域上也受到了廣泛關(guān)注[2]。千兆網(wǎng)的傳輸介質(zhì)可以使用五類雙絞線,比起同軸電纜具有相當(dāng)?shù)某杀緝?yōu)勢,并且千兆網(wǎng)可以使數(shù)據(jù)傳輸網(wǎng)絡(luò)化,益于系統(tǒng)日后的維護(hù)管理。針對這個問題,本文設(shè)計了視頻監(jiān)視器的千兆網(wǎng)顯示接口,通過該接口可以利用千兆網(wǎng)完成數(shù)字視頻數(shù)據(jù)的遠(yuǎn)程傳輸。
1  千兆以太網(wǎng)
  以太網(wǎng)技術(shù)是廣泛應(yīng)用的網(wǎng)絡(luò)技術(shù),千兆以太網(wǎng)在兼容原有以太網(wǎng)技術(shù)的基礎(chǔ)上進(jìn)行了一系列改進(jìn),網(wǎng)絡(luò)數(shù)據(jù)傳輸速率得到大幅度提高。特別是IEEE802.3ab(1000Based-T)千兆網(wǎng)標(biāo)準(zhǔn)的出臺,將五類非屏蔽雙絞線應(yīng)用在千兆網(wǎng)中,使得網(wǎng)絡(luò)性能在原有布線基礎(chǔ)上獲得大幅度的提高[3]。如今千兆網(wǎng)已經(jīng)發(fā)展成為主流的網(wǎng)絡(luò)技術(shù),廣泛應(yīng)用在大中小型企事業(yè)單位。
  千兆網(wǎng)兼容了原以太網(wǎng)標(biāo)準(zhǔn)所規(guī)定的全部技術(shù)規(guī)范,其中包括CSMA/CD協(xié)議、以太網(wǎng)幀、全雙工、流量控制等。千兆網(wǎng)的標(biāo)準(zhǔn)化結(jié)構(gòu)包括介質(zhì)訪問控制(MAC)、物理編解碼(PCS)和物理介質(zhì)接入(PMA)三個主要部分。其中MAC模塊主要實現(xiàn)在全雙工模式下的流量控制和MAC幀的發(fā)送和接收功能等。PCS專門負(fù)責(zé)信道的編解碼、糾錯和擾碼等。PMA模塊的主要功能是實現(xiàn)數(shù)據(jù)在物理線路上串并\并串轉(zhuǎn)換[4]。在Altera的MegaCore IP庫中提供了可參數(shù)化的千兆以太網(wǎng)megacore解決方案——Triple Speed Ethernet MegaCore。它包括了支持千兆以太網(wǎng)的MAC模塊以及可選的1000Base-X PCS和PMA模塊,可以在無需外擴(kuò)物理層芯片的情況下實現(xiàn)光纖千兆網(wǎng)[5]。
2 總體方案設(shè)計
  顯示接口的整體結(jié)構(gòu)如圖1所示,主要組成部分包括千兆網(wǎng)物理層芯片、MAC模塊、CPU、LCD控制器以及片外存儲器等。可以看出,由于使用了片上可編程系統(tǒng)(SoPC),其中的大部分模塊都構(gòu)建在FPGA內(nèi)部,只留出少數(shù)引腳對外通信,硬件電路非常簡單。

  顯示接口的工作通過以下步驟實現(xiàn):
   (1)網(wǎng)絡(luò)視頻流首先通過網(wǎng)線傳到千兆網(wǎng)物理芯片,物理芯片對線對上的PAM-5幅度調(diào)制信號進(jìn)行A/D轉(zhuǎn)換、解碼并還原成125 MHz的8 bit數(shù)據(jù)流,并通過千兆位介質(zhì)獨(dú)立接口(GMII)傳輸?shù)組AC模塊。MAC模塊負(fù)責(zé)辨別幀的目的地址,對數(shù)據(jù)進(jìn)行CRC校驗。對檢驗合格的數(shù)據(jù)包拆解MAC幀頭幀尾,保留數(shù)據(jù)包中的有效數(shù)據(jù),并通過DMA單元將網(wǎng)絡(luò)數(shù)據(jù)緩存,發(fā)起接收中斷。
   (2)為了適合網(wǎng)絡(luò)傳輸,視頻發(fā)送端的ITU-656視頻流按照UDP協(xié)議被打包成網(wǎng)絡(luò)數(shù)據(jù)幀。MAC模塊在完成MAC幀數(shù)據(jù)的接收之后,還要由CPU進(jìn)一步解析UDP和IP數(shù)據(jù)包,緩存視頻數(shù)據(jù)到SDRAM中的顯示緩存區(qū)。通過幀緩存的形式可以很容易解決隔行掃描數(shù)據(jù)轉(zhuǎn)換為逐行掃描數(shù)據(jù)的問題,最大程度保證顯示內(nèi)容不失真。
   (3)通過自定義的LCD控制器實現(xiàn)數(shù)據(jù)顯示。LCD控制器負(fù)責(zé)讀取顯示緩存數(shù)據(jù),并產(chǎn)生LCD顯示時序信號,將數(shù)據(jù)發(fā)送到監(jiān)視器的液晶面板。自定義的LCD控制器是使用Verilog硬件描述語言設(shè)計的,并通過SoPC Builder的用戶自定義組件功能添加到系統(tǒng)中。
3  千兆以太網(wǎng)系統(tǒng)的構(gòu)建
   構(gòu)建千兆網(wǎng)系統(tǒng)必須包含硬件MAC、PCS和PMA這幾個模塊。在本系統(tǒng)中,PCS和PMA由片外的千兆網(wǎng)物理層芯片DP83865完成,MAC模塊則通過Altera的Triple Speed Ethernet核單獨(dú)實現(xiàn)。下面將千兆網(wǎng)分為以太網(wǎng)端和系統(tǒng)端兩部份來介紹系統(tǒng)的具體結(jié)構(gòu)。
3.1 以太網(wǎng)端結(jié)構(gòu)
   物理芯片在接收網(wǎng)絡(luò)信號之后,會將信號轉(zhuǎn)換為MAC幀格式的并行數(shù)據(jù),并通過提供的千兆位介質(zhì)獨(dú)立接口(GMII)與MAC模塊通信。MAC并不關(guān)心網(wǎng)絡(luò)信號如何接收如何轉(zhuǎn)換,只是負(fù)責(zé)接收幀格式的數(shù)據(jù)。DP83865提供了符合工業(yè)標(biāo)準(zhǔn)的GMII接口,它包含8 bit寬度Rx_D[7..0]和Tx_D[7..0]數(shù)據(jù)接口,通信的時鐘頻率為125 MHz,最高可以達(dá)到1 Gb/s的通信速率。
  系統(tǒng)對物理芯片的配置,通過MDIO接口實現(xiàn)。MDIO是一個2線的管理總線接口,只包含MDC同步時鐘和MDIO串行數(shù)據(jù)收發(fā)信號。Triple Speed Ethernet核的內(nèi)部包含有MDIO主控制器,物理芯片的32個寄存器可以被映射到MAC模塊內(nèi)部寄存器。只需要通過系統(tǒng)總線就可以完成對物理層芯片的控制,簡化了開發(fā)工作。
3.2 系統(tǒng)端結(jié)構(gòu)
      這部分主要涉及到處理器單元與千兆網(wǎng)底層通信的問題,具體結(jié)構(gòu)如圖2所示。MAC模塊掛接在Altera Avalon總線上,CPU通過Avalon-MM總線訪問其內(nèi)部寄存器。MAC內(nèi)部設(shè)置了收發(fā)FIFO來緩存數(shù)據(jù)流,并提供了標(biāo)準(zhǔn)的Avalon-ST流接口用作數(shù)據(jù)流收發(fā)。為了避免因數(shù)據(jù)收發(fā)任務(wù)過多而占用CPU,采用了直接存儲器訪問(DMA)單元來接收網(wǎng)絡(luò)數(shù)據(jù)。Altera的SG-DMA專門提供了Avalon-ST流接口用做數(shù)據(jù)流傳輸,可以工作在存儲器到流接口、流接口到存儲器以及存儲器之間三種模式下。
   圖2所示的兩個SG-DMA,一個是數(shù)據(jù)流發(fā)送Tx SG-DMA,另一個是數(shù)據(jù)流接收Rx SG-DMA。兩部分并行工作實現(xiàn)千兆網(wǎng)的全雙工工作模式。圖中的命令字存儲器是SG-DMA的操作指令緩存區(qū),CPU可以提前將SG-DMA要完成的任務(wù)通過命令字的形式寫入命令字存儲器中。SG-DMA在完成當(dāng)前任務(wù)后,會自動提取命令字開始新的任務(wù),減少了CPU對DMA的訪問次數(shù)。由于命令字存儲器與網(wǎng)絡(luò)數(shù)據(jù)緩存區(qū)都比較小,將其設(shè)置為小容量的片內(nèi)RAM,避免過多模塊訪問SDRAM帶來的系統(tǒng)總線沖突問題。

3.3 千兆網(wǎng)初始化與數(shù)據(jù)接收
  在硬件系統(tǒng)構(gòu)建完畢之后,需要配置各模塊內(nèi)部寄存器,初始化完成之后才能正常工作。訪問寄存器的方法非常簡單,各寄存器單元都已經(jīng)映射成了存儲器映射寄存器,只需要讀寫映射的存儲器單元即可。對各寄存器的配置,利用了Altera提供的HAL底層驅(qū)動程序。初始化操作的程序流程如圖3所示。

  在接收網(wǎng)絡(luò)數(shù)據(jù)時,為保證傳輸?shù)膶崟r性,系統(tǒng)與視頻流發(fā)送端建立起非連接的數(shù)據(jù)傳輸。數(shù)據(jù)同步信息已經(jīng)包含在視頻數(shù)據(jù)流中,系統(tǒng)的主要任務(wù)只是負(fù)責(zé)接收網(wǎng)絡(luò)數(shù)據(jù),恢復(fù)視頻數(shù)據(jù)流。而視頻數(shù)據(jù)是以UDP協(xié)議傳輸?shù)?,因此網(wǎng)絡(luò)數(shù)據(jù)被接收之后,緩存區(qū)內(nèi)存儲的有效數(shù)據(jù)即是IP數(shù)據(jù)報文,通過匹配IP數(shù)據(jù)包頭的IP地址可以判斷數(shù)據(jù)包是否正確。對于符合本地地址的IP數(shù)據(jù)包,CPU可以根據(jù)IP與UDP協(xié)議的數(shù)據(jù)結(jié)構(gòu)直接提取其中的有效數(shù)據(jù),最終獲取的數(shù)據(jù)就是有效的視頻數(shù)據(jù)。
4  圖像顯示模塊
4.1 總體構(gòu)架

  顯示模塊的主要工作是獲取有效的視頻數(shù)據(jù),并最終顯示在顯示面板上。圖4是顯示模塊的具體結(jié)構(gòu)示意圖。在視頻數(shù)據(jù)獲取的過程中,同樣采用了SG-DMA模塊,它具備的流接口更適合模塊間連續(xù)數(shù)據(jù)流的傳輸。而LCD控制器方面,則通過定制用戶自定義組件功能來實現(xiàn)。
  SG-DMA通過Avalon-MM主接口訪問位于SDRAM中的顯示緩存區(qū),提取緩存區(qū)數(shù)據(jù),并以數(shù)據(jù)流的形式通過Avalon-ST流接口發(fā)給LCD控制器。完成一項任務(wù)之后,再通過讀取片內(nèi)RAM存放的命令字,提取下個傳輸任務(wù)的起始地址和長度等參數(shù)。因為顯示緩存區(qū)的位置是固定的,設(shè)置的命令字內(nèi)容都相同,確保DMA提取的顯示數(shù)據(jù)傳輸不間斷。
4.2 TFT LCD控制器核
  LCD控制器按功能可以劃分為3個模塊:片內(nèi)寄存器模塊、異步FIFO模塊和LCD時序發(fā)生器。由于Avalon總線與LCD控制器工作在不同的時鐘域,如果直接連接會使得系統(tǒng)工作不穩(wěn)定。利用異步FIFO作為緩存可以彌補(bǔ)模塊兩邊時鐘不同步的差別。同時在異步FIFO模塊的系統(tǒng)端用almost full和almost empty兩個信號組成流控制信號Ready來控制Avalon-ST接口的數(shù)據(jù)流傳輸。
  寄存器模塊是自定義組件中必不可少的內(nèi)容,它可以讓系統(tǒng)對LCD模塊進(jìn)行各種功能的設(shè)置,例如設(shè)置顯示分辨率、LCD的各類時序參數(shù)等,同時也可以向系統(tǒng)反饋所需的狀態(tài)信息。CPU可以通過Avalon-MM總線來配置這些寄存器,模塊內(nèi)部也可以按照各種需要直接訪問或修改寄存器內(nèi)容。自定義寄存器的內(nèi)容如表1所示。

  最后的效果測試中,通過交叉千兆網(wǎng)雙絞線,將一臺帶有千兆網(wǎng)卡的PC主機(jī)與系統(tǒng)相連,測試數(shù)據(jù)由主機(jī)的視頻采集卡采集攝像頭得到。測試時,主機(jī)上的軟件程序?qū)⒁曨l信號打包發(fā)送到網(wǎng)絡(luò)。系統(tǒng)端接收網(wǎng)絡(luò)數(shù)據(jù),將數(shù)據(jù)發(fā)送到顯示面板,測試的效果清晰。雖然在網(wǎng)絡(luò)傳輸時,數(shù)據(jù)幀頭幀尾等同步字信息占去一部分的網(wǎng)絡(luò)帶寬,但由于串行ITU-656數(shù)字視頻速率一般采用270 Mb/s,而千兆網(wǎng)的速率達(dá)到1 Gb/s,還是可以滿足信號傳輸?shù)膶崟r性。
  本設(shè)計通過采用Altera FPGA器件,結(jié)合SoPC設(shè)計方法,為視頻監(jiān)視器設(shè)備實現(xiàn)了一個可以接收遠(yuǎn)程數(shù)字視頻信號的千兆網(wǎng)顯示接口。利用千兆網(wǎng)來實現(xiàn)視頻信號傳輸,提高了信號的傳輸速率。如今千兆網(wǎng)接口已經(jīng)成為計算機(jī)系統(tǒng)的主流網(wǎng)絡(luò)接口,使得該系統(tǒng)的通用性更強(qiáng)。由于采用SoPC解決方案,降低了電路復(fù)雜度,同時也降低了系統(tǒng)的硬件成本,并且千兆網(wǎng)使用雙絞線作為傳輸介質(zhì),這也明顯小于使用同軸電纜系統(tǒng)的成本。
參考文獻(xiàn)
[1] 蘇建,林水生.基于FPGA的SDI接口設(shè)計[J].中國有線電視,2005.
[2] STEGER C,ULRICH M,WIEDEMANN Ch.Machine vision algorithms and applications[M].Wiley-VCH,2007.
[3] 丁鐵夫,劉超,楊磊,等.基于千兆以太網(wǎng)的實時視頻傳輸
     系統(tǒng)設(shè)計[J].網(wǎng)絡(luò)與通信,2008.
[4] 詹俊鵬,李鵬.基于Altera FPGA的千兆以太網(wǎng)實現(xiàn)方案
     [J].電子設(shè)計工程,2009.
[5] Altera.Triple Speed Ethernet User Guide.Version 9.0,2009.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。