基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代

news2025/6/6 12:59:33
引 言
随着电子信息技术的不断进步,人工智能、医
疗器械、机器视觉等领域都在高速发展 [1] ,工业相机
是机器视觉系统中的一部分 [2] ,对工业相机而言,传
输图像的速率、传输过程的抗干扰能力是其关键,
工业相机需在特定环境下持续工作,高速视频传输
技术在此场景下至关重要。
FPGA Field Programmable Gate Array ),现场
可编程门阵列器件内部含有丰富的可编程逻辑结
构,具有数据并发处理、数据实时处理、高速传输接
口等特点 [3] ,使其在图像采集领域得到了广泛的应
用。国内外在图像传输过程中采用以太网作为传
统传输方案,但该技术存在丢包率高的问题,部分
系统转向非标准化协议导致其不易推广,在缓存方
面,采用 RAM Random Access Memory ),使得传输
速率大大降低。 GTH Gigabit Transceiver )高速串
行收发器具有低功耗、高速数据传输、时钟恢复等
特点 [4] ,可以实现 10 Gbps 以上的传输,因此, GTH
在图像传输、通信等领域得到广泛应用。文中针对
工 业 相 机 传 输 速 度 慢 、传 输 质 量 差 等 问 题 ,采 用
Xilinx ZYNQ UltraScale+ 系列芯片,结合 GTH
发器实现对图像数据的高速采集传输系统。
1 系统总体方案设计
系 统 使 用 Xilinx 公 司 型 号 为 XCZU5EV ⁃
2SFVC784I ZYNQ UltraScale+ 系列芯片。芯片
PS 端 集 成 四 个 ARM Cortex ™ ⁃ A53 和 两 个 ARM
Cortex™⁃R5 处理器 [5]
数据流图如图 1 所示。系统使用 OV5640 作为
图像采集模块,像素配置为 RGB565 格式, PS 端对
SCCB Serial Camera Control Bus )总线进行参数配
置 , FPGA 进 行 DVP Digital Video Port )图 像 采
[6] OV5640 采集的图像数据经过 FIFO First In
First Out )缓存后输出到板载的 GTH 光口,对视频
数据进行回环高速传输,传输结束后,对传输过程
中由于频率误差导致的偏移进行对齐,将对齐后的
数据通过 FIFO 缓存传入 DDR4 Double Data Rate
缓存单元中。根据需要从 DDR4 中读取图像数据到
HDMI High Definition Multimedia Interface )模 块
显示。
2 核心模块设计
2.1  视频采集模块
系 统 使 用 OV5640 采 集 图 像 信 息 ,最 高 具 有
2 592×1 944 的分辨率,最高支持 500 万像素的分辨
率输出,具有白平衡调节、降噪等功能。 OV5640
出 支 持 DVP 接 口 ,选 取 DVP 接 口 时 , AVDD
DOVDD 的供电需求为 2.8 V DVDD 供电需求为
1.5 V [7] 。 控 制 接 口 为 SCCB 接 口(兼 容 IIC )。
SIO_C 为输入管脚, SCCB 的时钟线, SIO_D IO
管脚, SCCB 的数据线。
SCCB 写寄存器的示意图如图 2 所示。 ID Ad⁃
dress 表示器件地址和读写位, Sub⁃address 表示 16
位寄存器地址包含高字节和低字节, Write Data
示写数据[8] 。
DVP 接口时序如图 3 所示。 VSYNC Vertical
Synchronization )为场同步信号, VSYNC 高电平期
间 输 出 一 帧 图 像 数 据 。 HSYNC Horizontal Syn⁃
chronization )为行同步信号, HREF 为高电平时直接
输出像素数据。
2.2  数据编码解码模块
视 频 数 据 以 HS VS DE RGB 格 式 输 入 [9]
GTH 传输的数据为高速串行差分信号,因此需要进
行以下处理。 GTH 的发送入口为 32 位,需要将 24
位的 RGB 数据先转化为 16 位的 RGB 数据,再由 16
位的 RGB 数据转换为 32 位的 RGB 数据。将视频
数据的 VS DE RGB 数据处理为 32 位的并行数据,
并准备输入给 GTH 的发送端口。使用 FIFO 实现
16 位转换 32 位。当 VSYNC 达到上升沿时,发送场
同步开始帧头,编码为 32 h55_00_00_bc 32 h55_
00_01_bc ,当 FIFO 中的数据量没达到要求时发送
无效数据,编码为 32 h55_00_02_bc 32 h55_00_
03_bc ,当 FIFO 中的数据有一定量时,发送有效数
据开始帧,编码为 32 h55_00_04_bc ,当一行数据发
送完成时发送有效数据结束帧,编码为 32 h55_00_
05_bc ,当 VSYNC 达到下降沿时,发送场同步结束
帧 尾 ,编 码 为 32 h55_00_06_bc 32 h55_00_
07_bc
数据解码模块是将进行拼接处理后的数据进
行解析,将解析后的数据存入到 FIFO 中进行缓存,
与数据编码模块相似。
2.3 GTH 模块
系统选用的为 Xilinx ZYNQ UltraScale+
列 的 开 发 版 ,开 发 板 为 AXU5EV ⁃ P ,芯 片 型 号 为
XCZU5EV⁃2SFVC784I ,该芯片具有 4 GTH 串行
高 速 收 发 器 ,最 高 传 输 速 率 可 达 到 16.3 Gbps [10]
AUX5EV⁃P 开发板上,有 2 路光纤接口 SFP1~SFP
2 ,连 接 在 FPGA 芯 片 的 GTH 的 通 道 上 。 其 中
SFP1 光 模 块 接 口 连 接 到 GTH Channel0 上 ,
SFP2 GTH Channl1 相 连 接 。 光 模 块 的
TX_Disable 信 号 和 RX_LOSS 连 接 到 FPGA 的 普
IO 口上。 TX_Disable 信号用来使能光模块的发
射,如果 TX_Disable 信号为低,发送使能,否则发送
关闭,正常使用时信号为低 [11]
GTH 结构图如图 4 所示。发送器由一个 PCS
Physical Coding Sublayer )和 一 个 PMA Physical
Medium Attachment )组成 [12] ,数据从 FPGA 逻辑流
FPGA TX 接口,通过 PCS PMA ,然后作为
高速串口从 TX 驱动器流出。接收器同样由一个
PCS PMA 组成,高速串行数据流入 GTH 收发器
RX PMA ,进入 PCS ,最后流入 FPGA 逻辑。其
PCS 负责串化和解串化, PMA 负责数据流的编
码解码,能够实现时钟恢复、线路编码 (8B10B) 、预加
重等功能 [13] ,可以减小信号衰弱、时钟扭曲。
系统使用 Vivado 内部的 GTH Transceivers IP
核。 GTH 端口支持多种通信协议,包含但不限于
SATA aurora 8B10B 等,文中选择无协议模式自定
义参数,包括通信速率、参考时钟选择、编解码方
式 、 Comma 值 设 定 等 。 GTH 配 置 参 数 如 表 1
所示。
应用程序通过在发送端用户时钟上升沿的时
候将数据写入 TXDATA 端口,通过 GTH 收发器传
输数据。传入的数据经过 8B10B 编码后,进入一个
发送缓存区,该发送缓存主要是将 PMA 层和 PCS
层两个时钟隔离,解决两个子层的时钟速率相位差
异和速率匹配问题,最后经过高速 GTH 进行并串
转换,根据自己的需要选择预加重、去加重、极性转
换等功能,接收端存在弹性缓冲区,具有时钟纠正
和通道绑定功能,其余和发送端类似。
2.4  数据对齐模块
GTH 在高速传输数据的时候,由于不同的系统
时钟之间造成的频率误差,数据可能会发生错位,
例如 32 位数据的低 x 位数据和下一个 32 位数据的
(32- x ) 位数据拼接在一起,从而发生移位的情
况。为了校准,发送端需要发送一个可识别的序
列, Comma 码。接收端在收到 Comma 码时,需要将
Comma 码移动到字节边界,以便接收到的并行字节
和发送的并行字节匹配。 Comma 对齐的并行数据
视图如图 5 所示。
Comma 8B10B 编码中内容,在 8B10B 编码
方案中会有 +1 -1 两种状态,也被称为极性偏
差。当 K 码设为 K28.5 后,由于 8B10B 编码的极性
问题,会出现两种编码结果,互为按位取反关系,分
别 称 为 MCOMMA Minus Comma )和 PCOMMA
Plus Comma )模式,也就是 -1 +1 ,检测器可以
对编码进行对齐, Comma 对齐功能说明如表 2
示。文中选用第四种模式,检测到正、负符号时对
齐到该符号位置。
GTH 收 发 器 外 部 用 户 数 据 接 口 的 宽 度 为 32
位,内部数据宽度为 40 位。在实际测试中,发送的
32 位数据有时候会出现 16 位的数据偏移情况,就是
说发送和接收的数据会出现 16 位的偏移, GTH
移演示如表 3 所示。
信迈提供ZYNQ软硬件控制器定制服务。

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

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

