基于FPGA的多路視頻收發(fā)系統的設計與實(shí)現
摘要:為了實(shí)現對多路視頻和數據信號的同步傳輸,提出了一種基于FPGA的視頻數據綜合傳輸系統設計方案,并完成系統的軟硬件設計。該系統的硬件部分主要由FPGA、CPLD芯片及光模塊等設備組成,軟件部分采用VHDL語(yǔ)言進(jìn)行邏輯編程,能夠完成整個(gè)收發(fā)系統的全部功能。實(shí)際工程應用表明,該系統具有成本合理、操作簡(jiǎn)便、性能穩定的特點(diǎn),達到了設計要求。
本文引用地址:http://dyxdggzs.com/article/201610/307180.htm隨著(zhù)人們安全意識的不斷提高,對現代化視頻監控技術(shù)也有了進(jìn)一步要求,先進(jìn)的視頻、音頻、數據的綜合傳輸設備得到廣泛的應用,因此,對綜合業(yè)務(wù)傳輸性能的要求也越來(lái)越高。如何在控制成本的基礎上,開(kāi)發(fā)性能穩定、信號完整的綜合傳輸系統,是廣大傳輸設備開(kāi)發(fā)工程師需要思考的問(wèn)題。目前,在成本有限的情況下,市面上所見(jiàn)的綜合業(yè)務(wù)傳輸設備大多有性能不太穩定、傳輸類(lèi)型單一、容易亂碼、斷網(wǎng)等缺陷。比如,僅可收發(fā)視頻信號,沒(méi)有語(yǔ)音信號,或是數據信息有缺失、畫(huà)面抖動(dòng)、時(shí)斷時(shí)續的現象。因此,做到視頻、數據、語(yǔ)音等多種信號的同步、穩定疊加,對于整個(gè)綜合業(yè)務(wù)傳輸設備在成本控制的情況下,產(chǎn)品還有很大的提升空間。
在壓縮工程應用成本的基礎上,對視頻、數據、語(yǔ)音等信號的安全、有效傳輸將是本文的研究重點(diǎn)。為了實(shí)現對綜合業(yè)務(wù)的準確傳輸,在做了詳盡的需求分析基礎上,提出并設計了一種基于FPGA的多路視頻收發(fā)系統(以下簡(jiǎn)稱(chēng)“收發(fā)系統”)的硬件及軟件設計方案。經(jīng)多次測試及工程實(shí)際應用表明,該系統能很好地完成綜合業(yè)務(wù)的有效傳輸。
1 總體設計
整個(gè)系統由兩端設備組成,兩端構成基本相同。習慣上,通常把視頻信號輸入的一端稱(chēng)發(fā)送端,另一端則為接收端。發(fā)送端由攝像頭采集視頻信號,經(jīng)AD轉換模塊,將模擬信號轉換為數字信號,經(jīng)處理的數字視頻信號及其他數據信號在FPGA中進(jìn)行編碼操作。其中,部分控制信號由外處理器給出指令。FPGA編碼處理后的信號,由光模塊經(jīng)千兆以太網(wǎng)傳輸至接收端。在接收端,FPGA負責將千兆以太網(wǎng)傳輸過(guò)來(lái)的編碼數據進(jìn)行解碼,部分指令仍由外處理器給出。處理好的數字視頻及其他數據經(jīng)DA轉換模塊,將數字信號轉化為可識別的模擬信號,最終在顯示器上顯示出來(lái)。圖1給出“收發(fā)系統”總體框圖。

