FPGA实战开发-基于的ddr图像缓存设计(上)

news2024/10/5 13:33:27

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
    • 技术细节
    • 小结

概要

提示:这里可以添加技术概要

例如:

本文主要基于DDR的图像缓存设计

整体架构流程

提示:这里可以添加技术整体架构

先用图像产生模块产生一个1080P60Hz的测试图像,然后经过FDMA进入ddr3,缓存3帧后在读出来。然后在经过HDMI显示。

技术名词解释

FDMA:这是米联科开发一款DMA控制器,本文也是本着学习及分享两种意图写下了此文。

技术细节

提示:这里可以添加技术细节

在这里我们引入了AXi_interconnect IP,因为smc不能满足FDMA和MIG的最大带宽,导致1080P视频不能正常传输,并且在interconnected IP中要使能寄存器输出,并在使能fifo深度。

这样就能完美传输1080P@60fps的视频。

其实这里我们弄清楚一个问题:

为什么需要缓存,而不是为了设计缓存而去设计缓存。所以我的思想也比较天马行空,本文主要说明为什么,做什么,下节在去说明怎么做。

其实到目前为止,我也不知道他这个例程为什么要使用缓存。

文件上有这么一句,可能我理解能力比较差,没和案例结合在一起,发现问题。

(为了进行图像的多缓存,一般非同步信号至少要满足3缓存才能最大减小图片的延迟/撕裂/丢帧问题)

这个地方啊有两个重点,第一个非同步信号。(这个例程中,图片产生信号和HDMI输出信号同源,同步信号)那我其实可以这么理解,同步信号就不需要了。

第二个至少缓存三帧;

以上结论怎么来的呢。

在看下面一个结论:

由于摄像头产生的数据时钟速率和显示屏的时钟不匹配,而且当摄像头传来数据时,显示屏驱动模块不一定在此时需要数据,况且同一时刻摄像头传进的像素的位置不一定就是显示屏正刷新到的位置。故不能将摄像头的数据直接直接传输到显示屏驱动模块。

总结一些常见的认知,一般可以总结为以下几个方面:

1.时钟不同步,为导致一些异常情况

2.图像显示更加顺畅。

下面对整个流程做个初步设计,

关于FDMA:

 

fdma_wready设置为1,当fdma_wbusy=0的时候代表FDMA的总线非忙,可以进行一次新的FDMA传输,这个时候可以设置fdma_wreq=1,同时设置fdma burst的起始地址和fdma_wsize本次需要传输的数据大小(以bytes为单位)。当fdma_wvalid=1的时候需要给出有效的数据,写入AXI总线。当最后一个数写完后,fdma_wvalid和fdma_wbusy变为0。

fdma_rready设置为1,当fdma_rbusy=0的时候代表FDMA的总线非忙,可以进行一次新的FDMA传输,这个时候可以设置fdma_rreq=1,同时设置fdma burst的起始地址和fdma_rsize本次需要传输的数据大小(以bytes为单位)。当fdma_rvalid=1的时候需要给出有效的数据,写入AXI总线。当最后一个数写完后,fdma_rvalid和fdma_rbusy变为0 

 

 

小结

提示:这里可以添加总结

例如:

本文主要对图像缓存的应用场景,做了天马行空的介绍,下篇文章主要讲实际代码的实现过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网程序配置外网访问方案

该方案可解决客户公司没有固定IP,内网IIS程序配置外网访问。如果有固定IP,可以直接在公司主路由器上映射端口即可。 一、申请一个公司域名和云服务器 二、在申请的公司一级域名下,解析一个二级域名,使用泛域名方式,解…

Mysql版本升级教程【5.x到8.x】

目录 0.查看当前版本1.备份导出原数据2.停止Mysql服务3.卸载Mysql相关组件4.删除Mysql安装目录5.删除Mysql数据目录6.官网下载新版安装包7.安装新版Mysql8.配置环境变量 0.查看当前版本 1.备份导出原数据 可以在Navicat里将相关数据库存到.sql文件中,到时候直接导入…

阿里面试太为难我了,阿里面试了7轮(拿下P7岗offer)

前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这…

准备跳槽的兄弟可以看看...

八股文为什么这么火爆? 因为只要大家技术和能力过关,八股文能帮助大家在面试时有很好的表现和稳定的发挥,让面试官预估到你能带来的价值,从而实现薪资高涨幅。 总结了一些小伙伴的面试经验,和我自己多年的资料库存&a…

Zabbix“专家坐诊”第194期问答汇总

问题一 Q:请问一下,我这个监控上了光交和V7000通过trap,mib文件也上传了,usr/snmp/mibs/V7000目录,是创建的监控项调用此文件夹下的mib文件,还是自动找呢? A:mib文件只用于mib内容…

深度学习架构-Tensorflow

深度学习基本概念 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能的目的 就是让计算机能够像人一样思考。 强人工智能:就是要使机器学习人的理解、学习和执行任务的能力。 弱人工智能:指用…

