找回密码
 注册
关于网站域名变更的通知
查看: 679|回复: 2
打印 上一主题 下一主题

基于ZYNQ的CameraLink图像采集与边缘检测开发详解

[复制链接]
  • TA的每日心情
    奋斗
    2020-3-25 15:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-9-17 09:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    1.案例说明- t' y+ h! `# X8 D
    • PL端接入CameraLink相机,通过Base模式采集图像(1280*1024),然后通过VDMA缓存到PS端DDR。
    • 使用AXI4-Stream Switch IP核将图像复分成两路,一路用于边缘检测处理(Sobel算法),另一路直接回显。
    • 利用Video Mixer IP核将图像叠加,通过HDMI输出原始图像或者算法处理后的图像。本案例支持CameraLink Base/Full模式、彩色/黑白相机。
      6 e# h+ F3 [+ v- q
    此开发详解基于创龙ZYNQ Z-7045/Z-7100评估板TLZ7xH-EVM展开。
    8 `7 E1 }9 G4 g3 z$ y# W3 N$ G" r. l! b& ~* a/ m
    2.案例框图% X! h/ u7 X9 n+ I9 p; q% m

    $ x: P) V/ b3 S; r" T* H. m
    1 l9 W! O* q3 p# P$ S3.申请IP核license
    / S5 I. K8 y# i- Y; w) _" m6 k/ ~本开发案例使用的Video Mixer和Chroma Resampler IP核,需要到官网下载IP核免费license,否则将无法通过TcL脚本生成Vivado工程。5 f8 l* C2 B! e8 g
    请参照创龙TLZ7xH-EVM评估板(ZYNQ Z-7045/Z-7100)用户手册《Xilinx Vivado 2017.4及License安装教程》文档,导入IP核。
    7 s4 I& {  M- U5 b. @0 p& _2 i6 c7 o# ?8 G  K0 J+ {9 a

    ; o# A8 @: `# O+ O4 Z成功导入后,点击View License Status可以查看新添加的IP核license如下图。
    - |) x: N0 S' I& O* O4 h3 J7 d9 f2 R! U9 X4 M' V
    9 l. B# k" {+ B* I' K6 Z2 c
    ; g( K7 u, m+ ~7 }8 d
    4.Vivado工程说明8 k$ b' X% j# @" k1 k
    参照创龙TLZ7xH-EVM评估板(ZYNQ Z-7045/Z-7100)《基于TcL脚本生成Vivado工程及编译》文档,使用TcL脚本生成Vivado工程。
    5 a' I9 B& Y5 z. w. ^(1)生成评估板TLZ7xH-EVM、ZYNQ型号为xc7z100的Vivado工程:
    ! `2 F# \$ d6 I4 b+ \- \7 [Vivado# vivado -mode batch -source tl_cameralink_edge_display_project.tcl  -tclargs tlz7xh-evm  xc7z100ffg900-26 h  }) Y1 ~" f. k
    (2)生成评估板TLZ7xH-EVM、ZYNQ型号为xc7z045的Vivado工程:
    , f! b6 ?7 q4 p0 L4 a4 e8 h' UVivado# vivado -mode batch -source tl_cameralink_display_project.tcl  -tclargs tlz7xh-evm  xc7z045ffg900-2
    6 C# ~7 C. ~& w! B2 a) k% P7 c进入Vivado工程所在的runs路径,双击.xpr文件打开工程。
    . [; X) U1 t/ I: f' D
    4 h2 N6 B$ c1 z: _5 K- m* g$ O
    0 y' I% G6 L4 p点击"IP INTEGRATOR -> Open Block Design",打开Vivado工程如下图所示。( S; \8 q; w) p

    # ]5 j" h& }( m8 hBase模式
    : f8 D7 b+ ^- o* {
    9 H9 R+ u' P& G* C8 u' a- {点击Address Editor选项,可以看到IP核分配的地址,在PS端可以通过配置这些地址(寄存器)来控制IP核。+ F( ?1 M! _& J/ z2 T9 }, F

    ; f. j  N* W" U7 P+ t, E5 @6 Y4 g2 F3 U

    4 ^  m4 M. k3 ?0 a1 A8 w% N( ^5.案例演示( d* t5 e' h; _9 v5 S- ?, {
    实验硬件说明
    8 s/ Z9 I/ l" F& i) {3 fCameraLink相机参考型号:
    % ]# O  `4 b/ ?, i+ ^
    • 彩色RS-A5241-CC107-S00,支持Full/Base,分辨率2560*2048,帧率107Hz
    • 黑白RS-A5241-CM107-S00,支持Full/Base,分辨率2560*2048,帧率107Hz
      8 ~# n* G2 D# I$ E- o4 r
    参考下表和图将相机接到评估板CameraLink接口,显示器接到HDMI OUT接口。
    1 `. R# _9 ~0 m8 O" g1 @
    7 f+ D7 G" _: Q9 L9 w# m, t
    模式1 \! \! L7 i8 A" a6 M; I2 L, `# n
    接口(相机-评估板)
    0 H' F5 N% j/ G& Z6 F* D# p& f
    Base
    / K- ?# r, _2 b& t
    CL0-CON187 \: \% t! `( m& E" Z& k

    0 y. z" k$ `9 h5 Q- a( `! H1 g: k' w$ N8 q1 @& Z7 H5 m
    Base模式
    7 x2 Q: q7 ]- ^. w/ Z5 k, t5 \, I5 B2 I$ J' F% E/ I& q
    基于Linux系统测试
    $ J9 w5 a1 |+ w8 N% y评估板上电启动进入文件系统,执行如下指令新建一个"/lib/firmware"文件夹。将由Vivado工程编译生成的xxx.bin文件传送到评估板文件系统的"/lib/firmware/"目录下,并重命名为system_wrapper.bin。8 R; N9 `+ c2 ^5 y7 R
    参考创龙TLZ7xH-EVM评估板(Z-7045/Z-7100)用户手册《生成PL设备树及动态加载PL程序和设备树》文档,生成设备树,然后将编译好的dtbo文件拷贝到文件系统"lib/firmware"目录下。
    $ ]6 J- i5 V/ ]' ?2 y) DTarget# mkdir -p /lib/firmware/
    . U7 V4 o- j/ Y. b  Y6 V$ ]+ w. p8 y3 J6 j% Y0 D; k

    0 `% V$ s# s0 s9 y
    ( Q- K8 S5 }' D2 }; SHDMI OUT芯片接的是PS端的I2C,需要加载PS端设备树,加载成功后如下图所示。
    3 v; ^: E9 P4 T( d" q/ f+ fTarget#mkdir /configfs% H+ x8 i) @6 q- S9 E
    Target#mount -t configfs configfs /configfs
    ; E' M9 C5 ]( e* x7 _Target#mkdir /configfs/device-tree/overlays/full: i0 |" X8 W  c  T4 x0 J! ]9 _% r. [
    Target#echo -n zynq-zc706-overlay.dtbo >  /configfs/device-tree/overlays/full/path/ E! v$ C. H, h  H

    - \8 x& c4 E1 ^, j
    : F! l' Z7 ]8 p' G& p; q& A/ }再加载PL端程序和设备树。可以看到AXI UART对应的节点为/dev/ttyUL1。2 ~) f/ x% |' b/ I/ g/ V
    Target#mkdir /configfs/device-tree/overlays/cameralink
    + e. z" W$ A$ i9 XTarget#echo -n "pl.dtbo" > /configfs/device-tree/overlays/cameralink/path
      n- T5 g  c) ^3 H5 Q% q/ X) K6 E5 ^% [$ i1 P' q1 r% F( W8 B, M
    ) A9 |) ~( ~3 x% I3 y6 y6 ]9 n! `% S

    ' r1 Y8 o$ N7 s8 \将例程image目录下的脚本拷贝到文件系统,执行脚本进行配置,即可在显示器看到相机采集的视频。, F0 t4 j2 l( ^) }# C: |
    Target#./camera_init.sh base //初始化CameraLink相机/ A8 b* _& z& ~
    7 P/ G3 j2 L( ?' V! R% P% j9 ]
    Base模式' s0 C8 K' }! `* M

    9 [! f: v* k( v; q9 X8 m: g: a脚本说明:
    4 I, q  K% S3 a% L! h0 e3 B" }6 u+ f4 J5 B/ s$ g* I, S
    ! [2 ~+ l' V+ U! ]( A
    Target#./sil9022_i2c_1080p.sh //初始化HDMI OUT* a3 y5 G* f2 s( E
    Target#./axi_vdma_cameralink.sh //初始化VDMA. Q# r/ Y$ k3 S4 x
    Target#./switch_video.sh 1 //配置AXI4-Stream Switch IP核,参数1为原始图像
    5 Q& S3 O- G7 iTarget#./mixer_init.sh 1 //初始化Video Mixer IP核,参数1为原始图像" C, X  U5 l4 ~+ z

    * d) F3 E$ B3 I1 o' z, U. y6 g! h4 ]+ B  p; ]

    ( v7 m% }6 i* [% q! `! ?. s
    * {0 Z- ]% O3 f3 [" U! S7 Q  T5 ^+ ?
    Target#./sobel_filter_init.sh //初始化Image_filter IP核
    , i/ L9 l6 n0 Y6 m3 b5 B8 q9 wTarget#./mixer_init.sh 2 && ./switch_video.sh 2 //切换到算法处理后的图像
    2 n2 x. o4 Q$ }# X  T* ]8 L) |) Z6 g. M* H7 R  A- Q+ N4 s* u; ^5 ^
    4 v+ B$ o/ i7 o+ P
    0 V$ I/ I4 f% c6 s- A

    $ R9 _  J4 N4 V6 C5 O对于RS-A5241的相机,Base模式下,1280*1024的分辨率状态下,图像帧率有120+帧,所以图像曝光短,图像较暗,增大Image_filter IP的阈值可以获得更好的效果。/ n9 ]6 k, h: j. o; p6 r
    Target#devmem 0x43c000b4 w 0xff //设置高阈值为0xff
    : M- T" g4 S" C- d5 U# L) aTarget#devmem 0x43c000bc w 0xa0 //设置低阈值为0xa0
    1 |* x9 d0 \' N8 d  f3 I, C5 s8 K; b% W% b( A( l& Q! P- f+ n

    # G  \3 e+ Z" R. O! s) O( s# O
    4 l2 U% l9 j% Q7 H! U设置颜色反转:
    . S) f, K8 y% C3 QTarget#devmem 0x43c000c4 w 1  //0xc4寄存器设置为1,边缘为白色,若为0;边缘为黑色
    8 u7 g7 u) ~7 A
    4 e9 Z+ ^8 g) W2 d& j
    2 J: ?8 m1 [9 m. j! z4 \3 e) N/ }: F3 _+ K4 D

    该用户从未签到

    3#
    发表于 2020-10-4 17:19 | 只看该作者
    请教一个问题,咱们这个板子相机与ZYNQ相连,即Cameralink相连,采用是直接连接的方式,还是通过芯片转换一下,看到你的那个框图,好像是应该是LVDS相连,我最近也在做FPGA接收Cameralink数据程序,但是LVDS接收哪里,没有成功,请问硬件哪里有什么需要注意的地方吗
  • TA的每日心情
    慵懒
    2020-8-28 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-9-17 11:09 | 只看该作者
    很详细   有没有文件格式的呢?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-25 02:05 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表