本著(zhù)節約成本、降低功耗、有效與其他設備通用的原則,整個(gè)系統硬件采用基板和背板的形式,這也是目前電子、通信行業(yè)最為流行的一種設備安裝模式。設備核心為基板,負責完成高速數據復分接和光通道的建立,提供各種功能擴展接口,同時(shí)也提供最多4個(gè)視頻通道,剩余6路視頻信號則在視頻擴展板內完成通信。在背板的基礎上,插接各種功能的基板、擴展板。輔助通道擴展板通過(guò)背板與基板實(shí)現電源和信號連接,輔助通道擴展盤(pán)同時(shí)完成信號的中繼。將信號的傳輸分為各個(gè)單板來(lái)實(shí)現。此種結構,簡(jiǎn)潔、大方、操作便利、便于糾錯。
2 系統硬件設計
由于收發(fā)兩端的結構基本一致,這里僅發(fā)送端為例,概述系統核心板的硬件設計。發(fā)送端主要由基板、視頻擴展板、輔助通道擴展板1、輔助通道擴展板2等部分組成。其中以基板為核心,發(fā)送端硬件由FPGA主芯片、CPLD芯片、光模塊及其他一些外圍電路組成。FPGA主芯片負責處理十路視頻信號復分接及片選信號的復用,網(wǎng)管送信號入FPGA后,由3—8譯碼器翻譯出5種情況,分別送至4塊CPLD芯片和本身的FPGA,通過(guò)填報不同的網(wǎng)管信息,上報各個(gè)芯片的運轉情況。最終,由千兆收發(fā)器Tlk2521串行編碼,經(jīng)1.25 G光模塊發(fā)送至接收端。
時(shí)鐘方面。晶振選用67.5 M,以67.5 M作為基本速率。Tlk2521并行處理的速率為67.5 M.正向光傳輸信號的速率為1.25 G。發(fā)射端的基本時(shí)鐘用當地時(shí)鐘,接收端用還回時(shí)鐘。收端送來(lái)的反向數據,由時(shí)鐘提取電路提取出時(shí)鐘和數據之后,送入FPGA進(jìn)行同步處理。其結構圖如圖2所示。同步處理過(guò)程,將在FPGA的邏輯設計中進(jìn)行詳細描述。

視頻信號采用8 bit量化方式,以13.5 M進(jìn)行采樣。通過(guò)四路、四路、二路復接的形式送入FPGA中,再通過(guò)FPGA整合成10路16 bit的形式,由Tlk2521處理后送到光模塊中。同時(shí),數據、音頻、網(wǎng)管等輔助業(yè)務(wù)的數據則由單獨的一個(gè)CPLD進(jìn)行整合,通過(guò)一條線(xiàn)送入FPGA中,與視頻信號一起形成17 bit的數據進(jìn)行傳輸,同步字由20位構成,利用其中1 bit進(jìn)行傳輸。TLK2521有18 bit并行數據線(xiàn),其中每根數據線(xiàn)占67.5M的帶寬,具體使用分配如下:0~7、8~15 bit傳視頻數據,第16 bit傳輔助業(yè)務(wù)數據,第17 bit傳輸同步字。高速信號采用16 bit并行擾碼,并行擾碼跟幀同步保持同步,使用20個(gè)擾碼字。
3 系統軟件設計
該收發(fā)系統FPGA芯片模塊編寫(xiě)所使用的軟件為ISE,采用VHDL語(yǔ)言編程。VHDL是當前FPGA芯片編程常用的描述語(yǔ)言,其功能強大、設計靈活、支持廣泛、易于修改,具有強大的系統硬件描述能力、很強的移植能力、易于共享和復用。1~4路視頻信號經(jīng)CPLD匯總接入基板,5~8路視頻信號經(jīng)CPLD匯總,與9~10路視頻信號以及輔助信號一起經(jīng)過(guò)復接,接入FPGA中,最后將所有信號經(jīng)擾碼以18 bits并行數據線(xiàn)給出FPGA芯片。FPGA提供67.5 M采樣始終給千兆位串行收發(fā)器TLK2521。圖3給出發(fā)送端FPGA芯片復分接框圖。

在基板視頻復接中,通過(guò)FPGA送來(lái)的復接指示信號進(jìn)行視頻復接,由CPLD本身產(chǎn)生的一個(gè)計數器對時(shí)鐘進(jìn)行計數,5個(gè)時(shí)鐘周期為一個(gè)計數周期,為4路視頻開(kāi)辟5個(gè)位置,把4路視頻依次復接,第5位置空出不填充數據,有效地錯開(kāi)位置,從而實(shí)現非緩存的數據傳輸。在擴展板視頻復接中,復接的方式和基板視頻復接原理一樣,不同之處在于,復接的位置不一樣,擴展板的CPLD1在復接視頻時(shí)空出的第1個(gè)位置;CPLD2在復接時(shí),由于只有2路視頻需要復接,所以第2、3、4位置空出。
圖4以1~4路視頻信號復接為例,給出時(shí)鐘關(guān)系仿真圖。其中Vclk為67.5 M的時(shí)鐘信號;VdoJnt為視頻通道指示信號,一個(gè)時(shí)鐘周期寬度的脈沖信號,在67.5 M時(shí)鐘頻率下,每5個(gè)周期送出一個(gè)脈沖,VideoClk和VdoJnt都由FPGA送往CPLD;VdoDataOut1為4路視頻數據復接后的信號,此處按8 bits量化來(lái)定義;當復接指示VdoJnt為高電平,且在時(shí)鐘VideoClk的上升沿時(shí),對視頻進(jìn)行采樣復接,最后復接成VdoDataOut1信號送出。