相关文章

demo_win10配置WSL、DockerDesktop环境,本地部署Dify,ngrok公网测试

win10配置WSL、DockerDesktop环境,本地部署Dify,ngrok分享测试 一、配置WSL 1.1 开启Hyper-V 安装WSL2首先要保证操作系统可以开启hyper-v功能,默认支持开启hyper-v的版本为:Windows11企业版、专业版或教育版,而家庭版是不支持…

TablePlus:一个跨平台的数据库管理工具

TablePlus 是一款现代化的跨平台(Window、Linux、macOS、iOS)数据库管理工具,提供直观的界面和强大的功能,可以帮助用户轻松管理和操作数据库。 TablePlus 免费版可以永久使用,但是只能同时打开 2 个连接窗口&#xff…

SQL Indexes(索引)

目录 Indexes Using Clustered Indexes Using Nonclustered Indexes Declaring Indexes Using Indexes Finding Rows Without Indexes Finding Rows in a Heap with a Nonclustered Index Finding Rows in a Clustered Index Finding Rows in a Clustered Index with …

Axure 基础入门

目录 认识产品经理 项目团队* 基本概述 认识产品经理 A公司产品经理 B公司产品经理 C公司产品经理 D公司产品经理 产品经理工作范围 产品经理工作流程* 产品经理的职责 产品经理的分类 产品经理能力要求 产品工具 产品体验报告 原型设计介绍 原型设计概述 为…

