基于ZYNQ-FPGA实现图像采集存储显示_第1页
基于ZYNQ-FPGA实现图像采集存储显示_第2页
基于ZYNQ-FPGA实现图像采集存储显示_第3页
基于ZYNQ-FPGA实现图像采集存储显示_第4页
基于ZYNQ-FPGA实现图像采集存储显示_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于ZYNQ FPGA实现图像采集存储显示1 FPGA硬件系统设计基于ZYNQ FPGA实现图像数据采集、存储、处理和显示系统框图如图1所示。说明:2路摄像头采集系统,4种显示方案,原始数据显示2路,经过算法处理2路。图1 系统设计OV5640模块:图像传感器,视频流来源。写VDMA模块:硬件采集到的数据通过写VDMA存储到PS端的DDR中。ZYNQ模块:ZYNQ-7000系列FPGA,ARM + FPGA架构,核心处理芯片。读VDMA模块:通过读VDMA从PS端的DDR中读取图像数据。RGB转换DVI模块:32bit转为RGB888,再转为DVI时序输出到HDMI显示。HDMI显示器:显示图

2、像视频数据。2 关键技术1)OV5640摄像头设计中采用两片美国OmniVision公司的CMOS图像传感器OV5640,OV5640芯片支持DVP和MIPI接口。为保证OV5640正常工作,需要依次实现以下时序要求。a、ResetB拉低、PWND拉高;b、DOVDD和AVDD同时上电;c、电源稳定5ms后,拉低PWND,再过1ms,拉高ResetB;d、20ms后初始化OV5640DESCCB寄存器。e、通过IIC接口配置,配置目标为RGB565、30FPS、720输出格式;f、FPGA接收来自OV5640的视频流数据输入,需要对摄像头完成相应的时序操作。每次传输8bit,16bit为一个像

3、素点,所以要进行数据转换8bit-16bit-32bit;2)图像处理算法边缘检测算法要求首先找到图片中物体的边缘,由于边缘处颜色变化一般比较明显,在工程上一般借助卷积滤波器实现,卷积滤波器相当于求导的离散版本。针对图像进行边缘检测,有多种不同的滤波器算子,我们采用的Sobel滤波器算子图1,分别针对图像水平方向的边缘以及竖直方向的边缘,求和得出图像的边缘。图1 滤波器算子3)ZYNQ FPGAZYNQ 7000系列基于Xilinx 全可编程的扩展处理平台结构,芯片内部集成 ARM 公司双核Cortex-A9处理器的处理系统 (PS端)和基于Xilinx逻辑资源的可编程逻辑系统 (PL端)。芯

4、片内拥有丰富的资源,PS端的ARMCortex-A9处理器包含DDR控制器、SPI控制器、SMC控制器等多种控制器接口,同时提供SD/SDIO控制器、UART控制器等在内的多种 IO 接口。PL端包含可配置逻辑块、数字信号处理资源以及模数转换器、HDMI接口、扩展接口等,同时芯片内部借助 AxI4协议,数据带宽高达 4.8GB/s,实现Ps与PL端的高速互联,这些都为用ZYNQ 7000平台实现嵌入式图像传输系统提供有力的支撑。4)vdma IP核(video dma)Frame Buffers :选择vdma缓存几帧图像,这里默认是写通道和读通道都设置相同的缓存帧数,具体设置多少帧合适一般根

5、据应用来定,比如读写带宽相同,想用ddr作为一个乒乓buffer,那就可以设置成2帧,写第一个地址,读第二个地址,写第二个地址,读第一个地址。这里面设置几帧,就要在vdma寄存器配置的时候设置几个帧起始地址。Memory Map Data Width:代表数据到达AXI4总线上的位宽,比如这里设置成64,那就代表M_AXI_XX总线上的数据位宽是64bit,这时候如果stream上的数据是32bit,那vdma内部会有一个带宽转换模块,把数据拼成64bit。Burst Size : AXI总线上突发传输的长度,一般设置为16Stream Data Width:vdma与pl逻辑部分通过axis

6、tream协议交互数据,这里代表stream数据位宽Line Buffer Depth:vdma内部会有一个行缓存fifo,stream数据会先写入fifo,然后AXI总线逻辑会读出到总线上,这个深度就代表fifo的深度。设置原则(个人理解):如果AXI总线数据带宽是stream总线数据带宽的1.5倍以上,这个fifo深度可以设置的小一点,如果AXI总线带宽小于1.5倍的stream总线带宽,那fifo的深度至少要是图像一个有效行的一半。Advanced : 这里面只说一下Fsync Options,这个信号是什么意思呢,就是告诉vdma什么时候开始运行,一般s2mm通道选择tuser,就是说在tuser 拉高的时候开始传输。mm2s通道,可以选择none,也可以选择 mm2s_fsync,这里介绍一下这两个的区别。none : 就是没有同步信号,但这并不是说没有开始信号,而是只要mm2s_stream通道tready拉高,就开始传输,相当于free模式mm2s_fsync:当这个信号发生一个下降沿的时候开始传输,如果没有这个下降沿,即使mm2s_stream通道tready拉高也不会传输下面是接口介绍:M_AXI_XX : axi4总线接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论