网站大量收购独家精品文档,联系QQ:2885784924

2012最新千兆网接口摄像机设计方案.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012最新千兆网接口摄像机设计方案

  1引言   随着监控系统在商用民用的日渐普及,监控摄像机被广泛应用在各个领域,为社会治安保驾护航。视频监控摄像机广泛应用于居民住宅、楼盘别墅、商场店铺、财务室。每个不同的应用领域,需要有不同类型的监控摄像机。传统的监控摄像机图像分辨率低,难以满足一些有特殊要求的应用场合。利用网络来实现对高分辨率高帧率视频图像传输是视频监控系统的一种重要思想。但百兆网传输带宽不足、数据传输速度太慢严重制约了其在监控领域的应用。针对这一问题,本文提出了基于千兆以太网传输视频图像并充分利用了FPGA并行处理和SDRAM高速缓存的优势,提高了视频图像的传输速度。   2硬件总体设计   硬件总体框架如上图,主控制器FPGA选用altera公司高性价比芯片EP2C20F256C6N。系统工作频率为100M。图像传感器的数据首先在FIFO里缓冲后暂存于SDRAM,在网络空闲时将暂存的图像数据经FIFO2缓冲后送MAC芯片,再发送到网络上。   CMOS芯片选用MicronTechnology的MT9P031,在500万像素的满分辨率下最高可输出14帧的图像数据。SDRAM选用W982516BH-75,容量为32Mbytes,g与FPGA内部FIFO结合可设计为32Mbytes的大容量循环缓存,在图像分辨率为300万像素时可缓存10帧以上图像数据。千兆网接口MAC芯片选用AX88180,物理层芯片选用88E1111,再通过网络变压器及RJ45用六类网线与计算机千兆网卡相连。   3千兆网接口设计   AX88180是亚信公司推出的一款高性能低成本的Non-PCI千兆以太网控制器,适用于多种需要高速接入网络的嵌入式系统,如消费电子和家庭网络等。AX88180内置10/100/1000Mb/s以太网媒体存取控制器(MAC),符合IEEE802.3/IEEE802.3u/IEEE802.3ab协议,可与一般16/32位微控制器连接,其操作与SRAM相同。AX88180内置10/100/1000Mb/s以太网媒体存取控制器(MAC),与PHY之间采用RGMII接口;内置主机接口控制器,可以与16/32位主机方便连接寻址方式与SRAM相同;内置40KBSRAM网络封包缓存器,其中32KB用于从PHY接收数据包,KB用于主机发送数据包到PHY,可以用高效方式进行封包的存储、检索与修改;内置256字节的配置寄存器,用于主机控制和参数设置;内置EEP-ROM接口;内置IP/TCP/UDP校验和大大减小微控制器的运算负载,改善传输反应时间。图2为AX88180及PHY芯片88E1111的连接图。   3.1千兆网接口初始化   对千兆网接口的初始非常重要,如果初始化不正确,系统将无法正常工作。对接口的初始化主要包括对AX88180和88E1111的初始化。   代码用verilog语言完成。具体代码可参考亚信公司的驱动程序代码,应注意初始化时需要加入一些固定的延时以确定芯片正常工作。   3.2图像数据的封包   当图像的分辨率为2048×1536时,一个UDP数据包包含1024字节的图像数据和两个bytes图像行编号。当计算机收到数据包时,根据图像行编号信息放入对应的内存中,可以很方便的组合成一副完整的图像。并且,采用行编号的形式,还可防止某一两个数据包丢失后导致整副图像都无法显示的问题。以下这FPGA写入AX88180的UDP包头代码。   case(param_num)   ‘d0:w_dd‘d3:w_dd‘d6:w_dd‘d7:w_dd‘d8:w_dd‘d9:w_dd‘d10:w_dd‘d11:w_dd‘d12:w_dd‘d13:w_dd‘d14:w_dd‘d15:w_dd‘d16:w_dd‘d17:w_dd‘d18:w_dd‘d19:w_dd‘d20:w_dd‘d21:w_dddefault:w_ddendcase   3.3应用程序设计   由于大量数据在网络上传输,用SOCKET的方式来获图像数据包已经比较困难,丢包率会比较高。采用Winpcap来捕获网络上的数据包,可有效的减少丢包率。用Winpcap编写程序需要安装开发包及驱动程序。   第一步,指定要通信的网卡设备并打开。   BOOLInitWpcap(){   pcap_if_t*alldevs;   pcap_if_t*d;   errbuf[PCAP_ERRBUF_SIZE];   if(pcap_findalldevs(alldevs,errbuf)==-1){   AfxMessageBox(“Errinpcap_findalldevs);   returnFALSE;}   //枚举网卡然后添加到用户选择的ComboBox中,代码省略   *filter=port6000;//只接收端口

文档评论(0)

aicencen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档