当前位置: 首页 > news >正文

【2023研电赛】全国技术竞赛一等奖:基于FPGA的超低时延激光多媒体终端

该作品参与极术社区组织的研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~

基于FPGA的超低时延激光多媒体终端

在这里插入图片描述

参赛单位:华东师范大学
指导老师:刁盛锡
参赛队员:王泽宇 谢祖炜 秦子淇

作品简介

随着数字光处理技术(DLP)和液晶显示器技术(LCD)的不断发展,市场上能实现4K@60Hz超高清投影的投影机型号日渐增加,对投影仪器性能的要求也与日俱增,对投影延迟、投影亮度、投影色彩、系统可扩展性等方面提出了更高的要求。

在军用领域中,时间就是生命,美国空军的模拟器通用体系结构与标准(Simulator Common Architecture Requirements and Standards,SCARS)中规定战斗机模拟训练全任务仿真器(Full Mission Simulators, FMS)的模拟投影延时不得高于20ms;在商用领域中,时间就是金钱,金融期货与证券交易的深度行情信息最快每250ms刷新一次,对投影系统画面传输的时延要求高;在民用领域中,时间就是快乐,专业电子竞技显示仪器的视频传输时延需低于16ms。

针对军用、商用、民用三大领域对超低时延投影显示的需求,本团队完全独立自主地从硬件系统、逻辑算法以及软件代码三方面实现了基于FPGA的超低时延超高清激光多媒体终端,同时兼顾投影亮度、投影色彩和系统可扩展性。相比于市场上4K投影时延高达40ms到200ms的投影系统,本系统4K投影时延为15.8ms;能够支持的最高投影画面质量为4K@60Hz;投影画面亮度可达3500流明;画面对比度能够达到1000:1;系统支持USB3.0接口、千兆网口、万兆光口等高速接口以实现硬件扩展。

在这里插入图片描述

在这里插入图片描述

硬件设计

本系统的硬件设计有本团队成员使用Cadence系列软件进行EDA设计,包括原理图库设计、原理图设计、PCB封装库设计以及PCB设计。本作品的硬件系统原理图设计采用自顶向下的top design设计方法。最终完成了复杂的低延时激光多媒体终端硬件原理图设计,原理图共计58页,部分顶层设计如下图所示。
在这里插入图片描述

本作品的硬件平台为一块复杂的16层高密度激光多媒体显示终端系统板,用于实现超低时延激光投影,采用Xilinx Ultrascale+系列的XCZU7EV-FFVC1156E作为核心芯片,板上挂载了6片DDR4扩展存储资源,支持HDMI2.0与V-by-One两种视频输入接口,搭载一路数字微镜驱动接口以及一路DP1.2a视频输出接口;系统同时支持SATA大容量存储设备、USB3.0接口、MIPI D-PHY摄像头接口、千兆以太网、万兆以太网以及光学控制接口等丰富的外设资源。
在这里插入图片描述

在这里插入图片描述

低时延逻辑算法设计

分布式离散交织显示逻辑算法

显示信令控制模块是数字微镜驱动单元中的核心模块,而显示信令控制模块中最为核心的就是分布式离散交织显示算法,该算法的示意图如下图所示。该算法采用不同的LFSR随机种子优化投影显示策略,实现了视频数据更高效的显示,相较于传统的帧刷新方式,将带宽利用率提升了74.5%。
在这里插入图片描述

SARR逻辑算法

SARR(Self-Adjust-Rolling-Row)指自适应的滚动行缓存算法,该算法可极大降低了瞬时峰值数据带宽。相较于市面投影仪40~200ms量级的响应处理时延,本系统的4K投影响应延时仅为15.8ms,极大缓解了传统投影显示延时高,投影体验差的问题。基于SARR的低延时缓存策略贯穿在整个软件逻辑设计之中,并且着重在数字微镜驱动单元中的DDR4缓存单元体现,该算法的整体运行监控示意图如下图所示。
在这里插入图片描述

基于超低延时的设计需求,SARR分为了读写两个部分,写检测部分需要监控输入的视频数据流、数据预处理,颜色生成等模块的工作状态,检测写部分的整体输入速率;读检测部分需要基于写入的数据速率,控制显示信令控制的读取速度,监控DDR4存储模块的读写状态和DMD的数据吞吐速率,协调读部分的读取速率,确保读写指针维持偏差维持在4.167ms之内。并且,基于SARR可以使得软件处理部分同时兼容4K@60Hz、4K@50Hz、4K@30Hz、4K@25Hz等多种显示规格。
在这里插入图片描述

作品创新点

