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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    1.案例说明( }% w4 b/ ]" o: Z+ \+ z% M' n
    • PL端接入CameraLink相机,通过Base模式采集图像(1280*1024),然后通过VDMA缓存到PS端DDR。
    • 使用AXI4-Stream Switch IP核将图像复分成两路,一路用于边缘检测处理(Sobel算法),另一路直接回显。
    • 利用Video Mixer IP核将图像叠加,通过HDMI输出原始图像或者算法处理后的图像。本案例支持CameraLink Base/Full模式、彩色/黑白相机。
      : b7 I  f- @& c- |4 u1 ~" x2 g' u
    此开发详解基于创龙ZYNQ Z-7045/Z-7100评估板TLZ7xH-EVM展开。) o3 t$ z; o# K! O. [
    : B1 s! q, O  I6 d
    2.案例框图
    5 f' n4 J5 B$ n5 s4 n4 _( x# `4 }: U' F. G, k3 W. E- M' Z
    . O# R4 j* c. }. f$ m; V# U
    3.申请IP核license/ p5 o( c( F+ d
    本开发案例使用的Video Mixer和Chroma Resampler IP核,需要到官网下载IP核免费license,否则将无法通过TcL脚本生成Vivado工程。
    % G5 H  b& T- Y+ T5 r* M请参照创龙TLZ7xH-EVM评估板(ZYNQ Z-7045/Z-7100)用户手册《Xilinx Vivado 2017.4及License安装教程》文档,导入IP核。* X1 g- M9 U0 K0 V1 @7 o

    3 A. e6 W+ y8 M
    & ~. i3 f% z- ]  q( M6 M成功导入后,点击View License Status可以查看新添加的IP核license如下图。4 V8 |7 {8 C9 F
    7 [* d1 i) f) w$ |0 x7 V

    8 T6 a. S9 x5 T6 H; l' S+ _  L
    - H4 ~$ l7 }# t2 a/ y, b4.Vivado工程说明, U5 }& A" O; j' O# b; W% k
    参照创龙TLZ7xH-EVM评估板(ZYNQ Z-7045/Z-7100)《基于TcL脚本生成Vivado工程及编译》文档,使用TcL脚本生成Vivado工程。
    $ a+ B6 Q& p2 r# Q( g. P! {(1)生成评估板TLZ7xH-EVM、ZYNQ型号为xc7z100的Vivado工程:
    ! K6 b6 v- R" Z5 ?# L$ X  u3 `Vivado# vivado -mode batch -source tl_cameralink_edge_display_project.tcl  -tclargs tlz7xh-evm  xc7z100ffg900-2
    ) S5 Y+ M, T; B7 `& n(2)生成评估板TLZ7xH-EVM、ZYNQ型号为xc7z045的Vivado工程:; w! A* `8 m$ }" E; ^2 l0 f2 ]4 y" o
    Vivado# vivado -mode batch -source tl_cameralink_display_project.tcl  -tclargs tlz7xh-evm  xc7z045ffg900-2# A; {1 x4 z$ A+ F) x+ [& {
    进入Vivado工程所在的runs路径,双击.xpr文件打开工程。- S* ]% n- B% A
    / E) G- y3 F4 a
    6 {' K% R3 \$ u& b1 \2 C1 {" D3 b
    点击"IP INTEGRATOR -> Open Block Design",打开Vivado工程如下图所示。
    - e2 c; Y8 m: J6 t. o" w; y! M8 ?! |6 g! N; @. h
    Base模式" y( `) q+ H$ r  E& d! O5 d- O6 L

    + S- s" w! L" D点击Address Editor选项,可以看到IP核分配的地址,在PS端可以通过配置这些地址(寄存器)来控制IP核。
    $ ?4 t4 ~: B$ w
    * t$ p5 o3 w+ X& D4 n& h8 O2 m1 \6 K" ]

    2 }7 ~6 E/ i. z5 P5 [5.案例演示
    9 p' K: M8 E1 Y: X4 }实验硬件说明
    . t$ L7 K& n! L5 E* C, M( ]5 o! OCameraLink相机参考型号:, l* N5 P- b/ z( D. ^4 F: d
    • 彩色RS-A5241-CC107-S00,支持Full/Base,分辨率2560*2048,帧率107Hz
    • 黑白RS-A5241-CM107-S00,支持Full/Base,分辨率2560*2048,帧率107Hz7 H6 Y( h# C+ A  t
    参考下表和图将相机接到评估板CameraLink接口,显示器接到HDMI OUT接口。
    0 S2 o8 Y' c$ ^6 `+ a
    9 a  Q- L1 i1 j( P) p& |: @6 d
    模式
    0 e- r* N! c4 T. O
    接口(相机-评估板)7 y9 |1 M& U/ }- T* n2 |
    Base
    5 Z; r( R' K0 u; I/ w
    CL0-CON18
    ' W$ D5 f; V/ I1 q# j
    8 }0 u& W* {" |

    ! G) i& E+ M7 I0 n& e; j- Z- rBase模式
    , G. D8 G8 Q& m* F% U) o* M$ z1 d; g7 ?
    基于Linux系统测试
    # b/ ]( x9 }. b# q, J( F+ V评估板上电启动进入文件系统,执行如下指令新建一个"/lib/firmware"文件夹。将由Vivado工程编译生成的xxx.bin文件传送到评估板文件系统的"/lib/firmware/"目录下,并重命名为system_wrapper.bin。
    / p1 M# r. _) M; d. }参考创龙TLZ7xH-EVM评估板(Z-7045/Z-7100)用户手册《生成PL设备树及动态加载PL程序和设备树》文档,生成设备树,然后将编译好的dtbo文件拷贝到文件系统"lib/firmware"目录下。
    2 v, G0 o; o6 Y3 J. f+ p# ]8 ATarget# mkdir -p /lib/firmware/7 |2 }6 H- v0 D! }0 [
    ' K& U/ f+ {; L6 W( A8 S

    - N1 T5 T1 S& F) |
    / R. Q) g5 ^( z$ j2 u3 g+ i3 OHDMI OUT芯片接的是PS端的I2C,需要加载PS端设备树,加载成功后如下图所示。  t# W6 o" h: S7 k0 o  N4 T' @
    Target#mkdir /configfs
    6 g! d; }& i+ p0 r  ]9 BTarget#mount -t configfs configfs /configfs
    $ U2 V) M5 ?, _* B4 e& t  JTarget#mkdir /configfs/device-tree/overlays/full: p/ P8 o; U( O; d
    Target#echo -n zynq-zc706-overlay.dtbo >  /configfs/device-tree/overlays/full/path
    2 i+ _6 e2 ?& A* q9 |2 a9 f' o& Y( F- c
    & E* p+ H# ?8 s1 j! q6 E' F
    再加载PL端程序和设备树。可以看到AXI UART对应的节点为/dev/ttyUL1。; |4 u# g& [4 E
    Target#mkdir /configfs/device-tree/overlays/cameralink
    . Q: Y+ Q2 q( G) `  g6 ETarget#echo -n "pl.dtbo" > /configfs/device-tree/overlays/cameralink/path  v0 x+ U- |% x5 ]: m
    . U& A9 O( M% I; f) D
    2 S  ~6 x- b. y  l' F* {; ~
    $ n, m+ v3 r' o9 f; q6 }
    将例程image目录下的脚本拷贝到文件系统,执行脚本进行配置,即可在显示器看到相机采集的视频。
    : v# }$ `" |" HTarget#./camera_init.sh base //初始化CameraLink相机1 e& {; u. K3 r6 H+ y+ z) W; I

    2 `7 x! z% {7 j, A: qBase模式
    * r2 E" s: j+ `
    " P6 s" y, \1 @2 D脚本说明:! \. k6 U2 a/ u: I' r' \+ }8 h

    8 I; {5 |4 }/ D. U# g. ~, ~2 B2 U+ Y, }) X5 w3 _- L
    Target#./sil9022_i2c_1080p.sh //初始化HDMI OUT6 W0 S; z8 }2 \. v6 ~
    Target#./axi_vdma_cameralink.sh //初始化VDMA
    3 @2 A" d2 h+ O5 i  v1 cTarget#./switch_video.sh 1 //配置AXI4-Stream Switch IP核,参数1为原始图像9 G6 w1 Z, b  z2 |+ G2 S
    Target#./mixer_init.sh 1 //初始化Video Mixer IP核,参数1为原始图像
    % c8 X8 U1 c8 h* _% A
    $ N& R* w- f9 s* B4 _: P: Y: n8 n4 y6 Z- s- P

    : C# ^5 r& u' a' ?4 W$ v( L' @) c. D4 U3 R$ x" M( Q
    9 Q1 O+ C' f  p0 v0 C2 ]/ ]2 E
    Target#./sobel_filter_init.sh //初始化Image_filter IP核8 _9 E7 s" K7 B% Y+ P% V
    Target#./mixer_init.sh 2 && ./switch_video.sh 2 //切换到算法处理后的图像# T- U2 R) o& a8 U; n0 V$ l8 ^
    0 @2 X0 o; B, r. W6 q
    5 E9 N. [+ @) z1 ~( V7 O

    2 C3 W0 h% T# p/ D( I5 ]# m/ x
    3 ?& S3 A0 l3 w2 k/ ]7 Z! X/ _( y对于RS-A5241的相机,Base模式下,1280*1024的分辨率状态下,图像帧率有120+帧,所以图像曝光短,图像较暗,增大Image_filter IP的阈值可以获得更好的效果。1 x# {$ o  ?& f5 t# ]
    Target#devmem 0x43c000b4 w 0xff //设置高阈值为0xff
    & Z, ?+ c4 s8 a8 w& H) dTarget#devmem 0x43c000bc w 0xa0 //设置低阈值为0xa0& D: _3 w: T. u6 f3 `
    5 c# C* J& A# c6 V# M- e5 O% i. b

    , S) }" Z' d' ^/ q- b3 E7 U, B
    $ i  A5 w- ^/ M3 a1 k9 l6 a设置颜色反转:8 a/ \$ ?7 E( D" n7 ~. I
    Target#devmem 0x43c000c4 w 1  //0xc4寄存器设置为1,边缘为白色,若为0;边缘为黑色
    . J+ r% z) M0 J* s( `
    ( G+ z0 H2 ?1 a, B7 w+ b1 K+ W/ C) t- e! K
    5 V" E, E& J8 s$ b. ]
  • TA的每日心情
    慵懒
    2020-8-28 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-9-17 11:09 | 只看该作者
    很详细   有没有文件格式的呢?

    该用户从未签到

    3#
    发表于 2020-10-4 17:19 | 只看该作者
    请教一个问题,咱们这个板子相机与ZYNQ相连,即Cameralink相连,采用是直接连接的方式,还是通过芯片转换一下,看到你的那个框图,好像是应该是LVDS相连,我最近也在做FPGA接收Cameralink数据程序,但是LVDS接收哪里,没有成功,请问硬件哪里有什么需要注意的地方吗
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-25 01:04 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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