|
+ ^5 p9 I: i3 _+ p
本文主要介绍基于FPGA+ MicroBlaze裸机的视频开发案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx SDK 2017.4。本章节,主要讲解:视频开发案例:HDMI视频输入、HDMI视频输出案例。主要基于创龙科技TLK7-EVM评估板进行演示。3 O) L4 W6 d" I4 I; k+ {4 M
) B* @& W* @2 \0 I: j
8 e+ E3 F0 L6 G2 ], S3 N7 C
TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
% R$ X+ Y3 G- F7 K9 N
1 i }, ~ Q, J2 Q# p5 L [
0 f! A- E; B% O" @评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。
. p) A) u! t, @. A2 I6 l$ U! X* V+ X- y
, ~4 V, @' U/ r3 W1 S9 V' W
​
8 G- L+ j$ j7 VTLK7-EVM评估板* J3 \7 r) j B% k; p' @
1 \1 T9 Z2 g/ H4 {
" x$ G, Z( Q2 M& v6 K开发案例主要包括:
, P- w; o# ]6 d
$ {- G' f/ p+ A) N) f. Y4 ~1 C
( v/ F/ r u- M8 D5 LØ CameraLink、SDI、HDMI、PAL视频输入/输出案例5 b5 g2 B/ W- S/ V( e9 P
Ø 高速AD(AD9613)采集+高速DA(AD9706)输出案例) Y3 q" A+ O9 ^3 ?
Ø AD9361软件无线电案例$ V2 X8 j8 h' q' }! f
Ø UDP(10G)光口通信案例. k$ U u6 A4 _# @( v& D; A
Ø UDP(1G)光口通信案例
$ b, z+ V, X9 o, Q( P/ {8 PØ Aurora光口通信案例
; d8 H2 t$ C7 {2 d' P6 VØ PCIe通信案例
0 A* V1 E6 _2 i5 B% Z! m a
3 U1 C* O! ?4 r( a1 E6 c
3 E, U K$ v/ h6 I3 F7 H! ll 案例功能 . h# G5 ?+ d+ r! o9 P
0 f- I* Q7 Z* J, i; @- g# B6 N
案例功能:评估板通过FMC视频模块TL7611/9022F的HDMI IN接口进行1080P60视频采集,并通过TL7611/9022F模块的HDMI OUT接口将采集到的视频进行输出。案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点: site.tronlong.com/pfdownload获取。; [3 z' b7 }0 R! `9 W$ I9 E# t
6 I$ @! C: {/ \
; h) C! K$ u. E- y( x! p# q​
" C! {" V( X- G
3 N' y6 y+ M/ d& B( p! A4 {
# E9 U$ M8 Q& w3 d' el 操作说明) a" v2 O) t1 ?' U
" o# a6 L0 _( x o1 C# J; P$ h" ^
请将创龙科技的TL7611/9022F模块连接至评估板FMC1接口,评估板J1跳线帽选择3.3V档位,以配置FMC IO的BANK电压为3.3V。* A2 {1 D+ @( u
准备一台拥有HDMI OUT接口的PC机(例如笔记本),通过HMDI数据线将PC机HDMI OUT接口连接至TL7611/9022F模块的HDMI IN接口,PC机HDMI OUT接口用作图像输出。通过HMDI数据线将一台HDMI显示屏连接至TL7611/9022F模块的HDMI OUT接口,HDMI显示屏用作图像显示。
, Y7 c5 Z7 K+ f! O, S$ `请运行程序,即可看到串口调试终端打印如下信息,然后在PC机的显卡设置(或图形属性)中,按照下图设置HDMI分辨率为1920x1080、刷新率为60pHz。
: i) b# l- K! A7 ^$ l, X, q
( a+ y" b8 ]& S% w1 `/ K$ |1 d5 t& p; ~2 \
​3 X8 p) A4 z7 _% r, |
' X; O' ?9 }1 J3 \% \' i. \- v/ m
5 L0 E- \, O3 g; g5 v% t M​) U6 D% w/ S T8 L
- a+ ?, h+ ^* o
- X8 J7 K* J$ }- x+ r此时,HDMI显示屏将显示PC机HDMI OUT接口输出的图像。
3 B7 D; |7 [* J( e- K% J​. K/ w& Z! _5 a
" R4 ]7 V, G4 \* q$ {. F; J+ s$ ?. B& P6 i! c1 u, n
" `9 n0 ~ W5 D X6 ^/ @4 Y
# j, g) m. U' Z- k3 D2 O
​
, j7 e ^+ j- \" X
. a* z, S: x6 @7 z" e& Q$ j
% d: J. ]; x& w) W1 n l0 s/ B! R" S3 ]/ I
, s# o7 g, z( j$ N' A x
l 关键代码(MicroBlaze)
2 W# T7 }5 s. \1 M9 v# S
4 J# O/ c! T+ C0 j1 ~8 RMicroBlaze裸机源码为"sw\baremetal_demo\project\hdmi_capture_display\src\",关键代码说明如下。
% n- e. Q6 f2 }0 s' F( s" ?: v
) |7 o/ s. w; t$ Q4 {5 W1 _" f, `& N
, Q, E4 i2 r% H1 A E(1) 调用Sil9022A、ADV7611初始化函数。初始化前需先通过AXI GPIO IP核控制Sil9022A和ADV7611的复位引脚,使其复位后再进行初始化。: T, k2 a5 J9 X# ]9 a
​3 n8 D# g0 O6 e6 K1 ^( R
( q9 e7 i5 T/ ~. P1 `
- ^0 [5 |# Q5 y/ A3 m
(2) 初始化VDMA,将采集到的视频数据缓存至DDR,并将视频数据搬运至AXI4-Stream to Video Out IP核,再进行HDMI视频输出。
) N. D7 H/ D' I3 q​
4 y+ ?% W& f- K- e
- ^6 ^2 p7 ~, f+ u& g4 K( g6 S, m- r N& f, w1 N1 M# R& c- A/ e* J
(3) 初始化Sil9022A。6 g2 e* G/ d9 A' q" B+ q0 X$ L
​ X9 O( G# s: ^$ _: H' A8 U9 V! e
# V* A/ W/ E+ {4 E: {0 x
9 A1 ^- | |- ~9 z L​
% X2 h! k, D0 P, i" G4 A b" b5 V2 d" ^. B6 f i
. d B( W6 h& Y* S4 I+ o' v% n) |
(4) 初始化ADV7611。
9 X* o- Y& G. n7 f Z e6 c3 z​0 ~; s* N) D& a
; t. `0 f: @+ F! u- X7 u4 Z0 \$ G! A& Q) x, Q* W
|
|