(1) 全方面自主设计的低时延激光显示多媒体平台系统
本作品中的硬件、逻辑以及软件均为本团队成员独立自主设计的低时延激光显示多媒体平台。该多媒体平台拥有丰富的外设资源,支持HDMI2.0与V-by-One视频输入,能够通过万兆光口与千兆网口实现板级互联实现硬件资源扩展,能够通过更换数字微镜子板以实现对不同型号数字微镜芯片的驱动,多媒体终端的可扩展性和兼容性强。

本作品使用三色激光光源实现投影,使用了基于三色激光光源的RGBYCW六色显示技术,相比较于传统DLP投影技术中使用高压汞灯投影以及单/双色激光配合色轮投影的技术而言,投影亮度更高,对比度更高,色彩饱和度更高,投影画面更加真实,对应用场合的要求更低。
(2) 独创的新型投影逻辑设计架构和分布式离散交织显示算法
本团队从MEMS底层构建驱动应用算法,通过SARR(Self-Adjust-Rolling-Row)技术,相较于市面投影仪40~200ms量级的响应处理时延,本系统的4K投影响应延时仅为15.8ms,解决了传统投影显示延时高,投影体验差的问题。
本团队在驱动算法层面,提出了一种通过分布式离散交织显示算法,采用不同的LFSR随机种子优化投影显示策略,实现了视频数据更高效的显示,极大降低了瞬时峰值数据带宽,将带宽利用率提升74.5%,抑制了伪轮廓噪声,提高了驱动算法的效果,配合多色投影组合策略,大幅提高了投影画面的灰度精度及亮度。

(3) 突破技术壁垒,推动技术创新
本作品仅使用一块FPGA就完成了对TI数字微镜芯片的驱动,相比较于TI传统的“专用驱动芯片+固件程序”驱动方案,灵活性更高,成本更低,在数字微镜驱动领域填补了我国的技术空白,对独立生产制造数字微镜器件具有指导意义。

本作品已申请4项发明专利,其中3项已通过授权。

  • 国家发明专利《一种基于FPGA的数字微镜芯片驱动方法》,专利号:202110659960.9,已授权;
  • 国家发明专利《一种针对数字微镜芯片的4K分辨率视频图像预处理方法》,专利号:202110617933.5,已授权;
  • 国家发明专利《一种基于振镜的数字微镜高分辨率视频图像投影方法》,专利号:202210737653.2,已授权;
  • 国家发明专利《一种基于数字微镜的 8K 超高清单色显示器》,申请号:2023104558872,已通过初步审查。

总结

总体而言,本团队自主设计了基于FPGA开发了超低延时激光多媒体终端系统,同步控制三色激光光源和制动器实现超低延时的超高清激光投影,可广泛应用于军用、商用、民用等领域,具有延时低、图像质量高、通用性强、应用扩展性高等优势。本作品仅使用一块FPGA就完成了对数字微镜驱动,相较于TI传统的“专用驱动芯片+固件程序”驱动方案,灵活性更高,成本更低,在数字微镜驱动领域填补了我国的技术空白,打破了TI的技术垄断,且不受其应用限制。在国产化大形势下,为各大投影厂商选择国产方案提供了可定制化的超低时延多媒体终端,应用前景良好。
在这里插入图片描述

该作品参与极术社区组织的研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~

相关文章:

【2023研电赛】全国技术竞赛一等奖:基于FPGA的超低时延激光多媒体终端

该作品参与极术社区组织的研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~ 基于FPGA的超低时延激光多媒体终端 参赛单位:华东师范大学 指导老师:刁盛锡 参赛队员:王泽宇 谢祖炜 秦子淇…...

Annoy vs Milvus:哪个向量数据库更适合您的AI应用?知其然知其所以然

1. Annoy vs Milvus简介 Annoy 和 Milvus 都是用于向量索引和相似度搜索的开源库,它们可以高效地处理大规模的向量数据。 Annoy(Approximate Nearest Neighbors Oh Yeah): Annoy 是一种近似最近邻搜索算法,它通过构…...

android 13.0 SystemUI导航栏添加虚拟按键功能(一)

1.概述 在13.0的系统产品开发中,在系统SystemUI的原生系统中默认只有三键导航,想添加其他虚拟按键就需要先在构建导航栏的相关布局中分析结构,然后添加相关的图标xml就可以了,然后添加对应的点击事件,就可以了,接下来先分析第一步关于导航栏的相关布局情况 然后实现功能 …...

内存管理-分页、虚拟地址、虚拟内容、页面置换算法

文章目录 一、5W2H角度分析内存管理What是内存管理Why需要内存管理Who使用内存管理Where内存管理应用When需要内存管理How内存管理工作How much内存管理的成本 二、分页什么是分页分页的原理分页的优缺点分页的应用 三、虚拟地址什么是虚拟地址虚拟地址的作用虚拟地址的转换虚拟…...

【C++入门】命名空间详解(从零开始,冲击蓝桥杯)

