CoaXPress 简介


CoaXPress 背景

CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准,主要用于替代之前的cameralink协议,常见于科学相机、工业相机、医学图像、航空防务等场景。之前这些场景都是使用cameralink接口的相机,cameralink 由于线缆的形式、传输速度等原因,已经不再适用于不断增长的数据带宽需求。

CXP是一个非对称的高速点对点串行传输协议,主要用于传输视频和静态图像,线缆多使用单条或多条同轴电缆。目前2.0标准的最高速度为单条lane 12.5Gbps,单条lane 上除了传输图像数据之外,还可以传输低速控制信号(42Mbps,用于访问相机的寄存器配置)、也可以利用该线缆对相机进行供电,这个能力称为 “Power-over-Coax”,单条线缆最长可达100m。

  • 单条同轴线缆最高12.5Gbps的线速率,可以使用单条或者多条线缆,比如4条线缆可以最高提供50Gbps的数据速率.
  • 较长的线缆长度,比如3.125 Gbps 速率下线长可以到100m,12.5Gbps速率下可以到35m,这个线缆的使用是CXP的一大特色.
  • 数据传输具备实时和低延迟的特性,且延迟等是固定的.
  • 精准实时的触发特性,支持通过同轴线缆发送触发,无需额外的线缆.
  • 可以获得灵活可靠的性能,通过使用标准的同轴线缆,比如RG59 和 RG6规格,推荐使用RG6
  • 易于集成的特性,图像、控制通讯、电源可以使用同一条线缆.
  • 线缆价格便宜Cost-effective cabling solutions
  • 支持热插拔.
  • 协议没有授权费用.

与其它图像主流接口的对比

下图是几种流行的图像传输协议标准对比,其中GigE USB3 SDI主要用于安防、手机通讯等领域,CXP、Camera link主要用于工业、科学相机,CLHS和CXP应用场景类似,线缆使用光纤传输,但是不支持线缆供电;

与PCIe接口的对比

笔者一开始接触CXP这个标准的时候,是有点抵触的,这么多的串行协议标准,为啥不直接用PCIe或者RapidIO或者其它图像协议呢。如果使用PCIe接口,相机就是一个标准的PCIe endpoint设备,容易部署,就成了标准PC计算机系统的一部分,连采集卡都不用了,只需要一个转接卡就搞定,简直YYDS啊!实际上也的确有厂商用PCIe作为相机的接口 https://www.ximea.com/ ,我们随便截图一款设备来看一下:

那么这款相机如何连接到计算机呢?

需要一条线缆、一个PCIe适配器即可,这个PCIe适配器的成本应该非常低,如下图所示,线缆可以选用同轴线缆或者光纤,PCIe协议相对于CXP而言,传输距离、实时性受到到了限制,但是如果选用光纤,PCIe接口可以增加传输距离到最高50m。PCIe接口的特点就是便宜、兼容性好,CXP的特点是实时性好、线缆简单、为图像传输专门定制,已经被各个相机厂商接受并支持。

概述

CXP是一种点对点可扩展接口, 设备和主机之间的物理介质为75? 同轴电缆。每一个CXP接口都包含1个MASTER连接和若干可选的扩展SLAVE连接,每一个连接都需要1条同轴线缆,通常设备会对这些连接进行编号,MASTER固定为0,SLAVE扩展接口依次递增。

每一个connection都包含如下功能,串行数据使用8b/10b编码

  • 高速串行数据(通常为Device到 Host downconnection), 最高 12.5 Gbps.
  • 低速串行数据(通常为Host 到Device upconnection), 最高 41.6˙ Mbps .
  • 供电功能Power (Host 到 Device), 最高13W. 

CXP链接速度

支持从1.25Gbps到12.5Gbps,这个速度刚好是Xilinx FPGA高速串行收发器可以覆盖的范围

数据传输优先级

控制信号和图像信号共享一个cable连接的带宽,并通过优先级决定传输次序,其中为了保证触发的高实时性,将触发信号列为最高优先级,触发回应列为次优先级,其它类型都在最低优先级。

触发精度

触发信号拥有最高传输优先级,对于20.83Mbps的控制信号链接速度而言,触发信号从HOST到达DEVICE会有固定3.4us的延迟,外加± 4 ns 的精度,如果是 41.6Mbps ,则延迟为1.7us,外加± 2ns的精度。

那么这个固定延迟和精度数据是如何得出的呢?

如下图所示,一个触发的package要占据7个字符(对于20.83Mbps(1个周期48 ns)速率来说,1个字符对应10bit,共480ns,那么7个字符共计7*480 = 3360ns = 3.4us),为了准确的DEVICE端恢复触发信号的位置,在发射端和接收端需要内置一个480/240 = 2 ns精度的计数器,用该计数器的值恢复出触发信号的准确位置,该计数器值通过触发包的最后3个字符传递。

Power Over Cable

每条线缆可以最大提供13W的供电,电压为24V。13W对于大多数单lane的设备而言是足够的,如果有4条lane则可以提供最大52W的功率,如果相机需要更大功耗,可以选择外供电。HOST应对配备DEVICE 识别功能并检察是否有短路情形,避免设备损坏。

具体实现时,在线缆上提供一个24V DC 电压即可,具体要求和实现会在后续博文中说明