FPGA解码2.7K分辨率4line MIPI视频 OV4689采集 提供工程源码和技术支持
创始人
2024-06-02 14:12:31
0

目录

  • 1、前言
  • 2、Xilinx官方主推的MIPI解码方案
  • 3、纯Vhdl方案解码MIPI
  • 4、vivado工程介绍
  • 5、上板调试验证
  • 6、福利:工程代码的获取

1、前言

FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。
本文详细描述了设计方案,工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;
关于MIPI协议,请自行搜索,csdn就有很多大佬讲得很详细,我就不多写这块了;
之前写过一篇文章,FPGA解码4K分辨率4line MIPI视频 OV13850采集,两路输出,输出1是VGA,输出2是HDMI,均为1920x1080;本文的原始参考链接:原始参考链接
在上面那个工程的基础上,将vhdl代码封装为自定义IP,将两路输出改为1路HDMI输出,修改工程链接如下:升级版
本设计实在升级版参考基础上修改而来,将原来的OV13850采集改为 OV4689采集。

2、Xilinx官方主推的MIPI解码方案

Xilinx官方主推的MIPI解码方案是专用IP核,在vivado的ip仓库里输入MIPI就会看到如下的一堆IP:在这里插入图片描述
Xilinx方案使用很简单,调用IP就行,用SDK配置即可使用,MIPI解码后的数据格式为AXIS,方便与他家的VDMA之类的IP对接,你无须关心复杂的MIPI协议即可畅玩儿MIPI,但问题就来了,如果你用的FPGA不是Xilinx家的怎么办?
关于Xilinx自家的MIPI方案,请参考我之前写的文章;Xilinx的MIPI方案

3、纯Vhdl方案解码MIPI

本方案MIPI解码后的视频时序为VGA时序,即行同步,场同步,数据有效,数据信号;方便后端直接处理;
解串部分使用Xilinx源语,本工程用到的是7系列源语,更高级别的FPGA应用,需要更改源语参数,但问题不大;
一个字:牛逼,表现如下:
1:纯Vhdl代码实现,学习性和阅读性达到天花板;
2:移植性还可以,只要兼容Xilinx解串源语的FPGA均可移植;
3:算法达到天花板,标准的CSI2接收协议实现解码;
4:实用性达到天花板,采用OV4689摄像头作为输入,不同于市面上验证性和实验性的工程,本设计直接面向实用工程,贴近真实项目,MIPI输入,1路视频输出,做类似项目的兄弟可直接拿去用,一个月工资直接拿到手。。。
5:自定义IP封装,方便用户使用;

4、vivado工程介绍

工程架构如下:在这里插入图片描述
开发板:Xilinx Kintex7开发板;
开发环境:vivado2020.2;
输入:OV4689;4line;分辨率2688x1520;
输出:HDMI;分辨率1920x1080;
工程BD如下:在这里插入图片描述
4line MIPI解码模块详解,点击这个+号可展开IP;
在这里插入图片描述
展开后的4line MIPI解码模块如下:在这里插入图片描述
4line MIPI解码模块配置界面如下:
在这里插入图片描述
bayer转RGB不需要配置;
白平衡图像增强模块配置界面如下:在这里插入图片描述
展开后的图像缓存与缩放解码模块如下:在这里插入图片描述
写控制器模块配置界面如下:在这里插入图片描述
读控制器模块配置界面如下:在这里插入图片描述
工程代码架构如下:在这里插入图片描述
逻辑资源消耗和功耗如下:在这里插入图片描述

5、上板调试验证

输出如下:
在这里插入图片描述
在这里插入图片描述

6、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
在这里插入图片描述

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...