基于千兆网接口摄像机设计_1.docx

上传人:安*** 文档编号:17758834 上传时间:2022-05-26 格式:DOCX 页数:8 大小:18.81KB
返回 下载 相关 举报
基于千兆网接口摄像机设计_1.docx_第1页
第1页 / 共8页
基于千兆网接口摄像机设计_1.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《基于千兆网接口摄像机设计_1.docx》由会员分享,可在线阅读,更多相关《基于千兆网接口摄像机设计_1.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于千兆网接口摄像机设计yangliu导语:针对百兆网传输带宽缺乏、数据传输速度太慢严重制约了其在监控领域的应用,本文提出基于千兆以太网传输视频图像并充分利用了FPGA并行处理和SDRAM高速缓存的优势,提高了视频图像的传输速度。摘要:介绍了千兆网接口摄像机硬件设计方案,利用FPGA强大的可编程和并行处理能力,较大限度的利用了网络带宽;提出用Winpcap获取图像数据,有效提高了数据包的捕获率;设计的高分辨率高帧率摄像机画面明晰流畅。关键字:千兆网;摄像机;FPGA;1引言随着监控系统在商用民用的日渐普及,监控摄像机被广泛应用在各个领域,为社会治安保驾护航。视频监控摄像机广泛应用于居民住宅、楼

2、盘别墅、商场店铺、财务室。每个不同的应用领域,需要有不同类型的监控摄像机。传统的监控摄像机图像分辨率低,难以知足一些有特殊要求的应用场合。利用网络来实现对高分辨率高帧率视频图像传输是视频监控系统的一种重要思想。但百兆网传输带宽缺乏、数据传输速度太慢严重制约了其在监控领域的应用。针对这一问题,本文提出了基于千兆以太网传输视频图像并充分利用了FPGA并行处理和SDRAM高速缓存的优势,提高了视频图像的传输速度。2硬件总体设计硬件总体框架如上图,主控制器FPGA选用altra公司高性价比芯片EP2C20F256C6N。系统工作频率为100M。图像传感器的数据首先在FIFO里缓冲后暂存于SDRAM,在

3、网络空闲时将暂存的图像数据经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千兆以太网控

4、制器,适用于多种需要高速接入网络的嵌入式系统,如消费电子和家庭网络等。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,能够用高效方式进行封包的存储、

5、检索与修改;内置256字节的配置寄存器,用于主机控制和参数设置;内置EEP-ROM接口;内置IP/TCP/UDP校验和大大减小微控制器的运算负载,改善传输反响时间。图2为AX88180及PHY芯片88E1111的连接图。3.1千兆网接口初始化对千兆网接口的初始非常重要,假如初始化不正确,系统将无法正常工作。对接口的初始化主要包括对AX88180和88E1111的初始化。代码用verilog语言完成。详细代码可参考亚信公司的驱动程序代码,应注意初始化时需要参加一些固定的延时以确定芯片正常工作。3.2图像数据的封包当图像的分辨率为20481536时,一个UDP数据包包含1024字节的图像数据和两个

6、bytes图像行编号。当计算机收到数据包时,根据图像行编号信息放入对应的内存中,能够很方便的组合成一副完好的图像。并且,采用行编号的形式,还可防止某一两个数据包丢失后导致整副图像都无法显示的问题。下面这FPGA写入AX88180的UDP包头代码。case(param_num)d0:w_dd=hFFFF;/目的MAC地址广播地址,写三次d3:w_dd=h1111;/源MAC地址,均为0x1111,写三次d6:w_dd=h0008;/协议号d7:w_dd=h0045;/固定数据VIP4,d8:w_dd=h1E04;/IP包总长度1026+28,并且高低8位交换d9:w_dd=/ID号,始终为d10

7、:w_dd=/fragmentoffset始终为;d11:w_dd=h1140;/生存期和协议号,固定d12:w_dd=/校验和,由MAC芯片自动生成d13:w_dd=hA8C0;/源IP,固定为192.168.1.204d14:w_dd=hCC01;d15:w_dd=hFFFF;/目的IP,任意d16:w_dd=hFFFF;d17:w_dd=h7017;/源端口,固定为6000d18:w_dd=h7017;/目的端口,固定为6000d19:w_dd=h0A04;/UDP数据长度d20:w_dd=/校验和由AX88180自动生成d21:w_dd=row_num;/图像行信息从开开场defaul

8、t:w_dd=w_dd;endcase3.3应用程序设计由于大量数据在网络上传输,用SOCKET的方式来获图像数据包已经比拟困难,丢包率会比拟高。采用Winpcap来捕获网络上的数据包,可有效的减少丢包率。用Winpcap编写程序需要安装开发包及驱动程序。第一步,指定要通信的网卡设备并打开。BOOLInitWpcap()pcap_if_t*alldevs;pcap_if_t*d;charerrbufPCAP_ERRBUF_SIZE;if(pcap_findalldevs(alldevs,errbuf)=-1)AfxMessageBox(“Errorinpcap_findalldevs);ret

9、urnFALSE;/枚举网卡然后添加到用户选择的ComboBox中,代码省略char*filter=port6000;/只接收端口6000的数据bpf_u_int32NetMask=0xFFFFFF;structbpf_programfcode;if(pcap_compile(m_pcap,fcode,filter,1,NetMask)0)AfxMessageBox(nErrorcompilingfilter:wrongsyntax);pcap_close(m_pcap);returnFALSE;if(pcap_setfilter(m_pcap,fcode)0)AfxMessageBox(nE

10、rrorsettingthefiltern);pcap_close(m_pcap);returnFALSE;pcap_freealldevs(alldevs);/释放alldev资源returnTRUE;第二步:开启一个线程接收数据。UINTRecvProc(LPVOIDlpParammeter)pcap_loop(m_pcap,0,packet_handler,NULL);return0;packet_handler是处理收到数据包的回调函数,当从port6000收到数据后它会被调用,直到线程终止。第三步:处理收到的数据voidpacket_handler(u_char*param,conststructpcap_pkthdr*header,constu_char*pkt_data)constu_char*real_data=pkt_data+42;introw=real_data0+(real_data18);/这里就没有处理包头,直接处理数据4总结本文设计的千兆网接口摄像机,网络传输有效数据带宽达400Mb/s以上,较好的解决了百兆网传输带宽缺乏、数据传输速度慢的问题。传输300万像素不进行压缩的原始图像,帧率可达18帧秒,视频流畅明晰。计算机采用Winpcap捕获图像数据,丢包率小于0.02%。0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