C入门 命名空间 南喵小鸡汤程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。一 . 命名空间的介绍二.命名空间的实际应用1.为什么要有命名空间我们在使用变量时,通常会为他定义一个名字,在…...

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新

通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新 实现这样的效果可以在数据库中设置&#xff0c;但是我们一般建议在代码里实现&#xff0c; 但是总不能每次insert和update的时候都手写new当前时间 因此推荐使用mybatis-plus 1导入依赖 <dependency&g…...

HTML 实时显示本地电脑时间(精确到毫秒)

<!DOCTYPE html> <html> <head><title>实时显示本地电脑时间&#xff08;精确到毫秒&#xff09;</title> </head> <body><h1>本地电脑时间&#xff08;精确到毫秒&#xff09;&#xff1a;</h1><h1 id"clock&q…...

opencv跨平台arm交叉编译之ubuntu

目录 1. 安装交叉编译工具链2. 安装依赖3. 配置工具链3.1 新建build目录3.2 安装cmake-gui3.3 工具链配置界面进行配置3.3.1 终端输入以下命令3.3.2 点击Configure&#xff0c;弹出编译方式选择对话框&#xff1a;3.3.3 点击Next3.3.4 点击Finish3.3.5 点击Configure。3.3.6 Ge…...

Git命令全集

1、克隆代码 查看项目地址 git remote -v直接克隆 git clone url克隆指定分支 git clone -b 分支 git地址RPC failed错误:修改Git的传输字节限制 git config --global http.postBuffer 10485760002、查看分支 查看 git branch -a切换分支 git branch 分支名从指定分支…...

[BigData:Hadoop]:安装部署篇

文章目录 一&#xff1a;机器103设置密钥对免密登录二&#xff1a;机器102设置密钥对免密登录三&#xff1a;机器103安装Hadoop安装包3.1&#xff1a;wget拉取安装Hadoop包3.2&#xff1a;解压移到指定目录3.2.1&#xff1a;解压移动路径异常信息3.2.2&#xff1a;切换指定目录…...

ubuntu 上vscode使用cmake编译运行c++程序

参考&#xff1a;ubuntu 上vscode使用cmake编译运行c程序_vscode ubuntu运行c程序_SCH0的博客-CSDN博客 文章是对官方过程的翻译&#xff1a; Get started with CMake Tools on Linux...

Node.js 新特性 SEA/单文件可执行应用尝鲜

#1 关于 SEA 单文件可执行应用&#xff08;SEA&#xff0c;Singe Executable Applications&#xff09;&#xff0c;是 Node.js 新版本的特性&#xff0c;最初在 v19.7.0、v18.16.0 加入&#xff0c;并在 v20.x 得到扩展。而上个月发布的全家桶 Bun.js&#xff0c;就自带了 SEA…...

137.只出现一次的数字II

137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来…...

k8s-15 strogeclass

官网&#xff1a; https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner StorageClass提供了一种描述存储类 (class)的方法&#xff0c;不同的cass可能会映射到不同的服务质量等级和备份策略或其他策略等 每个 StorageClass 都包含 provisioner、parameters 和…...

微信小程序开发实战:利用差异对比显示对象属性变化

前言 在小程序开发中&#xff0c;经常会遇到需要比较两个对象之间的差异并将这些差异可视化展示在界面上的情况。这一过程对于数据管理和用户反馈至关重要。本文将介绍一种实用的方法&#xff0c;可以帮助开发者高效地比较两个对象的属性差异&#xff0c;并将这些差异以直观的方…...

Redis的GEO结构

GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a; GEOADD&#xff1a;添加一个地理空间信息&#xff0c;包含&#xff1a;经度…...

做UI设计师是否需要美术功底?

UI确实需要一定的手绘能力&#xff0c;但是跟画画是有很大不同的。 很多人问&#xff1a;学UI需不需要手绘能力。或者学UI需要什么绘画基础。 所以今天集体回答一下。 我们先来看一下跟绘画有关系的行业&#xff1a; 漫画&#xff1a; 主要的不是绘画能力&#xff0c;更重…...

python txt or 日志等超大文本文件读取

判断文件路径是否存在 要判断一个路径文件是否存在,可以使用Python的os.path模块中的exists()函数。下面是一个示例: import os# 要检查的文件路径 file_path = "path/to/file.txt"# 使用os.path.exists()函数判断文件是否存在 if os.path.exists(file_path):pri…...

Windows:Arduino IDE 开发环境配置【保姆级】

物联网开发学习笔记——目录索引 参考官网&#xff1a;Arduino - Home Arduino是一款简单易学且功能丰富的开源平台&#xff0c;包含硬件部分&#xff08;各种型号的Arduino开发板&#xff09;和软件部分&#xff08;Arduino IDE)以及广大爱好者和专业人员共同搭建和维护的互联…...

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...