前言
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)