【高清视频案例分享】CameraLink接口的PCIe采集卡 ,基于FPGA开发平台

一、CameraLink简介

CameraLink是一种高速、可靠的相机接口标准,它专为满足高性能相机与图像采集卡之间的数据传输需求而设计。该标准定义了相机与采集卡之间的电气接口、机械接口以及数据传输协议,确保了数据能够在高带宽、低延迟的情况下进行传输。

工作原理

CameraLink摄像头通过其内部的图像传感器(如CMOS或CCD传感器)将光信号转换为电信号。图像传感器中的像素单元会根据接收到的光强度产生相应的电荷或电压变化。这些电信号经过模拟前端电路的处理,包括放大、滤波等操作,然后被转换为数字信号。

数字信号随后按照CameraLink协议进行编码,并通过CameraLink接口传输到图像采集卡。在传输过程中,数据会被分组并添加相应的控制信息,以确保数据的准确传输和同步。

优势

高带宽:CameraLink能够支持非常高的数据传输速率,可满足高分辨率、高帧率摄像头的需求。例如,一些高端的CameraLink摄像头可以实现数Gbps的传输速率,这使得在短时间内能够传输大量的图像数据。

可靠性:该接口标准采用了成熟的电气和机械设计,具有良好的抗干扰能力。同时,其数据传输协议包含了多种错误检测和纠正机制,确保了数据在传输过程中的准确性和完整性。

兼容性:CameraLink标准得到了众多相机和图像采集卡厂商的支持,市场上有丰富的产品可供选择。这使得系统集成商能够根据不同的应用需求,灵活选择合适的摄像头和采集卡进行搭配。

应用场景

工业检测:在工业生产线上,需要对产品进行高精度的检测,如电子元器件的检测、汽车零部件的质量检测等。CameraLink摄像头的高分辨率和高帧率特性,能够快速、准确地捕捉产品的细节图像,为后续的分析和判断提供依据。

医疗成像:在医疗领域,如X射线成像、超声成像等,需要获取清晰、准确的人体内部图像。CameraLink摄像头的高可靠性和高画质传输能力,能够满足医疗成像对图像质量的严格要求。

科学研究:在天文学、生物学等科学研究领域,常常需要对远距离或微观的物体进行观测和记录。CameraLink摄像头能够提供高分辨率的图像采集,帮助科研人员获取更详细的研究数据。

下图是给大家展现的CameraLink接口模块:


图 1 FMC_Cameralink子卡

购买链接:https://detail.tmall.com/item.htm?id=864060883085

二、PCle简介

PCI Express(简称PCIe)是一种高速串行计算机扩展总线标准,它逐渐取代了传统的PCI、AGP等总线。PCIe具有更高的带宽、更低的延迟以及更好的扩展性,能够满足现代计算机系统对高速数据传输的需求。

工作原理

PCIe采用了点对点的串行连接方式,每个设备都通过专用的链路与主机或其他设备进行连接。数据在链路上以差分信号的形式进行传输,通过将数据分成多个数据包,并在每个数据包中添加地址、控制信息等,实现数据的准确传输。

PCIe总线支持多种速率,如1.0版本的2.5Gbps、2.0版本的5Gbps、3.0版本的8Gbps以及4.0 版本的16Gbps等。同时,它还支持多通道连接,通过增加通道数量可以进一步提升总带宽。

优势

高带宽:与传统总线相比,PCIe能够提供更高的带宽。例如,在x16通道的PCIe4.0接口下,总带宽可达32GB/s,这使得大量的数据能够在极短的时间内传输完成。

低延迟: e的设计旨在减少数据传输的延迟,它通过优化数据包的传输机制和硬件架构,使得数据能够快速地从源设备传输到目标设备。这对于实时性要求较高的应用,如视频流处理、高速数据采集等非常重要。

热插拔支持:PCIe设备支持热插拔功能,即在计算机运行过程中,可以直接插入或拔出 PCIe设备,而不会对系统造成损害。这大大方便了设备的安装和维护。

