自写以太网传输代码,实现以太网的图像采集传输
关于摄像头接口
AC620开发板上设置了一个通用CMOS摄像头接口,可以连接市面上各种常见CMOS摄像头,如OV7670(30万像素)、OV7725(30万像素)、OV2640(200万像素)、OV5640(200万像素)、OV5642(200万像素)。通过连接这些摄像头模块,可以实现图像采集,配合板卡配套的扩展功能模块VGA输出模块,可以实现图像监控系统,也可进行图像处理相关实验和学习。
该接口支持的摄像头包括但不限于下列模块。
关于摄像头的一些介绍
不同的摄像头模块,除了在像素大小上有区别外,还有成像质量。例如同是30W像素,OV7725的成像效果要远远高于OV7670。另外,像OV2640、OV5640、OV5642都是自带jpeg压缩引擎的,方便没有图像压缩处理能力的处理器直接拍取jpeg图像。以下为三款CMOS摄像头的相关对比介绍。
关于图像传输
AC620开发板上有一个百兆以太网PHY芯片RTL8201,对FPGA提供MII接口,使用该芯片,我们可以自己编写以太网MAC层,然后使用MII接口与RTL8201连接,实现以太网数据的收发。在MAC层上层,我们可以编写IP协议报和UDP协议报,完成UDP数据包的收发。使用该以太网接口,配合自己编写的以太网图像传输逻辑,就能够实现以太网图像传输了。
关于程序源码
当前,小梅哥已经编写出了完整的图像采集以太网传输的代码,并设计了一个最简单的以太网接收图像并显示的上位机,可以直接实现图像的传输显示。由于小梅哥软件编程功底,尤其是上位机编程能力几乎为0,因此上位机做的并不十分好,仅能显示图像,有能力,有兴趣的小伙伴可以借这次试用机会,在小梅哥以太网图像传输的工程上,编写上位机,实现图像采集功能。
下图为小梅哥在实验阶段试用AC620以太网图传系统捕获的一张图,软件在处理图像位移上还有一点的小bug,导致图像有点错位,欢迎大家指导。另外,由于使用的是RGB565的16位色图像显示,因此颜色效果并不十分好,下一步可以考虑直接传输RAW格式的图像,在PC端进行编码,得到24位色的高质量真彩色图像。
欢迎感兴趣的朋友一起加入我们,一起学习,共同进步。
该部分代码仅开放给板卡使用者哟。
AC620开发板是一个功能齐全,接口丰富,性能优异,外观精美,兼容性强,教学资源完善,服务细致周到的FPGA开发平台。基于最适合FPGA学习的Intel Cyclone IV E FPGA,支持以太网、音频编解码、图像传感器接口、常见工业通信接口、实时时钟、显示屏等。配套精品视频教程和出版书籍,以及20多个综合实用实例,为学习FPGA的用户提供从入门到进阶的全方位教学服务。现在只要申请,就有机会免费试用哟,如果试用报告写的好,更是有机会直接永久获得该板卡。试用链接:
http://bbs.elecfans.com/try_ac620.html
沙发,小梅哥,威武
现在已经完成图像同步的功能,能够正常显示无错位的图像了
帧率和分辨率是多少呀?
小梅哥,我想问下用两块这个板子,可以实现通过以太网实时互传图像数据吗?帧数大概是多少?以30W的像素为例。