FPGA实现CSI-2 解码MIPI视频 2line 720P分辨率 OV5647采集 提供工程源码和技术支持
目录
- 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采集,修改工程链接如下:OV4689
本工程输入为OV5647摄像头,2line MIPI数据线,720P分辨率,硬件纯vhdl代码实现MIPI协议解码,输出axis格式数据,然后将axis格式数据转换为VGA格式数据,再将bayer数据转RGB,再经过FDMA三帧缓存,最红通过HDMI输出显示器。
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封装,方便用户使用,CSI-2自定义IP支持2line或4line输入,可在IP配置界面手动配置;
视频输入:
OV5647摄像头输入,MIPI 2line,720P分辨率;
MIPI解码:
纯vhdl代码编写的CSI-2解码器,可针对2line或4line输入的MIPI视频解码,输出为AXIS数据流,经过AXIS转VGA输出VGA格式数据,经Bayer转RGB输出VGA格式的RGB888视频数据;
图像缓存:
经典的,我常用的FDMA图像缓存架构,经常看我博客的朋友应该都很熟悉了,想了解FDMA图像缓存架构可以参考我之前写的文章FDMA图像缓存架构
图像输出:
经FDMA图像3帧缓存后,相当于MIPI视频进DDR3逛了一圈又回来了,经过VGA时序发生器VTC和HDMI发送驱动输出显示器,HDMI发送驱动采用纯verilog代码编写,不含任何IP,输出稳定可靠,我项目一直都在用,想了解HDMI发送驱动可以参考我之前写的文章HDMI发送驱动
4、vivado工程介绍
开发板:Xilinx Kintex7开发板;
开发环境:vivado2020.2;
输入:OV5647摄像头输入,MIPI 2line,720P分辨率;
输出:HDMI,720P分辨率;
工程BD如下:
MIPI解码部分的IP搭建如下:
CSI-2 IP配置界面如下:
CSI-2转AXIS
FDMA配置如下:
综合后的工程代码架构如下:
FPGA资源消耗和功耗预估如下:
5、上板调试验证
由于摄像头被手残党烧坏了,没法演示了,真TND晦气,上张图片压压惊吧
6、福利:工程代码的获取
福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
FPGA实现CSI-2 解码MIPI视频 2line 720P分辨率 OV5647采集 提供工程源码和技术支持相关推荐
- FPGA解码4line MIPI视频 IMX291/IMX290摄像头采集 提供工程源码和技术支持
目录 1.前言 2.Xilinx官方主推的MIPI解码方案 3.我已有的MIPI解码方案 4.纯Vhdl代码解码MIPI 5.vivado工程介绍 6.上板调试验证 7.福利:工程代码的获取 1.前言 ...
- FPGA纯vhdl实现MIPI CSI2 RX 4K视频解码输出,OV13850采集,提供工程源码和技术支持
目录 1.前言 2.Xilinx官方主推的MIPI解码方案 3.纯Vhdl方案解码MIPI 4.vivado工程介绍 5.上板调试验证 6.福利:工程代码的获取 1.前言 FPGA图像采集领域目前协议 ...
- FPGA使用GTX实现SFP光纤收发SDI视频 全网首创略显高端 提供工程源码和技术支持
目录 1.前言 2.设计思路和框架 3.vivado工程详解 4.上板调试验证并演示 5.福利:工程代码的获取 1.前言 FPGA实现SDI视频编解码目前有两种方案: 一是使用专用编解码芯片,比如典型 ...
- FPGA实现模拟视频BT656解码 TW2867四路PAL采集拼接显示 提供工程源码和技术支持
目录 1.前言 2.模拟视频概述 3.模拟视频颜色空间 4.逐行与隔行 5.BT656数据与解码 BT656数据格式 BT656数据解码 6.TW2867芯片解读与配置 TW2867芯片解读 TW28 ...
- FPGA硬件png图片解码器,支持所有颜色类型解码,提供工程源码和技术支持
目录 1.前言 2.我已有的视频图像编解码方案 3.png图片解码理论 4.png图片解码性能介绍 5.png图片解码器时序介绍 输入码流 输出图像信息和像素 6.png图片解码器设计详解 7.工程源 ...
- FPGA基于GS2971/GS2972实现SDI视频收发 提供工程源码和技术支持
目录 1.前言 2.我目前已有的SDI编解码方案 3.GS2971/GS2972芯片解读 GS2971解读 GS2972解读 4.详细设计方案 5.vivado工程1解读 硬件逻辑工程 软件SDK工程 ...
- FPGA找工作写简历,你离高薪offer只差一个高端项目,提供工程源码和技术支持
这里写目录标题 1.前言 2.你或许很菜 3.工程源码 4.技术支持 5.工程源码和技术支持获取方式 1.前言 如果你是即将毕业的学生或是想转行做FPGA的工程师,你都会面临一个问题,那就是找工作,找 ...
- FPGA实现MPEG2视频压缩 提供工程源码和技术支持
1.前言 MJPEG.MPEG2.MPEG4.H264 是流行且兼容性很高的 4 种视频编码格式.其中 MJPEG 对每帧独立进行 JPEG 图象压缩,而不利用帧间相关性,因此压缩效果较差. MPEG ...
- FPGA纯Verilog实现任意尺寸图像缩放,串口指令控制切换,贴近真实项目,提供工程源码和技术支持
目录 1.前言 2.目前主流的FPGA图像缩放方案 3.本方案的优越性 4.详细设计方案 5.vivado工程详解 6.上板调试验证并演示 7.福利:工程源码获取 1.前言 代码使用纯verilog实 ...
最新文章
- 查看 php-cgi 进程数
- Visual Studio 2019 安装教程 附免费安装包资源
- ASP.NET MVC 线程和并发
- C++基础知识(一)—— C++程序结构
- micropython stm32f407 以太网_[MicroPython]STM32F407开发板DIY声光控开关
- iOS 开发学习之 User Interface(4)UIView 与 UIViewController【二】
- MySQL 递归查询下级
- ONVIF协议--ONVIF协议简介
- Windows下同步工具FastCopy
- 个人知识管理系统思源笔记
- 为何风口过去之后,百果园反而要在无人零售上发力?
- vue 自动打开浏览器
- Linux是什么?它是哪个国家开发的
- 树莓派综合项目2:智能小车(一)四轮驱动
- Chrome浏览器安装Adblock Plus插件拦截广告
- 《制药企业设施设备运维管理与节能减排》专题会议 特邀讲师勃林格殷格翰首席工程师
- 十进制转换为十六进制-八进制-二进制的进制转换计算
- Ubuntu臭虫(bugs)知多少?
- 用java 发送邮件 版本2(根据配置文件 选择发送情话或者励志文)
- linux 性能测试 antutu,安兔兔“不诚实”?这三款跑分软件绝对值得一试!
热门文章
- Anaconda 在线安装esri模块超时失败解决方法
- 解决AutoCAD2002中的许可证错误和取消今日知道
- Java 编写一个应用程序,实现求 s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字 例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
- 获取浏览器原生滚动条宽度的方法
- 王道操作系统___第三章01
- EasyExcel导出xlsx报错 Invalid column index (256). Allowable column range for BIFF8
- 【Excel】Excel如何快速计算出每项所占百分比
- hexo排坑——页面跳转变成了下载
- 博客写作小技巧【1】:如何设置字体大小、颜色和字体类型!
- 又一批阿里网盘扩充码!亲测有效!这次数量比较少,抓紧!