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