结构型设计模式之Decorator(装饰器)

结构型设计模式之Decorator(装饰器) 前言: 本案例通过李四举例,不改变源代码的情况下 对“才艺”进行增强。 摘要: 摘要: 装饰器模式是一种结构型设计模式,允许动态地为对象添加功能而不改变其…

HCIP-Datacom Core Technology V1.0_3 OSPF基础

动态路由协议简介 静态路由相比较动态路由有什么优点呢。 静态路由协议,当网络发生故障或者网络拓扑发生变更,它需要管理员手工配置去干预静态路由配置,但是动态路由协议,它能够及时自己感应网络拓扑变化,不路由选择…

工作自动化——工作自动提炼--智能编程——仙盟创梦IDE

工作自动化中的自动提炼、自动比对代码生成日志,为软件开发与项目管理带来诸多好处。 自动提炼能从复杂代码中精准提取关键信息,节省人工梳理时间,开发人员可快速把握核心逻辑,加速项目熟悉进程。自动比对代码则及时发现版本间差异…

大语言模型评测体系全解析(上篇):基础框架与综合评测平台

文章目录 一、评测体系的历史演进与技术底座(一)发展历程:从单任务到全维度评测1. 2018年前:单数据集时代的萌芽2. 2019-2023年:多任务基准的爆发式增长3. 2024年至今:动态化、场景化、多模态体系成型关键节…

生产环境MYSQL常见锁表场景

前言 锁表是我们在生产环境十分常见的问题之一,解决问题前需要先了解锁表产生的原因以找到解决方案,并制定方案以预防锁表,本文接下来会分别模拟元数据锁表(MDL锁)、行锁升级为表锁、死锁、**显示锁表 **四种锁表情形…

