|
前言
( y' w: t# O* ~* Y& j
: c& d" [+ ^' o* |
$ S }3 l+ p6 }: i
9 ]5 G4 ^0 p3 Z. |* FSDI接口,全稱是“數(shù)字分量串行接口(Serial Digital Interface)”。按速率可分為標(biāo)準(zhǔn)清新度SD-SDI、高清標(biāo)準(zhǔn)HD-SDI和3G-SDI,其對(duì)應(yīng)速率分別是270Mb/s、1.485Gb/s和2.97Gb/s。目前在航空航天、軍事、醫(yī)療、交通等領(lǐng)域,SDI的應(yīng)用廣泛度僅次于CameraLink接口。# g) ^! D" S) T$ r
" K: [# k+ Z n' C( ]( w# j​2 ]7 h% r2 v6 g& B% P) \: Y7 I# A
/ P: D$ w2 Y/ ~+ l" }( p
9 K' U; W) {3 ~4 ]/ M! o; n! C4 z1 ] `4 h$ a$ e
8 H; n4 R. k% @& J4 B) h: BSDI接口優(yōu)勢(shì):$ J0 ^# R) J( J: k& P
(1) 消耗GTX更少,消耗IO更少6 h; L: k" K/ r8 {5 X; f; U
如果使用GTX總線,僅需1對(duì)GTX,而HDMI則需要3對(duì)GTX。CameraLink接口由于走LVDS信號(hào),Base模式下需要11對(duì)LVDS信號(hào),F(xiàn)ull模式下需要22對(duì)LVDS信號(hào),消耗IO數(shù)量比GTX SDI多了很多。4 Q, u; u% G6 N, b) l
(2) 傳輸更穩(wěn)定2 t. P3 R0 T! x4 F. k8 O
相較于HDMI接口,SDI接口的自鎖扣設(shè)計(jì)更加穩(wěn)定可靠,不易脫落,不會(huì)因人為因素造成信號(hào)中斷。. z5 S4 X; p; w8 D, r
(3) 傳輸距離更長(zhǎng)# F& j; H4 x6 ~' }
串行接口是指逐位數(shù)據(jù)的順序傳輸。它的特點(diǎn)是通訊線簡(jiǎn)單。只要一對(duì)傳輸線可以實(shí)現(xiàn)雙向通信,特別適合于長(zhǎng)距離通信。從理論上講,SDI的傳輸距離可以達(dá)到100m。2 Z- U- M" b! a! n2 r
(4) 成本更低" |8 f- U( v0 O/ C8 ^' T
SDI接口平均每米價(jià)格約為4元,相較于HDMI接口的平均每米價(jià)格約為10元,SDI接口成本更低。' B# ~; Q( S& ^: Q' R3 u+ S
, K/ L& B) V& [
Y1 u9 F) [ o; L' Q# ~
創(chuàng)龍科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡通過(guò)FMC視頻模塊已實(shí)現(xiàn)兩種SDI視頻輸入/視頻輸出方案:GTX +外接芯片。本文將為您分享基于Kintex-7 FPGA評(píng)估板、TL2971A/2972F視頻模塊的3G-SDI視頻輸入/輸出開(kāi)發(fā)案例,使用外接芯片方式。TL2971A/2972F視頻模塊模塊亦可支持GTX方式。( b7 b5 L% v, t8 A5 |) V) d
: E# u. f" Z1 E \0 X7 {* p
# \0 X+ W* g: @) E. J
K8 V% i+ t; `1 O
3 s3 d( t% \/ h●硬件平臺(tái)' w, K' [8 ^- n5 w
) Y. [: X0 A! F+ k; \3 o! v
. z/ f* C, V7 Z5 J) [0 S+ B: L* | E/ k. w
1 TLK7-EVM評(píng)估板
4 o* j/ s3 f- _7 Q6 N6 a
8 n G3 |% `: h/ y8 W本文基于創(chuàng)龍科技TLK7-EVM評(píng)估板、TL2971A/2972F視頻模塊進(jìn)行演示。 }& y, H( H6 j5 K2 U: X
TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA設(shè)計(jì)的高端評(píng)估板,由核心板和評(píng)估底板組成。核心板經(jīng)過(guò)專業(yè)的PCB layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。
: h* o3 F8 W$ u$ G6 `2 X評(píng)估板接口資源豐富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。2 N5 o: d! t; }" c/ V
可申請(qǐng)TLK7-EVM評(píng)估板進(jìn)行快速評(píng)估,點(diǎn)tronlong.com/Product/show/93.html,免費(fèi)哦!
+ e, G$ Z$ {2 Z) w​) b% T9 O/ T# {$ R/ J! t3 I
+ K8 g4 U! @( O" v2 O6 i
# T2 q; _- P6 m2 O/ U0 J) U$ E TLK7-EVM評(píng)估板
+ m( \3 d4 {: o& f3 i1 | T6 h; r) y9 A" D* G* A) w
: [- |5 x( P6 ~" T! K( h0 ?
" `, I+ ^7 T3 d7 e, j+ m; o5 y2 TL2971A/2972F視頻模塊% f! X6 h5 H& E7 v0 ^1 G' ^2 N
9 }) @/ N! b* _6 }4 ] R( N @! ]" N
TL2971A/2972F是一款基于FMC LPC標(biāo)準(zhǔn)設(shè)計(jì)的3G-SDI視頻輸入/輸出模塊,與創(chuàng)龍科技Zynq-7000/Kintex-7/Artix-7等評(píng)估板配套使用。以下為此模塊特點(diǎn):; G& r* k: Q1 s2 H7 I
(1)通過(guò)GTX高速串行總線引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。4 w. |8 S# c9 `
(2)通過(guò)GTX高速串行總線引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。9 z3 A V. C" a/ q9 B8 Z8 E+ W1 d2 n
(3)通過(guò)GS2971A芯片引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。4 _$ f( E2 Z$ Q
(4)通過(guò)GS2972芯片引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。
% D# e4 O" ~3 O: h(5)采用標(biāo)準(zhǔn)BNC連接器,支持視頻設(shè)備熱插拔。
/ \3 C" w# N/ Q% ]​) c9 T1 I. x$ y# N& c2 N
$ ? h! {% _3 e8 A0 O0 i0 L
) T' H; c! G! X' R1 k- T
TL2971A/2972F視頻模塊
7 g4 y5 U& V% y0 z# v
: D* t; h X% b$ f
2 W6 D1 p. [, _# D3 J" }, l+ N5 k7 W* y
* }, e- o) T' c
7 S' c+ C. z7 m) ~5 ^) i
4 H7 l4 Z) c# D2 l. @6 P# a
●案例功能
0 x+ R/ k1 U4 [; H2 h$ B5 ^9 w; S* }5 K
8 m) ]$ R- c9 Q( l- b) ?: o3 p. B& z, y8 I0 a$ r
本案例為通過(guò)GS2971A、GS2972芯片引出SDI視頻輸入、輸出案例。通過(guò)GTX高速串行總線引出的SDI視頻輸入、輸出案例即將發(fā)布,敬請(qǐng)期待。
9 w% W& H0 o6 P0 a4 g案例功能:評(píng)估板通過(guò)FMC視頻模塊TL2971A/2972F的SDI IN接口進(jìn)行1080P60視頻采集,并通過(guò)TL2971A/2972F模塊的SDI OUT接口將采集到的視頻進(jìn)行輸出。案例源碼、產(chǎn)品資料(用戶手冊(cè)、核心板硬件資料、產(chǎn)品規(guī)格書)可點(diǎn):site.tronlong.com/pfdownload獲取。) Q2 U7 G: ?. F! J1 |& S8 y2 ~
8 F7 ^, J; `- y# z/ T; Z* @. [
( k; h8 w1 E1 [0 T: ]6 m
開(kāi)發(fā)案例主要包括:
6 V/ v1 e; R# T1 D" _! U1 M* J7 W2 Q7 jl CameraLink、SDI、HDMI、PAL視頻輸入/輸出案例
8 r, i& ], p1 p" Dl 高速AD(AD9613)采集+高速DA(AD9706)輸出案例% `* f$ X& s9 c& W1 O5 T* c
l AD9361軟件無(wú)線電案例' P) t8 f# o; O+ v
l UDP(10G)光口通信案例
& |3 r- {5 f9 d% } Al UDP(1G)光口通信案例! `1 B0 S( v* b* z
l Aurora光口通信案例$ K: A, y" P5 Z' x% V
l PCIe通信案例
8 a9 ~2 _4 N8 u: B
, G0 d& w: _1 L$ G. z7 d- z6 S) S6 e) [
9 w! H( d+ F+ C, H2 S5 P●案例演示+ b4 ~# S# m1 {% b" v
: _# j7 ~8 J5 L$ z: r9 @ [將創(chuàng)龍科技的TL2971A/2972F模塊連接至評(píng)估板FMC1接口,評(píng)估板J1跳線帽選擇3.3V檔位,以配置FMC IO的BANK電壓為3.3V。
5 V( P2 [. [% `9 a準(zhǔn)備一臺(tái)擁有HDMI OUT接口的PC機(jī)(例如筆記本),通過(guò)HDMI數(shù)據(jù)線將PC機(jī)HDMI OUT接口連接至HDMI轉(zhuǎn)SDI模塊(廠家:玩視,型號(hào):3G HDMI TO SDI Audio)INPUT接口,PC機(jī)HDMI OUT接口用作圖像輸出。通過(guò)SDI數(shù)據(jù)線將TL2971A/2972F模塊的SDI IN接口連接至HDMI轉(zhuǎn)SDI模塊的OUTPUT接口。9 U/ D/ b5 T D! |5 g5 V- O% ~/ n
, m9 H- }% z+ l4 n+ K* s. t# C
4 ]( H" T: v& \9 c& ?1 f/ X: [通過(guò)SDI數(shù)據(jù)線將TL2971A/2972F模塊的SDI OUT接口連接至SDI轉(zhuǎn)HDMI模塊(廠家:玩視,型號(hào):3G SDI TO HDMI Audio)的INPUT接口,再通過(guò)HDMI數(shù)據(jù)線將一臺(tái)HDMI顯示屏連接至SDI轉(zhuǎn)HDMI模塊的OUTPUT接口,HDMI顯示屏用作圖像顯示。
/ I# D6 O3 Z5 A2 y- {1 t+ i- u4 L3 t$ F
2 u" U/ c. R1 K7 {8 t4 g$ C$ |
% ?) ~8 ]% |, L7 i
" j7 V2 V6 x- N, ]% g% E) \* Z# a
​
+ j6 ~4 r: V! h# s3 O8 g2 E! a( M7 m
I; ?5 T/ J( ^​, \% n( M u3 |) p
$ ^% Q) f8 N. A, v' h+ ` q. W
3 }- u7 ~ q7 h( c6 [. z+ y" Z
/ c. F1 G% r1 H0 \3 g M- @8 S m& T/ A1 f/ M
運(yùn)行程序,即可看到串口調(diào)試終端打印如下信息,然后在PC機(jī)的顯卡設(shè)置(或圖形屬性)中,按照下圖設(shè)置HDMI分辨率為1920x1080、刷新率為60pHz。, j% y+ O0 z% e; _% j7 H
) A* @" K- u0 J- A8 c
1 y8 Q* g* X* d7 ^
​
9 R( F5 O- g9 B% v
# q! V4 r! k2 j6 a4 _6 k) }* K+ n/ ^( f! y2 g$ M5 t6 B2 x" \0 S
* T, [: K+ }# T6 y( @/ j7 e) B+ c
- L% U( X: S% G0 I/ `​( n! E- J& L' F$ E3 i
- ~4 I5 ?' e( }3 f0 i2 l* a
0 j% ^$ U% R! q4 T3 P, S此時(shí),HDMI顯示屏將顯示PC機(jī)HDMI OUT接口輸出的圖像。
W: i& r* e' j4 C​6 Z. x0 M0 Q3 W* O
; e3 U/ S0 M; X) w7 S$ r
: A! Y3 C' C' R2 j( {' m+ i0 i​
, E; P/ f* F7 [; X& C M( U
; k/ |9 G$ S; O4 E( b- a( t3 N2 j- n0 c3 M% g$ V* G( I I
●關(guān)鍵代碼(MicroBlaze)
0 x# G! n! |2 h/ {) R+ d$ U( X, Z7 p6 j* {( w2 T
MicroBlaze裸機(jī)源碼為"sw\baremetal_demo\project\sdi_capture_display\src\",關(guān)鍵代碼說(shuō)明如下。
. F) S* C+ k! [7 s) X, k
|6 D0 b" i. y1 v/ F! X( Y: f& P/ a+ E$ g: A3 n3 \
(1) 初始化VDMA,將采集到的視頻數(shù)據(jù)緩存至DDR,并將視頻數(shù)據(jù)搬運(yùn)至AXI4-Stream to Video Out IP核,再進(jìn)行SDI視頻輸出。
; T- X" M ]6 A% |5 `​, b: x5 q1 u: ^7 Y0 o5 a
● IP核配置" w* {: l# [/ H
( ?; a* }: u& |/ p$ b1 \9 `& y1 VDMA IP核5 C+ m2 L# t$ q
7 Q/ g$ ~ X, q; o
本案例使用VDMA IP核進(jìn)行視頻數(shù)據(jù)緩存。
4 d2 \% S& r6 E! l4 |- ?VDMA(AXI Video Direct Memory Access) IP核開(kāi)發(fā)文檔為產(chǎn)品資料“6-開(kāi)發(fā)參考資料\Xilinx官方參考文檔\”目錄下的pg020_axi_vdma.pdf,具體配置說(shuō)明如下。0 i2 i1 l& _% M$ H+ r
(1) Frame Buffer配置為3個(gè)。
! N# ]* D- h# L/ {$ x) j(2) Write Burst Size、Read Burst Size均配置為16。5 p- l# D& D: o
(3) 讀通道的Stream Date Width配置為24。
* ^$ ~" o8 h. B* G( J! V(4) 讀/寫通道的Line Buffer Depth均配置為1024。* e: k- J; G; `
​
; F% N2 w8 ?& K- p% {# t) ~, g
, C4 W* J/ a0 n0 D% C$ Y: n \4 v
(5) 點(diǎn)擊Advanced,保持默認(rèn)配置,即可避免VDMA同時(shí)讀寫同一個(gè)Buffer,造成視頻數(shù)據(jù)傳輸亂碼。) o) _' A; g. C$ L
8 v3 V$ B$ j1 M2 F R) C
1 F$ r8 k0 ~8 V8 _+ t! v+ `5 j
​
# v0 j9 H* i( I
9 m7 U4 k' ?6 _3 T! d# R: \
5 I2 X! Y9 F9 T& K2 Video In to AXI4-Stream IP核( R2 t! `( U2 j8 [2 F
, q( ^0 B+ y C6 N. n本案例使用Video In to AXI4-Stream IP核將并行視頻信號(hào)轉(zhuǎn)換為AXI4-Stream視頻流。
$ ?9 u+ E4 ^( r. F: j1 Q- S' B, F: ^* A* t
5 c# k' D( m+ J; QVideo In to AXI4-Stream IP核開(kāi)發(fā)文檔為產(chǎn)品資料“6-開(kāi)發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg043_v_vid_in_axi4s.pdf》,具體配置說(shuō)明如下。0 k4 U1 @3 }. y5 n
# W$ k# B- {% ]6 i8 A, {2 ^
6 g2 N$ C# [& K# ]1 ]' @% T(1) 視頻格式配置為YUV 4:2:2。0 ~& s d. z1 r0 S% A
(2) 數(shù)據(jù)位寬配置為10bit。
6 Q% Q" f' ] L(3) Clock Mode配置為Independent(獨(dú)立時(shí)鐘)。' @. P5 p" `1 h9 k
​( v5 x1 I( D4 e& y
7 Q p; V5 m6 A& `: n- v
* y( K% k! `. G# L+ l" L( @4 b' Z' g
s$ r, i) x f
' {1 _: |8 I- Z& R3 m& s, ^' h: [3 AXI4-Stream to Video Out IP核% P3 q* E& o5 A+ S$ S2 v u" _+ v
; o3 }% \" j7 T, n本案例使用AXI4-Stream to Video Out IP核將AXI4-Stream視頻流轉(zhuǎn)化為并行視頻信號(hào)。* }% i/ Q3 Z& r* M7 L8 e
AXI4-Stream to Video Out IP核開(kāi)發(fā)文檔為產(chǎn)品資料“6-開(kāi)發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg044_v_axis_vid_out.pdf》,具體配置說(shuō)明如下。3 R* O* h3 r' `/ X( }" v0 H; l4 ]
(1) 視頻格式配置為YUV 4:2:2。8 r2 G$ S1 h* k1 m/ k/ ~% q2 {' U
(2) 數(shù)據(jù)位寬配置為10bit。# z+ g( G/ b% e! P8 d
(3) Clock Mode配置為Independent(獨(dú)立時(shí)鐘)。# a G5 \& @, q! e) u
​9 Y; }. @& O# p a w( @+ H' I
3 S6 N( h2 e& z/ i! j& P9 J
' u8 Y E T7 ^0 l) `+ C& ~4 VTC IP核6 V5 K5 F- a. W. u0 a: i
$ H, h5 a* b$ H- F( m本案例使用VTC IP核產(chǎn)生用于視頻輸出的時(shí)序。4 ^' p' \6 s$ M) y' u @. Q' r
VTC(Video Timing Controller) IP核開(kāi)發(fā)文檔為產(chǎn)品資料“6-開(kāi)發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg016_v_tc.pdf》,具體配置說(shuō)明如下。
$ b& S" U! T" u3 O/ Q' _3 Z9 |(1) 點(diǎn)擊Detection/Generation,確保不勾選"Include AXI4-Lite Interface"及"Enable Detection"。
0 g4 u, ^% D: t8 v# E# F3 y1 F% G5 ^# k2 }/ T+ Q6 F8 r* R: Y ~' o
( j7 {- ]( j$ \; n6 e5 F​
* P5 Y* i' d! V0 l7 ^( u2 G- a. b% Q! d; I' M
) n: o( l) T; E. F5 t8 M
(2) 點(diǎn)擊Default/Constant,Video Mode設(shè)為1080p,其余配置保持默認(rèn)。9 z" d. y0 \; z6 a2 x& T
​/ V- c3 E/ a* [+ v
7 d2 `* S4 K* b, ]* U: u% L
) ~% ]+ i: o7 h
5 Clocking Wizard IP核
* {% m6 I1 B4 L$ _0 ?( q; ~7 g6 o \1 |
本案例使用Clocking Wizard IP核產(chǎn)生用于視頻輸出的像素時(shí)鐘(148.5MHz,對(duì)應(yīng)1080P60)。' ^$ P# O9 G" d' b$ K7 _8 {$ @
Clocking Wizard IP核開(kāi)發(fā)文檔為產(chǎn)品資料“6-開(kāi)發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg065-clk-wiz.pdf》,具體配置如下。
. Q, G+ c3 o, t" P. E- `$ v​
" L6 D8 X9 [/ o2 b/ ^* L" g
* h( v0 i/ O( D% W. A5 D }7 l3 {/ l" ~7 J# U
! p; s$ z5 Y+ b1 ^& `2 [8 j& ?) U" [. K' l) m+ r' u# U9 z
●Vivado工程說(shuō)明! ?+ f' i# a+ |/ [3 u/ G" N; g1 o
; ]& A9 B% ^3 W8 i e u
點(diǎn)擊BLOCK DESIGN開(kāi)發(fā)界面下的"Address Editor"選項(xiàng),可查看IP核分配的地址,MicroBlaze可通過(guò)對(duì)應(yīng)地址對(duì)IP核進(jìn)行控制。% \# d/ P# _, I" Q0 S# g
​
: D5 Y6 }' E/ v
7 _, D1 q2 f0 O5 T. `- {9 S6 d/ Q' q
Vivado工程頂層文件為"hw\project\sdi_capture_display.srcs\sources_1\imports\hdl\sdi_capture_display.v",關(guān)鍵代碼說(shuō)明如下。
/ Z9 K2 Z: v) p% @8 W
" h9 N4 B" d- y4 J$ d% O& K
: E. m: U! @: k% t! O(1) 定義模塊接口。
! o7 e! q. o; n4 O( f/ R​6 i4 R! [1 y, U
! m# u* o' H' w2 |
+ L5 b3 J* G7 ~$ v i, |! a(2) 使用STARTUPE2原語(yǔ)輸出復(fù)位信號(hào)。& y; j3 m( p& i# X2 {/ h
​
; F0 U% _4 C3 U2 ? g: Z1 ~& i# j, ?7 m+ s
- M6 p B, m3 X3 H- O) |2 X0 B
W% _3 m" R3 k: n, W/ z: N
1 u" M3 ?( Q1 c(3) 調(diào)用Block Design。% u7 W' @* M* ~2 ? e, X
​, |: ~( g9 P7 ~& L
& y* L. k4 r Y# a9 d) ?, t
6 T7 Z; ?& B$ u. ~
​* |) D' h8 e8 t& b5 O% Z3 j
& h3 p4 c5 {* t" Z
- i% ]; N# P: Y; Q6 V. G5 G |
|