纪检网站建设方案,做一百度网站吗,深圳建网站兴田德润优秀,上海公共服务平台目录1、前言2、设计思路和架构3、vivado工程详解4、上板调试验证5、福利#xff1a;工程代码的获取1、前言
本设计采用OV5640摄像头MIPI模式作为输入#xff0c;分辨率为1280x72060Hz#xff0c;MIPI解码方案采用Xilinx官方提供的MIPI CSI-2 RX Subsystem IP解码MIPI视频工程代码的获取1、前言
本设计采用OV5640摄像头MIPI模式作为输入分辨率为1280x72060HzMIPI解码方案采用Xilinx官方提供的MIPI CSI-2 RX Subsystem IP解码MIPI视频通过DP接口输出视频。 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了MIPI解码难度之高令无数英雄竞折腰以至于Xilinx官方不得不推出专用的IP核供开发者使用不然太高端的操作直接吓退一大批FPGA开发者就没人玩儿了。 本文详细描述了设计方案工程代码编译通过后上板调试验证可直接项目移植适用于在校学生、研究生项目开发也适用于在职工程师做项目开发可应用于医疗、军工等行业的数字成像和图像传输领域 提供完整的、跑通的工程源码和技术支持 工程源码和技术支持的获取方式放在了文章末尾请耐心看到最后 关于MIPI协议请自行搜索csdn就有很多大佬讲得很详细我就不多写这块了 本设计只针对2line的MIPI相机 如果要使用4line的MIPI相机请参考我之前写的文章4line MIPI解码
2、设计思路和架构
工程采用两个 lane 的 MIPI 输入MIPI 摄像头配置为 RAW10 输出。通过mipi_csi2_rx_subsystem 模块进行协议解析并转换成 AXIS 流数据并通过Sensor Demosaic模块将RAW 转换成 RGB 数据之后经过 Gammer 校正等模块进入 VDMA之后进入 HP 口。 设计架构如下 先配置 ZYNQ 核100MHz 用于数据传输200MHz 用于 MIPI 模块参考时钟如下图 配置 i2c 为 EMIO用于配置摄像头寄存器GPIO EMIO 设置为 1用于配置摄像头使能如下图 添加 mipi_csi2_rx_subsystem IP用于 MIPI 数据的接收与解析转成 axi-stream 接口。 配置如下数据格式选择 RAW10选择 2 laneLine Rate 配置为 1000Mbps指的是最大支持的速率也可以根据自己的需求填写范围为 80-2500Pixels Per Clock 默认配置为1表示 1 个周期为 1 个像素如下图 自此输入MIPI视频就以完成了解码输出为AXIS视频流后面就是图像数据格式转换和VDMA缓存以及vitis软件配置了。
3、vivado工程详解
提供2套工程源码对应2种fpga其他型号的fpga只需在vivado里更改fpga型号然后重新编译即可很简单不多说 工程1 输入OV5640摄像头MIPI模式1280x72060Hz FPGA型号Zynq UltraScale Xczu4ev 开发环境vivado2020.2 输出DP1280x72060Hz
工程2 输入OV5640摄像头MIPI模式1280x72060Hz FPGA型号Zynq UltraScale Xczu2cg 开发环境vivado2020.2 输出DP1280x72060Hz
以工程1为例vivado工程BD如下 综合后的代码架构如下 vitis软件配置部分c代码主函数源码如下
int main(void)
{int Status;int i ;Xil_DCacheDisable();Xil_ICacheDisable();for (i 0; i DISPLAY_NUM_FRAMES; i){pFrames[i] frameBuf[i];memset(pFrames[i], 0, DEMO_MAX_FRAME);}PsGpioSetup() ;XGpioPs_WritePin(Gpio, CAM_EMIO, 0) ;usleep(1000000);XGpioPs_WritePin(Gpio, CAM_EMIO, 1) ;usleep(1000000);i2c_init(ps_i2c0, XPAR_XIICPS_0_DEVICE_ID,100000);xil_printf(DPDMA Generic Video Example Test \r\n);Status DpdmaVideoExample(RunCfg, pFrames[0]);if (Status ! XST_SUCCESS) {xil_printf(DPDMA Video Example Test Failed\r\n);return XST_FAILURE;}gamma_lut_init();demosaic_init();vdma_write_init(XPAR_AXIVDMA_0_DEVICE_ID,HORSIZE,VERSIZE,DEMO_STRIDE,(unsigned int)pFrames[0]);sensor_init(ps_i2c0);return 0;
}4、上板调试验证
由于某些不可抗力和高层次复杂因素不便展示调试结果请见谅
5、福利工程代码的获取
福利工程代码的获取 代码太大无法邮箱发送以某度网盘链接方式发送 资料获取方式私或者文章末尾的V名片。 网盘资料如下