计算机网络安全的主要内容是什么?CISP题库分享

在技术上,网络安全包括物理安全、运行安全、信息安全和安全保证四个方面: 物理安全 包括环境安全、设备安全和记录介质安全。环境安全涉及中心机房和通信线路的安全保护问题;设备安全涉及设备的防盗和防毁、设备的安全使用等问题;记录介质安…

linux-docker备份数据库

利用计划任务和批处理从docker容器中备份数据库文件到宿主机指定目录 如何创建定时任务 创建计划任务(定时任务): crontab -e打开后是VI编辑器,将自己计划任务的内容写到里边然后wq(保存并退出)就行了 查…

当涉及到嵌入式开发时

以下是一些建议和关键要点,可以帮助您进行有效的开发: 硬件选择:根据项目需求选择合适的硬件平台和组件,包括处理器、存储器、传感器和通信接口等。考虑功耗、性能、可靠性和成本等因素。 软件开发环境:选择适合嵌入式…

3.1 增加多进程执行playwright

增加了多进程的方式执行测试代码,对代码改动比较大 1、case case目录依然是自动生成 2、config dir_collection.py新增了配置 mkdir_collections [case,log,img, ] del_collections [results,report ] del_regex temp3、data/img/log/resource/video data/im…

Linux内核4.14版本——drm框架分析(6)——实例注册drm device/ encoder/crtc/plane/connector等

目录 1. 简介 2. drm device的注册 3. fops 根据前面几篇文档的介绍,我们知道了drm的整体的构成,后面的文章我们从实际的一个例子中进行分析。 1. 简介 kernel版本:4.14 gpu:ARM Mali DP650 hdmi:dw hdmi 涉及的…

[已解决]无法在Windows 11中扩展C盘

如果你的台式电脑或笔记本电脑刚刚升级到Windows 11,如果你没有足够的硬盘空间来保存新文件和软件,那你可能会收到磁盘空间不足的警告。在这种情况下,你可能需要扩展分区来解决这个问题。 虽然Windows系统自带了“磁盘管理”工具&a…

10分钟了解Kubernetes网络

Kubernetes是现代容器化应用不可或缺的强大、可靠的基础平台。本文将介绍Kubernetes中与网络相关的组件,正是这些组件支撑Kubernetes成为云原生应用的首选基础设施。原文: Networking in Kubernetes 网络是Kubernetes中非常值得理解的重要主题,它帮助Kub…

【熬夜送书 | 第四期】python期末考试总结

文章目录 前言单选题程序填空题函数题编程题熬夜送书 第三期 前言 博主也是第一次接触到python语言,在考试前过了一遍python语法,因为有Java基础学习起来相对比较轻松,学校考的题相对简单一些,也是PTA上机考试,大概30…

字节测开岗面试记:二面被血虐,幸好还是拿到了Offer.....

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 但说实话,想进大厂还真没那么容易。最近面试字…

让CSS布局呈现您的个性:学习常见布局方式

本文介绍常用的css布局&#xff1a; 三栏布局两列自适应布局元素居中 盒模型简介&#xff1a; 三栏布局 中间列自适应宽度&#xff0c;两边宽度固定 1. 圣杯布局 <!DOCTYPE html> <html> <head> <style> /* This is a single-line comment */.con…

迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

硬件&#xff1a; RK3588开发板摄像头 MIPI摄像头&#xff1a; 1.1 硬件连接 RK3588 底板上有四个摄像头接口&#xff0c;如下图所示&#xff0c;此四个接口均可连接摄像头 ov5695 和 摄像头 ov13850。 摄像头模块连接硬件时要将模块对准插槽缺口处&#xff0c;J1 接口连接摄…

ipad手写笔哪款好?最好用的电容笔

近几年&#xff0c;电容笔逐渐成为人们日常生活中最重要的数码产品之一&#xff0c;不管是书写、绘画或者是玩游戏&#xff0c;使用iPad的地方就都能看到电容笔的身影。那么&#xff0c;哪个品牌的电容笔质量比较好&#xff1f;下面&#xff0c;我来给大家推荐四款好用的电容笔…

node+uniapp+socket简易聊天

目录 一、技术简介 1.1、客户端 1.2、服务器 二、代码分析 2.1、前端连接后端 2.2、前端发送&#xff0c;后端接收并广播回去 三、效果展示 四、升级版 一、技术简介 1.1、客户端 uni-app项目自行创建、weapp.socket.io这个需要后端下载cnpm i weapp.socket.io&…

1.2C++运算符重载

C运算符重载 C运算符重载是指对已有的C运算符进行重新定义&#xff0c;使其能够适用于用户自定义的数据类型。通过运算符重载&#xff0c;我们可以使用C运算符对自定义的数据类型进行操作&#xff0c;使得程序更加简洁、易读、易维护。 C支持对大部分运算符进行重载&#xff…