首页 > 代码库 > FPGA设计——CMOS图像采集与以太网传输显示

FPGA设计——CMOS图像采集与以太网传输显示

1. 概述

本设计采用FPGA技术,将CMOS摄像头(DVP接口)的视频数据采集,并通过以太网传输(UDP方式)给PC机,上位机DEMO通过套接字编程,将视频实时显示在屏幕上。


2. 硬件系统框图

CMOS采用OV的30万像素芯片,FPGA采用ALTERA公司的CYCLONE IV,以太网卡采用REALTK公司的100M网卡芯片。

技术分享


3. UDP/IP协议

UDP(User Datagram Protocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP协议经常用于图像传输、网络监控数据交换等数据传输速度要求比较高的场合。

技术分享

IP(Internet Protoco)包位于网络层,功能是把分组发往目标网络或主机。所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。

技术分享

以太网的数据帧的传输过程中,包长一般在46~1500字节,这里将UDP包长设计为:(8+20+640*2)=1308字节,以提高传输效率。


4. FPGA逻辑设计

FPGA各部分逻辑模块如下图所示:

技术分享

  • CMOS Capture,采集CMOS的DVP视频流;

  • I2C Config,配置CMOS芯片;

  • FIFO,实现CMOS时钟域到以太网时钟域之间的转换;

  • UDP Pack,实现UDP/IP协议的实现。


5. 上位机Demo实现

本设计采用VC++ 2010设计了一款简易的UDP网络视频流播放器,视频源为RAW8格式,分辨率640*480,帧率25Hz。Windows为我们提供了便捷的套接字(socket)编程方式,软件工程师方便实现网络编程。

技术分享


6. 视频显示结果

给FPGA板卡上电,打开UDP demo软件,视频正确稳定显示。

技术分享


7. 任务管理器

在任务管理器中,可以查看网卡的状态,包括使用率和丢包的大概曲线图。UDP demo软件运行几分钟后,图像稳定显示,从任务管理器中可以看到本地网卡2的使用率为65.99%,曲线平整,没有异常丢包情况。

技术分享


本文出自 “shugenyin的博客” 博客,请务必保留此出处http://shugenyin.blog.51cto.com/4259554/1918406

FPGA设计——CMOS图像采集与以太网传输显示