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

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

搜索
查看: 3613|回復(fù): 0
收起左側(cè)

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

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2021-2-4 20:56:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前言$ P% u% {2 S- G8 g0 U

3 B( r. r- q& F1 m8 f
5 X1 H1 J3 L. x

: ?. ?) k( h& v3 _# HSDI接口,全稱是“數(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接口。
" d  G- ^& w8 b0 b+ g# b" I+ ]% Y: {& t0 ^8 ?8 u) C3 _1 i
​0 _: O" A1 W& P5 v, N1 ~  z6 X6 }5 {

! t! g1 o) H; ?9 a0 U
7 M9 P) H  M. r
( b. |8 z! t: w; [% R
& s* h1 T' D3 c4 j8 g$ ~. o
SDI接口優(yōu)勢(shì):
3 p8 i) ]' |6 f( V  ](1) 消耗GTX更少,消耗IO更少
( ?! ^% P& U/ Q! G" i  E如果使用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多了很多。
; I$ M0 a, j9 g! @) F. [(2) 傳輸更穩(wěn)定2 D* p8 U# N) A4 N% k
相較于HDMI接口,SDI接口的自鎖扣設(shè)計(jì)更加穩(wěn)定可靠,不易脫落,不會(huì)因人為因素造成信號(hào)中斷。3 v6 X( u2 ?3 P; l4 C( |. ]8 ~0 b/ Y
(3) 傳輸距離更長(zhǎng), D4 n  w  n" |( _& R/ Y
串行接口是指逐位數(shù)據(jù)的順序傳輸。它的特點(diǎn)是通訊線簡(jiǎn)單。只要一對(duì)傳輸線可以實(shí)現(xiàn)雙向通信,特別適合于長(zhǎng)距離通信。從理論上講,SDI的傳輸距離可以達(dá)到100m。
. v( K" `' R& N(4) 成本更低
& u6 t% p) a8 bSDI接口平均每米價(jià)格約為4元,相較于HDMI接口的平均每米價(jià)格約為10元,SDI接口成本更低。
* j7 {) R6 D# M* X* w, H
& U9 `% y9 J$ u. x

0 X# O' a8 X4 o7 K2 Z  d創(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視頻輸入/輸出開發(fā)案例,使用外接芯片方式。TL2971A/2972F視頻模塊模塊亦可支持GTX方式。! A* I# ]  B% s
; @* b! R5 B* t1 H8 N0 Z
; k, m$ J( h! ~0 C6 `

5 E% I8 O2 h$ H" |  Y1 e% }! g
  c5 {, |: ]0 z4 l
●硬件平臺(tái)
- u& P$ t/ m7 u: Y0 E

1 [# Q5 t5 m0 T: E0 o4 t9 F
) S% H* p. h) {  A9 c& x/ f2 q
! t* ?, h$ X0 H# M. i+ w9 I# g
1 TLK7-EVM評(píng)估板
1 E- o' ]0 B( S: n" {% D0 h

7 a# P' c! m# L) E: b6 z本文基于創(chuàng)龍科技TLK7-EVM評(píng)估板、TL2971A/2972F視頻模塊進(jìn)行演示。
5 c; {3 f6 z" y4 d+ ^( \  |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)境。2 X+ Q/ ~0 T5 G! D
評(píng)估板接口資源豐富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。8 R- Z* j' t$ }, q; l; A6 O! d) ~% Y
可申請(qǐng)TLK7-EVM評(píng)估板進(jìn)行快速評(píng)估,點(diǎn)tronlong.com/Product/show/93.html,免費(fèi)哦!
& g  q, C# I) U& |- W​4 `9 s' i. w% S, K# f" N: Y) S
1 u# ]# P  K0 o( D1 Z( ^/ V) |

: a$ q& |& l  C* d, \ TLK7-EVM評(píng)估板
) X& o) P5 B) z/ G- W2 D+ U& V4 w  E! F

