CN112865901B 有效 一种基于FPGA纳秒时间戳的高速数据包采集系统及方法
1.一种基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于:所述系统通过FPGA实现,所述系统包括以太网接收解析模块、延迟模块、基线时间模块、时钟模块、时间戳添加模块、FIFO、DDR和DMA;
所述以太网接收解析模块,用于实现对以太网数据的接收和协议解析;
所述延迟模块,用于对解析后的数据包进行延迟;
所述基线时间模块,用于获取当前的网络时间,精确到纳秒,作为系统的基线时间;
所述时钟模块,用于实现纳秒级相对时间戳的计时;
所述时间戳添加模块,用于将基线时间模块输出的基线时间和时钟模块输出的相对时间戳相加获得时间戳,将时间戳加入到数据包上;
所述FIFO,用于对加入时间戳的数据包进行时钟域和数据宽度转换,使用AXI4总线的突发模式将转换后数据高速传输至DDR;
所述DMA,用于将DDR中的加入时间戳的数据包以DMA的方式发送至服务器;
所述时钟模块、时间戳添加模块、FIFO及DMA的处理均在延迟模块的延迟过程中进行;
所述时钟模块包括高速时钟和计数器;
所述计数器,通过高速时钟进行触发计数;在基线时间重置时,进行清零;在其它时间进行计数累积,经过每一个时钟周期,进行计数;
所述时间戳添加模块的具体实现过程为:
接收延迟模块的输出,找出输入信号中用于标志数据包包头的信号;
从时钟模块取出计数与时钟周期相乘获得相对时间戳;
从基线时间模块取出基线时间;
将基线时间和相对时间戳相加获得绝对时间戳;
将绝对时间戳加入到数据包包头位置上。
2.根据权利要求1所述的基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于:所述解析后的数据包包括:以太帧数据流及一组用于标志包开始、结束、数据有效的控制信号。
3.根据权利要求1所述的基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于,所述FPGA中设置一个8字节可读写寄存器,通过服务器设置该寄存器,标识当前的网络时间,所述基线时间模块读取该寄存器,获取当前的网络时间。
4.根据权利要求3所述的基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于,所述基线时间为输入的GPS时间或IEEE 1588时间。
5.根据权利要求1所述的基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于,所述FIFO的输入时钟为以太网接收解析模块与码流同步的时钟,输出时钟为AXI4总线的工作时钟。
6.根据权利要求1所述的基于FPGA纳秒时间戳的高速数据包采集系统,其特征在于:所述FIFO与DDR之间采用AXI4总线相连;所述AXI4总线通过内存控制器MIG实现对DDR的控制。
7.一种基于FPGA纳秒时间戳的高速数据包采集方法,基于权利要求2-6之一所述的系统实现,所述方法包括以下步骤:
所述以太网接收解析模块对以太网数据进行接收和协议解析,找出输入信号中用于标志数据包包头的信号;
所述延迟模块对解析后的数据包进行延迟;在延迟的过程中进行以下处理:
所述基线时间模块获取当前的网络时间,精确到纳秒,作为系统的基线时间输入时间戳添加模块;
从所述时钟模块的计数器中取出计数,与时钟周期相乘获得相对时间戳输入时间戳添加模块;
所述时间戳添加模块将基线时间和相对时间戳相加,获得绝对时间戳,将绝对时间戳加入到数据包包头位置上;
所述FIFO对加入时间戳的数据包进行时钟域和数据宽度转换,使用AXI4总线的突发模式将转换后数据高速传输至DDR;
所述DMA将DDR中的加入时间戳的数据包上传至服务器;
所述时钟模块包括高速时钟和计数器;
所述计数器,通过高速时钟进行触发计数;在基线时间重置时,进行清零;在其它时间进行计数累积,经过每一个时钟周期,进行计数;
所述时间戳添加模块的具体实现过程为:
接收延迟模块的输出,找出输入信号中用于标志数据包包头的信号;
从时钟模块取出计数与时钟周期相乘获得相对时间戳;
从基线时间模块取出基线时间;
将基线时间和相对时间戳相加获得绝对时间戳;
将绝对时间戳加入到数据包包头位置上。
现在,一起体验智慧芽的产品和服务
自动注册,无需人工审核,即可立即开始查询专利
立即注册
澳门正版图库

AI助手