標題: 基于ZYNQ的CameraLink圖像采集與邊緣檢測開發(fā)詳解 [打印本頁]

作者: Tronlong    時間: 2020-9-17 10:46
標題: 基于ZYNQ的CameraLink圖像采集與邊緣檢測開發(fā)詳解
1.案例說明
此開發(fā)詳解基于創(chuàng)龍ZYNQ Z-7045/Z-7100評估板TLZ7xH-EVM展開。

2.案例框圖


3.申請IP核license
本開發(fā)案例使用的Video Mixer和Chroma Resampler IP核,需要到官網(wǎng)下載IP核免費license,否則將無法通過TcL腳本生成Vivado工程。
請參照創(chuàng)龍TLZ7xH-EVM評估板(ZYNQ Z-7045/Z-7100)用戶手冊《Xilinx Vivado 2017.4及License安裝教程》文檔,導入IP核。


成功導入后,點擊View License Status可以查看新添加的IP核license如下圖。



4.Vivado工程說明
參照創(chuàng)龍TLZ7xH-EVM評估板(ZYNQ Z-7045/Z-7100)《基于TcL腳本生成Vivado工程及編譯》文檔,使用TcL腳本生成Vivado工程。
(1)生成評估板TLZ7xH-EVM、ZYNQ型號為xc7z100的Vivado工程:
Vivado# vivado -mode batch -source tl_cameralink_edge_display_project.tcl  -tclargs tlz7xh-evm  xc7z100ffg900-2
(2)生成評估板TLZ7xH-EVM、ZYNQ型號為xc7z045的Vivado工程:
Vivado# vivado -mode batch -source tl_cameralink_display_project.tcl  -tclargs tlz7xh-evm  xc7z045ffg900-2
進入Vivado工程所在的runs路徑,雙擊.xpr文件打開工程。


點擊"IP INTEGRATOR -> Open Block Design",打開Vivado工程如下圖所示。

Base模式

點擊Address Editor選項,可以看到IP核分配的地址,在PS端可以通過配置這些地址(寄存器)來控制IP核。



5.案例演示
實驗硬件說明
CameraLink相機參考型號:
參考下表和圖將相機接到評估板CameraLink接口,顯示器接到HDMI OUT接口。

模式
接口(相機-評估板)
Base
CL0-CON18


Base模式

基于Linux系統(tǒng)測試
評估板上電啟動進入文件系統(tǒng),執(zhí)行如下指令新建一個"/lib/firmware"文件夾。將由Vivado工程編譯生成的xxx.bin文件傳送到評估板文件系統(tǒng)的"/lib/firmware/"目錄下,并重命名為system_wrapper.bin。
參考創(chuàng)龍TLZ7xH-EVM評估板(Z-7045/Z-7100)用戶手冊《生成PL設備樹及動態(tài)加載PL程序和設備樹》文檔,生成設備樹,然后將編譯好的dtbo文件拷貝到文件系統(tǒng)"lib/firmware"目錄下。
Target# mkdir -p /lib/firmware/



HDMI OUT芯片接的是PS端的I2C,需要加載PS端設備樹,加載成功后如下圖所示。
Target#mkdir /configfs
Target#mount -t configfs configfs /configfs
Target#mkdir /configfs/device-tree/overlays/full
Target#echo -n zynq-zc706-overlay.dtbo >  /configfs/device-tree/overlays/full/path


再加載PL端程序和設備樹?梢钥吹紸XI UART對應的節(jié)點為/dev/ttyUL1。
Target#mkdir /configfs/device-tree/overlays/cameralink
Target#echo -n "pl.dtbo" > /configfs/device-tree/overlays/cameralink/path



將例程image目錄下的腳本拷貝到文件系統(tǒng),執(zhí)行腳本進行配置,即可在顯示器看到相機采集的視頻。
Target#./camera_init.sh base //初始化CameraLink相機

Base模式

腳本說明:


Target#./sil9022_i2c_1080p.sh //初始化HDMI OUT
Target#./axi_vdma_cameralink.sh //初始化VDMA
Target#./switch_video.sh 1 //配置AXI4-Stream Switch IP核,參數(shù)1為原始圖像
Target#./mixer_init.sh 1 //初始化Video Mixer IP核,參數(shù)1為原始圖像





Target#./sobel_filter_init.sh //初始化Image_filter IP核
Target#./mixer_init.sh 2 && ./switch_video.sh 2 //切換到算法處理后的圖像




對于RS-A5241的相機,Base模式下,1280*1024的分辨率狀態(tài)下,圖像幀率有120+幀,所以圖像曝光短,圖像較暗,增大Image_filter IP的閾值可以獲得更好的效果。
Target#devmem 0x43c000b4 w 0xff //設置高閾值為0xff
Target#devmem 0x43c000bc w 0xa0 //設置低閾值為0xa0



設置顏色反轉:
Target#devmem 0x43c000c4 w 1  //0xc4寄存器設置為1,邊緣為白色,若為0;邊緣為黑色








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1