cameralink base 介面雙通道任意影像數據源模擬

 

設備說明

PCIe-CLS2000是基於PCIe 介面的2通道 camera link base介面影像模擬源,適用於影像數據源模擬、接收處理平台測試等場景。

  • PCIe Gen2x4/x8 介面,支援3GB/s吞吐率;
  • 板載2GB 快取;
  • 2 通道標準cameralink base通路,可以獨立工作,支援5-85Mhz不同速率 cameralink;
  • 2通道均支援 8bit,10bit,12bit,16bit像素格式;
  • 2通道均支援 1X2-1Y,1X3-1Y時序;
  • 2通道均支援 LVAL, FVAL時序設置,可以軟體調節時序;
  • 2通道均支援CC1-CC4輸入,可以作為觸發源使用;
  • 2通道均支援硬體觸發、軟體觸發設置,即觸發訊號到來之後發送指定幀數;
  • 配有測試板,可以將camrelink LVDS訊號線引出到示波器觀察,極大的方便測試

 

 

 

camera link硬體說明

背景說明

Camera Link is a serial communication protocol standard designed for camera interface applications based on the National Semiconductor interface Channel-link. It was designed for the purpose of standardizing scientific and industrial video products including cameras, cables and frame grabbers.

Camera Link is currently the recommended standard interface for data rates from 100 MB/s to about 800 MB/s

Camera Link基於LVDS、Channel Link技術, Channel Link是一個工業串並轉換協議標準。Camera link介面主要用於工業、科學相機,定義有專用接插件與線纜。

圖表, 圖示

描述已自動生成

圖 2‑1 camera link框圖,以上截圖只是包含了BASE介面

線纜與屏蔽設計說明

MDR26標準介面、線纜,市場上很容易買到。

圖示, 工程繪圖

描述已自動生成

表格

描述已自動生成

表格

描述已自動生成

文本

中度可信度描述已自動生成

PIN腳說明

PIN腳說明截圖來自camera link協議標準

表格

中度可信度描述已自動生成

文本

描述已自動生成

表格

描述已自動生成

表格

描述已自動生成

驅動晶片說明

表格

描述已自動生成

我們選用支援速度最高的晶片系列,288A最高可以支援到85MHz。

硬體設計框架

採用FMC子母板的形式,子板使用LPC標準接插件與FPGA母板連接,子板實現2路標準cameralink base輸出,接插件採用SDR26 pin腳。

圖形用戶介面, 圖示

描述已自動生成

圖 2‑2 CLS2000子板設計框架

  • FMC 採用LPC接插件;
  • 對外接插件由於板卡尺寸原因,選用SDR26,而非MDR26;
  • DC90CR28A 是camera link專用的並串轉換晶片,配合標準線纜,最高能夠支援到85MHZ像素時鐘;
  • DS90LV032A是TI的差分轉單端晶片,負責將SDR26介面的CC1,CC2,CC3,CC4的差分輸入訊號轉成單端輸入訊號,CC控制訊號可以用作外部觸發輸入;
  • SerTFG, SerTC是UART介面,用作與simulator的串口通訊;

camera link部分原理圖

注意其中CC1-CC4固定設置為輸入,將差分訊號轉成單端訊號送給主控晶片。

圖示, 示意圖

描述已自動生成

camera link線纜說明

線纜、接插件的選用對於系統的最終性能測試非常關鍵,因此要求較高的系統必須選用可靠的線纜,推薦使用市場標準線纜,儘可能不要自定義線纜。

接插件MDR26

採用MDR26接插件,共26個pin腳,

圖示, 工程繪圖

描述已自動生成

表格

描述已自動生成

表格

描述已自動生成

線纜及其測試

圖表

描述已自動生成

圖形用戶介面, 圖表

描述已自動生成

關鍵術語參考

Pixel Depth

像素取樣深度,一般有8,10,12,14,16幾種選擇,指代一個像素對應的bit位數;

Pixel Clock

cameralink的時鐘,時鐘應當允許被disable,時鐘支援5-85MHz不同速率;

Taps/ Geometry

//www.baslerweb.com/fp-1510660945/media/downloads/documents/framegrabber_designers/AW00099004000_ace_beat_Camera_Link_Info_Frm_Grab_Designers.pdf

參考basler 的手冊說明,我們的simulator計劃支援下面2種格式,其它的格式在未來支援medium模式時再引入。

1X2-1Y表示在X方向,一次發送2個像素,在Y方向,一次發送一行,按照逐行掃描的順序向外發送。

1X2-1Y Geometry – 8, 10, or 12 Bit Pixel Depth

The characteristics of the 1X2-1Y tap geometry are:

  • On each cycle of the Camera Link pixel clock, the data for two pixels are transmitted via the Camera Link interface. This is commonly referred to as a “two tap” Camera Link configuration.
  • The camera will begin transmitting data from sensor line one. It will transmit the data for the first two pixels in line one on the first Camera Link pixel clock cycle, the next two pixels in line one on the second pixel clock cycle, the next two pixels in line one on the third clock cycle, and so on until the line is complete.
  • When line one is complete, transmission of line two will begin and will proceed in a similar fashion. Data transmission will continue line-by-line until all of the data for the image have been transmitted.

圖示, 表格

描述已自動生成

表格

描述已自動生成

1X3-1Y Geometry – 8 Bit Pixel Depth

表格

描述已自動生成

Trigger

觸發有開始觸發、幀觸發,觸發類型分為立即觸發、軟體觸發、上升沿觸發、下降沿觸發、高電平觸發、低電平觸發。

/// <summary>trigger類型</summary>

public enum CL_TRIGGER_TYPE

