前言CameraLink协议
CameraLink协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。CameraLink标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采集卡之间的串行通信(本质就是UART的两根线)。
CameraLink标准的视频传输模式分为三种:Base模式、Medium模式、Full模式。其中每个端口为8位数据,CameraLink标准的规定标准时钟频率最大为85MHz。

f65f3afd0a2d34886faf2d74b780faf8.png ​图1
CameraLink + FPGA架构视频采集系统
采用CameraLink + FPGA架构的视频采集与传输系统,既可实现符合CameraLink协议的数字相机,采集卡之间的通信与控制,同时实现对图像数据采集、转换、缓存、实时处理、输出等。该架构系统稳定性可靠,精度高,不易受干扰,具有较强的通用性、实用性和扩展性,灵活性也大大增强。CameraLink技术现已广泛应用于航空航天、军事、医疗、交通等领域。

eae2332f1b02cbce7ffead5c13c015f7.png ​图2
创龙科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡已实现CameraLink视频采集与处理方案。本文将为您分享基于Kintex-7 FPGA评估板的CameraLink视频开发案例。

1 硬件平台本文基于创龙科技TLK7-EVM评估板进行演示。
TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。
3fe91222880eb6e3aeef20d8cd54cab3.png

图3 TLK7-EVM评估板

开发案例主要包括:
Ø CameraLink、SDI、HDMI、PAL视频输入/输出案例
Ø 高速AD(AD9613)采集+高速DA(AD9706)输出案例
Ø AD9361软件无线电案例
Ø UDP(10G)光口通信案例
Ø UDP(1G)光口通信案例
Ø Aurora光口通信案例
Ø PCIe通信案例
Ø 案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)点site.tronlong.com/pfdownload获取。
Ø找厂家可申请TLK7-EVM评估板进行快速评估,免费哦!

2 案例功能案例功能:评估板通过FMC视频模块TLCameraLinkF的CameraLink接口进行分辨率为1280x1024的视频采集,并通过TLCameraLinkF模块的HDMI接口将采集到的视频进行输出。
3efb84fe3b5d64cba011c58a6beb9524.png

图6 程序功能框图

3 案例演示本案例支持三款CameraLink相机,具体说明如下。
厂家
相机型号
支持模式
相机性能
Microview
(北京微视)
RS-A5241-CM107-S00
(黑白CameraLink相机)
Full
全幅面2560*2048下,帧率可达107fps
Base
RS-A5241-CC107-S00
(彩色CameraLink相机)
Full
全幅面2560*2048下,帧率可达107fps
Base
MVC1381SAM-CL60-S00
(黑白CameraLink相机)
Base
全幅面1280*1024下,帧率可达60fps

Base模式硬件连接方法
如采用Base模式,将创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。
2cf183b5deb5c6f6608ef59209c69f70.png
图7

Full模式硬件连接方法
如采用Full模式,创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将CameraLink相机的CL1通过数据线连接至TLCameraLinkF模块的CameraLink2接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。
fd153a5294695f8402e05a3959d7bb01.png
图8

下面对三款不同型号的CameraLink相机在Full/Base模式下的操作进行演示。

(1) 彩色CameraLink相机RS-A5241-CC107-S00,Full模式
请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出彩色图像。
efb2665e6eea13272c7208339c1eb26e.png
图11
ad6ba65d81829a71ba09cb3cb5f87662.png
图12
备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。

(2) 黑白CameraLink相机RS-A5241-CM107-S00,Full模式
请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出黑白图像。
e45dd0ae3d9cd7fdbed7df79b39d630c.png
图9
1af5c970fc3a09c5481670eff9c6c64e.png
图10
(3) 黑白CameraLink相机RS-A5241-CM107-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出黑白图像。
4d31ed7f0557ac843388fffd8612a0d7.png
图13
50bb55b4fdc3032d5ece2acd46abe4b8.png
图14
(4) CameraLink相机RS-A5241-CC107-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出彩色图像。
257173291fab4f206f72cbd46d1beb19.png
图15
f2c5f523d43e2abbf7439196d0d4f7e4.png
图16

备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。

(5) 黑白CameraLink相机MVC1381SAM-CL60-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请输入"3"选择相机型号为MVC1381SAM-CL60-S00。配置完成后,即可看到HDMI显示屏输出黑白图像。
54662855a109bd4d0decad6ad0cb66ba.png
图17
a6ec0c5e46d3d36d1ff1c61c16df6b8f.png
图18

4 关键代码(MicroBlaze)MicroBlaze裸机源码为"sw\baremetal_demo\project\cameralink_display\src\",关键代码说明如下。
(1) main函数。
e459b05428ef10d4edbb78ed7b7fdd57.png

图19
02f0850b616438affa4c252f29bad66b.png
图20
d4799348e40b8857caa9dc830243c9b6.png
图21
(2) 初始化VDMA,将采集到的视频数据缓存至DDR,再进行HDMI视频输出。
ecad60049ce74063776b126dd3d9ace8.png
图22
(3) 初始化Sil9022A。
a0970b9c5ee19d481686289f76bdb76e.png
图23

(4) 初始化AXIS Switch IP核。
0c1bfff3228fab7243c50fe8dbca8d68.png
图24
初始化Sensor Demosaic IP核,以将彩色CameraLink相机的Bayer格式视频数据转化为RGB格式。
c972a6754d2cc51a0a0269f712e3c876.png

图25

(5) 初始化Video Mixer IP核。
3cbd68b0f21afdbf0cccebeaf6551f4d.png
图26
备注:关于Vivado工程说明及模块/IP配置详细内容,可下载产品资料进行查看。
Kintex-7 FPGA
Zynq-7000

更多推荐TL6678ZH-EVM评估板(TI TMS320C6678 + Xilinx Zynq-7045/7100)案例例程,敬请期待。
bc3dc697b3a9096ba3218876e75d8535.png