三、fpga对完成过滤和校验的有效包数据进行有效像素提取、MATLAB对数据源进行处理与下发(完整实现pc机→显示器通信链路)

devtools/2024/9/25 10:28:44/

前言:上篇文章实现了MATLAB模拟发送UDP以太网协议数据包到fpga,能实现双沿数据→单沿数据转换,并将转换后的数据进行包过滤和crc校验,本篇内容要实现真正的从pc机下发视频数据,经过千兆以太网传输存储到fpga 的ddr3中,然后通过hdmi读出到显示屏上。

文章目录

  • 一、模块设计:
    • 1.1波形设计:
    • 1.2 完整的千兆数据流输入示意图:
    • 1.3完整的从pc机到hdmi模块设计总览:
  • 二、数据源的处理与下发
    • 2.1MATLAB实现原视频RGB24bit→RGB16bit转换操作
    • 2.2MATLAB实现将转换后的视频通过以太网下发到fpga

一、模块设计:

过程分析:在真实的视频数据传输过程中,需要考虑到ddr3存储的是有效图像数据(不包含udp的包头和crc等数据),因此需要将过滤出来的有效包进行有效像素提取,然后经过bit8 to 128模块,存储到ddr3中。
在这里插入图片描述

1.1波形设计:

在这里插入图片描述

1.2 完整的千兆数据流输入示意图:

在这里插入图片描述

1.3完整的从pc机到hdmi模块设计总览:

pc机→hdmi通信链条打通:

在这里插入图片描述
在这里插入图片描述

二、数据源的处理与下发

2.1MATLAB实现原视频RGB24bit→RGB16bit转换操作

uart+ddr3+hdmi项目中,我们知道输入的图像应该是RGB16bit的,而原视频是RGB24bit,因此需要将原视频进行RGB24bit→RGB16bit转换操作。

matlab">clear all;
filename='test.mp4';
obj=VideoReader(filename);
numFrames = obj.NumberOfFrames;
bar=waitbar(0

http://www.ppmy.cn/devtools/14805.html

相关文章

机器学习(二)之监督学习

前言: 上一节大概讲解了几种学习方式,下面几张就具体来讲讲监督学习的几种算法。 以下示例中和都是权重的意思!!! 注:本文如有错误之处,还请读者指出,欢迎评论区探讨! 1…

持有消防设施设计乙级资质可承接的业务范围

持有消防设施设计乙级资质的企业,其可承接的业务范围主要包括以下方面: 中型以下工业与民用建筑消防设施设计: 民用建筑:可承担单体建筑面积在2万平方米至4万平方米之间的中型民用建筑的消防设施工程专项设计,这类建筑…

19 使用MapReduce编程统计超市1月商品被购买的次数

首先将1月份的订单数据上传到HDFS上&#xff0c;订单数据格式 ID Goods两个数据字段构成 将订单数据保存在order.txt中&#xff0c;&#xff08;上传前记得启动集群&#xff09;。 打开Idea创建项目 修改pom.xml&#xff0c;添加依赖 <dependencies><dependency>…

如何调节电脑屏幕亮度?让你的眼睛更舒适!

电脑屏幕亮度的调节对于我们的视力保护和使用舒适度至关重要。不同的环境和使用习惯可能需要不同的亮度设置。可是如何调节电脑屏幕亮度呢&#xff1f;本文将介绍三种不同的电脑屏幕亮度调节方法&#xff0c;帮助您轻松调节电脑屏幕亮度&#xff0c;以满足您的需求。 方法1&…

微信小程序 实现手写签名(横屏签名板)

效果图&#xff1a; 业务需求&#xff1a;点击签字空白处&#xff0c;调起签字版&#xff08;横屏展示&#xff09;&#xff0c;手写完之后点击确定回显签字内容 签名是使用canvas实现的 签名确认之后生成的一个临时图片 后台接口逻辑是生成的图片先上传到文件服务器&#x…

opencv图片绘制图形-------c++

绘制图形 #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> #include <filesystem>bool opencvTool::drawPolygon(std::string image_p, std::vector<cv::Point> points) {cv::Mat ima cv::imread(image_p.c_str()); // 读取图像&#xf…

图论基础知识 并查集/例题

并查集 学习记录自代码随想录 并查集可以解决的问题&#xff1a; 并查集常用来解决连通性问题。 判断两个元素是否在同一个集合里的时候&#xff0c;要想到用并查集。 并查集主要有两个功能&#xff1a; 1.将两个元素添加到一个集合中&#xff1b; 2.判断两个元素在不在同一…

MySQL统计一个表的行数,使用count(1), count(字段), 还是count(*)?

为什么要使用count函数&#xff1f; 在开发系统的时候&#xff0c;我们经常要计算一个表的行数。比如我最近开发的牛客社区系统&#xff0c;有一个帖子表&#xff0c;其中一个功能就是要统计帖子的数量&#xff0c;便于分页显示计算总页数。 CREATE TABLE discuss_post (id i…