Camera link(学习笔记)

Camera Link协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。Camera Link标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采集卡之间的串行通信(本质就是UART的两根线)。Camera Link标准由美国自动化工业学会AIA定制、修改并发布,其解决了接口高速传输的问题。在Camera Link标准中,相机信号分为四种:电源信号、视频数据信号(ChannelLink标准)、相机控制信号、串行通信信号。下图为Camera Link标准的SDR26接插件的所有信号图,其中电源部分未用,所以全部设置成GND。

由于单个Camera Link芯片只有28位数据可用,因此为了提高传输数据的效率,需要几个Camera Link芯片进行数据传输。Camera Link标准的视频传输模式分为三种:Base模式、Medium模式、Full模式。其中每个端口为8位数据,Camera Link标准的规定标准时钟频率最大为85MHz。Base的有效带宽为2Gbps,Medium的有效带宽4Gbps,Full的有效带宽5.3Gbps.最近Camera link又新增加了规范Camera link Full+,支持80MHz,传输80bit数据,带宽可达6.4Gbps。
————————————————

camera link是在channel link协议基础上扩展而来,主要是应用于机器视觉领域工业相机和图像采集卡之间的数据传输。

camera link标准包含5种配置,每种配置支持不同的数据位,以下是五种配置。这里主要介绍base模式。

  • lite - 支持最多10bit,一个连接器
  • base - 支持最多24bit,一个连接器
  • medium - 支持醉倒48bit,两个连接器
  • full - 支持最多64bit,两个连接器
  • 80bit - 支持最多80bit,两个连接器

标准的camera link数据线提供了相机控制信号、串行通讯信号和视频数据信号。其中视频数据的传输就是基于Ch

.channel link

Channel link使用LVDS作为物理层。一个channel link接口包含一个接收端和一个发送端,发送端按7:1的比率把28bit的并行数据和1路时钟数据转换成串行数据,通过5路LVDS串行发送出去。接收端再按照1:7的比率将串行数据还原成28bit的并行数据。如下图。

channel link的信号定义如下图(camera link中会用到,截图自ds90cr287 data sheet)。可以看到channel link传输的是一个占空比为4:3的并行时钟,可用于接收端数据对齐,7倍频后可用于串行数据采样。

2 相机信号说明

Camera link协议对控制信号、通讯信号和视频数据信号也进行了定义。

2.1 视频

协议为视频传输定义了4个使能信号:

  • FVAL - 为1时表示行有效,FVAL和有效数据之间不应该有偏移;
  • LVAL - 为1时表示有效像素,LVAL和有效像素之间不应该有偏移;
  • DVAL - 为1时表示数据有效;
  • Spare - 预留;
2.2 控制信号

协议为相机的控制预留了4对LVDS信号,用于相机的输入,采集卡的输出。协议没有规定4对LVDS的使用方法。这4对信号分别是:

  • Camera Control 1(CC1)
  • Camera Control 2(CC2)
  • Camera Control 3(CC3)
  • Camera Control 4(CC4)
2.3 通讯

协议定义了2对LVDS信号用于相机和采集卡之间的异步串行通讯:

  • SerTFG
  • SerTC
3 数据位定义

Camera Link协议明确的规定了每对LVDS上传输的数据。先看下图:

上面的图画了两个连接器,图中所标的序号123是第一个连接器,45是第二个,对应了不同的camera link配置(base/medium/full)。base模式只需要看下面的连接器,可以看到下面的连接器中有3组信号:1、串行通讯;2、控制;3、视频。图中所标序号3这组信号是使用的channel link协议传输的,本小节重点说明3各个bit所代表的内容。这里通过两个表来说明。

下面的表给出了camera link(base/medium/full3种模式)定义的信号(第234列)和Channel link信号(第1列)之间的对应关系,Channel link信号的定义在前面的图中给出来了。

上面的表中出现了portA~portH这几个符号,对于24比特RGB的情况:A=R,B=G,C=B。

补充的基础知识:

一、差分信号是指用两根信号线传输的信号,通过比较这两根线上的电压差来判断信号的逻辑状态。差分信号在很多高速、高可靠性要求的通信系统中被广泛使用。下面将详细解释差分信号的定义、特点、优势及其应用:

  1. 基本定义
    • 概念解释:差分信号在同一时刻通过一对导线传输,这两个信号振幅相等但相位相反。接收端通过计算这两个信号的差值来解析原始信号,这种传输方式极大地提高了信号的抗干扰能力。
    • 比喻理解:差分信号类似于跷跷板上的两个人,一个人重一个人轻,但整体保持平衡。同样,差分信号中的两个信号线,一根线的电压上升时,另一根线的电压下降,整体平均电压保持不变。
  2. 主要特点
    • 抗干扰能力强:差分信号对外部电磁干扰(EMI)高度免疫。因为干扰源通常同时影响两根信号线,并且影响的程度几乎相同,差分信号通过计算两者差值可以有效抵消这种干扰。
    • 抑制噪声优势:差分信号能够有效抑制共模噪声。共模噪声是指在所有信号线上同时出现的干扰,而差分信号只关注两根线之间的电位差,从而消除了共模噪声的影响。
    • 准确定位:差分信号的时序定位准确,由于其依靠两根信号线上的差值进行逻辑判断,相比单端信号依赖阈值电压的方法更准确。
  3. 应用优势
    • 适合长距离传输:差分信号能够有效抵抗长距离传输中的干扰和噪声,因此特别适用于中远距离通信。
    • 处理双极信号:在单电源系统中,差分信号能够精确地处理双极信号,无须建立虚地,从而提高信号处理的真度。
    • 高速传输:差分信号在高速数据传输中表现优异,广泛应用于SATA、PCI Express等高速接口。
  4. 具体应用
    • 计算机领域:在计算机内部连接中,如CPU与内存、显卡之间的数据传输,基本都采用差分信号。
    • 视频传输:在高清视频传输如HDMI、DVI等接口中,差分信号用来确保高质量的音视频信号传输。
    • 通信系统:在远距离光纤通信和网络设备间的数据交换中,差分信号确保了低误码率和高信噪比。

总的来说,差分信号作为一种高效且可靠的信号传输方式,在现代电子和通信系统中占据重要地位。其强大的抗干扰能力和噪声抑制效果使其在长距离、高速、高可靠性要求的场景中得到广泛应用。理解并正确应用差分信号,是提高电子系统性能的关键。

低压差分信号(LVDS)是一种高速、低功耗的数据传输技术,主要用于高速数据传输和各类显示设备的接口

低压差分信号(LVDS)是一种利用极低的电压摆幅高速传输数据的差分信号技术,其优势在于低功耗、低误码率、低串扰和低辐射等方面。在数据传输速率方面,LVDS可以支持从155Mbps到655Mbps乃至更高速率的数据传输,非常适合于需要高速数据通讯的应用场合。

二、UART,即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),是一种常用的**串行通信协议**,主要用于单片机等数字设备之间的数据传输。UART提供了一种控制计算机与串行设备通信的方法,它的接口标准包括了RS232、RS491、RS423、RS422等标准接口。以下是关于UART的详细解释:

UART的基本特性和功能

1.数据格式: UART的数据格式包括起始位、数据位、奇偶校验位和停止位。起始位用于表示字符的开始,数据位用于传输实际的数据,奇偶校验位用于错误检测,而停止位则表示字符的结束。

 2.异步传输: UART采用异步传输方式,即发送端和接收端具有独立的时钟,它们通过约定的波特率进行数据传输,每个字符的传输都是由起始位开始,由停止位结束,这使得接收端可以准确地识别每个字符的开始和结束。
3.硬件结构: UART的硬件结构主要包括发送器接收器两大部分。发送器负责将并行数据转换为串行数据,然后通过串行线路发送出去;接收器负责将接收到的串行数据转换为并行数据
4.波特率设置: 波特率是UART通信的重要参数,它表示每秒传输的信号单元数。在UART通信中,发送方和接收方必须设置相同的波特率,以保证数据传输的正确性。
5.中断控制: UART通常支持中断控制,这意味着当UART准备好发送或接收数据时,它可以向CPU发送中断信号,请求CPU进行处理。

 UART的应用:

1.计算机与外部设备的通信: UART广泛应用于计算机与各种外部设备的通信,如鼠标、键盘、打印机等[^6^]。
2.微控制器通信: 在微控制器(MCU)领域,UART也是最常用的通信接口之一,用于MCU与MCU之间或MCU与其它设备之间的数据传输。
3.嵌入式系统: 在嵌入式系统中,UART常用于设备间的低速数据交换,如蓝牙模块、Wi-Fi模块与主控芯片的通信[。

UART的优点:

1.成本效益: UART是一种简单且成本效益高的解决方案,适用于许多简单的低速通信应用。
2.低功耗: UART的功耗较低,适合于那些对功耗敏感的应用[^10^]。
3.易于实现: UART的实现相对简单,大多数微控制器都内置有UART模块,使得设计更加简便。

 UART的限制:

1.速度限制: UART的速度相对较慢,不适合高速数据传输应用。
2.距离限制: UART适合短距离通信,长距离传输可能会受到噪声的干扰[。
3.缺少流控机制: UART没有内置的流量控制机制,因此在发送大量数据时可能会遇到缓冲区溢出的问题。

UART作为一种简单而可靠的串行通信协议,在许多应用场景中都有广泛的应用。尽管它有一些限制,如速度和距离的限制,但在适当的应用场景中,它仍然是一个非常有效的解决方案。在选择通信协议时,开发者需要根据具体的应用需求来选择最合适的协议,以确保系统的可靠性和效率。

三、带宽是通信领域中的一个核心概念,主要指在特定时间内能通过链路的最大数据量,通常以bps(比特每秒)为单位

带宽在通信和计算机网络中有多种含义,其定义因具体应用场景而异。在数字通信中,带宽通常指数据传输速率,即单位时间内能够通过网络传输的最大数据量。例如,我们常说的10Mbps带宽就是指每秒可以传输10兆比特的数据。这种意义上的带宽是衡量网络性能的关键指标之一。

带宽最初是通信术语,指的是信号的频带宽度,即信号的最高频率与最低频率之差。这在模拟信号系统中尤为重要,因为信号的带宽决定了其能够包含的信息量。例如,电话信号的标准带宽是3.1kHz,这意味着它能有效传输从300Hz到3400Hz之间的所有频率成分。随着技术的发展,这个概念也被用于数字通信中,此时带宽表示的是数据传输能力。

四、时钟频率,又称主频,是指同步电路中时钟的基础频率,通常以赫兹(Hz)为单位度量。它是评定CPU性能的重要指标之一,主频的数值越大,通常意味着CPU的性能越好。

时钟频率在电子技术中具有重要地位。脉冲信号是按一定电压幅度和时间间隔连续发出的信号,而时钟频率就是描述这种周期性循环信号在单位时间内产生的脉冲数量。计算机系统中的时钟通常是由一个精确稳定的脉冲信号发生器实现的,这个发生器的频率即决定了系统的基础时钟频率。

1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB (Kbyte,千字节)
1 GB(千兆) = 1024 MB

参考博文:【一篇看全】工业相机常用数据传输协议速率对比(CameraLink,CXP,1/10/100GigE,USB)_cameralink base 传输带宽-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/775563.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

植物学(书籍学习资料)

包含观赏植物学、植物学、植物学百科图鉴等多本植物学方面的书籍学习资料。 图2、3为观赏植物学截图; 图4、5为植物学百科图鉴截图; 图6、7为植物学学习指南截图。

YOLO V7项目使用

YOLO V7项目使用 根据官方论文中提供的项目地址:使用git clone将项目下载到本地。 https://github.com/WongKinYiu/yolov7 git clone https://github.com/WongKinYiu/yolov7 使用pycharm打开项目,根据官方提供的requirement.txt文件下载项目启动所需要的…

ERROR | Web server failed to start. Port 8080 was already in use.

错误提示: *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process thats listening on port 8080 or configure thi…

ubuntu下后台启动程序

1.启动 nohup python detect_mq.py > output.out 2>&1 & 这个命令是用来在后台运行一个 Python 脚本 detect_mq.py,并将脚本的输出重定向到文件 output.out。下面是这个命令的详细解释: nohup:这是一个命令,它告诉…

【东奥会计-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

有哪些有效的策略可以提升独立站的外链数量?

有哪些有效的策略可以提升独立站的外链数量?提升独立站的外链数量并不难,难得是不被谷歌惩罚把你的网站判定为作弊,正因如此,了解并应用GNB自然外链策略是个不错的开始,GNB外链的核心价值在于它提高了网站外链资源的自…

2024亚太赛(中文)数学建模B题Python代码+结果表数据教学

B题题目:洪水灾害的数据分析与预测 完整论文也写完了 第二问代码(1、3、4问、还有论文见文末) import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot as plt import seaborn as sns from matplotlib import rc…

2024年软件测试岗必问的100+个面试题【含答案】

一、基础理论 1、开场介绍 介绍要领:个人基本信息、工作经历、之前所做过的工作及个人专长或者技能优势。扬长避短,一定要口语化,语速适中。沟通好的就多说几句,沟通不好的话就尽量少说两句。举例如下: 面试官你好&…

.net core 的 winform 的 浏览器控件 WebView2

在.NET Core WinForms应用程序中,没有直接的“浏览器控件”,因为WinForms不支持像WebBrowser控件那样的功能。但是,你可以使用WebView2控件,它是一个基于Chromium的浏览器内核,可以在WinForms应用程序中嵌入Web内容。 …

Science Robotics 麻省理工学院最新研究,从仿真中学习的精确选择、定位和抓放物体的视触觉方法

现有的机器人系统在通用性和精确性两个性能目标上难以同时兼顾,往往会陷入一个机器人解决单个任务的情况,缺乏"精确泛化"。本文针对精准和通用的同时兼顾提出了解决方法。提出了SimPLE(Pick Localize和placE的仿真模拟)作为精确拾取和放置的解…

昇思25天学习打卡营第9天|MindSpore使用静态图加速(基于context的开启方式)

在Graph模式下,Python代码并不是由Python解释器去执行,而是将代码编译成静态计算图,然后执行静态计算图。 在静态图模式下,MindSpore通过源码转换的方式,将Python的源码转换成中间表达IR(Intermediate Repr…

电气-伺服(6)脉冲控制

一、脉冲模式原理: 运动控制器输出脉冲信号给伺服驱动器 伺服驱动器工作于位置模式 伺服驱动器内部要完成三闭环(位置闭环 、速度闭环、电流环) 脉冲和伺服控制环:脉冲的个数作用于位置环。脉冲的频率作用于速度环 二、脉冲的两…

ATFX汇市:美国大非农数据来袭,美指与欧元或迎剧烈波动

ATFX汇市:今日20:30,美国劳工部将公布6月非农就业报告,其中新增非农就业人口数据最受关注,前值为27.2万人,预期值19万人,预期降幅高达8.2万人。如果公布值确实如预期一般,美联储降息预期将增强&…

mysql 字符集(character set)和排序规则(collation)

文章目录 概念1、字符集1.1、举例1.2、常见字符集 utf8 和 utf8mb4 区别1.3、字符集 使用 2、排序规则2.1、举例2.2、常见的排序规则 utf8mb4_bin 、utf8mb4_general_ci、utf8mb4_unicode_ci2.3、使用 概念 在 MySQL 中,字符集(character set&#xff0…

昇思25天学习打卡营第8天|ResNet50迁移学习

一、迁移学习定义 迁移学习(Transfer Learning):在一个任务上训练得到的模型包含的知识可以部分或全部地转移到另一个任务上。允许模型将从一个任务中学到的知识应用到另一个相关的任务中。适用于数据稀缺的情况,可减少对大量标记…

【代码大全2 选读】看看骨灰级高手消灭 if-else 逻辑的瑞士军刀长啥样

文章目录 1 【写在前面】2 【心法】这把瑞士军刀长啥样3 【示例1】确定某个月份的天数(Days-in-Month Example)4 【示例2】确定保险费率(Insurance Rates Example)5 【示例3】灵活的消息格式(Flexible-Message-Format …

Windows10删除文件有较长延误的修复方法

Windows10删除文件有较长延误的修复方法 问题描述处理方法 问题描述 电脑配置很好,但是执行文件等删除操作时很长时间才有反应,才会弹出是否删除对话框。或者将文件移动到回收站,也是同样如此。 处理方法 第一步:以管理员身份启…

gitLab使用流程

标题1.配置账户 git config --global user.name git config --global user.email mygitlabmali.cn 标题2.生成秘匙 ssh-keygen -t rsa -C “mygitlabmail.cn” 。 //输入命令后一直回车 ,输入命令后一直回车(密码可以不填),至…

国际上备考所有AWS云计算/IT证书的五大优质免费课程网站

最近越来越多的小伙伴来问小李哥,小李哥亚马逊云科技AWS认证大满贯是在哪里上课复习的呢?全部上付费课程那不是一笔巨款吗?小李哥这次来盘点备考国际上IT证书的5大优质免费课程网站(不只是亚马逊云科技AWS的课程,其他课程同样可以…

Jemeter--独立变参接口压测

Jemeter–独立不变参接口压测 Jemeter–独立变参接口压测 Jemeter–关联接口压测 从数据库获取变参数据源 1、压测计划处添加对应数据库驱动包 左键点击压测计划,进入压测计划页面,点击浏览添加数据库链接jar包 2、线程组添加 JDBC配置原件 填写数据…