扩展性好:PCIe总线允许在一个系统中连接多个设备,并且可以通过扩展坞等设备进一步扩展系统的接口数量。这种良好的扩展性使得计算机系统能够满足不同应用场景下对设备数量和种类的需求。

在图像中传输中的应用

在CameraLink摄像头采集系统中,PCIe传输技术扮演着重要的角色。图像采集卡通过PCIe接口与计算机主机相连,将从CameraLink摄像头接收到的图像数据快速传输到主机内存中。由于PCIe的高带宽和低延迟特性,能够确保图像数据在传输过程中不会出现卡顿或丢失的情况,从而为上位机的实时处理和显示提供稳定的数据支持。


图 2 Kintex7开发板的PCIe接口

三、FPGA开发平台

本次案例FPGA开发平台所采用的是正点原子的Kintex7开发板,Kintex7开发板采用Xilinx公司的Kintex7系列芯片XC7K325TFFG900-2I和XC7K410TFFG900-2I。Kintex7开发板板载DDR3x4、千兆以太网x2、HDMI接口x2(输入输出各一个)、PCIe2.0x8、SFPx2和FMC_HPC等高速接口,非常适合工业控制、图像处理、高速通信、AI等领域。


图 3 Kintex7开发板

购买链接:https://detail.tmall.com/item.htm?id=819861151271

Kintex7开发板优势

芯片性能强劲:

采用Xilinx的K7系列芯片,具备强大的并行处理能力和海量的可编程逻辑资源。适合高度定制化的硬件加速需求,在实时计算、信号处理、多数据流并行处理等应用中,能使开发板的计算能力与灵活性大幅提升。

接口资源丰富:

1.高速存储与传输:板载DDR3x4内存,为数据存储和处理提供了充足的空间和较高的读写速度。配备PCIe2.0x8 接口,可用于连接高速存储设备、AI加速卡、GPU等,满足海量数据处理需求。

2.网络通信:拥有2个千兆以太网接口,便于实现高速网络通信,适用于工业控制、高速通信等领域中设备之间的网络连接和数据传输。还有2个SFP光口,每路速率可达10Gbps,可用于长距离、高速率的光通信,拓展了通信距离和速度。

3.视频处理:具备2个HDMI 接口,支持4K30帧的视频输入输出,能够满足高清视频处理和显示的需求,适合图像处理、AI等领域中对视频数据的采集和显示应用。另外还板载摄像头接口,方便连接摄像头进行图像采集。

设计灵活:

采用核心板加底板的形式,板上很多资源都可以灵活配置,以满足不同条件下的使用,也方便用户进行二次开发;

Kintex7开发板应用领域


图 4 Kintex7开发板应用领域

四、CameraLink接口的PCle采集卡方案演示

本文主要介绍基于Kintex7开发板的采集卡案例,适用开发环境如下:

Windows开发环境: Windows 10 64bit

FPGA端开发环境:Xilinx Vivado 2023.1

硬件平台:Kintex7开发板+ FMC_Cameralink子卡+CameraLink接口摄像头

案例说明

使用工业相机接到FMC_Cameralink子卡上面的CameraLink接口,开发板将FMC_Cameralink子卡传输的视频数据进行解码,然后再驱动PCIe接口将摄像头数据传输到PC端,最后在PC端通过上位机来显示CameraLink摄像头采集的图像。系统框图如下所示:


图 5 系统框图

案例实现

请将FMC_Cameralink子卡、CameraLink相机、Kintex7开发板和电脑主机对应连接,硬件连接如下图所示


图 6 案例实物连接

Kintex7开发板插入电脑主机的PCIe卡槽后,电脑开机,运行PCIeVideo上位机,采集的画面如下所示:


图 7 摄像头采集的画面

到这里,我们的演示步骤结束。想要查看更多Kintex7开发板更多相关的案例演示,欢迎各位工程师扫描下方二维码下载,快来试试吧!


正点原子
1 声望2 粉丝