桂 丹,喻宗杰
(1.武漢軟件工程職業(yè)學(xué)院 湖北 武漢 430205;2.烽火通信科技股份有限公司 湖北 武漢 430074)
隨著人們安全意識(shí)的不斷提高,對(duì)現(xiàn)代化視頻監(jiān)控技術(shù)也有了進(jìn)一步要求,先進(jìn)的視頻、音頻、數(shù)據(jù)的綜合傳輸設(shè)備得到廣泛的應(yīng)用,因此,對(duì)綜合業(yè)務(wù)傳輸性能的要求也越來(lái)越高。如何在控制成本的基礎(chǔ)上,開(kāi)發(fā)性能穩(wěn)定、信號(hào)完整的綜合傳輸系統(tǒng),是廣大傳輸設(shè)備開(kāi)發(fā)工程師需要思考的問(wèn)題。目前,在成本有限的情況下,市面上所見(jiàn)的綜合業(yè)務(wù)傳輸設(shè)備大多有性能不太穩(wěn)定、傳輸類型單一、容易亂碼、斷網(wǎng)等缺陷。比如,僅可收發(fā)視頻信號(hào),沒(méi)有語(yǔ)音信號(hào),或是數(shù)據(jù)信息有缺失、畫(huà)面抖動(dòng)、時(shí)斷時(shí)續(xù)的現(xiàn)象。因此,做到視頻、數(shù)據(jù)、語(yǔ)音等多種信號(hào)的同步、穩(wěn)定疊加,對(duì)于整個(gè)綜合業(yè)務(wù)傳輸設(shè)備在成本控制的情況下,產(chǎn)品還有很大的提升空間。
在壓縮工程應(yīng)用成本的基礎(chǔ)上,對(duì)視頻、數(shù)據(jù)、語(yǔ)音等信號(hào)的安全、有效傳輸將是本文的研究重點(diǎn)。為了實(shí)現(xiàn)對(duì)綜合業(yè)務(wù)的準(zhǔn)確傳輸,在做了詳盡的需求分析基礎(chǔ)上,提出并設(shè)計(jì)了一種基于FPGA的多路視頻收發(fā)系統(tǒng)(以下簡(jiǎn)稱“收發(fā)系統(tǒng)”)的硬件及軟件設(shè)計(jì)方案。經(jīng)多次測(cè)試及工程實(shí)際應(yīng)用表明,該系統(tǒng)能很好地完成綜合業(yè)務(wù)的有效傳輸[1-2]。
整個(gè)系統(tǒng)由兩端設(shè)備組成,兩端構(gòu)成基本相同。習(xí)慣上,通常把視頻信號(hào)輸入的一端稱發(fā)送端,另一端則為接收端。發(fā)送端由攝像頭采集視頻信號(hào),經(jīng)AD轉(zhuǎn)換模塊,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)處理的數(shù)字視頻信號(hào)及其他數(shù)據(jù)信號(hào)在FPGA中進(jìn)行編碼操作。其中,部分控制信號(hào)由外處理器給出指令。FPGA編碼處理后的信號(hào),由光模塊經(jīng)千兆以太網(wǎng)傳輸至接收端。在接收端,F(xiàn)PGA負(fù)責(zé)將千兆以太網(wǎng)傳輸過(guò)來(lái)的編碼數(shù)據(jù)進(jìn)行解碼,部分指令仍由外處理器給出。處理好的數(shù)字視頻及其他數(shù)據(jù)經(jīng)DA轉(zhuǎn)換模塊,將數(shù)字信號(hào)轉(zhuǎn)化為可識(shí)別的模擬信號(hào),最終在顯示器上顯示出來(lái)。圖1給出“收發(fā)系統(tǒng)”總體框圖。
本著節(jié)約成本、降低功耗、有效與其他設(shè)備通用的原則,整個(gè)系統(tǒng)硬件采用基板和背板的形式,這也是目前電子、通信行業(yè)最為流行的一種設(shè)備安裝模式。設(shè)備核心為基板,負(fù)責(zé)完成高速數(shù)據(jù)復(fù)分接和光通道的建立,提供各種功能擴(kuò)展接口,同時(shí)也提供最多4個(gè)視頻通道[3],剩余6路視頻信號(hào)則在視頻擴(kuò)展板內(nèi)完成通信。在背板的基礎(chǔ)上,插接各種功能的基板、擴(kuò)展板。輔助通道擴(kuò)展板通過(guò)背板與基板實(shí)現(xiàn)電源和信號(hào)連接,輔助通道擴(kuò)展盤(pán)同時(shí)完成信號(hào)的中繼。將信號(hào)的傳輸分為各個(gè)單板來(lái)實(shí)現(xiàn)。此種結(jié)構(gòu),簡(jiǎn)潔、大方、操作便利、便于糾錯(cuò)。
圖1 收發(fā)系統(tǒng)總體框圖Fig.1 The overall block diagram of the transceiver system
由于收發(fā)兩端的結(jié)構(gòu)基本一致,這里僅發(fā)送端為例,概述系統(tǒng)核心板的硬件設(shè)計(jì)。發(fā)送端主要由基板、視頻擴(kuò)展板、輔助通道擴(kuò)展板1、輔助通道擴(kuò)展板2等部分組成。其中以基板為核心,發(fā)送端硬件由FPGA主芯片、CPLD芯片、光模塊及其他一些外圍電路組成。FPGA主芯片負(fù)責(zé)處理十路視頻信號(hào)復(fù)分接及片選信號(hào)的復(fù)用,網(wǎng)管送信號(hào)入FPGA后,由3-8譯碼器翻譯出5種情況,分別送至4塊CPLD芯片和本身的FPGA,通過(guò)填報(bào)不同的網(wǎng)管信息,上報(bào)各個(gè)芯片的運(yùn)轉(zhuǎn)情況。最終,由千兆收發(fā)器Tlk2521串行編碼,經(jīng)1.25 G光模塊發(fā)送至接收端。
時(shí)鐘方面,晶振選用67.5 M,以67.5 M作為基本速率。Tlk2521并行處理的速率為67.5 M,正向光傳輸信號(hào)的速率為1.25 G。發(fā)射端的基本時(shí)鐘用當(dāng)?shù)貢r(shí)鐘,接收端用還回時(shí)鐘。收端送來(lái)的反向數(shù)據(jù),由時(shí)鐘提取電路提取出時(shí)鐘和數(shù)據(jù)之后,送入FPGA進(jìn)行同步處理[4]。其結(jié)構(gòu)圖如圖2所示。同步處理過(guò)程,將在FPGA的邏輯設(shè)計(jì)中進(jìn)行詳細(xì)描述。
圖2 發(fā)送端硬件結(jié)構(gòu)圖Fig.2 The sending end hardware structure chart
視頻信號(hào)采用8 bit量化方式,以13.5 M進(jìn)行采樣。通過(guò)四路、四路、二路復(fù)接的形式送入FPGA中,再通過(guò)FPGA整合成10路16 bit的形式,由Tlk2521處理后送到光模塊中。同時(shí),數(shù)據(jù)、音頻、網(wǎng)管等輔助業(yè)務(wù)的數(shù)據(jù)則由單獨(dú)的一個(gè)CPLD進(jìn)行整合,通過(guò)一條線送入FPGA中,與視頻信號(hào)一起形成17 bit的數(shù)據(jù)進(jìn)行傳輸,同步字由20位構(gòu)成,利用其中1 bit進(jìn)行傳輸。TLK2521有18 bit并行數(shù)據(jù)線,其中每根數(shù)據(jù)線占67.5M的帶寬,具體使用分配如下:0~7、8~15 bit傳視頻數(shù)據(jù),第16 bit傳輔助業(yè)務(wù)數(shù)據(jù),第17 bit傳輸同步字。高速信號(hào)采用16 bit并行擾碼,并行擾碼跟幀同步保持同步,使用20個(gè)擾碼字。
該收發(fā)系統(tǒng)FPGA芯片模塊編寫(xiě)所使用的軟件為ISE,采用VHDL語(yǔ)言編程。VHDL是當(dāng)前FPGA芯片編程常用的描述語(yǔ)言,其功能強(qiáng)大、設(shè)計(jì)靈活、支持廣泛、易于修改,具有強(qiáng)大的系統(tǒng)硬件描述能力、很強(qiáng)的移植能力、易于共享和復(fù)用。1~4路視頻信號(hào)經(jīng)CPLD匯總接入基板,5~8路視頻信號(hào)經(jīng)CPLD匯總,與9~10路視頻信號(hào)以及輔助信號(hào)一起經(jīng)過(guò)復(fù)接,接入FPGA中,最后將所有信號(hào)經(jīng)擾碼以18 bits并行數(shù)據(jù)線給出FPGA芯片。FPGA提供67.5 M采樣始終給千兆位串行收發(fā)器TLK2521。圖3給出發(fā)送端FPGA芯片復(fù)分接框圖。
圖3 發(fā)送端FPGA主復(fù)接邏輯框圖Fig.3 The sending end FPGA main multiplexing logic diagram
在基板視頻復(fù)接中,通過(guò)FPGA送來(lái)的復(fù)接指示信號(hào)進(jìn)行視頻復(fù)接,由CPLD本身產(chǎn)生的一個(gè)計(jì)數(shù)器對(duì)時(shí)鐘進(jìn)行計(jì)數(shù),5個(gè)時(shí)鐘周期為一個(gè)計(jì)數(shù)周期,為4路視頻開(kāi)辟5個(gè)位置,把4路視頻依次復(fù)接,第5位置空出不填充數(shù)據(jù),有效地錯(cuò)開(kāi)位置,從而實(shí)現(xiàn)非緩存的數(shù)據(jù)傳輸。在擴(kuò)展板視頻復(fù)接中,復(fù)接的方式和基板視頻復(fù)接原理一樣,不同之處在于,復(fù)接的位置不一樣,擴(kuò)展板的CPLD1在復(fù)接視頻時(shí)空出的第1個(gè)位置;CPLD2在復(fù)接時(shí),由于只有2路視頻需要復(fù)接,所以第 2、3、4 位置空出[5]。
圖4以1~4路視頻信號(hào)復(fù)接為例,給出時(shí)鐘關(guān)系仿真圖。其中Vclk為67.5 M的時(shí)鐘信號(hào);VdoJnt為視頻通道指示信號(hào),一個(gè)時(shí)鐘周期寬度的脈沖信號(hào),在67.5 M時(shí)鐘頻率下,每5個(gè)周期送出一個(gè)脈沖,VideoClk和VdoJnt都由FPGA送往CPLD;VdoDataOut1為4路視頻數(shù)據(jù)復(fù)接后的信號(hào),此處按8 bits量化來(lái)定義;當(dāng)復(fù)接指示VdoJnt為高電平,且在時(shí)鐘VideoClk的上升沿時(shí),對(duì)視頻進(jìn)行采樣復(fù)接,最后復(fù)接成VdoDataOut1信號(hào)送出。
圖4 1~4路視頻信號(hào)復(fù)接仿真結(jié)果Fig.4 The simulation results of 1 to 4 complex video signals
圖5 同步狀態(tài)流程圖Fig.5 Synchronous state flow chart
眾所周知,在FPGA邏輯設(shè)計(jì)中,最重要的是時(shí)鐘同步問(wèn)題的解決。圖5給出FPGA同步狀態(tài)流程圖,其中,Cnt表示同步次數(shù),S=1表示檢測(cè)到同步,S=0表示同步丟失,LOC對(duì)時(shí)隙計(jì)數(shù),一共有20位同步,從0計(jì)數(shù)到19依照流程圖編寫(xiě)同步判定程序,可完好地實(shí)現(xiàn)信號(hào)同步。
下面給出同步檢測(cè)模塊的部分程序,用來(lái)做同步和失步的檢測(cè)。
1)無(wú)視頻。FPGA的程序下載之后,視頻丟失,檢測(cè)AD和DA的輸入時(shí)鐘,發(fā)現(xiàn)DA時(shí)鐘輸入異常。原因是配置管腳錯(cuò)誤,按著電路原理圖上說(shuō)明的把DA管腳全部配置反了,后來(lái)修改過(guò)來(lái)之后視頻正常。
2)視頻位置錯(cuò)亂。收端按照發(fā)端復(fù)接視頻的順序分接視頻,發(fā)現(xiàn)視頻順序錯(cuò)位,1234分別成了2341,原因:傳輸延遲造成了視頻位置錯(cuò)位,修改接收端CPLD程序,調(diào)整分接位置之后,視頻正常。
3)視頻出現(xiàn)花屏。分接之后的視頻有“花屏”現(xiàn)象出現(xiàn),原因:時(shí)鐘沿采樣不準(zhǔn)確。通過(guò)調(diào)整時(shí)鐘沿解決,把送入CPLD的時(shí)鐘取反,“花屏”現(xiàn)象消失。
4)視頻擴(kuò)展板視頻指示燈異常。視頻擴(kuò)展板指示燈異常,處于常亮狀態(tài)。原因:視頻指示燈短路。用萬(wàn)用表查找時(shí),發(fā)現(xiàn)在鉭電容的下方,多出了的焊錫把鉭電容下方的視頻指示燈的過(guò)孔堵住了,使得視頻線路短路,卸掉鉭電容后小心焊接,問(wèn)題解決[6]。
5)插拔光纖時(shí)同步丟失,并死機(jī)。在測(cè)試網(wǎng)管的時(shí)候,進(jìn)行插拔纖測(cè)試時(shí),一旦拔掉光纖,再接上會(huì)造成同步丟失并死機(jī),需要重新燒寫(xiě)程序方能解決。調(diào)整時(shí)序約束,把晶振時(shí)鐘的時(shí)序約束調(diào)整到100 M,問(wèn)題解決。
6)開(kāi)關(guān)電數(shù)據(jù)誤碼。在進(jìn)行開(kāi)關(guān)電測(cè)試時(shí),發(fā)現(xiàn)數(shù)據(jù)誤碼,且收光指示燈閃爍異常。參閱FPGA時(shí)序約束文章發(fā)現(xiàn),時(shí)序約束不宜過(guò)高,把原來(lái)LockID的時(shí)序設(shè)置為100 M改為80 M之后,問(wèn)題解決。
該“收發(fā)系統(tǒng)”是在充分的理論分析與市場(chǎng)需求基礎(chǔ)上做出的系統(tǒng)設(shè)計(jì),經(jīng)過(guò)詳盡的測(cè)試轉(zhuǎn)化為實(shí)際產(chǎn)品,該產(chǎn)品有效地降低了成本、提高了系統(tǒng)集成度,在一根光纖上實(shí)現(xiàn)了多種業(yè)務(wù)的綜合傳輸,已應(yīng)用于某安防系統(tǒng),實(shí)際工程應(yīng)用表明該系統(tǒng)具有收發(fā)信號(hào)準(zhǔn)確、穩(wěn)定性高、人機(jī)界面友好、易于操作、成本合理等特點(diǎn),達(dá)到了設(shè)計(jì)要求。解決了實(shí)際工程應(yīng)用中,低成本產(chǎn)品性能相對(duì)較差的缺陷,工程應(yīng)用反應(yīng)良好。
[1]孫福盛,王薇,肖凱嘉.基于FPGA的數(shù)字視頻光纖傳輸系統(tǒng)的設(shè)計(jì)[J].科技信息,2012(16):114-115.SUN Fu-sheng,WANG Wei,XIAO Kai-jia.The design of digital video optical fiber transmission system based on FPGA[J].Science&Technology Information,2012(16):114-115.
[2]王大千,費(fèi)建軍,董雪.基于FPGA的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)及研究[J].數(shù)字技術(shù)與應(yīng)用,2012(8):7-9.WANG Da-qian,F(xiàn)EI Jian-jun,DONG Xue.Research and design of video monitoring system based on FPGA[J].Digital Technology and Application,2012(8):7-9.
[3]呂學(xué)磊.數(shù)字視頻綜合傳輸平臺(tái)應(yīng)用[J].中國(guó)交通信息化,2013(18):80-81.LV Xue-lei.Digital video integrated transmission platform application[J].Transportation Information Industry,2013(8):80-81.
[4]馬向玲,楊輝,王海玲,等.基于FPGA的多路數(shù)據(jù)光纖傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(2):363-366.MA Xiang-ling,YANG Hui,WANG Hai-ling,et al.Design and Realization of multi-channel datatransmission system based on FPGA [J].Computer Measurement&Control,2011,19(2):363-366.
[5]何林飛,田佳月,張曉林.基于光纖傳輸?shù)亩嗦犯咚贁?shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,2013,39(13):77-79.HE Lin-fei,TIAN Jia-yue,ZHANG Xiao-lin.Multi-channel high-speed data acquisition system based on fiber optic transmission[J].Application of Electronic Technique,2013,39(13):77-79.
[6]林康,劉敬彪,盛慶華.一路視頻雙向數(shù)據(jù)的光纖傳輸系統(tǒng)設(shè)計(jì)[J].光通信技術(shù),2012,36(3):33-35.GUAN Ping-ping,ZHAI Zheng-jun,JIANG Hong-mei.Optical fiber transmission system design of one video and Bi-directional data[J].Optical Communication Technology,2012,36(3):33-35.