文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2012)12-0048-03
隨著數(shù)字技術(shù)的迅猛發(fā)展,,視頻設(shè)備市場正在大規(guī)模地從模擬設(shè)備向數(shù)字設(shè)備轉(zhuǎn)型,從而導(dǎo)致對數(shù)字解碼芯片開發(fā)的大量需求,。而在安防領(lǐng)域,,高清產(chǎn)品的研發(fā)也在如火如荼地進(jìn)行。其中,,高清串行數(shù)字接口HD-SDI產(chǎn)品也憑借其獨特的優(yōu)勢受到了廣泛關(guān)注,,尤其是在從模擬設(shè)備升級到數(shù)字設(shè)備的過程中。
HD-SDI設(shè)備采用BNC接口,,在從傳統(tǒng)的模擬框架轉(zhuǎn)為高清數(shù)字監(jiān)控系統(tǒng)的過程中不需要重新布線,,只需要更換前端和后端設(shè)備即可,為工程節(jié)約了巨大的成本,。而且,,HD-SDI系統(tǒng)不像IP監(jiān)控系統(tǒng)那樣需要先將視頻信號進(jìn)行打包壓縮,它是以未經(jīng)壓縮的數(shù)字信號在同軸電纜上進(jìn)行高速傳輸,,因此具有更高的穩(wěn)定性,,有效地減少了失真,也不會產(chǎn)生IP高清的延遲現(xiàn)象,,符合實時監(jiān)控的要求,。同時,它采用75-5同軸線進(jìn)行系統(tǒng)布線,,可以保持圖像的完整性和原始性,,為智能視頻分析IVS提供了保障,。
考慮到HD-SDI在監(jiān)控領(lǐng)域的巨大發(fā)展?jié)摿湍壳靶酒坎荒軡M足市場需求的現(xiàn)狀,本文通過對高清視頻信號傳輸?shù)难芯?,在?yīng)用FPGA功能的基礎(chǔ)上,,設(shè)計了一種符合SMPTE292M的高清晰度數(shù)字信號轉(zhuǎn)換電路,以實現(xiàn)對HD-SDI中的有效視頻數(shù)據(jù),、視頻定時基準(zhǔn)碼,、行號數(shù)據(jù)、校驗碼的分析,,并對信號進(jìn)行串/并和并/串的轉(zhuǎn)換,。
1 系統(tǒng)設(shè)計
本系統(tǒng)主要使用Xilinx公司的Xilinx ISE Design Suite 13.3軟件進(jìn)行設(shè)計。高清信號采用2:1隔行掃描,,總行數(shù)為1 125行,,場頻為60 Hz,有效行為1 080行,,一行1 920個像素,。
本系統(tǒng)主要由GTP收發(fā)模塊、數(shù)據(jù)分析模塊及有效信號提取模塊,、雙口RAM和數(shù)據(jù)變換等模塊組成,。GTP收發(fā)模塊為系統(tǒng)的核心部分,包含發(fā)送和接收兩個部分,,完成對信號的解串和串碼,。考慮到HD-SDI信號中并非所有的信號都是有效的視頻信號,,因而在信號處理之前,,必須要先分離出有效視頻信號,這部分功能由數(shù)據(jù)分析模塊實現(xiàn),,并將提取出來的有效視頻信號存于RAM中,。數(shù)據(jù)變換模塊完成對信號模式的轉(zhuǎn)換。整個系統(tǒng)的設(shè)計框圖如圖1所示,。
2 核心模塊設(shè)計方法
2.1 GTP模塊的設(shè)計
該模塊用于HD-SDI視頻信號的接收與發(fā)射,,以及串/并和并/串轉(zhuǎn)換編碼,為本系統(tǒng)的核心,。ISE13.3軟件中的IP(CORE Generator&Architecture Wizard)中有GTP Transceiver Wizard,,只需要設(shè)定相應(yīng)的參數(shù)即可。參數(shù)設(shè)計可以根據(jù)Xilinx發(fā)布的官方文件《Spartan-6 FPGA GTP Transceivers User Guide(UG386)》來設(shè)定,。
根據(jù)參考文獻(xiàn)[1],,本系統(tǒng)針對的信號為高清視頻信號,,傳輸速率為1.485 Gb/s,,數(shù)據(jù)位寬為20 bit(Cb/Cr,,Y),即20 bit數(shù)據(jù)按照前Cb/Cr,、后Y進(jìn)行處理,。相關(guān)功能TX Buffer、Rx Buffer,、PRBS設(shè)定為Enabled,。將相應(yīng)的參數(shù)、選項設(shè)定好之后,,即可將該Core添加到所建立的工程之中,。
2.2 數(shù)據(jù)分析和有效信號提取模塊
該模塊的主要功能是根據(jù)HD-SDI數(shù)字行、場定時特點,,從GTP轉(zhuǎn)化的高清并行信號中提取有效數(shù)字視頻,,并以并行的形式輸出,存儲到RAM之中,,以方便對信號作進(jìn)一步變換,。
該模塊輸入信號包括并行時鐘pclk、未處理的20 bit并行數(shù)據(jù)(pre_parallel_in),;輸出信號包括提取出的有效數(shù)據(jù)輸出(processed_parallel_out),、出場識別(f)、場/幀消隱期信號(v),、行消隱期信號(h),、有效信號輸出使能(valid_en)。
參考文獻(xiàn)[2]中設(shè)計了4個20 bit的移位寄存器,。在每個時鐘周期,,前一位的移位寄存器的寄存數(shù)據(jù)都移到下一個寄存器,即一個時鐘周期里,,收到的字節(jié)寫入第一個寄存器,,而第一個寄存器的數(shù)據(jù)移到第二個寄存器,以此類推,。因此,,越早接收到的數(shù)據(jù)寄存的位置就越靠后,4個寄存器中的數(shù)據(jù)順序是字節(jié)輸入順序的逆序,。
逆序之后,,要對其中的數(shù)據(jù)進(jìn)行檢測,從而判定行起始標(biāo)志碼和行結(jié)束標(biāo)志碼,。如果第1個寄存器的數(shù)據(jù)為十六進(jìn)制的3FF3FF,,而第2、3個寄存器是0,第4個寄存器的第7位和第17位也是0,,那么這就是有效行的起始標(biāo)志碼,,其后面的數(shù)據(jù)則為有效視頻數(shù)據(jù),所以要對接下來的數(shù)據(jù)進(jìn)行處理和操作,;如果前3個寄存器和上述前3個寄存器相同,,第4個寄存器的第7位和第17位為1,那么這就是有效行的結(jié)束標(biāo)識碼,,其后的數(shù)據(jù)也就沒有用,,應(yīng)將其舍棄。
同時,,也要對XYZ其他各位數(shù)據(jù)進(jìn)行分析,。通過對第8位的分析,可以判斷當(dāng)前是在哪一個場區(qū)間,;通過對第6位的判斷,,可以判定信號是SAV信號,還是EAV信號,;如果有效數(shù)據(jù)中連續(xù)兩行的第8位都有變化,,則表明正在傳輸一場新的數(shù)據(jù),其中SAV的標(biāo)志位是場區(qū)間的頭部的位置,。核心判定代碼如下:
if(mem4==20'h3ff3ff && mem3==20'h0 && mem2==20'h0 && mem1[9]==1 && mem1[19]==1 && mem1[6]==0 && mem1[16]==0) //3ff,000,000,1xyz;有效圖形起始
else if(mem4==20'h3ff3ff && mem3==20'h0 && mem2==20'h0 && mem1[9]==1 && mem1[19]==1 && mem1[6]==1 && mem1[16]==1) //有效圖形結(jié)束
2.3 雙口RAM模塊
根據(jù)參考文獻(xiàn)[3],,可以利用雙口RAM具有兩個獨立系統(tǒng)的功能達(dá)到數(shù)據(jù)共享的目的。實現(xiàn)雙口RAM的設(shè)計方法有很多,,考慮到設(shè)計的產(chǎn)品可以進(jìn)行升級,,并且盡可能減少系統(tǒng)測試和維護(hù)的成本,決定采用FPGA來進(jìn)行設(shè)計實現(xiàn),,所得產(chǎn)品可以實現(xiàn)對數(shù)據(jù)并行和高速傳送的要求,。
本系統(tǒng)中,高清信號的格式為1 920×1 080,,一行共1 920個像素,,總數(shù)據(jù)量為1 920×20 bit=38 400 bit,且RAM的數(shù)據(jù)寬度為20 bit,。因此,,需要1 920個存儲單元,地址線可取為11 bit,。
本模塊包括時鐘clk,、20 bit并行寫數(shù)據(jù)口(data_in)、20 bit并行讀數(shù)據(jù)口(data_out),、11 bit寫地址線(wr_address),、11 bit讀地址線(rd_address)、寫使能信號線(write)、讀使能信號線(read),。雙口RAM的實現(xiàn)代碼如下:
module dual_port_ram( clk, data_in, rd_address, read,wr_address,write, data_out );
input clk;
input [19:0] data_in;
input [10:0] rd_address;
input read;
input [10:0] wr_address;
input write;
output [19:0] data_out;
reg[19:0]data_out;
reg[19:0]mem[10:0];
always@(posedge clk)
begin
if(write)
mem[wr_address]<=data_in;
else
mem[wr_address]<=mem[wr_address];
if(read)
data_out<=mem[rd_address];
else
data_out<=data_out;
end
endmodule
2.4 數(shù)據(jù)變換模塊
該模塊為數(shù)據(jù)分析與提取模塊的逆過程,。從雙口RAM中得到有效數(shù)據(jù),根據(jù)IHD-SDI數(shù)字行,、場定時特點,,添加相應(yīng)的圖像定時基準(zhǔn)碼,、行號數(shù)據(jù),、誤碼檢測碼、輔助數(shù)據(jù)和消隱數(shù)據(jù),。
根據(jù)HD-SDI數(shù)字行,、場定時特點,一行數(shù)據(jù)的順序為:EAV(FFFFF、00000,、00000,、XYZXYZ)、有效數(shù)據(jù),、SAV(FFFFF,、00000、00000,、XYZXYZ),、LN0LN1、CCR0YCR0,、消隱數(shù)據(jù),。根據(jù)相應(yīng)標(biāo)準(zhǔn),消隱期數(shù)據(jù)為Y(16=10h),、Cr/Cb(128=1000h),,即Y中固定的16 bit填充位置填充的是10h,Cb/Cr中128 bit填充位置填充的是1000h,。
根據(jù)參考文獻(xiàn)[4],,設(shè)計該模塊先輸出EAV,然后輸出從雙口RAM得到的有效視頻信號,,再輸出SAV信號,,最后輸出消隱期數(shù)據(jù),至此即完成了將有效數(shù)據(jù)變?yōu)楦咔逡曨l對應(yīng)格式的并行數(shù)據(jù)輸出,,如圖2所示,。
由圖3可知,當(dāng)輸入信號pre_parallel_in[19:0]依次輸入十六進(jìn)制數(shù)‘ffffff’,、‘00000’,、‘00000’、‘ab2ac’時,數(shù)據(jù)分析與提取模塊正確地判斷此為SAV信號,,后面的數(shù)據(jù)為有效數(shù)據(jù),,因此Valid_en由‘0’變?yōu)?amp;lsquo;1’,同時并行輸出口processed_parallel_out[19:0]由原來設(shè)置的高阻態(tài)變?yōu)檎]敵鰻顟B(tài),,開始輸出有效視頻信號,。由該圖可以看出,f,、v,、h相應(yīng)地發(fā)生變化。由HD-SDI數(shù)字行,、場定時特點可知,,這符合設(shè)計要求。
由圖4可知,,當(dāng)有效視頻信號輸入完之后,,pre_parallel_in[19:0]再依次輸入‘ffffff’、‘00000’,、‘00000’,、‘bb2ec’時,該模塊正確地判斷此為EAV信號,,有效視頻信號在此時已經(jīng)輸入完畢,,后面的數(shù)據(jù)不再有效,因此Valid_en由‘1’變?yōu)?amp;lsquo;0’,,同時并行數(shù)據(jù)輸出口processed_parallel_out[19:0]由正常輸出有效數(shù)據(jù)狀態(tài)變回為高阻態(tài),。由該圖可以看出,v,、h相應(yīng)地發(fā)生變化,,由‘0’變?yōu)?amp;lsquo;1’;f沒變,,依舊為‘0’,。由HD-SDI數(shù)字行、場定時特點可知,,這符合設(shè)計要求,。
數(shù)據(jù)變化模塊的仿真結(jié)果如圖5和圖6所示。
如圖5所示,,數(shù)據(jù)輸出端data_converter_out[19:0]首先正確地輸出SAV信號(fffff,、00000、00000,、ab2ac),,之后便將從雙口RAM得到的有效數(shù)據(jù)data_in[19:0]送到輸出口輸出,,這里仿真時將輸入數(shù)據(jù)都置為00007。
由圖6所示,,數(shù)據(jù)輸出端data_converter_out[19:0]在將1 920個有效數(shù)據(jù)正確地輸出之后輸出EAV信號(fffff,、00000h、00000h,、bb2ec),,然后輸出消隱期數(shù)據(jù)40010h。
本文通過對高清視頻信號的研究,,在對數(shù)字視頻相關(guān)知識,、HD-SDI、Xilinx公司的FPGA,、GTP高速串行收發(fā)器進(jìn)行深入研究的基礎(chǔ)上,,用Xilinx公司最新生產(chǎn)的Spartan-6系列FPGA芯片,,成功設(shè)計了一種HD-SDI編碼技術(shù),。該設(shè)計是一種符合SMPTE292M標(biāo)準(zhǔn)的高清晰度數(shù)字電視信號轉(zhuǎn)換電路,可以對HD-SDI中的有效視頻數(shù)據(jù),、視頻定時基準(zhǔn)碼,、行號數(shù)據(jù)、校驗碼進(jìn)行分析,,并就信號進(jìn)行串/并和并/串的轉(zhuǎn)換,。通過功能仿真驗證了本方案能夠成功實現(xiàn)設(shè)計的功能,并且不需使用以前常用的專業(yè)集成芯片GS1560解串器和串碼器GS1532等,,具有很強的創(chuàng)新性和實用價值,。
參考文獻(xiàn)
[1] 劉曉軍.采用HD-SDI的高清視頻采集卡的設(shè)計與實現(xiàn)[J].電視技術(shù),2009,,33(1):91-93.
[2] 李鴻強,,苗長云,劉曉軍,,等.HD-SDI數(shù)字視頻信號處理及傳輸?shù)腇PGA設(shè)計與實現(xiàn)[J].計算機應(yīng)用研究,,2007,24(10):269-272.
[3] 秦鴻剛,,劉京科,,吳迪.基于FPGA的雙口RAM實現(xiàn)及應(yīng)用[J].電子設(shè)計工程,2010,,18(2):72-74.
[4] 彭慧英.基于GS1560的HD-SDI碼流解串器的硬件設(shè)計[J].電子質(zhì)量,,2010(6):27-31.