查字典论文网 >> 声纳信号处理中UDP协议数据传输研究与设计

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

小编:

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

引 言http://WwW.LWlM.cOm 现有XXX型号声纳系统需要实现Link口转UDP格式数据传输,以满足大批量、高速率的数据传输要求,现有的CPU和软件协议栈无法满足此要求。经仔细研究,发现用FPGA[5]硬件实现UDP协议栈,可以很好地提高数据传输速率,满足该声纳系统的性能要求。本文实现了一种可配置、可重用的硬件UDP协议栈,完成了UDP协议的FPGA设计:设计了UDP发送端模块,UDP接收端模块以及Link端模块等,同时对所设计系统进行了验证。经过实际验证,系统数据通信速率达到了80 MB/s,实现了千兆级以太网通信,很好地提高了声纳系统中数据传输速率和系统的性能,满足了XXX型声纳系统对大批量、高速率数据传输的要求。并且,此方案减小了PCB版图面积和布局布线复杂度,可以移植到任何其他的FPGA设计中,使开发效率得到了极大的提高,有效地降低了开发成本。

1 声纳系统信号处理中UDP协议的FPGA设计

1.1 UDP模块设计

UDP包头包括IP,端口号,UDP包长度,CHECKSUM四个部分[6]。并且UDP信息包[7]的标题很短(标题即头部),只有8 B,其中,源端口(2 B)、目的端口(2 B)、长度(2 B)、校验码(2 B)。这里设计的架构通过发送端对数据进行打包,通过接收端进行解包。

UDP协议的FPGA架构如图1所示。

发送端(Tx)是头信息生成模块,从Link口发出的数据传入发送模块Tx内。然后,发送模块Tx中的裸数据发送到数据缓冲区RAM中,经由PartenGen模块在数据前面添加首部,即为数据进行传输层协议UDP打包。传输层协议打包好的数据传输到物理层模块,通过物理层调节芯片传送到以太网口。发送完成后,发送模块恢复空闲状态,等待下一次数据发送。在发送过程中,传输数据的IP地址[8]是固定的。UDP发送过程没有可靠性的保证机制,只是进行数据的打包传输。发送模块结构图如图2所示。

图1 UDP协议的FPGA模块架构

图2 UDP发送模块

外部数据从以太网口经过物理层传入到接收端的数据缓冲区RAM中,外部数据是UDP格式的数据。接收模块Rx从数据缓冲区RAM[9]中提取数据,在提取的过程中,Rx模块中的应用程序将UDP格式的数据的首部去除,只提取有效载荷部分。根据UDP数据包中的目的端口号,Rx将去UDP格式化的裸数据发送给Link口,完成接收端模块的功能任务,其示意图如图3所示。

图3 UDP接收模块 在发送过程中,外部数据经过Link口传输给发送模块(Tx)进行打包处理,然后传输至MAC。Link端模块设计如图4所示。

图4 Link模块架构

当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所示。

图5 Link时序效果图

图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

 3 结 语

本文提出采用 FPGA 实现UDP协议栈,完成了架构设计、软件仿真验证及硬件实现。FPGA 实现UDP协议栈的引入,加速了网络数据处理能力,提高了开发效率,降低了开发成本,很好地提高了声纳系统中数据传输速率和系统性能。

热点推荐

上一篇:农村小学语文自主学习能力培养初探

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文