基於FPGA的CameraLink視頻開發案例| Xilinx Kintex-7/ZYNQ,支持Base與Full模式

前言

CameraLink協議

CameraLink協議是一種專門針對機器視覺應用領域的串行通信協議,它使用低壓差分信號(LVDS)進行數據的傳輸和通信。CameraLink標準是在ChannelLink標準的基礎上多加了6對差分信號線,其中4對用於並行傳輸相機控制信號,另外2對用於相機和圖像採集卡之間的串行通信(本質就是UART的兩根線)。

CameraLink標準的視頻傳輸模式分爲三種:Base模式、Medium模式、Full模式。其中每個端口爲8位數據,CameraLink標準的規定標準時鍾頻率最大爲85MHz。

 

圖1

CameraLink + FPGA架構視頻採集系統

採用CameraLink + FPGA架構的視頻採集與傳輸系統,既可實現符合CameraLink協議的數字相機,採集卡之間的通信與控制,同時實現對圖像數據採集、轉換、緩存、實時處理、輸出等。該架構系統穩定性可靠,精度高,不易受干擾,具有較強的通用性、實用性和擴展性,靈活性也大大增強。CameraLink技術現已廣泛應用於航空航天、軍事、醫療、交通等領域。

 

圖2

創龍科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡已實現CameraLink視頻採集與處理方案。本文將爲您分享基於Kintex-7 FPGA評估板的CameraLink視頻開發案例。

1 硬件平臺

本文基於創龍科技TLK7-EVM評估板進行演示。

TLK7-EVM是一款基於Xilinx Kintex-7系列FPGA設計的高端評估板,由核心板和評估底板組成。核心板經過專業的PCB Layout和高低溫測試驗證,穩定可靠,可滿足各種工業應用環境。

評估板接口資源豐富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用戶快速進行產品方案評估與技術預研。

圖3 TLK7-EVM評估板

 

開發案例主要包括:

Ø CameraLink、SDI、HDMI、PAL視頻輸入/輸出案例

Ø 高速AD(AD9613)採集+高速DA(AD9706)輸出案例

Ø AD9361軟件無線電案例

Ø UDP(10G)光口通信案例

Ø UDP(1G)光口通信案例

Ø Aurora光口通信案例

Ø PCIe通信案例

案例源碼、產品資料(用戶手冊、核心板硬件資料、產品規格書)可點擊site.tronlong.com/pfdownload獲取。

找廠家可申請TLK7-EVM評估板進行快速評估tronlong.com/Product/show/93.html,免費哦!

 

2 案例功能

案例功能:評估板通過FMC視頻模塊TLCameraLinkF的CameraLink接口進行分辨率爲1280x1024的視頻採集,並通過TLCameraLinkF模塊的HDMI接口將採集到的視頻進行輸出。

圖6 程序功能框圖

 

3 案例演示

本案例支持三款CameraLink相機,具體說明如下。

廠家

相機型號

支持模式

相機性能

Microview

(北京微視)

RS-A5241-CM107-S00

(黑白CameraLink相機)

Full

全幅面2560*2048下,幀率可達107fps

Base

RS-A5241-CC107-S00

(彩色CameraLink相機)

Full

全幅面2560*2048下,幀率可達107fps

Base

MVC1381SAM-CL60-S00

(黑白CameraLink相機)

Base

全幅面1280*1024下,幀率可達60fps

Full模式硬件連接方法

如採用Full模式,創龍科技的TLCameraLinkF模塊連接至評估板FMC2接口,評估板J1跳線帽選擇1.8V檔位,以配置FMC IO的BANK電壓爲1.8V。

將CameraLink相機的CL0通過數據線連接至TLCameraLinkF模塊的CameraLink1接口,將CameraLink相機的CL1通過數據線連接至TLCameraLinkF模塊的CameraLink2接口,將HDMI顯示屏通過數據線連接至TLCameraLinkF模塊的HDMI OUT接口。

圖7

 

Base模式硬件連接方法

如採用Base模式,將創龍科技的TLCameraLinkF模塊連接至評估板FMC2接口,評估板J1跳線帽選擇1.8V檔位,以配置FMC IO的BANK電壓爲1.8V。

將CameraLink相機的CL0通過數據線連接至TLCameraLinkF模塊的CameraLink1接口,將HDMI顯示屏通過數據線連接至TLCameraLinkF模塊的HDMI OUT接口。

圖8

 

下面對三款不同型號的CameraLink相機在Full/Base模式下的操作進行演示。

(1) 黑白CameraLink相機RS-A5241-CM107-S00,Full模式

請運行Full模式程序,即可看到串口調試終端打印如下信息。請先輸入"1"選擇相機型號爲RS-A5241-CM107-S00,再輸入"1"選擇爲Full模式。配置完成後,即可看到HDMI顯示屏輸出黑白圖像。

圖9

圖10

(2) 彩色CameraLink相機RS-A5241-CC107-S00,Full模式

請運行Full模式程序,即可看到串口調試終端打印如下信息。請先輸入"2"選擇相機型號爲RS-A5241-CC107-S00,再輸入"1"選擇爲Full模式。配置完成後,即可看到HDMI顯示屏輸出彩色圖像。

圖11

 圖12

備註:由於彩色CameraLink相機RS-A5241-CC107-S00無白平衡功能,故圖像顏色偏綠。

(3) 黑白CameraLink相機RS-A5241-CM107-S00,Base模式

請運行Base模式程序,即可看到串口調試終端打印如下信息。請先輸入"1"選擇相機型號爲RS-A5241-CM107-S00,再輸入"2"選擇爲Base模式。配置完成後,即可看到HDMI顯示屏輸出黑白圖像。

圖13

圖14

(4) CameraLink相機RS-A5241-CC107-S00,Base模式

請運行Base模式程序,即可看到串口調試終端打印如下信息。請先輸入"2"選擇相機型號爲RS-A5241-CC107-S00,再輸入"2"選擇爲Base模式。配置完成後,即可看到HDMI顯示屏輸出彩色圖像。

 圖15

圖16

備註:由於彩色CameraLink相機RS-A5241-CC107-S00無白平衡功能,故圖像顏色偏綠。

(5) 黑白CameraLink相機MVC1381SAM-CL60-S00,Base模式

請運行Base模式程序,即可看到串口調試終端打印如下信息。請輸入"3"選擇相機型號爲MVC1381SAM-CL60-S00。配置完成後,即可看到HDMI顯示屏輸出黑白圖像。

圖17

圖18

4 關鍵代碼(MicroBlaze)

MicroBlaze裸機源碼爲"sw\baremetal_demo\project\cameralink_display\src\",關鍵代碼說明如下。

(1) main函數。

圖19

圖20

圖21

(2) 初始化VDMA,將採集到的視頻數據緩存至DDR,再進行HDMI視頻輸出。

圖22

(3) 初始化Sil9022A。

圖23

(4) 初始化AXIS Switch IP核。

 圖24

初始化Sensor Demosaic IP核,以將彩色CameraLink相機的Bayer格式視頻數據轉化爲RGB格式。

圖25

(5) 初始化Video Mixer IP核。

 圖26

 

備註:關於Vivado工程說明及模塊/IP配置詳細內容,可下載產品資料進行查看。

 

5 技術討論

Kintex-7 FPGA討論:311416997、101245165

Zynq-7000討論:645235672、193393878

 

6 更多推薦

新品推薦:TL6678ZH-EVM評估板(TI TMS320C6678 + Xilinx Zynq-7045/7100)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章