当前位置:首页 > 新闻资讯 > FPGA之家动态 >

Xilinx Artix7-100T低端系列FPGA解码MIPI视频

时间:2024-08-09      来源:网络搜集 关于我们 0

FPGA解码MIPI视频:Xilinx Artix7-100T低端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

前言

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

工程概述

本设计基于Xilinx的 Artix7-100T低端FPGA开发板,采集OV5640摄像头的2Line MIPI视频,OV5640摄像头配置为MIPI模式,引脚经过权电阻方案后接入FPGA的HS BANK的LVDS差分IO;调用Xilinx的MIPI CSI-2 RX Subsystem IP实现MIPI的D-PHY功能,该IP由Xilinx免费提供,将MIPI视频解码后以AXIS视频流格式输出;再调用Xilinx的Sensor Demosaic IP实现RAM转RGB功能;再调用Xilinx的Gammer LUT IP实现伽马校正功能;再调用Xilinx的VDMA IP实现图像三帧缓存功能,VDMA调用两个,一个用于视频写入DDR3,另一个用于视频读出DDR3,这样分开读写的目的在于使用AXI的带宽;再调用Xilinx的Video Timing Controller和AXI4-Stream toVideo Out IP实现视频流从AXI4-Stream到VGA时序的转换;最后用自定义的HDMI发送IP将视频输出显示器显示;整个工程调用MicroBlaze软核做IP的配置,相当于Zynq的作用,MicroBlaze的配置在Vitis SDK里以C语言软件代码的形式运行,所以整个工程包括FPGA逻辑设计和Vitis SDK软件设计两部分,需要具备FPGA和嵌入式C语言的综合能力,不适合初学者或者小白。。。针对目前市面上主流的FPGA,本Xilinx系列FPGA解码OV5640-MIPI视频方案一共移植了13套工程源码,本博文介绍其中基于Artix7-35T低端FPGA 的1套工程,详情如下:红色箭头表示本博客介绍的工程源码;

本文详细描述了Xilinx Artix7-100T低端FPGA解码MIPI视频的设计方案,工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;

提供完整的、跑通的工程源码和技术支持;

工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

关于MIPI协议,请自行搜索,csdn就有很多大佬讲得很详细,我就不多写这块了;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网以及其他开源免费获取渠道等等),若大佬们觉得有所冒犯,请私信批评教育;部分模块源码转载自上述网络,版权归原作者所有,如有侵权请联系我们删除;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

本 MIPI CSI2 模块性能及其优缺点

由于调用了Xilinx的MIPI CSI-2 RX Subsystem IP核,所以性能上就取决于你的FPGA型号,理论上FPGA越高端,支持的IO线速率或者GT高速接口线速率就越高,就能跑速率更高的MIPI视频;

该IP适应性极强,支持的MIPI相机性能参数如下:

并且,在越高端的FPGA型号上,该IP支持的高端性能也越多;

由于调用了Xilinx的MIPI CSI-2 RX Subsystem IP核,MIPI视频解码的稳定性很好,且使用及其简单,缺点是看不到源码,出了问题后不好排查,只能在输入输出接口添加ila进行逐级追踪;

本方案使用的FPGA型号为Xilinx Artix7-100T,属于低端FPGA的MIPI解码应用,适用于经费有限的项目开发;

详细设计方案

设计原理框图

设计原理框图如下:

OV5640及其配置

输入视频采用廉价的OV5640摄像头模组,配置为MIPI模式,2 Line,数据格式为RAW10,线速率为1000Mbps,视频分辨率为1280*720,一个时钟一个像素,OV5640需要SCCB总线配置才能运行,该总线等价于I2C总线,调用一个AXI-GPIO模拟I2C,利用Vitis软件配置OV5640,配置部分代码有C语言实现,具体参考Vitis程序;AXI-GPIO调用和SCCB软件配置代码截图如下:

MIPI-DPHY硬件权电阻方案

使用Xilinx官方推荐的权电阻硬件方案将输入的差分MIPI对恢复HS和PL,原理图部分截图如下:

