電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 3729|回復: 0
收起左側

Kintex-7、Zynq-7045/7100評估板如何實現(xiàn)FPGA的兩種SDI視頻方案(GTX+外接芯片)

[復制鏈接]

678

主題

902

帖子

8293

積分

高級會員

Rank: 5Rank: 5

積分
8293
跳轉到指定樓層
樓主
發(fā)表于 2021-2-4 20:56:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前言
# h" Z* p/ j6 \: T$ v4 l

7 ], P7 O! @0 m& G+ R
! F0 E0 b* c/ u

/ n( v# R6 W6 F$ G! _  wSDI接口,全稱是“數(shù)字分量串行接口(Serial Digital Interface)”。按速率可分為標準清新度SD-SDI、高清標準HD-SDI和3G-SDI,其對應速率分別是270Mb/s、1.485Gb/s和2.97Gb/s。目前在航空航天、軍事、醫(yī)療、交通等領域,SDI的應用廣泛度僅次于CameraLink接口。
$ ?9 _- o5 H5 l1 x$ ~6 o* y" v0 B9 E
​" n! {2 E4 H# c

7 [( K3 K0 P" R+ {* G5 ^2 X
: \, o, Q/ G+ O+ ?( a  X. z$ a
9 j* W" C5 M7 n# w
: _& u0 m, F6 j8 _
SDI接口優(yōu)勢:% z" x! z1 {$ U- S: b/ a, g. {9 L# J- e
(1) 消耗GTX更少,消耗IO更少
2 S) q) A2 {+ `% E9 o0 c) }如果使用GTX總線,僅需1對GTX,而HDMI則需要3對GTX。CameraLink接口由于走LVDS信號,Base模式下需要11對LVDS信號,F(xiàn)ull模式下需要22對LVDS信號,消耗IO數(shù)量比GTX SDI多了很多。4 v3 k$ }0 u" ~, I# n2 F9 G8 D+ e
(2) 傳輸更穩(wěn)定- V6 ~3 i" A$ k6 w, W& i' ?
相較于HDMI接口,SDI接口的自鎖扣設計更加穩(wěn)定可靠,不易脫落,不會因人為因素造成信號中斷。
) f( {; c- U& B  t; R3 r. |+ _(3) 傳輸距離更長$ a# Q- M* q/ t  `) D
串行接口是指逐位數(shù)據(jù)的順序傳輸。它的特點是通訊線簡單。只要一對傳輸線可以實現(xiàn)雙向通信,特別適合于長距離通信。從理論上講,SDI的傳輸距離可以達到100m。8 Q' f4 S: S: \2 O- w+ l  X& I
(4) 成本更低6 B! v0 r- i! M% m# C* d
SDI接口平均每米價格約為4元,相較于HDMI接口的平均每米價格約為10元,SDI接口成本更低。, ~2 K5 |7 h4 V/ E4 Q1 X

+ Q3 q6 v2 P2 r- Z; \

' w1 \; k# K' M6 F7 b2 |0 V創(chuàng)龍科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡通過FMC視頻模塊已實現(xiàn)兩種SDI視頻輸入/視頻輸出方案:GTX +外接芯片。本文將為您分享基于Kintex-7 FPGA評估板、TL2971A/2972F視頻模塊的3G-SDI視頻輸入/輸出開發(fā)案例,使用外接芯片方式。TL2971A/2972F視頻模塊模塊亦可支持GTX方式。$ Q0 V5 P7 s- g4 ?

; e) A; F# T3 r9 M$ B
# v0 [, D( c( X5 I. F7 g
* X$ P7 |- j* N$ O4 U8 S' Q, u2 N

; u8 y8 X3 U2 \+ z) _●硬件平臺9 z6 J( {, s$ _9 l

- v" d5 e" m% O+ D8 F# j( p8 t! Q; v/ V8 v
% i: p  X& g! l2 {, A
1 TLK7-EVM評估板# g6 V) j5 V9 c; h/ R) Y

7 i  I9 Z# N8 T" J本文基于創(chuàng)龍科技TLK7-EVM評估板、TL2971A/2972F視頻模塊進行演示。
7 H  O9 V1 D. R+ U; U1 P) FTLK7-EVM是一款基于Xilinx Kintex-7系列FPGA設計的高端評估板,由核心板和評估底板組成。核心板經(jīng)過專業(yè)的PCB layout和高低溫測試驗證,穩(wěn)定可靠,可滿足各種工業(yè)應用環(huán)境。6 P7 \8 o  l4 d7 P: u# w1 o5 H7 k
評估板接口資源豐富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用戶快速進行產(chǎn)品方案評估與技術預研。/ I6 S8 m" X/ e& ?7 r
可申請TLK7-EVM評估板進行快速評估,點tronlong.com/Product/show/93.html,免費哦!; F5 H0 \! \+ c" |8 r; X- I# {
​% A4 Y4 @' q# r6 ?
7 Z6 ^/ z. y3 ]& r. F+ S, G

+ A) S3 h3 n# u TLK7-EVM評估板
. a+ z, i  n) ]5 F' }8 q1 V6 X) D" Z$ l* J4 i" C: e, O& c* i; G
4 }& G; Y1 d  t2 I3 l) N
8 A. y) e- c. S  M" ?
2 TL2971A/2972F視頻模塊
5 Y. R0 X6 M8 ]3 }2 {1 a
& ^1 P& r% o; h6 D+ k
TL2971A/2972F是一款基于FMC LPC標準設計的3G-SDI視頻輸入/輸出模塊,與創(chuàng)龍科技Zynq-7000/Kintex-7/Artix-7等評估板配套使用。以下為此模塊特點:* a5 e1 o# _2 @, u* N: t! e5 f
(1)通過GTX高速串行總線引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。
! e9 y4 Q' K. m3 Q* N# S0 Q) f(2)通過GTX高速串行總線引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。
. u! @5 d' n; a+ H' R' o, B(3)通過GS2971A芯片引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。
3 E6 d. M% Q6 b(4)通過GS2972芯片引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。
  D2 C; o4 \$ D1 W; v# h9 G(5)采用標準BNC連接器,支持視頻設備熱插拔。
& K- {. R8 s0 H; S. F  Z7 G+ X2 `% [& N​
: g# Y3 q  X% o" p
7 Q2 v& C% J3 h1 x, O# \' ?! _% D9 o
) {" c4 J0 Q% |% t/ s- X
TL2971A/2972F視頻模塊' D2 W5 _! ~, U, _/ F! U4 F- i

8 B& x/ E$ A! z$ J2 r0 Y3 h

$ d! N) R+ ^  y- w: ~: C% z0 L
9 h- w0 J! L0 ?

$ J; V7 \: V' ^4 [2 `
) Z2 y* U/ f, c' ~

% D) U1 _9 z. j6 a) I, L6 m●案例功能# y; w/ {+ l3 W" V; B4 l7 Q$ _
1 ?1 ], _8 F' }& j9 j! v
( m2 O; f: L; ^4 M

  A. k6 P. Z' N$ l' C  c8 E! h) B本案例為通過GS2971A、GS2972芯片引出SDI視頻輸入、輸出案例。通過GTX高速串行總線引出的SDI視頻輸入、輸出案例即將發(fā)布,敬請期待。& p0 y( j$ N1 E
案例功能:評估板通過FMC視頻模塊TL2971A/2972F的SDI IN接口進行1080P60視頻采集,并通過TL2971A/2972F模塊的SDI OUT接口將采集到的視頻進行輸出。案例源碼、產(chǎn)品資料(用戶手冊、核心板硬件資料、產(chǎn)品規(guī)格書)可點:site.tronlong.com/pfdownload獲取。. y& T3 S: Y& w: f4 P! q

: a* u) z$ @  s0 e4 i$ b& _
( b$ Y5 ~% }+ S3 w# K! u
開發(fā)案例主要包括:
2 w" S" c; s6 y* ?" D. N, E1 hl CameraLink、SDI、HDMI、PAL視頻輸入/輸出案例, h8 g1 L/ K! P) [6 {9 V
l 高速AD(AD9613)采集+高速DA(AD9706)輸出案例; q  a$ i: Y/ f- Z3 R0 L! s; g  L
l AD9361軟件無線電案例% p' s9 z, ], B+ ]0 @
l UDP(10G)光口通信案例9 K) m6 W: E, A) F; `7 S' G  W- f
l UDP(1G)光口通信案例
1 {* l# c) x8 v8 Sl Aurora光口通信案例
3 ?$ P- F& u- Gl PCIe通信案例
- j. |! ?4 X! Q: M! X' a# }. F1 u3 \: v

4 q3 u( ]/ h; R  a, m8 P
# x' B8 J7 G) P+ q
●案例演示
8 Y9 y$ M$ P/ J  a* f

, O1 b* k, \: ^/ U3 l0 h( Y將創(chuàng)龍科技的TL2971A/2972F模塊連接至評估板FMC1接口,評估板J1跳線帽選擇3.3V檔位,以配置FMC IO的BANK電壓為3.3V。
. D1 s3 r& w6 T, W# E; h, z準備一臺擁有HDMI OUT接口的PC機(例如筆記本),通過HDMI數(shù)據(jù)線將PC機HDMI OUT接口連接至HDMI轉SDI模塊(廠家:玩視,型號:3G HDMI TO SDI Audio)INPUT接口,PC機HDMI OUT接口用作圖像輸出。通過SDI數(shù)據(jù)線將TL2971A/2972F模塊的SDI IN接口連接至HDMI轉SDI模塊的OUTPUT接口。1 n5 g4 q& W9 d4 V
9 \7 K5 d4 [+ d& E+ P

) k1 z: D* ^, S! r4 I. q9 e" ~" `通過SDI數(shù)據(jù)線將TL2971A/2972F模塊的SDI OUT接口連接至SDI轉HDMI模塊(廠家:玩視,型號:3G SDI TO HDMI Audio)的INPUT接口,再通過HDMI數(shù)據(jù)線將一臺HDMI顯示屏連接至SDI轉HDMI模塊的OUTPUT接口,HDMI顯示屏用作圖像顯示。% g# ~' ~% d# T" ^4 J0 Q! w
& k/ }. ]  G- @* [- v: p; n; X
0 y9 C1 V% r1 w5 g; o6 [) P0 G

3 A5 x. Y0 `. T: `

/ a3 n' h& Y1 m​: l( R0 u/ _+ V3 j) k

* W' N' j2 k2 Z! `6 u

4 O4 t5 w3 w6 ^. J3 \( t- Q8 X: ~​2 f3 C) o7 h5 X9 S' w  S

2 U. o; U; H  X+ l
1 H8 o# I3 Q+ J8 l+ q

5 [. p  A) \, A! ~0 F' s0 F

# _9 s" h5 o0 q- M' f* c' S運行程序,即可看到串口調試終端打印如下信息,然后在PC機的顯卡設置(或圖形屬性)中,按照下圖設置HDMI分辨率為1920x1080、刷新率為60pHz。
' E- R3 L9 }! k* u5 J* E- k- k2 k/ M+ r) t

3 ^- x# O, A1 s- g' Q: X​
# n  l6 @( R( B- e- m6 U+ F# a" w# q8 s% y- ~4 T; O

/ E) i# A( @4 ?& H) s; M$ ?5 y: g) C. S) C" p( Q5 X8 I) Z# `4 w
2 ?$ P7 w4 X) Q( ?
​, M. y2 i$ F4 y5 F2 ^

" X- o' B! P" h$ j* k% k1 t0 u9 a

2 w& q5 `0 v! I* s9 g* u此時,HDMI顯示屏將顯示PC機HDMI OUT接口輸出的圖像。. Y" @: R  j# R6 b4 R( N
​
, `9 H% H* Q# O- K; t4 j7 [
4 @' \! |% e$ [  X
  C( |' a3 g5 x9 d& Z' D
​/ d7 x' \1 a; H8 u
- N% l: @" y" ^8 V& N
2 Q" F' l6 a8 g) Y) ]1 u
●關鍵代碼(MicroBlaze)
$ e  Y2 C) U* S5 a2 U6 r
  t5 D' w/ j; J# `% @
MicroBlaze裸機源碼為"sw\baremetal_demo\project\sdi_capture_display\src\",關鍵代碼說明如下。: c' K" U: J1 Z6 w- y) ]! k+ F

