CameraLink协议
CameraLink协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。CameraLink标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采集卡之间的串行通信(本质就是UART的两根线)。
CameraLink标准的视频传输模式分为三种:Base模式、Medium模式、Full模式。其中每个端口为8位数据,CameraLink标准的规定标准时钟频率最大为85MHz。
图1
CameraLink + FPGA架构视频采集系统
采用CameraLink + FPGA架构的视频采集与传输系统,既可实现符合CameraLink协议的数字相机,采集卡之间的通信与控制,同时实现对图像数据采集、转换、缓存、实时处理、输出等。该架构系统稳定性可靠,精度高,不易受干扰,具有较强的通用性、实用性和扩展性,灵活性也大大增强。CameraLink技术现已广泛应用于航空航天、军事、医疗、交通等领域。
图2
创龙科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡已实现CameraLink视频采集与处理方案。本文将为您分享基于Kintex-7 FPGA评估板的CameraLink视频开发案例。
本文基于创龙科技TLK7-EVM评估板进行演示。
TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。
图3 TLK7-EVM评估板
开发案例主要包括:
Ø CameraLink、SDI、HDMI、PAL视频输入/输出案例
Ø 高速AD(AD9613)采集+高速DA(AD9706)输出案例
Ø AD9361软件无线电案例
Ø UDP(10G)光口通信案例
Ø UDP(1G)光口通信案例
Ø Aurora光口通信案例
Ø PCIe通信案例
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点击http://site.tronlong.com/pfdownload获取。
找厂家可申请TLK7-EVM评估板进行快速评估tronlong.com/Product/show/93.html,免费哦!
案例功能:评估板通过FMC视频模块TLCameraLinkF的CameraLink接口进行分辨率为1280x1024的视频采集,并通过TLCameraLinkF模块的HDMI接口将采集到的视频进行输出。
图6 程序功能框图
本案例支持三款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 |
Full模式硬件连接方法
如采用Full模式,创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将CameraLink相机的CL1通过数据线连接至TLCameraLinkF模块的CameraLink2接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。
图7
Base模式硬件连接方法
如采用Base模式,将创龙科技的TLCameraLinkF模块连接至评估板FMC2接口,评估板J1跳线帽选择1.8V档位,以配置FMC IO的BANK电压为1.8V。
将CameraLink相机的CL0通过数据线连接至TLCameraLinkF模块的CameraLink1接口,将HDMI显示屏通过数据线连接至TLCameraLinkF模块的HDMI OUT接口。
图8
下面对三款不同型号的CameraLink相机在Full/Base模式下的操作进行演示。
(1) 黑白CameraLink相机RS-A5241-CM107-S00,Full模式
请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出黑白图像。
图9
图10
(2) 彩色CameraLink相机RS-A5241-CC107-S00,Full模式
请运行Full模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"1"选择为Full模式。配置完成后,即可看到HDMI显示屏输出彩色图像。
图11
图12
备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。
(3) 黑白CameraLink相机RS-A5241-CM107-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"1"选择相机型号为RS-A5241-CM107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出黑白图像。
图13
图14
(4) CameraLink相机RS-A5241-CC107-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请先输入"2"选择相机型号为RS-A5241-CC107-S00,再输入"2"选择为Base模式。配置完成后,即可看到HDMI显示屏输出彩色图像。
图15
图16
备注:由于彩色CameraLink相机RS-A5241-CC107-S00无白平衡功能,故图像颜色偏绿。
(5) 黑白CameraLink相机MVC1381SAM-CL60-S00,Base模式
请运行Base模式程序,即可看到串口调试终端打印如下信息。请输入"3"选择相机型号为MVC1381SAM-CL60-S00。配置完成后,即可看到HDMI显示屏输出黑白图像。
图17
图18
MicroBlaze裸机源码为"sw\baremetal_demo\project\cameralink_display\src\",关键代码说明如下。
(1) main函数。
图19
图20
图21
(2) 初始化VDMA,将采集到的视频数据缓存至DDR,再进行HDMI视频输出。
图22
(3) 初始化Sil9022A。
图23
(4) 初始化AXIS Switch IP核。
图24
初始化Sensor Demosaic IP核,以将彩色CameraLink相机的Bayer格式视频数据转化为RGB格式。
图25
(5) 初始化Video Mixer IP核。
图26
备注:关于Vivado工程说明及模块/IP配置详细内容,可下载产品资料进行查看。
Kintex-7 FPGA交流群:311416997、101245165
Zynq-7000交流群:645235672、193393878
新品推荐:TL6678ZH-EVM评估板(TI TMS320C6678 + Xilinx Zynq-7045/7100)