主頁 > 後端開發 > 【相機標準】我的cameralink協議學習筆記(個人中文翻譯,以及理解)

【相機標準】我的cameralink協議學習筆記(個人中文翻譯,以及理解)

2020-11-18 10:45:27 後端開發

創作時間:2020-11-17
根據附件的原英文版cameralink協議,總結學習,
目錄:
1.第一章 簡介
2.第二章 信號需求
3.第三章 埠分配
4.第四章 bit分配
5.第五章 連接器
附錄A 芯片組標準
附錄B API 功能
附錄C 不同配置(base medium full)下的bit 分配
附錄D cameralink電纜資訊

正文:
1.第一章 簡介
先說兩個知識點吧,
知識點1:數字電平
知識點2: channel link
1)知識點1:數字電平有很多CML,TTL ,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,甚至更低;其傳輸介質可以是PCB連線,也可以是特制的電纜,標準推薦的最高資料傳輸速率是655Mbps,而理論上,在一個無衰耗的傳輸線上,LVDS的最高傳輸速率可達1.923Gbps,
注:
雖然lvds的速率可以很快,但是我們在camerlink中只把LVDS速率最高跑至595Mbps就行,我們這樣“降額處理”下,這樣在應用中就妥妥的沒問題了,
2)知識點2:channel link technology 是什么?
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協議
在這里插入圖片描述3)在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,看下面,
我們來計算下:
并口: 85M28=2380M
(這個85M又是怎么出來的呢,原版協議檔案在這埋了個伏筆,附錄A就知道了)
LVDS: 595
4=2380M=2.38 G
297.524=2380M=2.38 G
2.第二章 信號需求
camera千千萬,敢用cameralink這個詞,定這個介面的人要思考多了,就跟中國大學千千萬,哪個敢叫個“中國大學”一樣,如果只是傳影像,那么還不如叫個camera_video_link來的準備,
一個相機或者采集卡基本上也就是控制信號,通信信號,影像信號,電源信號,那么cameralink接插件就把控制信號,通信信號,影像信號這三個都給合并了,免得被人說個名不副實,以偏概全,
cameralink沒有包括電源介面,因為不能設備的電壓電流不一樣,需要的接插件的銅芯粗細都不一樣,這個不好統一,
注:
cameralink這個協議可不單單是只相機,還有Frame Grabbers (字面上是幀抓取器,也就是我們說的采集卡),
在這里插入圖片描述
定協議的人不能只考慮了鎖子,那還得鑰匙呀,
下面是協議檔案中書的,The standard Camera Link cable provides camera control signals,serial communication, and video data.即就是CC信號;X0~X3、XCLK信號;串口信號,
Video Data
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.
Camera Control Signals
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)
Communication
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
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.
3.第三章 埠分配
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
表3-1,埠分配&三種配置
如果相機在每個周期中僅輸出一個像素,那么就使用分配給像素A的埠;
如果相機在每個周期中輸出兩個像素,那么就使用分配給像素A和像素B的埠;
如果相機在每個周期中輸出三個像素,那么就使用分配給像素A,B和C的埠;
以此類推至相機每周期輸出8個像素,那分配給A到H的八個埠都將被使用,
在這里插入圖片描述
圖3-1,三種配置下的信號路由
在這里插入圖片描述
圖3-2,三種配置下的框圖
在這里插入圖片描述

4.第四章 bit分配
流行的相機詳細位分配見附錄C
在這里插入圖片描述
在這里插入圖片描述

5.第五章 連接器
使用的連接器型號為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)連接,
外部的鞭子與鋁(機殼地)是和內部數字地是隔離的,

附錄A 芯片組標準
cameralink 使用產自NI公司的28bit的channel link芯片,
由于潛在的介面原因,使用類似技術,比如說是 TI 或者其他廠家的芯片,可能與cameralink介面不匹配,
下面為NI的芯片組
*在這里插入圖片描述
MDR26連接器中使用LVDS電平做為相機控制信號,并在芯點排列上考慮了最佳的印制板線路路徑,
以下是NI公司推薦的用于控制信號的轉換芯片,
相機端一般用的是048作為控制的接收,采集卡控制板一般用047作為控制的輸出,
048Datasheet:
在這里插入圖片描述

附錄B API 功能
附錄C 不同配置(base medium full)下的bit 分配
主流相機的位分配見附錄C

1)BASE模式
在這里插入圖片描述
在這里插入圖片描述
2)medium模式
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
3)FULL模式
在這里插入圖片描述
在這里插入圖片描述

附錄D cameralink電纜資訊

在這里插入圖片描述


THE END~

翻譯且學習了一周,陸陸續續,實屬不易,分享給各位工程師,
如果對您有所幫助,望點贊支持~

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/223755.html

標籤:python

上一篇:Pr:鍵控效果

下一篇:青年大學習破解-一鍵秒學跳過視頻并直接滿分

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more