{

START_TRIGGER = 0,//START TRIGGER,開始觸發

FRAME_TRIGGER = 1,//Frame trigger,每來1次,觸發一次輸出

};

/// <summary>camera link觸發模式</summary>

public enum CL_TRIGGER_MODE

{

CL_SOFT_TRIGGER = (0x1 << 0),//software trigger

CL_RISING_EDGE_TRIGGER = (0x1 << 1),//rising edge trigger

CL_FALLING_EDGE_TRIGGER = (0x1 << 2),//falling edge trigger

CL_HIGH_LEVEL_TRIGGER = (0x1 << 3),//high level trigger

CL_LOW_LEVEL_TRIGGER = (0x1 << 4),//low level trigger

CL_IMMEDIATE_TRIGGER = (0x1 << 5)//immediate trigger

};//trigger mode

/// <summary>觸發訊號來源</summary>

public enum CL_TRIGGER_SOURCE

{

//camera link cc interface

C0_CC1 = 0,

C0_CC2 = 0,

C0_CC3 = 0,

C0_CC4 = 0,

C1_CC1 = 0,

C1_CC2 = 0,

C1_CC3 = 0,

C1_CC4 = 0,

};

Start Trigger 開始觸發

The camera can be set to accept an External Acquisition Start Trigger (ExASTrig) input signal, which is used as an enabler for the frame start trigger. When the camera receives a proper ExASTrig signal, its acquisition status will change from “waiting for acquisition start trigger” to “waiting for frame start trigger”. When the ExASTrig signal is applied to the camera via the Camera Link interface, it is an LVDS signal as specified for RS-644. The camera can be configured to accept an ExASTrig signal on the CC inputs in the Camera Link interface:

Frame Trigger觸發

Frame Trigger觸發,開啟一幀任務;

The camera can be set to accept an External Frame Start Trigger (ExFSTrig) input signal to control exposure and readout of the camera』s sensor. When the ExFSTrig signal is applied to the camera via the Camera Link interface, it is an LVDS signal as specified for RS-644. By default, the camera will accept an ExFSTrig signal on the CC1 input in the Camera Link interface (pins 9 and 22 of the MDR connector) as specified in the Camera Link standard. The camera can also be configured to accept the ExFSTrig signal on these other CC inputs:

輸出模式

  • Wrapping 循環發送一段數據,中間無間隔,需要手動停止;
  • Continuous連續向外發送數據,軟體必須不斷更新數據並寫入到板載快取,需要手動停止;
  • Finite 向外發送有限點數,發送完成自動停止

驅動安裝

在運行范常式序之前需要先安裝驅動,目前驅動支援WIN7,WIN10/11,Linux版本請聯繫開發人員。

  • 安裝SeeSharpTools_V1.5.0_Win.msi,雙擊安裝;
  • 安裝PCIe2000Installer_V1.0.0.msi,雙擊安裝;

安裝完成後,可以打開windows設備管理器,如果可以看到PCIe2000 2 base cameralink simulator,且無黃色感嘆號,表明驅動正常安裝,且已經正確識別。

圖形用戶介面, 文本, 應用程式, 電子郵件

描述已自動生成

圖 5‑1 驅動正常安裝標誌

範例說明

PCIe-CLS2000提供了基礎范常式序,用於方便用戶測試和二次開發。

單通道測試數據輸出

向外輸出測試數據,單次只啟用一個cameralink通道。

圖示, 示意圖

描述已自動生成

圖 6‑1 數據數據時序

圖形用戶介面

中度可信度描述已自動生成

圖 6‑2 單通道cameralink 測試數據輸出

  • 像素時鐘,默認20Mhz,範圍5-85Mhz;
  • 行數/高度,測試影像的height;
  • 列數/寬度,測試影像的width;
  • Geometry,測試數據輸出的格式,對應像素在線纜的位置;
  • 幀間隔,相鄰2幀影像之間的間隔周期數;
  • 行間隔,相鄰2行之間的間隔周期數;
  • Channel ID,camera link的通道序號,0對應camera link 0 ,1 對一個camera link 1;
  • FVAL_Setup,FVAL訊號相對於LVAL的建立時間,單位為1個時鐘周期;
  • FVAL_Hold,FVAL訊號相對於LVAL的保持時間,單位為1個時鐘周期;
  • Initial Value 測試數據第一個像素點的值;
  • X_Step 行像素的遞進值,每隔一個像素遞進1個step;
  • Y_Step 列像素遞進值,每隔一行的第一個像素的遞進step;
  • F_Step 第N幀像素的第一個點相對於N-1幀的第一個點的step;
  • Transfer Mode 發送模式,默認是Finite有限點模式,發送完指定幀的影像後自動停止;
  • Frames Num 待發送的數據幀數量,最小為1,最大為-1;
  • 已發送Frames 狀態指示,已經發送完成的幀數;
  • 啟動發送 開始一次發送認為;
  • 停止 停止發送;

雙通道測試數據輸出

介面參數設置同單通道範例相同,區別是該範例固定單次輸出雙通道數據;

圖形用戶介面

描述已自動生成

圖 6‑3 雙通道測試數據輸出

單通道測試數據輸出(高速)

單通道測試數據高速輸出,使用多執行緒處理數據的寫入,避免像素時鐘較高時,上位機寫入數據速度慢導致的數據下溢出。

圖形用戶介面

描述已自動生成

圖 6‑4 高速單通道測試數據輸出

單通道真實影像輸出

輸出單色bmp,jpg,raw格式影像,當前程式為客戶訂製,展示靈活的輸出能力。影像數據每一幀會加入一行冗餘數據,冗餘數據中包含了用戶自定義的資訊。

圖 6‑5 單通道真實影像帶冗餘數據輸出

圖 6‑6 待輸出影像及其冗餘資訊格式