電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1942|回復(fù): 2
收起左側(cè)

創(chuàng)龍基于ZYNQ的CameraLink圖像采集與邊緣檢測(cè)開(kāi)發(fā)詳解

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-9-17 09:42:05 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1.案例說(shuō)明
  • PL端接入CameraLink相機(jī),通過(guò)Base模式采集圖像(1280*1024),然后通過(guò)VDMA緩存到PS端DDR。
  • 使用AXI4-Stream Switch IP核將圖像復(fù)分成兩路,一路用于邊緣檢測(cè)處理(Sobel算法),另一路直接回顯。
  • 利用Video Mixer IP核將圖像疊加,通過(guò)HDMI輸出原始圖像或者算法處理后的圖像。本案例支持CameraLink Base/Full模式、彩色/黑白相機(jī)。
此開(kāi)發(fā)詳解基于創(chuàng)龍ZYNQ Z-7045/Z-7100評(píng)估板TLZ7xH-EVM展開(kāi)。

2.案例框圖


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


成功導(dǎo)入后,點(diǎn)擊View License Status可以查看新添加的IP核license如下圖。



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


點(diǎn)擊"IP INTEGRATOR -> Open Block Design",打開(kāi)Vivado工程如下圖所示。

Base模式

點(diǎn)擊Address Editor選項(xiàng),可以看到IP核分配的地址,在PS端可以通過(guò)配置這些地址(寄存器)來(lái)控制IP核。



5.案例演示
實(shí)驗(yàn)硬件說(shuō)明
CameraLink相機(jī)參考型號(hào):
  • 彩色RS-A5241-CC107-S00,支持Full/Base,分辨率2560*2048,幀率107Hz
  • 黑白R(shí)S-A5241-CM107-S00,支持Full/Base,分辨率2560*2048,幀率107Hz
參考下表和圖將相機(jī)接到評(píng)估板CameraLink接口,顯示器接到HDMI OUT接口。

模式
接口(相機(jī)-評(píng)估板)
Base
CL0-CON18


Base模式

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



HDMI OUT芯片接的是PS端的I2C,需要加載PS端設(shè)備樹,加載成功后如下圖所示。
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端程序和設(shè)備樹?梢钥吹紸XI UART對(duì)應(yīng)的節(jié)點(diǎn)為/dev/ttyUL1。
Target#mkdir /configfs/device-tree/overlays/cameralink
Target#echo -n "pl.dtbo" > /configfs/device-tree/overlays/cameralink/path



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

Base模式

腳本說(shuō)明:


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 //切換到算法處理后的圖像




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



設(shè)置顏色反轉(zhuǎn):
Target#devmem 0x43c000c4 w 1  //0xc4寄存器設(shè)置為1,邊緣為白色,若為0;邊緣為黑色



嵌入式DSP、ARM、FPGA多核技術(shù)開(kāi)發(fā),學(xué)習(xí)資料下載:http://site.tronlong.com/pfdownload

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表