FPGA 以太网通信(四)网络视频传输系统

一、网络视频传输系统

网络视频传输系统使用ov5640摄像头采集数据,通过组件UDP帧将视频数据实时传输给上位机。

ov5640视频传输带宽

像素分辨率设为640x480,帧率设为60帧,像素格式为RGB565,传输带宽为 640 x 480 x 16bit x 60 fps = 281 Mbps,因此,以太网带宽1000 Mbps可以满足视频传输所需带宽。

视频传输控制模块

该模块解析以太网顶层模块接收到的数据,如果收到1 个字节的ASCII 码"1",则表示以太网开始传输图像数据,transfer_flag输出1;如果收到1 个字节的ASCII 码"0",则表示以太网停止传输图像数据,transfer_flag输出0。

图像数据封装模块

图像数据封装模块负责传输输入的8位图像数据,以及添加图像数据的帧头和行场分辨率。

该模块控制着以太网发送模块发送的字节数,单次发送一行图像数据的字节数, 模块内部例化了一个异步FIFO模块,用于缓存待发送的图像数据。

  1. 当fifo 缓存的个数满足udp_tx_byte_num 的个数之后,udp_tx_start_en 会拉高,开始发送一包数据,而udp_tx_data 会通过异步fifo 将img_data 缓存的数据发送到上位机。
  2. 在发送一帧图像的第一行数据时,在一行数据的开头添加图像的帧头和图像的行场分辨率,共8 个字节,图像的帧头是32'hf0_5a_a5_0f,共占用4 个字节;而图像的行场分辨率占用4 个字节,本次实验传输的图像分辨率为640*480。

以太网顶层模块

以太网顶层模块通过例化UDP通信模块,将封装好的图像数据组建成以太网帧发送出去。

二、FPGA实现

上位机网络视频显示

使用正点原子开发的视频传输上位机,解析FPGA发送的以太网视频数据帧,并实现视频显示。

相关推荐
cur1es20 分钟前
【UDP的报文结构】
网络·网络协议·udp·md5
惊讶的猫1 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c1 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠2 小时前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南2 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安2 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
凉辰2 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
REDcker3 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
AI资源库3 小时前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频