注意:权电阻方案只在低速率的MIPI模式下可用,高速率的MIPI请用专用芯片实现,比如MC20001,MC系列这种方案可以支持到2Gbps/Lane速率以上,只要FPGA的IO速率够用;

MIPI CSI-2 RX Subsystem

调用Xilinx的MIPI CSI-2 RX Subsystem IP实现MIPI的D-PHY功能,该IP由Xilinx免费提供,将MIPI视频解码后以AXIS视频流格式输出,该IP不需要额外的SDK软件配置,调用和配置如下:

Bayer转RGB888

调用Xilinx的Sensor Demosaic IP实现RBayer转RGB888功能,该IP通过Vitis的C代码软件配置,Sensor Demosaic调用和C代码软件配置代码截图如下:

伽马校正

调用Xilinx的Gammer LUT IP实现伽马校正功能,该IP通过Vitis的C代码软件配置,Gammer LUT调用和C代码软件配置代码截图如下:

VDMA图像缓存

调用Xilinx的VDMA IP实现图像三帧缓存功能,VDMA调用两个,一个用于视频写入DDR3,另一个用于视频读出DDR3,这样分开读写的目的在于使用AXI的带宽;该IP通过Vitis的C代码软件配置;VDMA调用和C代码软件配置代码截图如下:

AXI4-Stream toVideo Out

再调用Xilinx的Video Timing Controller和AXI4-Stream toVideo Out IP实现视频流从AXI4-Stream到VGA时序的转换;Video Timing Controller配置为1280*720@60Hz,这两个IP不需要软件配置;Video Timing Controller和AXI4-Stream toVideo Out调用截图如下:

HDMI输出

最后用纯verilog实现的HDMI发送模块将视频输出显示器显示,该IP最大输出分辨率只支持1920*1080@60Hz;IP调用截图如下:

工程源码架构

该工程由vivado Block Design设计和SDK软件设计构成;

vivado Block Design设计主要是MIPI解码、ISP处理、图像缓存、图像输出等逻辑部分设计;

SDK软件设计主要是对Block Design设计中使用到的各种IP进行初始化和配置;

vivado Block Design设计架构如下:

综合后的工程代码架构如下:

Vitis SDK C语言软件是为了配置FPGA调用的IP,用VItis打开即可查看,代码内容如下:

由于工程中用到了HLS生成的IP,Sensor Demosaic和Gammer LUT,可能会出现综合编译失败,或者警告后在Vitis SDK里找不到设备ID等情况,此时需要更改电脑系统时间或者打上官方补丁解决这件事情,具体方法请CSDN自行搜索;

vivado工程详解

开发板FPGA型号:Xilinx--Artix7--xc7a100tfgg484-2;

开发环境:Vivado2022.2;

输入:OV5640摄像头--MIPI--2 Line--RAW10-1280x720@60Hz;

输出:HDMI ,分辨率1280x720@60Hz;

应用:Xilinx Artix7-100T低端FPGA解码MIPI视频;

工程代码架构请参考第4章节的《工程源码架构》小节内容;

工程的资源消耗和功耗如下:

上板调试验证

准备工作

需要准备的器材如下:

FPGA开发板,可以自己准备,也可以购买本博主使用的同款开发板,省事儿;

MIPI-OV5640摄像头,可以自己准备,也可以购买本博主使用的同款开发板,省事儿;

HDMI显示器;

MIPI-OV5640摄像头与开发板连接如下:

然后上电并下载bit测试;

输出视频演示

输出如下:

关闭
观看更多
更多
退出全屏

视频加载失败,请刷新页面再试

刷新

福利:工程源码获取

福利:工程代码的获取

代码太大,无法邮箱发送,以某度网盘链接方式发送,

资料获取方式:加我微信-->hllsq22

网盘资料如下:

此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:

在最后~~~~~~~~~~~~~~

欢迎关注博主个人资源分享平台:1、CSDN关注-->9527华安 2、微信公众号关注-->FPGA教父3、知乎关注-->FPGA个人练习生
注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言