0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA解码MIPI视频OV5647 2line CSI2 720P分辨率采集

冬至子 来源:FPGA图像处理 作者:健康奶 2023-10-18 11:50 次阅读

1、前言

FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。

本设计基于Xilinx的Kintex7开发板,采集OV5647 摄像头的720P 2Line MIPI视频,OV5647 摄像头引脚接Kintex7的 BANK16 LVDS_25 差分引脚,经过纯vhdl实现的 CSI2 RX模块输出AXIS视频流,再将bayer数据转RGB,再经过FDMA将图像送入DDR3中做三帧缓存后读出,最后经HDMI发送模块输出显示器;

本文详细描述了设计方案,工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;
关于MIPI协议,请自行搜索,csdn就有很多大佬讲得很详细,我就不多写这块了;

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

Xilinx官方主推的MIPI解码方案是专用IP核,在vivado的ip仓库里输入MIPI就会看到如下的一堆IP:

在这里插入图片描述

Xilinx方案使用很简单,调用IP就行,用SDK配置即可使用,MIPI解码后的数据格式为AXIS,方便与他家的VDMA之类的IP对接,你无须关心复杂的MIPI协议即可畅玩儿MIPI,但问题就来了,如果你用的FPGA不是Xilinx家的怎么办?

3、本 MIPI CSI2 模块性能及其优越性

本方案MIPI解码后的视频时序为VGA时序,即行同步,场同步,数据有效,数据信号;方便后端直接处理;解串部分使用Xilinx源语,本工程用到的是7系列源语,更高级别的FPGA应用,需要更改源语参数,但问题不大;
一个字:牛逼,表现如下:
1:纯Vhdl代码实现,学习性和阅读性达到天花板;
2:移植性还可以,只要兼容Xilinx解串源语的FPGA均可移植;
3:算法达到天花板,标准的CSI2接收协议实现解码;
4:实用性达到天花板,采用OV4689摄像头作为输入,不同于市面上验证性和实验性的工程,本设计直接面向实用工程,贴近真实项目,MIPI输入,2路视频输出,做类似项目的兄弟可直接拿去用,一个月工资直接拿到手。。。
5:支持高达4K分辨率的MIPI视频解码;
6:时序收敛很到位,考虑到MIPI协议的复杂性和时序的高要求,所以没有采用时序收敛不强的verilog,而是VHDL,虽然阅读性可能会低一些,但用户只需要知道用户接口即可,并不需要去看内部的复杂代码;
7:自定义IP封装,方便Xilinx系列FPGA用户使用,CSI-2自定义IP支持2line或4line输入,可在IP配置界面手动配置;

4、我这里已有的 MIPI 编解码方案

我这里目前已有丰富的基于FPGA的MIPI编解码方案,主要是MIPI解码的,既有纯vhdl实现的MIPI解码,也有调用Xilinx官方IP实现的MIPI解码,既有2line的MIPI解码,也有4line的MIPI解码,既有4K分辨率的MIPI解码,也有小到720P分辨率的MIPI解码,既有基于Xilinx平台FPGA的MIPI解码也有基于Altera平台FPGA的MIPI解码,还有基于Lattice平台FPGA的MIPI解码,后续还将继续推出更过国产FPGA的MIPI解码方案,毕竟目前国产化方案才是未来主流,后续也将推出更多MIPI编码的DSI方案,努力将FPGA的MIPI编解码方案做成白菜价。。。

5、详细设计方案

详细设计方案如下:

在这里插入图片描述

视频输入:
OV5647摄像头输入,MIPI 2line,720P分辨率;
MIPI解码:
纯vhdl代码编写的CSI-2解码器,可针对2line或4line输入的MIPI视频解码,输出为AXIS数据流,经过AXIS转VGA输出VGA格式数据,经Bayer转RGB输出VGA格式的RGB888视频数据;

图像输出:
经FDMA图像3帧缓存后,相当于MIPI视频进DDR3逛了一圈又回来了,经过VGA时序发生器VTC和HDMI发送驱动输出显示器,HDMI发送驱动采用纯verilog代码编写,不含任何IP,输出稳定可靠,我项目一直都在用

6、vivado工程介绍

开发板:Xilinx Kintex7开发板;
开发环境:vivado2020.2;
输入:OV5647摄像头输入,MIPI 2line,720P分辨率;
输出:HDMI,720P分辨率;
工程BD如下:

在这里插入图片描述

MIPI解码部分的IP搭建如下:

在这里插入图片描述

CSI-2 IP配置界面如下:

在这里插入图片描述

CSI-2转AXIS
在这里插入图片描述

FDMA配置如下:

在这里插入图片描述
综合后的工程代码架构如下:

在这里插入图片描述

FPGA资源消耗和功耗预估如下:

