基于FPGA的高速图像采集系统设计外文翻译资料
2021-12-31 23:27:58
英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
基于FPGA的高速图像采集系统设计
王皓、翁至、李艳
电子信息工程学院,内蒙古大学,呼和浩特010021,中国。电子邮件:wanghao920218@163.com
摘要:考虑FPGA强大的硬件并行数据处理能力,快速阅读、DDR2的书写和储存能力、千兆以太网的高速和长距离传输特性,本文设计了基于FPGA的千兆以太网高速图像采集和传输系统。这篇文章主要是分别介绍了系统硬件电路设计、软件编程和系统设计的三个部分测试,其中硬件电路设计包括系统原理图的设计和绘图高速六层PCB板,软件部分包括基于维洛格语的系统功能的软件编程在测试相关功能模块的波形并对系统进行调试后实验结果表明:该系统实现了高速图像的采集和传输,并且传输速度可以达到800毫米/秒。
关键词:FPGA,千兆以太网,实时,DDR2,高速图像采集
导言
随着自动化的迅速发展,计算机通信和人工智能、图像采集、传输和加工技术广泛用于机器视觉、导航、图像识别等高科技领域,并发挥着越来越重要的作用。例如远程监控、民用医疗图像识别和工业控制应用、目标跟踪、航空航天、安全军事和国家重要战略单位等。在计算机测量和控制技术方面,为了实现实时、快速和准确地跟踪快速移动目标的命令,使用高分辨率、多分辨率的图像传感器视图和高帧频率在目前是一种有效的技术方法。设计可收集和处理图像数据、实时、快速实现远距离传输和简化储存高速影像采集和传输系统,对未来购置系统的广泛应用具有重要意义。
结合图像采集和传输系统的发展需求以及强大的FPGA硬件并行数据处理能力强,DDR2的快速读写和储存能力,稳定性,千兆以太网高速和长距离传输特性,本文设计了一个以FPGA为基础的千兆以太网高速图像采集和传输系统。
2.设计原理和方法
高速图像采集系统的示意图如图1所示,其中显示了所有采集系统的功能模块。根据系统的功能要求,通过模块化设计系统分为以下功能模块:(1)图像获取模块:通过图像传感器OV5640,图像采集模块完成视频和图像采集。收集到的图像数据先缓存到FIFO,然后缓存到DDR2,尤其是DDR2根据读和写的时间顺序记忆。(2)图像存储模块:图像存储模块使用DDR2记忆器MT47H64M 16HR-3IT储存所收集的影像资料,并与两个不同时的FIFO合作解决整个系统的异步跨时钟域问题。(4)时钟管理模块:在频率划分和外部时钟加倍信号之后,时钟管理模块负责提供正确的时钟信号输入到系统的每个模块。
采集系统的工作流程如下:首先,通过芯片FPGA控制器对图像传感器进行设置,图像传感器以RGB形式收集视频和图像数据。第二,收集到的图像数据首先缓存到异步FIFO,然后通过Ping-Pong操作根据DDR2的写入时间顺序写入DDR2。最后,图像数据通过以太网以UDP数据传输方式传输到上部计算机中。全部系统操作是在某个时钟域中完成的。
图1高速图像采集系统示意图
3.系统硬件电路的设计
在对系统硬件电路设计时,通过对需要实现的系统功能的分析,将实现功能与其所需要的硬件模块对应起来,然后对各个硬件器件进行比较和分析,设计采集系统的电路板。图像采集电路板的设计内容主要包括电路原理图的设计和PCB板的布局与布线。硬件电路设计所涉及到的硬件模块主要包括:电源电路、FPGA配置电路、DDR2存储电路W及太网接日电路等。系统的硬件电路设计是从系统的功能开始,考虑到硬件芯片以及每个功能模块的硬件电路,最后策划整个硬件系统。除考虑到功能的实现外,设计成本叶应考虑,在硬件设计完成的基础上尽可能降低成本。硬件电路的设计主要包括PCB板的电路原理及设计。系统硬件电路的框图如图2所示。
图2 系统硬件电路框图
3.1图像采集电路
他的图像采集电路利用图像传感器OV5640获取硬件像素为500W完成了图像的采集。OV5640支持DVP接口和MIPI接口,OV5640支持自动聚焦、自动曝光控制和自动白平衡,它可以输出图像格式包括原始的RAW RBG,RBG,YUV,YCBCr422和压缩格式。在采集系统启动之后,OV5640的记录作用是通过核心控制器FPGA设置的。当满足OV5640的通电时间序列时,图像采集电路实现视频和图像采集。OV5640在本文中设置为输出大小为720P(1280*720)和帧速率为30fps,并通过DVP接口实现图像传输到FPGA。
3.2 DDR2存储电路
为了实现图像的快速读写存储,图像存储电路使用1Gbit DDR2存储器芯片MT47H64M16HR-3IT完成图像存储。DDR2 SDRAM是在DDR的基础上开发的。在一个时钟周期中,DDR2可以在时钟的起落边缘两次传输数据。使用的DDR2芯片端口电压为1.8V,参考电压和终止电压为0.9V。FPGA通过Bank 3和Bank 4与DDR2连接,IO接口级别为1.8V。DDR2的硬件设计要求严格考虑信号的完整性,因此在电路的设计中,匹配电阻和终止电阻在本文中应该被充分考虑以确保DDR2工作的高速稳定。
3.3以太网的接口电路
以太网通信电路采用以太网芯片公司提供的网络通讯功能的RTL 8211EG芯片.RTL 8211EG支持用于PHY注册管理的MIDO总线,通过GMII接口用来与FPGA通信。当以太网接口连接到计算机的千兆比特网络接口时,传输时钟是125MHz并通过GMII总线FPGA使与RTL8211EG进行通信。接收时钟E_RXC和传输时钟E_GTXC分别由PHY接口芯片和FPGA芯片提供,接收和传输数据都是在时钟信号的上升边缘采样的。当以太网接口连接到电脑的快速以太网接口时,传输时钟是25兆,而FPGA则通过GMII总线与RTL 8211EG通信.接收时钟E_RXC和传输时钟E_TXC由PHY接口芯片提供,而数据在时钟上升的边缘取样。
3.4 PCB的层合结构
在设计PCB板时,由于硬件结构的需要,在电路板上放置了很多不同的元器件,这些元器件中包含对布局布线、阻抗控制等要求极高的元器件,这使得制作PCB板的难度加大。为了避免电气因素的干扰,确保数据信号完整,通过设计多层PCB板的方式将不同的信号线W及电源线进行分离来达到信号传输的要求考虑到设计难度和电路板的制作成本,层数多易于布线,但设计难度加大,论文对电路板的层数做了合理的规划。因为在电路中使用的FPGA芯片和DDR2芯片板都属于BGA软件包,它的音高芯片垫太小了,在垫片之间只有一根线能通过,所以PCB板需要多层电线。其次,为了实现PCB板信号的完整性和准确的信号传输,一些DDR2存储器电路和以太网的信号传输电路的线路必须严格分层和相等的加工。因此在本文中PCB层设计为六层,包括四个信号层,和两个电源层。PCB堆栈结构如图3所示。
图3PCB叠层结构
3.5 PCB的布局和接线
PCB电力电路的合理布局和布线,配置电路,FPGA核心电路,DDR2存储电路和以太网接口电路如下文所示。PCB的内部接线如图4和图5所示。
(1)DDR2的布局和接线。
·DDR2芯片连接到数据库3和FPGA的数据库4,缩短了在芯片和PGA之间的距离,从而最大程度的减少了行延迟。
·为尽量减少相关和类似信号,一些不同种类的DDR2信号是与PCB同时设计的。
· DDR2的数据信号分为两个类别:高8位和低8位。在他们之间,低8位包括DDR2_DQ[0..7]、DM0和DQS 0,而高8位包括DDR2_DQ[8..15],DM 1和DQ 1。属于同一种的数据信号是在同一层处理并作出了相应的信号等距。
·DDR2的控制信号、时钟信号和地址信号被归为一类。这些信号可以是不同的层,但是是在同一层被等长加工的。
·对于需要被控制为相等长度的信号,相同长度的误差被控制在
范围plusmn;25mil。
(2)以太网电路的布局和布线。
·RJ 45和PHY芯片之间的距离以及PHY芯片和FPGA芯片的距离被尽可能的减少。
·在允许的条件下使复位电路信号尽可能接近PHY芯片并尽可能远离差分信号TX /-、RX /-和时钟信号。
·使时钟电路和PHY芯片可能接近但是远离电路板等高频信号.
·为减少相关信号和类似的信号,发送信号(Dtx_clk\Tx_en\Tx_er\Txd[7:0])信号(Drx_clk\Rx_dv\Rx_er\Rxd[7:0])创建了FPGA的PHY控制芯片类。每个类别的内部信号等长处理,控制等长误差在plusmn;50mil的范围内。
图4信号-3层的路径
图5.信号-4层的路径
4.FPGA逻辑设计和执行情况
在系统的设计中,FPGA是视频采集系统和逻辑控制器组成的整个系统的核心控制器,它提高了系统的能力。图像的采集、存储、以太网传输、逻辑控制、数据流传输等等功能都是通过FPGA实现的。为了满足视频采集系统和逻辑设计的要求,FPGA必须具有以下功能:
·设置图像传感器的寄存器需要准确合理地获得正确的图像输出。
·控制DDR2和异步FIFO数据ping-pong操作来解决系统的交叉时钟领域问题.
·控制视频数据流的存储和以太网传输。
4.1视频图像采集
从OV5640的DVP接口的时间序列图得出结论,在传输RGB 565格式的图像时,一个字节的图像数据将在像素同步时钟PCLK的驱动下通过数据线传输,所以两个PCLK时钟可以发送一个框架的RGB 565格式的图像数据。水平同步信号在传输一行图像数据时,会产生水平跳转信号。相应地,帧同步信号将在完成对一个帧图像数据的传输后产生水平跳转信号。
图6显示了图像采集模块的流程图。当水平同步信号相机高度时,图像采集模块在摄像机上升边缘对数据进行采样,接收4字节数据后生成ddr_wren信号,信号被发送到存储器模块,并将4字节数据组合成32位宽数据,然后将32位宽数据写入DDR2。当采集到图像数据的帧时,数据库交换信号帧开关和写入地址重置信号就会被生成到DDR2图像存储模块中。
4.2视频图像存储
图像存储部分采用DDR2IP核心来读写DDR2存储器。DDR2的读写时钟为166.7 MHz。因
图6.图像采集模块的流程图
为DDR2在时钟周期中两次采样数据,而编程时,数据只能在时钟信号上升的边缘采样,所需的时钟频率约为333MHz(166.7 MHztimes;2asymp;333MHz),这是很难做到的。使用DDR2IP控制器可以解决这个问题。DDR2IP控制器有全速模式和半速模式两种数据读取和写入速率,本文配置DDR2IP控制器在全速模式下工作,以达到降低频率的目的。
4.3视频图像的网络传输
以太网的传输部分采用UDP协议传输数据。基于TCP/IP数据包封装过程,采用有限状态机实现封装过程的每一步,设计了以太网传输模块的Verilog代码。图7显示了UDP数据报传输的流程图。
5.系统测试
完成系统设计后,对采集模块和存储模块的波形进行了测试。图8是信号点击ii逻辑分析器下采集和存储模块的波形测试图。从图中可以看出,当水平同步信号相机高度时,图像采集模块对PLCK上升边缘上的数据进行采样,接收到4字节数据后,生成sys_we信号,信号被发送到内存模块,并将4字节数据组合成32位宽数据,然后将32位宽数据写入DDR2。同样的,可以看出DDR2的读写波形也能满足DDR2读写时间序列设计的要求。
图7.UDP数据报传输的流程图
图8采集和存储模块波形图
图9显示了软件Wireshark所捕获的UDP数据包,接收到的勘像数据报如图5.6所示,由于前同步码和倾开始定界符被网络硬件用于接收信号的同步,因此Wireshark己经从数拋峽中去掉了这部分数据。图中的蔽色部分为接收到的图像数据,未标记为蓝色的部分为数据化头,从报头可W得到目的MAC地址、源MAC地址、IP包类型W及IP报长等相关信息。此设计发送的UDP数据报的长度为1280字节,加上8字节的UDP数据报报头,共1288字节。它等于Wireshark获得的UDP报告的长度(0508)。类似地,UDP datagram加上IP报头的长度(20字节)为1308字节,等于wireshark中IP datagram的长度(051c),表明主机成功接收了下位计算机采集的图像数据,证明了以太网传输模块的正确性。
图9收到的UDP数据报
图10是系统电路板的物理图。图11是系统的调试结果。通过板级测试可以看出,该系统能够实现实时视频图像采集和高速传输。以太网数据传输的速度是通过wireshark的数据包来测量的,在wireshark的嗅探包选项中设置了1000兆字节的缓冲区大小,并且在10000个数据包接收后停止使用嗅探包。通过对wireshark的测量,发现接收10000个数据包需要0.198152秒,其中有992个有效数据。千兆以太网的上行和下行传输是对称的,因此传输速度为992*10000*8/0.099,约等于800Mbps。
本章首先对系统的硬件电路做了测试,L:A确保电路板能够正确运行。然后分别对系统各个模块软件功能的实现做了仿真和调试,通过Signal Tap II分别对图像采集模块和存储模块的波形做了调试,用Wireshark抓包工具对E比EMET传输模块做了测试,最后进行系统联调,通过一系列的测试,验证了图像采集与传输系统能够正确运行。
图10。系统电路板的物
全文共7425字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[2628]