龙源期刊网
声纳信号处理中UDP协议数据传输研究与
设计
作者:王宇聪等
来源:《现代电子技术》2012年第01期
摘要:为了在声纳系统中通过以太网口进行大批量、高速率的数据传输处理,在FPGA
中硬件实现了嵌入式UDP协议栈,完成了架构设计、软件仿真验证及硬件实现。用FPGA硬
件实现UDP协议栈,加速了网络数据处理能力,使信号传输速率达到了80MB/s,实现了千
兆级通信,很好地提高了声纳系统中数据传输速率和系统性能。同时,用FPGA硬件实现
UDP协议,栈减小了PCB版图面积和布局布线复杂度,提高了开发效率,有效地降低了开发
成本。
关键词:UDP协议;FPGA;数据传输;信号处理
中图分类号:TN919.6-34
文献标识码:A
文章编号:1004-373X(2012)01-0078-02
DatatransmissionofUDPprotocolinsonarsignalprocessing
WANGYu-cong,HANQi-xiang,CAIHui-
(InstituteofAcoustics,ChineAcademyofScience,Beijing100190,China)
Abstract:
UDPisama
ngofUDPprotocolimprovedthe
ametime,implementationbadon
FPGAcanreducecosteffectively,integrateotherfunctionmoduleasilytoimprovesystem
integration,alsothePCBboardareaandroutingcomplexityarereduced,andthesystem′sreliabilityis
ore,thestudyhasmuchpracticalityvaluefortheembeddeddesign.
龙源期刊网
Keywords:UDPprotocol;FPGA;datatransmission;signalprocessing
收稿日期:2011-08-12
0引言
UDP协议[1-2]是一个简单的面向数据报的传输层协议,提供不可靠的传输层服务。它只
负责将应用数据打包交给网络层,但是不保证数据报能正确到达。UDP协议提供了一种最简
单的基于数据包的、不可靠的传输机制[3]。其特点是以数据包为最小传输单位,并且没有任
何流量控制机制[4],适合传输效率要求较高且对传输可靠性要求不高的情况。
现有XXX型号声纳系统需要实现Link口转UDP格式数据传输,以满足大批量、高速率
的数据传输要求,现有的CPU和软件协议栈无法满足此要求。经仔细研究,发现用FPGA[5]
硬件实现UDP协议栈,可以很好地提高数据传输速率,满足该声纳系统的性能要求。本文实
现了一种可配置、可重用的硬件UDP协议栈,完成了UDP协议的FPGA设计:设计了UDP
发送端模块,UDP接收端模块以及Link端模块等,同时对所设计系统进行了验证。经过实际
验证,系统数据通信速率达到了80MB/s,实现了千兆级以太网通信,很好地提高了声纳系统
中数据传输速率和系统的性能,满足了XXX型声纳系统对大批量、高速率数据传输的要求。
并且,此方案减小了PCB版图面积和布局布线复杂度,可以移植到任何其他的FPGA设计
中,使开发效率得到了极大的提高,有效地降低了开发成本。
1声纳系统信号处理中UDP协议的FPGA设计
1.1UDP模块设计
UDP包头包括IP,端口号,UDP包长度,CHECKSUM四个部分[6]。并且UDP信息包[7]
的标题很短(标题即头部),只有8B,其中,源端口(2B)、目的端口(2B)、长度(2B)、校验码
(2B)。这里设计的架构通过发送端对数据进行打包,通过接收端进行解包。
UDP协议的FPGA架构如图1所示。
发送端(Tx)是头信息生成模块,从Link口发出的数据传入发送模块Tx内。然后,发送模
块Tx中的裸数据发送到数据缓冲区RAM中,经由PartenGen模块在数据前面添加首部,即为
数据进行传输层协议UDP打包。传输层协议打包好的数据传输到物理层模块,通过物理层调
节芯片传送到以太网口。发送完成后,发送模块恢复空闲状态,等待下一次数据发送。在发送
龙源期刊网
过程中,传输数据的IP地址[8]是固定的。UDP发送过程没有可靠性的保证机制,只是进行数
据的打包传输。发送模块结构图如图2所示。
图1UDP协议的FPGA模块架构
图2UDP发送模块
外部数据从以太网口经过物理层传入到接收端的数据缓冲区RAM中,外部数据是UDP
格式的数据。接收模块Rx从数据缓冲区RAM[9]中提取数据,在提取的过程中,Rx模块中的
应用程序将UDP格式的数据的首部去除,只提取有效载荷部分。根据UDP数据包中的目的端
口号,Rx将去UDP格式化的裸数据发送给Link口,完成接收端模块的功能任务,其示意图如
图3所示。
图3UDP接收模块
1.2Link模块设计
在发送过程中,外部数据经过Link口传输给发送模块(Tx)进行打包处理,然后传输至
MAC。Link端模块设计如图4所示。
图4Link模块架构
当acki为0时开始进行数据传输。工作时,有3个时钟输入:Link口时钟clk和clk270,
以及系统本地时钟clk4。其中,clk4的频率是Link口时钟的[10]1/4。Link的时序效果图如图5
所示,在时钟的上升沿与下降沿进行数据存写。双倍速率的数据通过Link后被分为单倍速率
的数据写入UDP发送端Tx中。从Link出来的数据传入发送端Tx时,时钟每跳变一次,地址
增加一次,发送端Tx将增加的地址写入到数据缓冲区RAM中,进行打包。
2系统实现
本文在FPGA中对所设计的系统进行了验证与硬件实现。发送过程的QuartusⅡ8.0仿真
波形图如图6所示。
图5Link时序效果图
图6发送过程QuartusⅡ仿真波形图
接收过程QuartusⅡ8.0仿真波形图如图7所示。
图7接收过程QuartusⅡ仿真波形图
龙源期刊网
本系统中FPGA选用的是Altera公司的EP2S60F672C5。系统有3个时钟域:系统时钟、
发送时钟、接收时钟[11]。其时序分析结果如表1所示。
表1时序分析结果
时钟域频率/MHz
系统时钟(sys_clk)83.28
发送时钟(mtx_clk)93.57
接收时钟(mrx_clk)79.16
从表1中可以看出,系统时钟为83.28MHz,发送和接收时钟分别达到93.57MHz,79.16
MHz。因此,整个系统能够满足80MB/s的速率要求。
3结语
本文提出采用FPGA实现UDP协议栈,完成了架构设计、软件仿真验证及硬件实现。
FPGA实现UDP协议栈的引入,加速了网络数据处理能力,提高了开发效率,降低了开发成
本,很好地提高了声纳系统中数据传输速率和系统性能。
参考文献
[1][美]/IP协议详解[M].范建华,胥光辉,张涛,译.北
京:机械工业出版社,2000.
[2][美]WRIGHTGR,STEVENSWR.TCP/IP详解[M].陆雪莹,蒋慧,译.北
京:机械工业出版社,1999.
(上接第79页
[3][美]JONESMTim.嵌入式系统TCP/IP应用层协议[M].路小村,徐宏,译.北
京:电子工业出版社,2003.
龙源期刊网
[4]CHUNGSM,LICY,LEEHH,andimplementationofthehighspeed
TCP/IPoffloadengine[C]//Proceedingsofthe7thInternationalSymposiumonCommunicationsand
,NSW:IEEE,2007:574-579.
[5]任爱锋,初秀琴.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出
版社,2004.
[6]etworkingwithTCP/IP[M].5thedition.[S.l.]:PrenticeHall,2005.
[7]
[M].[S.l.]:PacktPublishing,2006.
[8][美]BEHROUZA,FOROUZANSophia,mmunicatinsand
networking[M].吴时霖,译.北京:机械工业出版社,2007.
[9]田泽.嵌入式系统开发与应用教程[M].北京:北京航空航天大学出版杜,2005.
[10]AlteraCorporation.Configurationhandbook[M].[S.l.]:AlteraCorporation,2005.
[11]ZHANBokai,/IPoffloadengine(TOE)foranSOCsystem[M].[S.l.]:
Altera,2005.
作者简介:
王宇聪男,1986年出生,湖南长沙人,硕士研究生。主要研究方向为高速嵌入式系统。
龙源期刊网
韩启祥男,江苏盐城人,硕士研究生。主要研究方向为高速嵌入式系统。
蔡惠智男,研究员。主要研究方向为声纳、雷达系统设计、信号处理平台设计。
本文发布于:2023-01-04 03:08:32,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/88237.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |