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

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

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

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

  在接收網(wǎng)絡(luò)數(shù)據(jù)時(shí),為保證傳輸?shù)膶?shí)時(shí)性,系統(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)存儲(chǔ)的有效數(shù)據(jù)即是IP數(shù)據(jù)報(bào)文,通過(guò)匹配IP數(shù)據(jù)包頭的IP地址可以判斷數(shù)據(jù)包是否正確。對(duì)于符合本地地址的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ù)獲取的過(guò)程中,同樣采用了SG-DMA模塊,它具備的流接口更適合模塊間連續(xù)數(shù)據(jù)流的傳輸。而LCD控制器方面,則通過(guò)定制用戶自定義組件功能來(lái)實(shí)現(xiàn)。
  SG-DMA通過(guò)Avalon-MM主接口訪問(wèn)位于SDRAM中的顯示緩存區(qū),提取緩存區(qū)數(shù)據(jù),并以數(shù)據(jù)流的形式通過(guò)Avalon-ST流接口發(fā)給LCD控制器。完成一項(xiàng)任務(wù)之后,再通過(guò)讀取片內(nèi)RAM存放的命令字,提取下個(gè)傳輸任務(wù)的起始地址和長(zhǎng)度等參數(shù)。因?yàn)轱@示緩存區(qū)的位置是固定的,設(shè)置的命令字內(nèi)容都相同,確保DMA提取的顯示數(shù)據(jù)傳輸不間斷。
4.2 TFT LCD控制器核
  LCD控制器按功能可以劃分為3個(gè)模塊:片內(nèi)寄存器模塊、異步FIFO模塊和LCD時(shí)序發(fā)生器。由于Avalon總線與LCD控制器工作在不同的時(shí)鐘域,如果直接連接會(huì)使得系統(tǒng)工作不穩(wěn)定。利用異步FIFO作為緩存可以彌補(bǔ)模塊兩邊時(shí)鐘不同步的差別。同時(shí)在異步FIFO模塊的系統(tǒng)端用almost full和almost empty兩個(gè)信號(hào)組成流控制信號(hào)Ready來(lái)控制Avalon-ST接口的數(shù)據(jù)流傳輸。
  寄存器模塊是自定義組件中必不可少的內(nèi)容,它可以讓系統(tǒng)對(duì)LCD模塊進(jìn)行各種功能的設(shè)置,例如設(shè)置顯示分辨率、LCD的各類時(shí)序參數(shù)等,同時(shí)也可以向系統(tǒng)反饋所需的狀態(tài)信息。CPU可以通過(guò)Avalon-MM總線來(lái)配置這些寄存器,模塊內(nèi)部也可以按照各種需要直接訪問(wèn)或修改寄存器內(nèi)容。自定義寄存器的內(nèi)容如表1所示。

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