在这里插入图片描述

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21602

    浏览量

    601066
  • DDR3
    +关注

    关注

    2

    文章

    274

    浏览量

    42156
  • 摄像头
    +关注

    关注

    59

    文章

    4790

    浏览量

    95237
  • RGB
    RGB
    +关注

    关注

    4

    文章

    796

    浏览量

    58324
  • MIPI
    +关注

    关注

    11

    文章

    304

    浏览量

    48517
收藏 人收藏

    评论

    相关推荐

    基于RK3588J的6路MIPI CSI视频采集案例分享,多路视频系统必看!

    :rk3588_linux_release_v1.2.1摄像头模块型号:TL13850和Camera Module v2视频分辨率:1920x1080@30fps 图 1 6路视频
    发表于 08-22 11:51

    [艾诺]无色块10M码流720P 推动高清MP4标准

    ,才能有效解决如何界定高清MP4的难题。电视之谓高清,是其物理分辨率达到了720P以上,摄像机之谓高清,是其录制视频的能力达到720P以上,数码相机之谓高清,是其拍摄图片能力达到
    发表于 12-08 17:08

    无色块10M码流720P 艾诺推动高清MP4标准

    大)  第一,从视频分辨率与片源清晰度来看,高清MP4最低必须兼容720P的RMVB和AVI等视频文件。 ­  720P是美国电影电
    发表于 12-24 12:36

    无色块10M码流720P 推动高清MP4标准

    MP4的最基本条件,是所支持的视频分辨率最低也要达到720P水平(即1280x720),画面比例16:9,尤其是对于720P RMVB要做到
    发表于 12-30 14:15

    特权FPGA VIP视频图像开发套件例程详解5——VGA SVGA 720p 1080p分辨率显示驱动

    特权FPGA VIP视频图像开发套件例程详解5——VGA SVGA 720p 1080p分辨率显示驱动
    发表于 10-26 21:50

    RGB转MIPI CSI芯片方案TC358746XBG

    型号:TC358746XBG功能:RGB888/666/565与MIPI CSI 互转通信方式:IIC/SPI分辨率720p电源:3.3/1.2V封装形式:BGA72深圳有现货库存,
    发表于 07-10 11:39

    【小梅哥FPGAOV5640摄像头资料,含应用手册,1280*720P分辨率,30帧应用工程

    分辨率TFT显示屏上,由于使用Verilog直接配置OV5640摄像头,暂不支持开启补光灯和自动对焦功能AC6102_OV5640_DDR2_VGA_RGB_720p:使用Verilog直接配置
    发表于 04-30 10:26

    关于dm8168 ezsdk下openmax decode_display例子输出分辨率的问题。

    例子是否只支持1080p720p分辨率输出。 2.openmax手册中说venc只支持720p和1080
    发表于 06-21 04:49

    请教DM6467关于1024x768分辨率视频处理

    Davinci V4L2的驱动只有720p的歌声,应该怎么修改V4L2的驱动,来适应1024x768的分辨率。 还有采集时候
    发表于 06-21 00:50

    DM6467 720P H.264 编码问题

    1080P采集,我只是在capture.c 文件在YUV422转YUV420之前通过resize转换了分辨率,然后发送给编码线程编码,但编码出来 的720P不正常,用VLC播放时画面一
    发表于 06-21 17:54

    怎么自动识别视频分辨率和帧频?

    我现在使用的相机fpgainstead sensorbefore CYUSB3014芯片的特点,视频分辨率和帧速率,我的设计是不固定的,不是通过设置软件应用likeamcap,我想修改硬件的应用使
    发表于 09-23 14:55

    OV5647传感器的数据手册

    ov5647是一种低电压、高性能、500万像素的cmos图像传感器,使用omnibsi™技术提供2592x1944视频输出。它通过串行摄像机控制总线或MIPI接口提供多分辨率原始图像
    发表于 11-04 08:00 60次下载
    <b class='flag-5'>OV5647</b>传感器的数据手册

    CMOS图像传感器OV5647的数据手册免费下载

    OV5647是一种低电压、高性能、500万像素的CMOS图像传感器,采用OmniBSITM技术提供2592×1944的视频输出,通过串行摄像机控制总线或MIPI接口控制提供多分辨率的原
    发表于 03-27 08:00 36次下载
    CMOS图像传感器<b class='flag-5'>OV5647</b>的数据手册免费下载

    AN-1337:ADI视频解码器与MIPI CSI-2接收器连接的设计考虑

    AN-1337:ADI视频解码器与MIPI CSI-2接收器连接的设计考虑
    发表于 04-19 16:21 15次下载
    AN-1337:ADI<b class='flag-5'>视频</b><b class='flag-5'>解码</b>器与<b class='flag-5'>MIPI</b> <b class='flag-5'>CSI-2</b>接收器连接的设计考虑

    说说分辨率720P、1080P、HD、蓝光、2K、4K

    我们常说的720P,是指分辨率为1280*720,长宽比16:9。720P是一种在逐行扫描下达到1280×720
    发表于 01-05 09:19 8.3w次阅读