ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)

这篇具有很好参考价值的文章主要介绍了ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

	最近在学习ZYNQ,使用PS和PL端的交互,初始阶段在看米联客SDK入门教程,同时按照邓堪文的示例搭建了基本的摄像头捕获图像后存储到DDR3然后读取出来到摄像头显示,这部分工程作为启动,可以在这基础上部署视觉相关的加速内容,在此处做下整理。

工程结构:ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)

初始zynq配置:

ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
设置完毕zynq核以后,先搭建读取DDR部分,即摄像头显示:
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
开始加入PS部分:

VDMA工程建立

1.新建vitis文件夹后,导出硬件信息到此文件夹,lunch vitis打开vitis软件,新建project。
2. 在src文件夹下新建main.c文件
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
3.在vivado中查看DDR3中AXI_HPO高速总线对应的地址为0x0000_0000到0x0FFF_FFFF,其中AXI_LITE总线地址是0x4300_0000到0x4300_FFFF
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
4.VDMA文档阅读,进行配置。
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
过搜索0x00找到MM2S读DDR的配置
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
找到说的RS
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
RS就是启动VDMA
5.视频缓冲区的起始地址
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
6.stride以字节为单位,每一行的第一个地址的字节数量。(此处800个像素点,设置为800*2个字节)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
7.与上一项配置相同
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
8.配置有多少行(600行)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
9.总配置结果
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)

Vitis程序编写

1.Xil_Out32(VDMA_BASEADDR + 0x5c , VDMA_FRAME0 ); 配置0x4300005c时写入的VDMA_FRAME0是数据存储的地址
即:0x4300005c 所存的数据是0x1000000
而图像数据存储的位置是0x1000000开始的600*800个字节
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)

添加摄像头作为DDR的读输入

1.PL部分添加MT9V034和video in axi 模块,添加2SMM接口。
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
2.摄像头输入8bit数据,对之前IP进行更改
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
对vitis部分更改:
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
主函数部分没有其他改动,添加写通道配置,其配置方法与读通道配置时一致,只是偏置地址不同。

添加HDMI模块作为显示

ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)
添加HDMI模块作为显示接口
1)VGA时序数据
2)进行8bit输入,10bit输出编码,通过调用TMDS_ENCODER模块完成。
3)编码后数据串行输出,调用Select_io模块(调用时要在IP catalog中设置,并在添加子模块时到run/ip/中找到.v文件,加到ip_repo中,防止因为不能直接添加IP到BD中报错)
到此为止,摄像头正常启用
ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)文章来源地址https://www.toymoban.com/news/detail-450935.html

到了这里,关于ZYNQ学习——(摄像头_VDMA_HDMI显示工程搭建)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于HDMI接口和DDR存储器的VmodCAM双目摄像头驱动verilog程序开发

    目录 一、理论基础 二、核心程序 三、仿真结论         VmodCAM板提供数字成像适用于任何Digilent FPGA系统的功能带有VHDCI连接器的板。它有两个特点Aptina MT9D112 200万像素CMOS数字图像传感器。传感器可以提供框架速率从15 FPS以上,具体取决于决议。其片上系统设计集成了图像流

    2024年02月11日
    浏览(29)
  • 基于zynq7100的OV5640摄像头照相机实验,提供工程源码和技术支持

    设计框图如下: 采用Xilinx官方推荐的VDMA架构实现图像缓存和显示,除OV5640摄像头采集和HDMI输出外,其他ip均采用Xilinx官方IP实现。 这里说明一下: OV5640摄像头图像数据经VDMA三帧缓存后有2路输出 1路输出HDMI显示器显示; 1路通过FATFS文件系统写入sd卡中存放,存放的数据格式

    2024年02月03日
    浏览(30)
  • RK3568笔记九: DRM显示摄像头

    若该文为原创文章,转载请注明原文出处。 学习DRM的目的是想做类似NVR显示多路实时流,通过勇哥(Marc)的指导,大概流程是通过Zlmedia拉流,RK3568的MPP解码,DRM显示,可以使用HDMI或DIS屏幕,所以为了后面的实现,先测试摄像头采集DRM显示。 测试过程在笔记八里,如有不懂的,

    2024年01月16日
    浏览(40)
  • Android-WebRTC-实现摄像头显示

    EglBase是什么? 它提供了一个接口,用于在Android平台上创建和管理EGL(嵌入式系统图形库)上下文,以便在WebRTC中进行图像和视频的处理和渲染。 Capturer, Source, Track, Sink分别是什么? Capturer(采集器)是指用于采集音频或视频数据的设备或软件。它可以是麦克风、摄像头或其

    2024年02月15日
    浏览(40)
  • 消除Python OpenCV显示摄像头画面的延迟

    用 Python 通过 OpenCV显示摄像头画面时,如果对视频帧进行一些处理,常常会遇到一个问题,显示的画面比眼睛看到真实场景慢几秒甚至更多,给用户的体验不好。 画面延迟与卡顿的区别 卡顿 是指视频播放时,出现一顿一顿的现象,不流畅,通常每秒播放速率少于10帧就可以

    2024年02月11日
    浏览(40)
  • python调用海康网络摄像头,实时显示监控内容

    用网线将海康威视摄像头与电脑连接在一起;(或者用交换机,在一个交换机下面) 海康摄像头的默认ip是192.168.1.64 效果:和通过海康摄像头网址效果一样 rtsp://用户名:密码@ip地址/Streaming/Channels/2

    2024年02月16日
    浏览(26)
  • qt cpp结合VideoOutput显示摄像头数据

    运行效果如下:

    2024年02月11日
    浏览(22)
  • 使用 MFC 和 OpenCV 实现实时摄像头视频显示

    1、引言 MFC 是一个在 Windows 平台上编写 C++ 应用程序的库,提供了丰富的用户界面功能。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,包含了丰富的图像处理和计算机视觉功能。本文将向大家展示如何将这两个库结合起来,实现一个实时显示摄像头画面的简

    2024年02月13日
    浏览(56)
  • Qt中ffmpeg API存储和显示摄像头视频

    Qt中ffmpeg API存储和显示摄像头视频的功能需要之前写的视频ffmpegAPI的视频播放的流程。 代码源码位置:https://download.csdn.net/download/qq_43812868/88157743?spm=1001.2014.3001.5503 这是读取打开视频文件的流程,视频文件在avformat_open_input参数中,最终将数据传递到av_frame_alloc创建的AVFrame。

    2024年02月14日
    浏览(25)
  • 【Python】【OpenCV】Cameo项目(一)实时显示摄像头帧

    1、实时捕获并显示摄像头帧。 2、具备截图、保存视频和退出 三个功能键 。  要求存在文件:manager.py 和 cameo.py   两个类:CaptureManager、WindowManager   CaptureManager负责 摄像头帧的捕获 , 编解码得到实际帧 , 当前帧保存为图片 、 一段时间内的帧保存为视频 这四个核心功能

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包