. W6 r$ b7 D! t" R$ I1 b$ h0 S0 z! |+ Q0 ^+ h  T3 ~9 g) K. l
2 TL2971A/2972F視頻模塊' h, C7 M: ~/ e  a

3 O, ~: j, u, J& g( q, {9 `TL2971A/2972F是一款基于FMC LPC標(biāo)準(zhǔn)設(shè)計(jì)的3G-SDI視頻輸入/輸出模塊,與創(chuàng)龍科技Zynq-7000/Kintex-7/Artix-7等評(píng)估板配套使用。以下為此模塊特點(diǎn):, o% K6 z& W, u
(1)通過(guò)GTX高速串行總線引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。5 A4 q8 P3 X* x
(2)通過(guò)GTX高速串行總線引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。
1 Y5 j" c& V& s* H(3)通過(guò)GS2971A芯片引出1路SDI視頻輸入接口,最高支持2.97Gb/s(1080P60)。
5 @  f' X+ a3 Q(4)通過(guò)GS2972芯片引出1路SDI視頻輸出接口,最高支持2.97Gb/s(1080P60)。
; M; G: E9 o: T$ s% ](5)采用標(biāo)準(zhǔn)BNC連接器,支持視頻設(shè)備熱插拔。
& f; ~+ D) y3 j' n​
5 }5 ?& p4 c$ h/ T6 G
. T% S5 h3 t& a+ R- C
$ O( G/ z4 `; j+ w7 M& ^
TL2971A/2972F視頻模塊
- @6 C3 R: b! \; P/ F
6 s7 Q4 d  v# `( _* D
& r/ S# t  o5 z/ G5 W3 {
& F" A% W1 L, H: T

. [9 }: R. L) V4 B0 d7 }6 A" d# S$ K; A# s0 S9 S3 ^
2 p) l+ t# w8 n* I/ P1 ]9 g2 c1 r
●案例功能
% c9 {: c, Q' B
0 @0 e, X1 Q; j$ h
& g- q; _/ h7 B2 g6 @8 j

+ i! L8 ~8 P) c$ s! f& m  `! g本案例為通過(guò)GS2971A、GS2972芯片引出SDI視頻輸入、輸出案例。通過(guò)GTX高速串行總線引出的SDI視頻輸入、輸出案例即將發(fā)布,敬請(qǐng)期待。6 T$ J$ U$ l! A% P
案例功能:評(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獲取。2 G( Y5 T& \9 i. b
; v1 Q" l+ J, J4 Q
  J; r5 e& P; V( s! `0 ~' q
