ACX720 以太网OV5640图像发送实验说明
工程源码 |
----01_设计实例 |
--------acx720_ov5640_gmii_udp.rar |
相关视频课程 |
|
暂无相关视频课程 |
本实验对各开发板支持情况 |
|
|
开发板型号 |
acx720 |
|
本节导读
OV5640以太网图像发送传输,将OV5640采集的数据通过以太网发送到PC端,经网络调试助手显示。
文档所涉及文件说明
本例对应的例程工程压缩包名为acx720_ov5640_gmii_udp.rar,该文件可在我们提供的配套资料中找到。在我们的官网www.corecourse.cn搜索ov5640_gmii关键词也可找到。
如下图首先对本目录下面每个文件做简单的说明。
1、ov5640_gmii_udp :基于ACX720开发板(Xilinx Artix-7 系列FPGA)平台:Vivado 2018.3+XILINX ARTIX-7 XC7A35T
2、ov5640实物图和硬件连接图
3、AC720以太网OV5640图像发送实验说明手册
4、小梅哥UDP摄像头V3:调试助手
解压acx720_ov5640_gmii_udp.rar到不含中文或者空格的目录中。解压后工程目录下内容如下所示:
通过FPGA实现以太网的一个主要目的就是使用以太网将FPGA采集到的各种数据发送到PC,如高速ADC实时采集数据,或者图像传感器采集的图像数据。此类应用传输过程中数据量大,实时性要求较高。使用基于CPU架构实现的软件以太网协议栈,受限于CPU计算性能和数据组包的规律,一般效率都无法做到很高。而使用FPGA实现以太网传输,则可以提供稳定且高效的传输能力。
无论是ADC实时采集的模拟数据,还是图像传感器或其他传感器采集的数据,其数据特点都是高速且高实时性。因此本节将以一个以太网图像传输实例为例,介绍使用以太网传输图像到PC并显示的方式。
以太网图像传输工程介绍
基于以太网的图像传输工程,使用UDP协议,将OV5640摄像头采集到的图像数据经由以太网传输到PC端,再由PC端的图像显示软件接收图像数据并绘制在屏幕上,以还原图像内容。整个系统框图如下图所示:
本例程在小梅哥团队出品的AC开发板上使用 verilog 实现以太网UDP 协议通信。FPGA 采集OV5640输出的RGB565格式的图像数据,并将采集到的图像数据使用一定的编号方式编号后以行为单位,使用UDP协议经由以太网发送到PC机。PC机上使用我们专门开发的显示软件(小梅哥UDP摄像头V3.exe)接收FPGA发送的编号后的图像数据,解析后还原为图像内容绘制在PC机显示屏上。
下表为工程引脚分配表。
Signial Name |
Pin NO. |
Signial Name |
Pin NO. |
clk50m |
Y18 |
camera_data[7] |
E1 |
reset_n |
B21 |
camera_data[6] |
D1 |
led[1] |
N22 |
camera_data[5] |
G2 |
led[0] |
M22 |
camera_data[4] |
F1 |
gtxclk |
U22 |
camera_data[3] |
H2 |
gmii_txen |
AA19 |
camera_data[2] |
G1 |
eth_reset_n |
V22 |
camera_data[1] |
J1 |
gmii_txd[7] |
AA20 |
camera_data[0] |
J2 |
gmii_txd[6] |
AB21 |
camera_rst_n |
N20 |
gmii_txd[5] |
AA21 |
camera_sclk |
M20 |
gmii_txd[4] |
AB22 |
camera_href |
A1 |
gmii_txd[3] |
Y22 |
camera_sdat |
L18 |
gmii_txd[2] |
W21 |
camera_vsync |
B2 |
gmii_txd[1] |
W22 |
camera_xclk |
M17 |
gmii_txd[0] |
U21 |
|
|
以太网图像传输工程实操
1、使用网线将开发板上的以太网接口和您当前调试测试工程用的PC机的网口连接起来。连接好下载线缆并给开发板上电。
2、将OV5640 摄像头插入开发板的摄像头接口中。
3、双击ov5640_udp_gmii(Vivado Project File)以打开工程(工程创建时候对应的版本Vivado 2018.3)。
4、下载ov5640_udp_gmii.bit文件到开发板中,注意这一步一定要先于下面的步骤执行,否则以下操作无法正常进行。
5、网络连接设置,连接设置可参考以太网通信连接设置可在论坛搜索参考。(http://www.corecourse.cn/forum.php?mod=viewthread&tid=28645)
(出处: 芯路恒电子技术论坛)
打开网络调试助手(小梅哥以太网摄像头.exe)并按照如下所述设置各项参数。
1、本机IP,对应当前实验所用电脑的IP地址,前面已经按照要求设置为了192.168.0.3,所以这里直接填写该地址。
2、本机端口,对应当前实验所用电脑接收图像时使用的网络端口,该端口在FPGA程序中定义为了6000,所以这里也要设置为6000才能正确显示图像。
3、远程IP,对应FPGA开发板使用的IP地址,也就是代码中的SRC_IP值。例程使用的为192.168.0.2。
4、远程端口,对应FPGA开发板使用的端口号,也就是代码中的SRC_PORTt值,例程使用的为5000。
5、分辨率,对应了摄像头输出的图像分辨率大小,本实验中,千兆GMII接口使用的分辨率为1280*720。
6、保存图片,该按钮在软件停止接受图像后,点击可以保存最后界面上显示的图像内容到文件。
连接/停止,该按钮可以开始和停止接受并显示图像,当所有参数设置好之后,点击该按钮即可开始接收并显示图像。
1、设置好参数后,点击连接按钮即可开始接收并显示图像内容。
2、该软件运行时需要关闭防火墙,软件自带关闭防火墙功能,点击连接时会提示是否关闭防火墙,勾选专用网络和公共网络两个选项,然后点击【允许访问按钮】即可。如果还是无法关闭,考虑软件权限不够,以管理员身份运行本软件即可。
至此,则完成了基于FPGA的千兆以太网GMII接口的UDP协议图像发送到PC显示功能实验。本实验操作简单,趣味性和实用性都较强,适合大家用来学习练习。
实验常见问题和解答:
无法连接:
1、有可能是该6000端口号在你电脑上恰好被其他软件占用,可以更换任意一个端口号(6102),再检查是否能连接上(不在乎能否出图,能连接上就行)来确定该问题,如果换了端口号能正常连接,则是端口号被占用,可在FPGA代码中修改DST_PORT的值为能连接的端口号后重新编译再测试。
2、检查你的电脑有线网络本地连接是否连接上了。
3、检查你的电脑IP地址是否已经设置为了192.168.0.3.
接收不到图像
1、接收不到图像的情况下,手动确认防火墙是否已经被关闭,软件自带的临时关闭防火墙功能需要软件是以管理员身份运行的,可重新使用管理员身份运行软件,如果还是无法关闭,则可在电脑设置中人工关闭防火墙。
2、确保OV5640已经正确的接入了开发板。
3、确保开启巨型帧。
更多问题可上www.corecourse.cn搜索“以太网实验常见问题”关键词搜索相关帖子。
修订记录