6 U9 h7 H& V) d$ s9 c
9 R- ]# s$ W1 j7 C; p- \9 K! `0 A$ W
(1) 初始化VDMA,將采集到的視頻數(shù)據(jù)緩存至DDR,并將視頻數(shù)據(jù)搬運至AXI4-Stream to Video Out IP核,再進行SDI視頻輸出。# k6 O; i' M- `" z3 L2 b" F
​
: ?* l2 T" l1 e! d; I. h● IP核配置2 x' g# w! F# B* F8 Q$ ^

2 N8 \7 s  ?* }1 VDMA IP核7 p2 b, z8 @7 p" B" B0 ^
, O# ]* m2 ]" I' }  S3 G7 h
本案例使用VDMA IP核進行視頻數(shù)據(jù)緩存。
8 f8 m' B; Z# l" E+ }6 ~VDMA(AXI Video Direct Memory Access) IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的pg020_axi_vdma.pdf,具體配置說明如下。# `3 }8 D! \2 [, ]! w
(1) Frame Buffer配置為3個。
1 ]+ p+ d, b) S' ?( X9 b" B(2) Write Burst Size、Read Burst Size均配置為16。4 p3 A; R" z4 v# ^9 h4 z3 F/ f+ l
(3) 讀通道的Stream Date Width配置為24。9 R# T: @' j8 Y* E' s1 b
(4) 讀/寫通道的Line Buffer Depth均配置為1024。
- u7 E3 X3 d% B* m( ]+ b  E​9 M, O' G$ t2 U. l8 @. y' A; {& U9 Y
" j5 ~, c) l6 d  I
) U# b7 z+ z8 ?/ O& _: P
(5) 點擊Advanced,保持默認配置,即可避免VDMA同時讀寫同一個Buffer,造成視頻數(shù)據(jù)傳輸亂碼。
6 E, F( k9 F$ ?* F1 P; D" R, N' A7 Y  @. o  J9 v

5 M1 o+ H3 M8 t/ `​
% {! ^7 [, x5 ?
' j5 p- j4 @; i/ `
  t1 T- Q& z4 L9 ^4 C
2 Video In to AXI4-Stream IP核
! h1 D( P* F8 {' O9 Q8 b

& W9 I) d" e0 w本案例使用Video In to AXI4-Stream IP核將并行視頻信號轉換為AXI4-Stream視頻流。) _" D: t6 `1 n+ S& i, ?, s5 u
. l: F0 f! L4 h+ D. m0 d4 \
1 E8 k' H6 z; C
Video In to AXI4-Stream IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg043_v_vid_in_axi4s.pdf》,具體配置說明如下。; O7 d5 F! T0 ?# r, \; n* Z
7 U5 Q: T* o5 S
* y5 L0 ]4 S* U5 J% h  E
(1) 視頻格式配置為YUV 4:2:2。7 m  s# F0 {+ s1 Z/ C
(2) 數(shù)據(jù)位寬配置為10bit。. p9 W- F  l1 S+ g: ]' \" ]% z: @
(3) Clock Mode配置為Independent(獨立時鐘)。
4 i0 I8 U' @0 L, Y​9 q0 Z* G" R, C9 |6 V8 P

$ s$ M* }3 k+ s6 s3 J/ o1 D, g
+ y3 L' M, {% T$ _$ p0 T

5 F: N3 g0 C9 l+ T  s; |& Z

4 _7 @/ Z3 H% Z+ ^6 i3 AXI4-Stream to Video Out IP核% E5 Z' O) Z9 a- v* l: U; p
6 G5 k1 s. r* u0 i8 U6 L" e1 B
本案例使用AXI4-Stream to Video Out IP核將AXI4-Stream視頻流轉化為并行視頻信號。5 w) G5 @* v7 m$ H
AXI4-Stream to Video Out IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg044_v_axis_vid_out.pdf》,具體配置說明如下。
( K- y# @  a% g, q! S; T2 N(1) 視頻格式配置為YUV 4:2:2。% U. J/ i# h0 g! R
(2) 數(shù)據(jù)位寬配置為10bit。
+ B! V5 O3 `% r( m6 v(3) Clock Mode配置為Independent(獨立時鐘)。
6 c/ o( m+ v8 l1 c4 M. S​9 T* ]3 ?* n6 E! O' P& d
( [) w& {& q5 [+ G

& z8 |8 _; U& C: i; d4 VTC IP核& r8 T* J! z+ ~9 ]% p
5 @+ }2 I8 n6 S: ^# Y) H
本案例使用VTC IP核產(chǎn)生用于視頻輸出的時序。3 B: P1 }: V8 y" h: ?" x
VTC(Video Timing Controller) IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg016_v_tc.pdf》,具體配置說明如下。
7 O) v) p" k7 ^" y5 P1 U& h8 e(1) 點擊Detection/Generation,確保不勾選"Include AXI4-Lite Interface"及"Enable Detection"。
) j. C% q6 _- b2 S& V0 s3 f
& k3 g5 @  ^( j( w( Q8 K

! @/ j# i, d) \​
2 r0 M0 [) j1 f6 A' \# @
! \* F- j0 {3 u5 l1 m
/ P  X  g/ J. l/ Y
(2) 點擊Default/Constant,Video Mode設為1080p,其余配置保持默認。
( q( g, ^% W" c: d( Z​( G3 x. {% s2 M# k+ ~. Y

6 a# Q; a" O4 c4 Q: T# t
4 ~- A: m6 X" c' C
5 Clocking Wizard IP核& O, I* a  n( e2 K$ T7 U+ i
( h/ ~$ t- x8 w; y% V/ }* e6 w9 t
本案例使用Clocking Wizard IP核產(chǎn)生用于視頻輸出的像素時鐘(148.5MHz,對應1080P60)。/ X; a3 g: \' P8 i  {" b' b2 c. S
Clocking Wizard IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg065-clk-wiz.pdf》,具體配置如下。
- O- q( D6 x) |' i; i1 t​
/ b% G* b9 ]; w. g& G, K* S9 ?9 t  }
( q; K9 D, G/ d' v. Y; I

- K, G: A0 G7 r0 l; T4 N/ m% @
; w# z2 L) T# {0 g1 _" [8 l
% \1 R( w' I0 [( \" w( k6 G! J
●Vivado工程說明6 H7 d. C6 j/ n" @2 A

$ w2 ]  F! F+ c# l0 H! l7 d點擊BLOCK DESIGN開發(fā)界面下的"Address Editor"選項,可查看IP核分配的地址,MicroBlaze可通過對應地址對IP核進行控制。
9 I9 x" j: ~% ^" A2 {: @& g​" \# C( H$ I- t' N# p' ]

& b7 h0 L  x: d

& |0 }/ q. y' xVivado工程頂層文件為"hw\project\sdi_capture_display.srcs\sources_1\imports\hdl\sdi_capture_display.v",關鍵代碼說明如下。7 r5 i/ T7 k2 l. ^2 n8 p; I0 F
9 p3 R) o1 a! E3 m0 B* f
+ G2 c& o# i3 f, x; o
(1) 定義模塊接口。0 g  Q. `9 s+ v7 A1 U0 l
​
. A7 K( i8 u8 Q* k1 Y, e
0 C0 c7 n1 O3 @& o

4 q& j3 E6 k7 o+ j* h. A. C(2) 使用STARTUPE2原語輸出復位信號。. W3 W8 j# j& b
​
6 P( V  P: j9 X' P$ @. p2 z7 ?
# \& h# e% X8 G0 ^) R* s

+ R# [7 R+ n$ a$ s' v& Y: w5 N7 o- }2 H; q$ D: C8 K* K+ p: Y

0 v" y$ a. x" e! ?* h: n(3) 調用Block Design。( b+ [8 I) d3 F) Q9 W5 M, b' }7 D
​' y3 Y: T! V, `2 P1 S

0 C5 d) F3 J2 A. N( s9 `
- x) o3 d0 v' O6 B' R( U
​8 q$ L0 B6 V! ?$ W

! U0 h5 U5 O0 }9 D
: E% l* d; A9 A# M6 E5 {
嵌入式DSP、ARM、FPGA多核技術開發(fā),學習資料下載:http://site.tronlong.com/pfdownload
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關閉

站長推薦上一條 /1 下一條


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表