|

- E: n1 a. C4 z0 ?7 a前言 g) W2 t5 f$ m8 R0 Q+ d
CameraLink协议! U& Y3 s1 M' L; } ]
, s! z' F, X& `* W% YCameraLink协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。CameraLink标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采集卡之间的串行通信(本质就是UART的两根线)。
# c2 i3 r& L g, m) w# v1 C" r# k% D7 q; `6 g
CameraLink标准的视频传输模式分为三种:Base模式、Medium模式、Full模式。其中每个端口为8位数据,CameraLink标准的规定标准时钟频率最大为85MHz。; ~" K" ^( ^' M6 A
- e0 q$ @. h' z# ^! r
, Z2 y6 }' s/ H4 x ​* @2 o* g8 D/ E( a) w: z
% q# `# `9 ]3 L( `图1; D/ s( v0 z# x
& v2 {) v0 r2 O$ ~- e; JCameraLink + FPGA架构视频采集系统
/ y7 i9 F# b( C. a4 u. r; r: ?
( R1 G7 m# @- X& X8 f采用CameraLink + FPGA架构的视频采集与传输系统,既可实现符合CameraLink协议的数字相机,采集卡之间的通信与控制,同时实现对图像数据采集、转换、缓存、实时处理、输出等。该架构系统稳定性可靠,精度高,不易受干扰,具有较强的通用性、实用性和扩展性,灵活性也大大增强。CameraLink技术现已广泛应用于航空航天、军事、医疗、交通等领域。
# ]2 l6 r e/ d% k- P
/ K* T$ M# U" g2 ?2 x0 d. q ​
; ]+ ^9 g5 O5 w+ @
& a/ Q0 h) W2 W k3 t1 g# N4 d图2
) {' B9 V, r5 Y* C( E5 }6 S, p6 M( k2 G4 B' i% P
创龙科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡已实现CameraLink视频采集与处理方案。本文将为您分享基于Kintex-7 FPGA评估板的CameraLink视频开发案例。: [9 n8 d. V* F3 S$ S4 X" {
8 b9 L/ b* O# |. l- j N/ ]& f4 u
1 硬件平台- t& q2 C y( O8 O( f( `7 m( n. C
本文基于创龙科技TLK7-EVM评估板进行演示。
/ j/ R) |4 k) K: N# x4 C, P2 u+ |3 n: }5 s% d, u) `" G
TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。! G6 G- S! r9 n5 z
评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。
+ n9 @ U$ y% l% f9 @) ~: d7 u# F& h. |6 {6 Y, u
 ​
+ P+ @; e( ? `& F! t3 _& s) [
! _9 X7 J. A. Z4 _$ T, [7 i; B图3 TLK7-EVM评估板
, S- N+ s! @7 e5 q1 N4 N$ J
7 |7 M3 o4 T9 g7 @: e9 ~开发案例主要包括:. s! D* N: v$ d. s+ c+ z& Y' z
Ø CameraLink、SDI、HDMI、PAL视频输入/输出案例$ t) F8 x$ |2 ]7 v9 X8 S) H( j" u; U) v
Ø 高速AD(AD9613)采集+高速DA(AD9706)输出案例8 x% J# H% ~" J4 s
Ø AD9361软件无线电案例
& ]# t/ V- ]5 e5 T* J. [Ø UDP(10G)光口通信案例7 r( \' @/ X. K P7 T4 o
Ø UDP(1G)光口通信案例/ Z0 I5 c* _) ?* N: R; g
Ø Aurora光口通信案例
, {1 s" Z$ u+ X- Y! s3 ~2 jØ PCIe通信案例
9 E5 u0 p9 U% ]2 C; e) `8 z7 y- |
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点site.tronlong.com/pfdownload获取。/ R, M3 y" g5 G& [, B, L+ e
找厂家可申请TLK7-EVM评估板进行快速评估,免费哦!0 s4 V/ r. F/ E/ u1 L! l; [( L, v
m1 s: ] { x) y3 r
2 案例功能案例功能:评估板通过FMC视频模块TLCameraLinkF的CameraLink接口进行分辨率为1280x1024的视频采集,并通过TLCameraLinkF模块的HDMI接口将采集到的视频进行输出。
6 ]$ S r) A* d- x% E$ T! C0 F" W: d: G/ p2 b- K
8 `+ |* e5 X/ N% r) _' ^ ​6 T7 B- l9 e6 p2 O4 a" ?
* ]' x7 _+ y! z1 `" G8 T图6 程序功能框图
8 w6 g$ `0 {2 h! d5 r. D/ G; V/ o1 I
2 E6 p2 \7 T- a2 Q! O+ m5 G4 c
8 @7 z& c' q7 z+ P( w3 案例演示
9 X. }7 i! A4 f/ r1 n4 o" a本案例支持三款CameraLink相机,具体说明如下。' Q/ F% b" n0 L- b# u; h4 F
7 {8 G w% d' `* O
厂家
. t5 U- f, o8 c, \ | 相机型号0 | g; i( B: a7 U
| 支持模式 z( @! Z- h' V- ]
| 相机性能' i3 Q5 A& q2 E4 J- C @" e8 g
| Microview" E; l/ ^& T1 U. V, i4 q- i
(北京微视)
+ _# ]. ~+ E* E2 A6 l1 k; G+ F | RS-A5241-CM107-S005 @. a" m+ P; l1 l0 k/ w1 W
(黑白CameraLink相机)! s9 J' I! X5 H" V0 p
| Full2 O) L, L" f( g" O- |3 S. q
| 全幅面2560*2048下,帧率可达107fps p- Z0 _; {/ f$ }
| Base% r3 Z) F( k5 D. C- Y% \
| RS-A5241-CC107-S00/ B: |$ ]1 I0 x$ K
(彩色CameraLink相机)
, f/ C' I; ^0 |$ w/ g | Full X% V l0 x/ }& B9 r% ~
| 全幅面2560*2048下,帧率可达107fps% b* w, }9 _, M+ _( t/ g
| Base
* ?$ u& _0 ~7 H$ Y# d4 b0 W | MVC1381SAM-CL60-S00
, E3 S$ J8 d) {& s(黑白CameraLink相机)
( t' O0 O1 k5 f, I; s" w! a6 u | Base
3 n: ^3 A9 H3 l* F | 全幅面1280*1024下,帧率可达60fps
2 c* w. ^& q+ s. J m | * R9 \+ f* u& W; Q6 h5 b8 A; w4 s/ c
Full模式硬件连接方法
O# U$ Y) t! n. w
I6 U% X7 S. v8 z# V, R9 p如采用Full模式,创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
/ x1 G6 f) \& U% p [) j2 N1 A: C4 r' \) m& j. p' K
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将CameraLink相机的CL1通过数据线连接至TLCameraLinkF模块的CameraLink2接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。9 x' \5 o4 I1 R
 ​7 ?" \4 U4 Y, r% v
图7
9 H( ^3 R2 O8 p8 h+ i
' t, u- [) d; V0 A* |) WBase模式硬件连接方法
% v8 |& X6 c& z+ ^
& l: U, V) `: x6 R" e* h& D如采用Base模式,将创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
; X! o* _" f$ y; J. P/ v: L* B5 n+ K& L7 M
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。
. o" X% s2 D! F0 u& a5 t& `+ }
. _& y! E1 H8 F ​
. @( q9 L5 X+ }* ^5 a图8
4 s! `% O+ y0 l/ U, r
. _. N, l! ^/ `5 v& q& y
. `1 ]- i: B8 \% z; ~) e y( i下面对三款不同型号的CameraLink相机在Full/Base模式下的操作进行演示。 K6 H; W- f- h' {
9 h0 t4 ?) Y. Y1 p8 B
(1) 黑白CameraLink相机RS-A5241-CM107-S00,Full模式
4 E& h3 _3 i# [' \
) d( P& z( z! n- O1 P0 n9 o; g请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出黑白图像。
- ?7 F' K0 V( h9 G7 @/ l+ B$ J ​+ p/ v# Y; c, M1 q
图9( l; o- G3 L ?; |) O6 H
 ​
! D% X/ j1 p0 j) x图10 S/ E+ V/ m# B' R8 i
; P. ]" c. ? G& `- H8 }(2) 彩色CameraLink相机RS-A5241-CC107-S00,Full模式
: n2 a5 S/ A5 [3 l% S9 R8 r+ [1 N/ i( r1 h
请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出彩色图像。: P7 }! S: d y% r
 ​6 W1 L1 ]$ f* v: R- G- S' n
图113 W* y$ u3 @; V x+ y
 ​
9 r+ I( `" E( o7 R9 p' b: j" t* J# s 图12- J4 a m5 F, }6 ]% G( h
备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。
0 ~4 e6 J# O9 ?% J! f5 I0 ~* a1 b+ G& t; D/ A; r
(3) 黑白CameraLink相机RS-A5241-CM107-S00,Base模式* `8 T: W1 Y& @/ `
0 Q4 I! ^1 g( E4 d' r/ ?0 o: @请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出黑白图像。$ M# }' ]/ ` n/ a# s. ?8 q1 [
+ P# O3 x1 r- t2 {) o& b ​
, l* [! _* l3 M& G' h; U( y图13, r4 b t7 ]1 j' }( _
 ​% u- C5 C/ h) s v" Z
图14
$ ^1 `4 O0 D2 [$ ?/ W
3 j7 | B2 C, A(4) CameraLink相机RS-A5241-CC107-S00,Base模式8 y9 G$ ]. v$ d# h8 l8 x
( e4 e4 }- ] w0 ?0 E: P请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出彩色图像。# D" Q: O! I/ k1 N" Z ~0 B9 y
 ​4 ?8 {5 J1 f F$ `- C2 s3 y
图15
. z. ]9 U( a S2 w$ j) v) `( y+ w7 e ​6 Z* Q# m# n/ u* r& i3 J
图16
) \* E: `- W' R4 d5 p7 W; y, i4 w6 Z1 q* X. I
备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。
: C% @3 t& @7 w: K/ S
$ W8 s* r; x: ]( s* \+ G) o: R& C d" p+ V' v4 _2 V7 N# r
(5) 黑白CameraLink相机MVC1381SAM-CL60-S00,Base模式
, v: _8 @4 X! W$ Z! u8 ?# b
8 @. _' f6 z4 U4 o请运行Base模式程序,即可看到串口调试终端打印如下信息。请输入"3"选择相机型号为MVC1381SAM-CL60-S00。配置完成后,即可看到HDMI显示屏输出黑白图像。
M# E. v/ ?& B+ _$ g9 ]" V ​ e8 U- v; z" |9 l
图17/ N& Z( t: {9 x3 ?. T3 b$ F
 ​
! w/ I8 q6 Z- g- f9 D, `图18
! R& y8 L$ |6 r
( o+ [ t0 C: L: p
+ Q, r/ o* c3 a2 [4 关键代码(MicroBlaze): E3 L/ x" L7 l6 Q& D
MicroBlaze裸机源码为"sw\baremetal_demo\project\cameralink_display\src\",关键代码说明如下。
8 M: ?: s% n- C0 x0 Y- W* U( }$ r" `% G* q. j9 |
(1) main函数。1 o9 q1 T7 H; `9 ]! r( m- f
6 G; B$ k# b% P) v! a2 s
 ​/ @2 Y' j4 m K7 k" S) P
8 W$ I& ]0 g" V9 g( _3 p: n
图19
$ C. h$ g9 {+ ], P1 k$ @6 M( _5 N1 | ​
$ ~4 C' s& J( I! _$ s! f8 O2 u2 a* v% a: x" P0 }
图20
o8 v/ A2 R; \; \3 l6 r: f" ~' n! W) `$ u. c& y
" Z. C/ u- v7 U
 ​
7 @ Y& L. t* Q. c
& O2 U' u2 _4 {" H g图213 K a1 u+ ?" g; G7 p
1 @3 K! X( k# J+ E0 A& |3 L" C* @
(2) 初始化VDMA,将采集到的视频数据缓存至DDR,再进行HDMI视频输出。
7 c) x: P8 D! b6 w- c
" f' C& M( V9 l4 E$ q- j5 c6 Z8 I/ n* i: o- W5 Z t
 ​
4 Q% K5 F: [1 Z6 D, P; Z5 I3 P
( W5 M- t! \8 Q1 G4 p2 D图22% d( _, l5 R* I( L
! W) U5 A4 _* Y5 j/ d$ ]" W(3) 初始化Sil9022A。
8 O* b* Q/ v9 ]* ^2 W! ?
! m" v6 n/ w9 z2 ^8 q7 ~( ]4 D. e" x( A) Q
 ​
; t- U$ Y$ ~& o. }/ V- d* f' s9 U
图23
* ^8 }) H% k8 H; w/ t* D1 Y
3 a/ B, e7 g, m e+ n6 g% z+ C(4) 初始化AXIS Switch IP核。
2 u" }* [. v. M$ \6 w2 F7 Q5 i1 f7 o6 I
 ​4 j. w3 M" F+ y4 \) p6 j' i
图24
! N, F* u/ u3 W' N# _* F
B7 D2 y! b3 ^) A2 s9 ~. N6 I: @2 p* W/ K/ T$ b6 e
初始化Sensor Demosaic IP核,以将彩色CameraLink相机的Bayer格式视频数据转化为RGB格式。
* V& n! `$ Y; B5 b" X+ s8 N& L
: Q3 x3 O. _1 m; S. F3 l5 y/ G" x6 V3 e' ?; u
 ​( Z% [0 Y G$ r+ ]1 c
% j4 {0 D! I2 l" K) n. V图25- b; P0 g. y4 W( i: s
/ H g; \$ l z5 s, s(5) 初始化Video Mixer IP核。
, Q9 w) l/ P0 L* [! D$ f* v, E- W. C- r
 ​
: o: z* R9 M( y* a 图26
6 Q9 c$ J$ [% L$ b
( D# ]9 G/ {2 ]/ K* }9 ?( i; c8 s) G+ }6 w/ }
备注:关于Vivado工程说明及模块/IP配置详细内容,可下载产品资料进行查看。
' K! u2 c; q0 ?. k7 Q, U9 O7 B6 H! a4 c* c4 o7 s
* r7 v% s% ]$ v U+ i4 g6 更多推荐
- z5 I5 Q( C. Q: j1 }* Y新品推荐:TL6678ZH-EVM评估板(TI TMS320C6678 + Xilinx Zynq-7045/7100)* p2 y' D. |: n4 T
" Q$ `9 B9 h( p% A. ^. e' D
 ​# M% f) M5 T9 I# J6 a( l! E1 `* _
% {7 F% D2 t6 X' i4 u" r+ C |
|