|

4 p" ?7 o9 b/ }! `本文主要介绍基于FPGA+ MicroBlaze裸机的视频开发案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx SDK 2017.4。本章节,主要讲解:视频开发案例:HDMI视频输入、HDMI视频输出案例。主要基于创龙科技TLK7-EVM评估板进行演示。
- ], {1 z2 \. e/ d U! M0 v. C- B- Y. K$ S) q' T5 Y9 b; O
+ p6 a, r# R9 R1 ^TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
! l; g( Q; | v2 _: J/ F# J& q; W' {, R. u/ K3 b+ V
0 _% D, x+ ^) D# j8 E; t, d8 t9 N
评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。
4 h9 a8 e" I* D9 ]0 `
8 L5 c+ C |; v* O6 T4 R6 Z- D
* {4 _; ~2 K) M: S ​% u, e, [& D+ F A
TLK7-EVM评估板* K$ B; q6 [ l2 m( b. S
, i8 d3 |8 b1 ^: c- I+ w' j7 M
' X* i; o6 R( ]; u3 {$ w* G开发案例主要包括:0 ?% k% e! S) f2 y: w" U6 `) f
+ @ v* R3 `8 M6 p- S. k; w
6 I# `( f, f1 y" l. R% g& ]5 z @Ø CameraLink、SDI、HDMI、PAL视频输入/输出案例
, R f' X6 K- C' D& jØ 高速AD(AD9613)采集+高速DA(AD9706)输出案例
6 D5 d( N" ?, M( a5 qØ AD9361软件无线电案例
/ O) |& m4 ?$ }Ø UDP(10G)光口通信案例
# k$ ~+ A f- r# eØ UDP(1G)光口通信案例 z6 z2 z& @4 ]0 W. ^
Ø Aurora光口通信案例
* w/ t* Y3 Z+ E. g1 g9 xØ PCIe通信案例 A( J, B. n( k; K# x1 }
" ~6 D2 ?5 x2 W* {
* F2 b, r# r! R' |l 案例功能
7 W9 _) @ i- k1 g) Y+ w/ V. }5 w; Z0 p( O
案例功能:评估板通过FMC视频模块TL7611/9022F的HDMI IN接口进行1080P60视频采集,并通过TL7611/9022F模块的HDMI OUT接口将采集到的视频进行输出。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点: site.tronlong.com/pfdownload获取。
# N9 X* S( ?- V2 k* P1 X
5 H7 G6 C) A' H* B- f! O% h/ N+ c9 L: u
 ​
j; I. ]9 Z) ]: l' ]; H+ p: x$ n% L- N- x" R5 I3 {! m
8 \; A3 {( ?7 D G4 R1 N/ El 操作说明
1 w% K* r9 C& j& D* {4 c8 F K3 z! M7 y" a; @$ U9 L
请将创龙科技的TL7611/9022F模块连接至评估板FMC1接口,评估板J1跳线帽选择3.3V档位,以配置FMC IO的BANK电压为3.3V。
2 T+ |" e' Y2 {准备一台拥有HDMI OUT接口的PC机(例如笔记本),通过HMDI数据线将PC机HDMI OUT接口连接至TL7611/9022F模块的HDMI IN接口,PC机HDMI OUT接口用作图像输出。通过HMDI数据线将一台HDMI显示屏连接至TL7611/9022F模块的HDMI OUT接口,HDMI显示屏用作图像显示。: L5 x% C) C/ S" h! P- F, E
请运行程序,即可看到串口调试终端打印如下信息,然后在PC机的显卡设置(或图形属性)中,按照下图设置HDMI分辨率为1920x1080、刷新率为60pHz。
+ n) Z4 Z7 E( K c; L9 S
& J- L- t; ]' d- Y4 k7 R0 l
9 m0 p \1 O5 D ​
$ J2 o8 d* x6 W6 u4 M9 q6 \
& E/ b) r$ w4 z4 @1 l4 A* D% `# N# o0 S4 P
 ​
! ^' y( p. H' Y9 a1 y
. m( @' X* F2 N
0 |; z" g# B% a. v4 O% N Q此时,HDMI显示屏将显示PC机HDMI OUT接口输出的图像。
, s3 k1 B7 B5 V& l0 v( y) S. q ​2 L+ T5 |$ \+ C8 C8 ?
4 N7 A7 g7 G8 z3 U/ O5 A0 `+ V! e
; f; h$ P( Z1 `- {4 m' Y: r8 H5 _: @* l
 ​+ a+ E' q3 d$ K1 i1 T' U
; k1 g* O Q1 c' Y5 [! G. K! N5 l8 V2 B+ a* v' M$ Q
5 S/ A5 f6 o) F' y0 C8 @4 i9 j/ _" v! `: h7 o0 T; X
l 关键代码(MicroBlaze)
, B& n9 ~' e% R, d9 e! |
) K8 x! P6 f3 ]" ^+ h [MicroBlaze裸机源码为"sw\baremetal_demo\project\hdmi_capture_display\src\",关键代码说明如下。
1 d. e' g# b& k
0 H3 Y$ j) p6 R9 n" L2 q% ]9 ~1 L: [5 q; ^; O% ]+ w
(1) 调用Sil9022A、ADV7611初始化函数。初始化前需先通过AXI GPIO IP核控制Sil9022A和ADV7611的复位引脚,使其复位后再进行初始化。" X% p0 j( h5 L% s& X5 q
 ​+ V1 C$ S* I2 T& d
( j2 x3 e: _0 }" C3 p6 u
& y2 ~9 ]- k2 c0 H: Y2 {(2) 初始化VDMA,将采集到的视频数据缓存至DDR,并将视频数据搬运至AXI4-Stream to Video Out IP核,再进行HDMI视频输出。, i4 v7 s; L) R, J: ^! ^6 A3 `
 ​, W+ v4 I! k6 k' T7 m
# q, P) S. B/ `6 u2 B3 t2 H1 h8 F. L6 e
(3) 初始化Sil9022A。, h/ M" G5 R& X' i
 ​# A% R+ Y& f( o) _
: ]' E& M/ ~0 L: ^2 J* P: K1 g$ m* E& I; q9 G
 ​# _! T8 G( L0 B/ b; ~$ M
+ V+ y0 l' N% J* f U7 `2 D$ h
$ i! k& h8 U7 I; f(4) 初始化ADV7611。
& j0 T! {- {9 i; @0 j0 X3 ? ​, V" Z }: T% U( h
0 S+ F& G1 W) I% c
8 z; R; Q+ u h$ n7 C" G& F
|
|