结构性设计模式之Composite(组合)

结构性设计模式之Composite(组合) 摘要: Composite(组合)模式通过树形结构表示"部分-整体"层次关系,使得用户能够统一处理单个对象和组合对象。该模式包含Component(组件接口&#x…

Java面试八股--04-MySQL

致谢:感谢整理!2025年 Java 面试八股文(20w字)_java面试八股文-CSDN博客 目录 1、Select语句完整的执行顺序 2、MySQL事务 3、MyISAM和InnoDB的区别 4、悲观锁和乐观锁怎么实现 5、聚簇索引与非聚簇索引区别 6、什么情况下my…

设计模式——访问者设计模式(行为型)

摘要 访问者设计模式是一种行为型设计模式,它将数据结构与作用于结构上的操作解耦,允许在不修改数据结构的前提下增加新的操作行为。该模式包含关键角色如元素接口、具体元素类、访问者接口和具体访问者类。通过访问者模式,可以在不改变对象…

实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.1 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第10章拟合回归模型10.9节思考题10.1 R语言解题。主要涉及线性回归、回归的显著性、回归系数的置信区间。 vial <- seq(1, 10, 1) Viscosity <- c(160,171,175,182,184,181,188,19…

LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 下

上部分链接&#xff1a;LeetCode 高频 SQL 50 题&#xff08;基础版&#xff09; 之 【高级查询和连接】 上 题目&#xff1a;1164. 指定日期的产品价格 题解&#xff1a; select product_id,10 price from Products group by product_id having min(change_date) > 201…

机器学习——SVM

1.什么是SVM 支持向量机&#xff08;support vector machines&#xff0c;SVM&#xff09;是一种二分类模型&#xff0c;它将实例的特征向量映射为空间中的一些点&#xff0c;SVM 的目的就是想要画出一条线&#xff0c;以 “最好地” 区分这两类点&#xff0c;以至如果以后有了…

【音视频】FFmpeg 硬件(NVDIA)编码H264

FFmpeg 与x264的关系 ffmpeg软编码是使⽤x264开源项⽬&#xff0c;也就是说ffmpeg软编码H264最终是调⽤了x264开源项⽬&#xff0c;所以我们要先理解ffmpeg和x264的调⽤关系&#xff0c;这⾥我们主要关注x264_init。对于x264的参数都在 ffmpeg\libavcodec \libx264.c x264\co…

贪心算法应用:超图匹配问题详解

贪心算法应用&#xff1a;超图匹配问题详解 贪心算法在超图匹配问题中有着广泛的应用。下面我将从基础概念到具体实现&#xff0c;全面详细地讲解超图匹配问题及其贪心算法解决方案。 一、超图匹配问题基础 1. 超图基本概念 **超图&#xff08;Hypergraph&#xff09;**是普…

【Web应用】若依框架:基础篇13 源码阅读-前端代码分析

文章目录 ⭐前言⭐一、课程讲解过程⭐二、自己动手实操⭐总结 标题详情作者JosieBook头衔CSDN博客专家资格、阿里云社区专家博主、软件设计工程师博客内容开源、框架、软件工程、全栈&#xff08;,NET/Java/Python/C&#xff09;、数据库、操作系统、大数据、人工智能、工控、网…

[java八股文][JavaSpring面试篇]SpringCloud

了解SpringCloud吗&#xff0c;说一下他和SpringBoot的区别 Spring Boot是用于构建单个Spring应用的框架&#xff0c;而Spring Cloud则是用于构建分布式系统中的微服务架构的工具&#xff0c;Spring Cloud提供了服务注册与发现、负载均衡、断路器、网关等功能。 两者可以结合…

基于分布式状态机的集装箱智能道口软件架构方法

集装箱码头对进出场道口的通过能力始终是要求最高的&#xff0c;衡量道口的直接指标为道口通行效率&#xff0c;道口通行效率直接体现了集装箱码头的作业效率以及对外服务水平&#xff0c;进而直接影响到码头的综合能力。所以&#xff0c;码头普遍使用智能道口实现24小时无人值…