眾所周知,在FPGA邏輯設計中,最重要的是時(shí)鐘同步問(wèn)題的解決。圖5給出FPGA同步狀態(tài)流程圖,其中,Cnt表示同步次數,S=1表示檢測到同步,S=0表示同步丟失,LOC對時(shí)隙計數,一共有20位同步,從0計數到19依照流程圖編寫(xiě)同步判定程序,可完好地實(shí)現信號同步。

下面給出同步檢測模塊的部分程序,用來(lái)做同步和失步的檢測。



4 研發(fā)過(guò)程中出現的問(wèn)題、解決辦法及效果
1)無(wú)視頻。FPGA的程序下載之后,視頻丟失,檢測AD和DA的輸入時(shí)鐘,發(fā)現DA時(shí)鐘輸入異常。原因是配置管腳錯誤,按著(zhù)電路原理圖上說(shuō)明的把DA管腳全部配置反了,后來(lái)修改過(guò)來(lái)之后視頻正常。
2)視頻位置錯亂。收端按照發(fā)端復接視頻的順序分接視頻,發(fā)現視頻順序錯位,1234分別成了2341,原因:傳輸延遲造成了視頻位置錯位,修改接收端CPLD程序,調整分接位置之后,視頻正常。
3)視頻出現花屏。分接之后的視頻有“花屏”現象出現,原因:時(shí)鐘沿采樣不準確。通過(guò)調整時(shí)鐘沿解決,把送入CPLD的時(shí)鐘取反,“花屏”現象消失。
4)視頻擴展板視頻指示燈異常。視頻擴展板指示燈異常,處于常亮狀態(tài)。原因:視頻指示燈短路。用萬(wàn)用表查找時(shí),發(fā)現在鉭電容的下方,多出了的焊錫把鉭電容下方的視頻指示燈的過(guò)孔堵住了,使得視頻線(xiàn)路短路,卸掉鉭電容后小心焊接,問(wèn)題解決。
5)插拔光纖時(shí)同步丟失,并死機。在測試網(wǎng)管的時(shí)候,進(jìn)行插拔纖測試時(shí),一旦拔掉光纖,再接上會(huì )造成同步丟失并死機,需要重新燒寫(xiě)程序方能解決。調整時(shí)序約束,把晶振時(shí)鐘的時(shí)序約束調整到100 M,問(wèn)題解決。
6)開(kāi)關(guān)電數據誤碼。在進(jìn)行開(kāi)關(guān)電測試時(shí),發(fā)現數據誤碼,且收光指示燈閃爍異常。參閱FPGA時(shí)序約束文章發(fā)現,時(shí)序約束不宜過(guò)高,把原來(lái)LockID的時(shí)序設置為100 M改為80 M之后,問(wèn)題解決。
5 結論
該“收發(fā)系統”是在充分的理論分析與市場(chǎng)需求基礎上做出的系統設計,經(jīng)過(guò)詳盡的測試轉化為實(shí)際產(chǎn)品,該產(chǎn)品有效地降低了成本、提高了系統集成度,在一根光纖上實(shí)現了多種業(yè)務(wù)的綜合傳輸,已應用于某安防系統,實(shí)際工程應用表明該系統具有收發(fā)信號準確、穩定性高、人機界面友好、易于操作、成本合理等特點(diǎn),達到了設計要求。解決了實(shí)際工程應用中,低成本產(chǎn)品性能相對較差的缺陷,工程應用反應良好。
評論