開發(fā)案例主要包括:
: B$ N, F. D1 A' b  |6 n  D0 el CameraLink、SDI、HDMI、PAL視頻輸入/輸出案例
8 C# m7 z5 b& ^2 X' ?l 高速AD(AD9613)采集+高速DA(AD9706)輸出案例6 T/ r9 ~$ V' W7 k6 g3 }5 Z
l AD9361軟件無(wú)線電案例% M2 L# E& V' k( J
l UDP(10G)光口通信案例5 m4 h% L# o0 F1 u0 H2 m
l UDP(1G)光口通信案例" p  F& @4 O6 W
l Aurora光口通信案例! q( s1 c2 H& T/ |+ a0 }- N+ K3 U# R
l PCIe通信案例
% Z) m) x. {" [3 ]. I# i; |& u* ~# u' H5 T1 U: L. V0 N! g
' F6 T2 f1 A$ ]7 ?; ?5 Q) j4 w

2 n. P2 S% h% B; z( w6 z●案例演示1 B( L* p- d8 n, n9 \# m

+ t( F/ |6 g( Z- i- F將創(chuàng)龍科技的TL2971A/2972F模塊連接至評(píng)估板FMC1接口,評(píng)估板J1跳線帽選擇3.3V檔位,以配置FMC IO的BANK電壓為3.3V。! m& `: T7 U. C- }+ y
準(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接口。7 e8 R1 ~- e! D/ _
2 E* y8 p" ~# i1 {6 |) \+ M  y
3 I5 w# J9 W5 @5 ?7 E  K$ Q
通過(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顯示屏用作圖像顯示。& E* ~6 H6 U1 U2 V

  o' |; D: u$ R* _, Z/ R

  S, d4 M1 T$ x4 ~* F# G
" M; w) I, |4 }; x
! {3 f' A6 P' F- y  F3 u. g
​
4 a. W# V& R4 s. r. U# b, G, u# _
3 g! ~" F, Z" o) \! d0 O  T
: W. Z  R. I( T$ m5 G+ S
​
* s4 V6 t0 Y9 k
+ B/ }) L( {- d4 @, i* Y

" j2 X. V9 D% J! T0 V4 ~) |
, a4 {& E7 {$ Q( O( z" J- Z
0 Z' m+ f+ m; w% x+ ?- o
運(yùn)行程序,即可看到串口調(diào)試終端打印如下信息,然后在PC機(jī)的顯卡設(shè)置(或圖形屬性)中,按照下圖設(shè)置HDMI分辨率為1920x1080、刷新率為60pHz。/ R# N2 i. q9 ~' u( g

, n2 A7 v9 g( ]  l
6 _/ g0 V! V0 d* o: g. J. h- g4 Q
​
( K7 f# d4 ^! R) _
$ n+ p" q% ~% B; e2 c4 ~
* a+ ~# v+ a% B1 h5 P$ o; @6 L

6 C& X0 O% U7 j! h  J+ C' n

6 i5 S$ [4 n* \2 h4 |9 ~6 G# t​& b% [* b3 v% S7 f1 B2 l
/ ~9 g2 V4 y7 K! E' Y9 v

; O/ h7 c( Y! Y1 {此時(shí),HDMI顯示屏將顯示PC機(jī)HDMI OUT接口輸出的圖像。8 _3 e$ k) v+ R6 Z2 k- \# O, e
​
4 f. M3 E$ l: l0 ]
* T# {+ W' Z$ Y- O& d9 X# s) H$ H
# @! U8 N# e, ~, z+ O) g
​: a' `' H; _' K: {: ]2 r3 h( T

3 t  M) G8 B! V0 N" @
# {6 Q/ x0 p0 i" W8 a0 Q2 c
●關(guān)鍵代碼(MicroBlaze)
+ g' {7 ]3 i7 ~3 e5 g! J7 J- `

" w; g+ z& S; \+ W$ X2 sMicroBlaze裸機(jī)源碼為"sw\baremetal_demo\project\sdi_capture_display\src\",關(guān)鍵代碼說(shuō)明如下。
4 i$ o3 K8 l, K5 d1 c4 f
; i( P' q$ M: b4 Z/ A8 y9 k

. d, ~0 }  J# {. y' f2 p(1) 初始化VDMA,將采集到的視頻數(shù)據(jù)緩存至DDR,并將視頻數(shù)據(jù)搬運(yùn)至AXI4-Stream to Video Out IP核,再進(jìn)行SDI視頻輸出。+ F6 U% ?/ W8 O" o" ~
​$ y: J1 P4 ^8 O7 V) W
● IP核配置$ G7 j2 X8 S8 U% M9 \  \* [( ^
; n2 c; q7 Q+ l8 ]- c
1 VDMA IP核
5 z- C' m9 K0 A

5 u/ C, G. z- W. g本案例使用VDMA IP核進(jìn)行視頻數(shù)據(jù)緩存。
* P) c3 H6 W6 B: h, F# gVDMA(AXI Video Direct Memory Access) IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的pg020_axi_vdma.pdf,具體配置說(shuō)明如下。
4 X. x0 d! U! {  d- \8 Y(1) Frame Buffer配置為3個(gè)。
' z0 W$ F/ p# z7 O! n(2) Write Burst Size、Read Burst Size均配置為16。! a* j0 j+ `  E% E/ Y: j
(3) 讀通道的Stream Date Width配置為24。2 Z3 D* `7 |* L# s) v$ J% E
(4) 讀/寫通道的Line Buffer Depth均配置為1024。
! w0 b" s& K# d​6 N" t- Y7 G( P

2 p8 `8 i8 A  m+ O, G
. L$ g8 F0 j$ I
(5) 點(diǎn)擊Advanced,保持默認(rèn)配置,即可避免VDMA同時(shí)讀寫同一個(gè)Buffer,造成視頻數(shù)據(jù)傳輸亂碼。
+ n  A; C& i, \* {9 R# j6 H: N* u  u: [- Y' g+ \
, b! f5 A! _( B# p
​0 c" f8 B8 e! [$ z+ W7 i5 I+ L

& l5 U: h4 t# O
2 ]* x4 v% z' @; L. [% G+ O
2 Video In to AXI4-Stream IP核$ W* x5 g: `9 R4 v. G( f8 A

* Y) D' Y. P% s* o8 _1 ^  s& b! k本案例使用Video In to AXI4-Stream IP核將并行視頻信號(hào)轉(zhuǎn)換為AXI4-Stream視頻流。
# J: h: A; g: U. T. n/ c+ a8 N
  e7 m1 }: O" X# @" n

0 K* r* h+ V; }" d( uVideo In to AXI4-Stream IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg043_v_vid_in_axi4s.pdf》,具體配置說(shuō)明如下。
" I4 w* y2 t* i: R: ~6 O) f$ P8 }: H. d8 a  W: `. N

9 p2 B3 C, w: r' K& R(1) 視頻格式配置為YUV 4:2:2。
4 O: _1 q: x# A/ e4 Z7 C(2) 數(shù)據(jù)位寬配置為10bit。$ O( r6 p3 w- [  X
(3) Clock Mode配置為Independent(獨(dú)立時(shí)鐘)。' e% ~$ B6 |! f! h: Q
​* H$ C  `; E' h1 M5 h

8 P; k, ^& c8 C+ @, \, `3 C, n% w

% k" m2 D. ^' l; E2 l# U, K+ H" \$ s% U. ~4 P. I
* \: N$ Z" \- k0 \
3 AXI4-Stream to Video Out IP核+ l5 J' Q- X! E9 L
6 E/ O; t1 O9 M/ @3 V  S
本案例使用AXI4-Stream to Video Out IP核將AXI4-Stream視頻流轉(zhuǎn)化為并行視頻信號(hào)。
' t- f8 y) O2 |$ U0 MAXI4-Stream to Video Out IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg044_v_axis_vid_out.pdf》,具體配置說(shuō)明如下。2 Q- i# m" g5 n0 E- ^
(1) 視頻格式配置為YUV 4:2:2。# [* t! W; G! A
(2) 數(shù)據(jù)位寬配置為10bit。( Z  a6 Y: ?5 Q! T
(3) Clock Mode配置為Independent(獨(dú)立時(shí)鐘)。
$ N" A$ e4 t' E​) u. H5 g# M1 Y; ?4 T* |/ a
  {  k! {7 b' l( m2 e) ^
! c0 {6 C/ k3 W' s! i/ c
4 VTC IP核0 _/ Q* D3 ^5 n1 p/ ?% f* l
: i2 P' ~2 t! q% d: V9 O
本案例使用VTC IP核產(chǎn)生用于視頻輸出的時(shí)序。
# f! \' m; s! K' k2 q8 l( T+ K2 zVTC(Video Timing Controller) IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg016_v_tc.pdf》,具體配置說(shuō)明如下。
$ h9 b- L  f- p( s9 |3 f(1) 點(diǎn)擊Detection/Generation,確保不勾選"Include AXI4-Lite Interface"及"Enable Detection"。
7 j4 l, p" ]2 Y' N1 ]1 V8 ~- F$ w) ^, c& J; L' v
/ @# ]& o. j. V+ G
​
" g* w3 z0 D7 v5 p  m: X/ e/ [  z" j7 N! X3 x$ f
  I5 V3 V. S0 ]$ Z5 r$ v+ O# \, d
(2) 點(diǎn)擊Default/Constant,Video Mode設(shè)為1080p,其余配置保持默認(rèn)。/ j4 s1 l2 B1 B( a2 V2 K
​
# b1 G) B3 s1 W  b0 E# q
/ P( D( M/ K6 h: I: f/ e& e

5 W# a" t6 O- D+ k9 b. @5 Clocking Wizard IP核4 m/ I6 U/ x) q6 e6 I4 z9 r
) A) q$ b  A; y# x
本案例使用Clocking Wizard IP核產(chǎn)生用于視頻輸出的像素時(shí)鐘(148.5MHz,對(duì)應(yīng)1080P60)。
: a; l9 Q) g) [$ {7 E8 W6 d# a1 jClocking Wizard IP核開發(fā)文檔為產(chǎn)品資料“6-開發(fā)參考資料\Xilinx官方參考文檔\”目錄下的《pg065-clk-wiz.pdf》,具體配置如下。
/ Z. V& N1 K2 t( }  U; Q% F​
0 P$ V+ u/ Z" r: _1 v# A0 U5 _& I
4 }+ C1 v- a  q* t! b
8 q( a& {$ v6 f% b" j4 u/ [

% c% E9 s3 A  k- Y8 I* c

3 A$ }; L* U1 {$ @  [# ^●Vivado工程說(shuō)明5 O! O& i# B3 o* ]5 ]2 Y! K
9 ?; `4 s# v. q8 r8 f0 z8 j
點(diǎn)擊BLOCK DESIGN開發(fā)界面下的"Address Editor"選項(xiàng),可查看IP核分配的地址,MicroBlaze可通過(guò)對(duì)應(yīng)地址對(duì)IP核進(jìn)行控制。
  f4 A$ @9 R2 x. @5 B' K* i​! D* M6 q# U! f# p2 |; s

1 l7 N% \1 x8 {2 C1 ^) [

0 @/ u0 }* c9 ?$ Y+ u2 xVivado工程頂層文件為"hw\project\sdi_capture_display.srcs\sources_1\imports\hdl\sdi_capture_display.v",關(guān)鍵代碼說(shuō)明如下。, V. e( n: w/ e) Z2 _
* Q' V: Z5 y, y
" y# z( H% y  R; w/ \
(1) 定義模塊接口。
% R) I3 C3 A* t​
8 c+ `# {) H# L+ o% g7 l  R1 d) q% x! ^- r

2 D) P$ s: ?, W/ \& [/ d  Z. l(2) 使用STARTUPE2原語(yǔ)輸出復(fù)位信號(hào)。
0 M) T3 g9 L# s- W" w/ b9 _​
& b, Z- ^% u1 y6 t5 |6 _4 H  e! N! g: x) D  g7 L
( m6 c3 o) S9 H9 R
5 Q+ f/ l5 i" _, w/ @
1 G; I, W6 F! l. u& @; A* A
(3) 調(diào)用Block Design。, R6 I7 ^8 Y$ q  _# N9 T
​
# L5 U2 R9 `* t& t7 E8 S  R: m1 i$ _( z6 i3 A8 w

/ q. Q3 ^7 ?7 }7 W2 O2 S3 v​8 j: ]* z/ }% ^* ]0 Z

' h# y; O# P2 ?8 V: f
6 V& F4 ], ?% Z
嵌入式DSP、ARM、FPGA多核技術(shù)開發(fā),學(xué)習(xí)資料下載:http://site.tronlong.com/pfdownload

發(fā)表回復(fù)

本版積分規(guī)則


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