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 电压即可,具体要求和实现会在后续博文中说明
CoaXPress 简介的更多相关文章
- 基于PXIe接口的CoaXpress高速相机图像采集、回放
PXIe简介 PCI eXtensions for Instrumentation or PXI is a computer-based hardware and software platform ...
- CoaXPress 时间戳 Time Stamping
背景 在CXP2.0之前,CXP没有定义Time Stamping时间戳的概念,但是用户对Time Stamping是有实际需求的,比如我们要对比多台设备拍摄同一个物体不同角度的照片,或者记录触发完成 ...
- CoaXPress 线缆和接插件的设计要求
本文的原理部分内容不仅适用于CoaXPress 协议,也同样适用于其它高速信号传输情形.在高速.低干扰信号传输时,线缆和接插件的选取是非常讲究的,我们在实际应用中经常会遇到线缆原因.阻抗匹配原因导致的 ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
随机推荐
- HTML5 Canvas绘制效率如何?
js运行效率在提升 编程语言的效率是前提,js自然比不上native的C语言效率,所以Canvas效率无疑比不上原生的2D图形绘制,但是js效率的提升是有目共睹的,以js与as为例,基本操作(运算操作 ...
- 让你熟知jquery见鬼去吧
$是jquery最具代表的符号,当然php也是,但是二者不能同日而语;不得不说jquery的选择器是大家赞不绝口的,在它1.x版本中对ie兼容性是最好的,这要归功于$选择器; 现在呢,html5的降临 ...
- ES6-11学习笔记--扩展运算符与rest参数
1.符号都是使用:... 2.扩展运算符:把数组或者类数组展开成用逗号隔开的值 3.rest参数:把逗号隔开的值组合成一个数组 扩展运算符: function foo(a, b, c) { con ...
- Android Studio连接SQLite数据库与SQLite Studio实时同步的实现
最近学习用到了android开发连接数据库这一块,发现连接成功后,都要先访问安卓项目的数据库路径data/data/项目/databases,然后把对应的db文件拷出来,再在SQLite的可视化工具中 ...
- JAVASE If 单选择、双选择及镶嵌笔记
//单选package com.huang.boke.flowPath;import java.util.Scanner;public class test02 { public static voi ...
- 在uniapp的节流函数
为了解决同一个人连续多次的点击同一个事件会造成的问题,js解决的方法有防抖和节流,防抖和节流都是在一定的时间上控制次数 节流是在定义的时间内连续点击多次事件,只会执行一次 在uniapp的工具文件夹u ...
- SpringCloud Alibaba入门之Nacos(SCA)
SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Clo ...
- DDD(Domain-Driven Design) 领域驱动设计
DDD(Domain-Driven Design) 领域驱动设计 1. DDD(Domain-Driven Design)是什么? DDD是Eric Evans在2003年出版的<领域驱动设计: ...
- 前端javascript之BOM、DOM操作、事件
BOM与DOM操作 BOM 浏览器对象模型>>>:使用js操作浏览器 DOM 文档对象模型>>>:使用js操作前端页面 window对象 所有浏览器都支持 wind ...
- equals 与 == 区别
1.对于==: 基本数据类型:byte,short,char,int,long,float,double,boolean. 基本数据类型之间的比较,对于==,比较的是他们存储的"值" ...