赞
踩
创作时间:2020-11-17
根据附件的原英文版cameralink协议,总结学习。
目录:
1. 第一章 简介
2. 第二章 信号需求
3. .第三章 端口分配
4. 第四章 bit分配
5. 第五章 连接器
6. 附录A 芯片组标准
7. 附录B API 功能
8. 附录C 不同配置(base medium full)下的bit 分配
9. 附录D cameralink电缆信息
10. 示例:如何在FPGA设计中使用CL287芯片
正文:
先说两个知识点吧。
一个自然而然的问题
LVPEL,LVDS,LVCMOS等,那么为什么使用lvds这种数字接口?
LVDS有好处呀,好处如下:
用于低压差分信号点到点的传输,有三大优点
A) LVDS 传输的信号摆幅小,从而功耗低,一般差分线上电流不超过 4mA,负载阻抗为100Ω。
B) LVDS 信号摆幅小,从而使得该结构可以在 2.4V 的低电压下工作。
C) LVDS 输入单端信号电压可以从 0V 到 2.4V 变化,单端信号摆幅为 400mV,这样允许输入共模电压从 0.2V 到 2.2V 范围内变化,也就是说 LVDS允许收发两端地电势有±1V的落差。
LVDS Technical Description Low Voltage Differential Signaling (LVDS) is a high-speed, low-power general purpose interface standard.
The standard, known as ANSI/TIA/EIA-644, was approved in March 1996.
LVDS uses differential signaling, with a nominal signal swing of 350 mV differential.
The low signal swing decreases rise and fall times to
achieve a theoretical maximum transmission rate of 1.923 Gbps into a loss-less medium.
The low signal swing also means that the standard is
not dependent on a particular supply voltage.
LVDS uses current-mode drivers, which limit power consumption.
The differential signals are immune to ±1 V common volt noise.
【笔记】
LVDS(Low-Voltage Differential Signaling 低电压差分信号。
1)可采用CMOS、GaAs或其他技术实现,其供电电压可以从+5V到+3.3V,甚至更低;
2)其传输介质可以是PCB连线,也可以是特制的电缆。
3)标准推荐的最高数据传输速率是655Mbps,而理论上,在一个无衰耗的传输线上,LVDS的最高传输速率可达1.923Gbps。
【特别注意】
虽然lvds的速率可以很快,但是我们在camerlink中只把LVDS速率最高跑至595Mbps就行。
我们这样“降额处理”下,要留有余量,和做人一样,这样在应用中就妥妥的没问题了。
channel link这个就是“通道链路技术”,通道链路一般就是在子板和母板的连接,整机对外等。我们肯定要选择一种简单便捷,带宽又高的链路。
先看看维基百科对channel link 的解释。
https://en.wikipedia.org/wiki/Channel_Link
美国国家半导体的Channel-Link(C-Link)是一种高速接口,可以经济有效地以250兆比特/秒的速率传输数据到背板或电缆上的6.4千兆比特/秒。美国国家半导体公司在20世纪90年代后期推出了第一个Channel-Link芯片组,以提供连续扩展数据总线以获得更高吞吐量的替代方案。
Channel-Link使用LVDS,并且配置有三个,四个或八个并行数据传输通道,以及每个配置的源同步时钟。在有线应用中,它使用一对双绞线来传输时钟信号,而在其余差分对上,它以7倍于时钟信号频率的比特率传输数字数据。除了使用差分走线而不是双绞线之外,背板应用的工作方式相同。
三个Channel-Link芯片组配置提供不同的用户界面。例如,三通道芯片组拥有21个用于用户接口的单端输入和输出,而四通道芯片组则具有28个单端输入和输出。八通道芯片组具有48个单端输入和输出,因为它使用7个串行比特/通道中的一个来对另外6个比特进行DC平衡。
注:
channel link就想到了LVDS这种好的传输电平,其实LVDS也是美国国家仪器提出的,这个公司喜欢制定各种基础标准。
那么Cameralink自然而然就学习了channel link,应用在视觉领域,以简单粗暴的办法为业界统一接口。这个统一好呀,就和秦王扫六合之后的统一“度量衡”一样。
==捋一捋思路,是这样的:==
LVDS电平-->channel link技术-->camera link协议
在Cameralink_base中(4对LVDS数据+1对LVDS时钟)最高带宽是多少?
有了接口,那么肯定要考虑这个接口的最大带宽,
不同的接口就像是不同的道路,好的道路就是高速公路,不好的道路就是普通公路,或者乡间小道。
好,Cameralink这个四车道能跑多少速率呢?
High Data Transmission Rates The data transmission rates of the Channel Link chipset (up to 2.38 Gbits/s)
support the current trend of increasing transfer speeds.
哎呀,怎么有来了这个数字2.38 Gbits/s,看下面。
我们来计算下:
1)并口端: 85M X 28=2380M
2)LVDS端: 595M X 4=2380M=2.38 G
297.5 X 2 X 4=2380M=2.38 G
【注】:这个85M又是怎么出来的呢,原版协议文档在这埋了个伏笔,附录A就知道了)
camera千千万,敢用cameralink这个词,定这个接口的人要思考多了。
就跟中国大学千千万,哪个敢叫个“中国大学”一样。
如果只是传图像,那么还不如叫个camera_video_link来的准备。
一个相机或者采集卡基本上也就是控制信号,通信信号,图像信号,电源信号。那么cameralink接插件就把控制信号,通信信号,图像信号这三个都给合并了,免得被人说个名不副实,以偏概全。
cameralink没有包括电源接口,因为不能设备的电压电流不一样,需要的接插件的铜芯粗细都不一样,这个不好统一。
【特别注意】
cameralink这个协议可不单单是只相机。
还有Frame Grabbers (字面上是帧抓取器,也就是我们说的采集卡)。
cameralink相机
cameralink采集卡(Frame Grabbers)
cameralink相机 与 cameralink采集卡连接
定协议的人不能只考虑了锁,那还得钥匙呀。
面是协议文档中书的,The standard Camera Link cable provides camera control signals,serial communication, and video data.
即就是:CC信号; X0~X3、XCLK信号; 串口信号。
The Channel Link technology is integral to the transmission of video data.
Image data and image enables are transmitted on the Channel Link bus.
Four enable signals are defined as:
• FVAL
—Frame Valid (FVAL) is defined HIGH for valid lines.帧有效,高有效
• LVAL
—Line Valid (LVAL) is defined HIGH for valid pixels.行有效,高有效
• DVAL
—Data Valid (DVAL) is defined HIGH when data is valid. 数据有效,高有效
• Spare
— A spare has been defined for future use. 空,预留(麻将中的白板)
All four enables must be provided by the camera on each Channel Link chip.
All unused data bits must be tied to a known value by the camera.
For more information on image data bit allocations, see Section 3、Bit Assignments, and Appendix C、 Bit Assignments According to Configuration.
Four LVDS pairs are reserved for general-purpose camera control.
They are defined as camera inputs and frame grabber outputs.
Camera manufacturers can define these signals to meet their needs for a particular product.
The signals are:
• Camera Control 1 (CC1)
• Camera Control 2 (CC2)
• Camera Control 3 (CC3)
• Camera Control 4 (CC4)
Two LVDS pairs have been allocated for asynchronous serial communication to and from the camera and frame grabber.
Cameras and frame grabbers should support at least 9600 baud.
These signals are :
• SerTFG—Differential pair with serial communications to the frame grabber.
• SerTC—Differential pair with serial communications to the camera.
Power will not be provided on the Camera Link connector.
The camera will receive power through a separate cable.
Each camera manufacturer will define their own power connector, current, and voltage requirements.
camera_link接口包括三种配置,因为一个channel chip 只支持28bit,那么要想传高带宽的就得需要多个channel chip。
协议约定了三种配置的命名:
Base
—Single Channel Link chip, single cable connector 单channel chip ,单线缆连接器
Medium
—Two Channel Link chips, two cable connectors. 双channel chip ,双线缆连接器
Full
—Three Channel Link chips,two cable connectors. 三channel chip ,双线缆连接器
port definition (端口定义)
1 port =8bit(LSB=bit0. MSB=bit7)
cameralink利用8个Port,从A到H
【重点!!!】
如果相机在每个周期中仅输出一个像素,那么就使用分配给像素A的端口;
如果相机在每个周期中输出两个像素,那么就使用分配给像素A和像素B的端口;
如果相机在每个周期中输出三个像素,那么就使用分配给像素A,B和C的端口;
以此类推至相机每周期输出8个像素,那分配给A到H的八个端口都将被使用。
三种(base、medium、full)配置下的框图
流行的相机详细位分配见附录C
使用的连接器型号为MDR 26_PIN。
该连接器在channel link应用中,具有高速率的传输,且在很成功和被认可,因此也被选择应用在Cameralink中。
3M公司紧密配合NI公司测试和验证了高速MDR连接器在LVDS传输的性能。
该连接器芯点定义如下表5-2:
注:
分为两种,一种是在采集卡端,一种是相机端。不要出错。
屏蔽建议:
1)电缆的外部屏蔽层连接至连接器的外壳。
2)建议相机的内壳(inner shield)连接至数字地。
3)建议在采集卡在出厂时通过一个0欧电阻将内壳(inner shiled)和数字地连接。如果必要的话,可以去掉这个0欧电阻并使用一个高阻的电阻和并联电容。
4)不用的对应该在电缆的接收终端加上100欧电阻。
注:
所有的对都用铝箔屏蔽。
屏蔽用铝包住并和四个数字地(inner shiled)连接。 外部的鞭子与铝(机壳地)是和内部数字地是隔离的。
cameralink 使用产自NI公司的28bit的channel link芯片。
由于潜在的接口原因,使用类似技术,比如说是 TI 或者其他厂家的芯片,可能与cameralink接口不匹配。
下面为NI的芯片组
*
MDR26连接器中使用LVDS电平做为相机控制信号,并在芯点排列上考虑了最佳的印制板线路路径。
以下是NI公司推荐的用于控制信号的转换芯片。
相机端一般用的是048作为控制的接收,采集卡控制板一般用047作为控制的输出。
048Datasheet:
附录C: 不同配置(base medium full)下的bit 分配主流相机的位分配
DS90CR287是cameralink的串化芯片。
https://www.ti.com.cn/product/cn/DS90CR287
这个287芯片很简单
以DS90CR287为cameralink_base输出,将16bits的灰度(Mono)图像输出为例。
只需要FPGA内部,将img_clk(像素时钟)、img/pix_data(数据)、img_fval(帧有效)、img_lval(行有效)、img_dval(数据有效) 等并口信号,按照《上述第四章、附录C的bit分配标准》要求,进行分配即可。(即上述紫色部分的cl_data_287模块)
另外,需要说明的一点,cl287的pwr_down信号,表示芯片关断,低电平有效,若硬件设计为上拉,因此,在上电后先复位,复位期间给低电平,计数器到一个时长,然后一直给高电平。
//cameralink_base_tx for Mono_16bits_x1 format
//DS90CR285/287/287A 的 TXIN[27:0] ,bit分配方式如下:
//Port A
CR287_TxIn[00]<=img_data[00];//CR287_TX00--Port_A0--16bitx1_A0
CR287_TxIn[01]<=img_data[01];//CR287_TX01--Port_A1--16bitx1_A1
CR287_TxIn[02]<=img_data[02];//CR287_TX02--Port_A2--16bitx1_A2
CR287_TxIn[03]<=img_data[03];//CR287_TX03--Port_A3--16bitx1_A3
CR287_TxIn[04]<=img_data[04];//CR287_TX04--Port_A4--16bitx1_A4
CR287_TxIn[06]<=img_data[05];//CR287_TX06--Port_A5--16bitx1_A5
CR287_TxIn[27]<=img_data[06];//CR287_TX27--Port_A6--16bitx1_A6
CR287_TxIn[05]<=img_data[07];//CR287_TX05--Port_A7--16bitx1_A7
//Port B
CR287_TxIn[07]<=img_data[08];//CR287_TX07--Port_B0--16bitx1_A8
CR287_TxIn[08]<=img_data[09];//CR287_TX08--Port_B1--16bitx1_A9
CR287_TxIn[09]<=img_data[10];//CR287_TX09--Port_B2--16bitx1_A10
CR287_TxIn[12]<=img_data[11];//CR287_TX12--Port_B3--16bitx1_A11
CR287_TxIn[13]<=img_data[12];//CR287_TX13--Port_B4--16bitx1_A12
CR287_TxIn[14]<=img_data[13];//CR287_TX14--Port_B5--16bitx1_A13
CR287_TxIn[10]<=img_data[14];//CR287_TX10--Port_B6--16bitx1_A14
CR287_TxIn[11]<=img_data[15];//CR287_TX11--Port_B7--16bitx1_A15
//Port C
CR287_TxIn[15]<=1'b0;//CR287_TX15--Port C0--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[18]<=1'b0;//CR287_TX18--Port C1--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[19]<=1'b0;//CR287_TX19--Port C2--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[20]<=1'b0;//CR287_TX20--Port C3--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[22]<=1'b0;//CR287_TX22--Port C5--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[16]<=1'b0;//CR287_TX16--Port C6--16bitx1_nc//实际中,不用的给0就行
CR287_TxIn[17]<=1'b0;//CR287_TX17--Port C7--16bitx1_nc//实际中,不用的给0就行
//VAL
CR287_TxIn[23]<=1'b0; //TX23--SPARE--16bitx1_nc//实际中给0就行
CR287_TxIn[24]<=img_lval;//TX24--LVAL
CR287_TxIn[25]<=img_fval;//TX25--FVAL
CR287_TxIn[26]<=img_lval;//TX26--DVAL//实际中给lval就行
看懂这个示例,其他的如法炮制,非常简单。
THE END~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。