前 言

CameraLink协议

CameraLink协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。CameraLink标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采集卡之间的串行通信(本质就是UART的两根线)。

CameraLink标准的视频传输模式分为三种:Base模式、Medium模式、Full模式。其中每个端口为8位数据,CameraLink标准的规定标准时钟频率最大为85MHz。

基于FPGA的CameraLink视频开发案例_CameraLInK

CameraLink + FPGA架构视频采集系统

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

基于FPGA的CameraLink视频开发案例_CameraLInK_02

创龙科技(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等接口,方便用户快速进行产品方案评估与技术预研。

基于FPGA的CameraLink视频开发案例_初始化_03

开发案例主要包括: 

● CameraLink、SDI、HDMI、PAL视频输入/输出案例

● 高速AD(AD9613)采集 + 高速DA(AD9706)输出案例

● AD9361软件无线电案例

● UDP(10G)光口通信案例

● UDP(1G)光口通信案例

● Aurora光口通信案例

● PCIe通信案例


案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点击下方链接或扫码二维码获取。


2 案例功能

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

基于FPGA的CameraLink视频开发案例_FPGA_04

程序功能框图

3 案例演示

本案例支持三款CameraLink相机,具体说明如下。

基于FPGA的CameraLink视频开发案例_串口调试_05

Full模式硬件连接方法

如采用Full模式,创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。

将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将CameraLink相机的CL1通过数据线连接至TLCameraLinkF模块的CameraLink2接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。

基于FPGA的CameraLink视频开发案例_FPGA_06

Base模式硬件连接方法

如采用Base模式,将创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。

将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。

基于FPGA的CameraLink视频开发案例_初始化_07

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

(1)黑白CameraLink相机RS-A5241-CM107-S00,Full模式

请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出黑白图像。

基于FPGA的CameraLink视频开发案例_初始化_08

基于FPGA的CameraLink视频开发案例_FPGA_09

(2)彩色CameraLink相机RS-A5241-CC107-S00,Full模式

请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出彩色图像。

基于FPGA的CameraLink视频开发案例_初始化_10

基于FPGA的CameraLink视频开发案例_CameraLInK_11

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

(3)黑白CameraLink相机RS-A5241-CM107-S00,Base模式

请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出黑白图像。

基于FPGA的CameraLink视频开发案例_CameraLInK_12

基于FPGA的CameraLink视频开发案例_FPGA_09

(4)CameraLink相机RS-A5241-CC107-S00,Base模式

请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出彩色图像。

基于FPGA的CameraLink视频开发案例_视频采集_14

基于FPGA的CameraLink视频开发案例_CameraLInK_11

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

(5)黑白CameraLink相机MVC1381SAM-CL60-S00,Base模式

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

基于FPGA的CameraLink视频开发案例_视频采集_16

基于FPGA的CameraLink视频开发案例_FPGA_09

4 关键代码

MicroBlaze裸机源码为"sw\baremetal_demo\project\cameralink_display\src\",关键代码说明如下。

(1) main函数。

基于FPGA的CameraLink视频开发案例_视频采集_18

基于FPGA的CameraLink视频开发案例_初始化_19

基于FPGA的CameraLink视频开发案例_串口调试_20

(2)初始化VDMA,将采集到的视频数据缓存至DDR,再进行HDMI视频输出。

基于FPGA的CameraLink视频开发案例_CameraLInK_21

(3)初始化Sil9022A。

基于FPGA的CameraLink视频开发案例_CameraLInK_22

(4)初始化AXIS Switch IP核。

基于FPGA的CameraLink视频开发案例_CameraLInK_23

初始化Sensor Demosaic IP核,以将彩色CameraLink相机的Bayer格式视频数据转化为RGB格式。

基于FPGA的CameraLink视频开发案例_串口调试_24

(5)初始化Video Mixer IP核。

基于FPGA的CameraLink视频开发案例_CameraLInK_25

备注:关于Vivado工程说明及模块/IP配置详细内容,可下载产品资料进行查看。

5 技术交流群

Kintex-7 FPGA交流群:311416997、101245165

Zynq-7000交流群:645235672、193393878

6 更多推荐

新品推荐:​TL6678ZH-EVM评估板(TI TMS320C6678 + Xilinx Zynq-7045/7100)

基于FPGA的CameraLink视频开发案例_CameraLInK_26

 基于FPGA的CameraLink视频开发案例_串口调试_27

基于FPGA的CameraLink视频开发案例_初始化_28