掌桥专利:专业的专利平台
掌桥专利
首页

一种多通道高速数据传输同步方法及系统

文献发布时间:2024-01-17 01:20:32


一种多通道高速数据传输同步方法及系统

技术领域

本发明涉及数字信号高速传输技术领域,特别是一种多通道高速数据传输同步方法及系统。

背景技术

随着高速、超高速信号采集、传输及处理技术的发展,规模相控阵数字波束形成成为技术发展的一个重要趋势,数字波束形成技术应用到先进的雷达系统设计以及无线通信智能天线领域等。数字波束形成涉及多板卡多通道高速信号采集、传输、汇聚合成及分发;数字波束形成采用大规模可编程逻辑门阵列FPGA实现;数字波束形成板卡内及板卡间高速数据传输采用高速串行I/O技术,如xilinx公司FPGA提供的Aurora协议以及204B协议等。

Aurora协议是一个开放、免费的链路层协议,可以用来进行点对点的串行数据传输,具有实现高性能数据传输系统的高效率和简单易用的特点。

数字波束形成板卡内及板卡间高速数据采用Aurora协议传输后,板卡内多通道高速数据不同步和板卡间多通道高速数据不同步,多通道数据同步才能实现数字波束形成,所以技术方案要重点设计考虑板卡内及板卡间多通道高速数据传输同步技术方法。现有高速数据同步技术采用的数据缓存使用的是FPGA中双口RAM IPcore,不利于程序的跨平台移植实现。

发明内容

鉴于此,本发明提供一种多通道高速数据传输同步方法及系统,以解决上述技术问题。

本发明公开了一种多通道高速数据传输同步系统,适用于同一板卡内或板卡之间,其包括多个发送端和多个接收端;单个发送端和单个接收端一一对应,用于处理高速数据;所有通道的高速数据被同时并行处理;

单个所述发送端包括:

发送数据模块,用于将接收的高速数据传输至数据组帧打时间戳模块;

第一本地同步脉冲模块,用于检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;

第一延时模块,用于对本地同步脉冲延时若干个系统时钟;

数据组帧打时间戳模块,用于将高速数据与本地同步脉冲组帧完成时间戳打印并发送至接收端;

Aurora协议发送模块,用于通过Aurora协议将完成时间戳打印的数据发送至接收端的Aurora协议接收模块;

单个所述接收端包括:

第二本地同步脉冲模块,用于检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;

第二延时模块,用于对本地同步脉冲延时若干个系统时钟,以保证各接收端均已完成时间戳检测,以及同步后满足写地址和读地址能一直保持一定量的差值;

Aurora协议接收模块,用于实现高速数据的串并转换,输出有效数据、有效标识、随路用户时钟;

写地址控制逻辑模块,用于根据有效标识和随路用户时钟控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

时间戳检测逻辑模块,用于实时检测判断写地址控制逻辑模块发送的数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;

读地址控制逻辑模块,用于根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现同一板卡内及板卡之间多通道高速数据的同步;

数组型寄存器,用于存储写地址数据,并输出同步后的数据。

进一步地,所述发送端和所述接收端采用的系统工作时钟相同;所述第一延时模块和所述第二延时模块相同;

所述第一本地同步脉冲模块和所述第二本地同步脉冲模块相同,以产生相同的本地同步脉冲,且其接收的外部参考同步脉冲相同。

进一步地,所述第一本地同步脉冲模块还用于:

连续多次检测判决参考同步脉冲的上升沿之间系统时钟计数值与预设阈值是否一致;若一致,则判决参考同步脉冲输入有效,同时复位本地生成脉冲计数器,开始连续产生本地同步脉冲;

在所述判决参考同步脉冲输入有效之后,实时监测输入的参考同步脉冲的有效性,若连续多次参考同步脉冲的上升沿之间系统时钟计数值不一致且与预设阈值不一致,则判决之前同步失效,重新开始所述检测外部输入的参考同步脉冲的有效性。

进一步地,所述Aurora协议接收模块,用于将接收到的数据进行串并转换,输出有效数据、有效标识、随路用户时钟;

所述写地址控制逻辑模块,用于根据有效标识和随路用户时钟,控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

所述时间戳检测逻辑模块,用于根据有效标识和随路用户时钟,实时检测判断接收数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;

所述读地址控制逻辑模块,用于根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现板卡内及板卡间多通道高速数据的同步。

本发明还公开了一种多通道高速数据传输同步方法,适用于上述所述的一种多通道高速数据传输同步系统,所述方法包括:

对于每个通道的高速数据,在发送端,检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;对本地同步脉冲延时若干个系统时钟;将高速数据与本地同步脉冲组帧完成时间戳打印并发送至接收端;时间戳插入到高速数据中的预设位置,其只占用高速数据中的一位;

对于每个通道的高速数据,在接收端,检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;对本地同步脉冲延时若干个系统时钟,以保证多个通道的接收端均已完成时间戳检测,以及同步后满足写地址和读地址能一直保持一定量的差值,并根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现多通道高速数据的同步。

进一步地,在发送端,每个通道的高速数据均同时并行处理;在接收端,每个通道的高速数据均同时并行处理;

对于每个通道的高速数据,发送端和接收端一一对应;

参考同步脉冲是通过等长的同轴电缆或者等长光纤分发到各个板卡,以保证输入到各板卡的参考同步脉冲的相位一致;同步脉冲的频率周期根据系统需求设定。

进一步地,所述检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲,包括:

连续多次检测判决参考同步脉冲的上升沿之间系统时钟计数值与预设阈值是否一致;若一致,则判决参考同步脉冲输入有效,同时复位本地生成脉冲计数器,开始连续产生本地同步脉冲。

进一步地,在所述判决参考同步脉冲输入有效之后,还包括:

实时监测输入的参考同步脉冲的有效性,若连续多次参考同步脉冲的上升沿之间系统时钟计数值不一致且与预设阈值不一致,则判决之前同步失效,重新开始所述检测外部输入的参考同步脉冲的有效性。

进一步地,在发送端,将高速数据与本地同步脉冲组帧,即完成时间戳打印,最后通过高速通道数据Aurora协议完成发送。

进一步地,在接收端,将接收到的数据进行串并转换,输出有效数据、有效标识、随路用户时钟;

所述同步后满足写地址和读地址能一直保持一定量的差值,包括:

根据有效标识和随路用户时钟,控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

根据有效标识和随路用户时钟,实时检测判断接收数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;根据不同通道的高速数据传输的时延,设置对应的第二延时模块的延时量,以确保所有通道的时间戳检测逻辑模块均已完成时间戳检测且当接收端的时间戳检测逻辑模块检测到数据中时间戳为高电平时,寄存当时的写地址,并保证数组型寄存器中的读地址和写地址在同一时刻不同。

由于采用了上述技术方案,本发明具有如下的优点:

1、模块化、参数化设计。本发明发送端和接收端的功能模块化设计,使用Verilog语言编码实现,延时模块延时量参数化输入,便于复用和移植。

2、时间戳灵活插入与便于检测。本发明时间戳标识灵活插入到数据帧的预定位置,只占用数据帧中一位;接收端检测固定一位,便于实现检测,资源占用量小。

3、数组型寄存器设计。本发明用数组型寄存器读写代替FPGA的双口读写RAMIPcore,便于实现和跨平台移植。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例的一种多通道高速数据传输同步系统在发送端的单通道实现构成示意图;

图2为本发明实施例的一种多通道高速数据传输同步系统在接收端的单通道实现构成示意图。

具体实施方式

结合附图和实施例对本发明作进一步说明,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

图1中本地同步脉冲输出是用于发送端高速数据中打时间戳使用,图2中本地同步脉冲是用于根据寄存的起始读地址同时开始读取数组型寄存器中的高速数据,实现多通道高速数据的同步。

本发明提供了一种多通道高速数据传输同步系统的实施例,适用于同一板卡内或多板卡之间,其包括多个发送端和多个接收端;单个发送端和单个接收端一一对应,用于处理高速数据;所有通道的高速数据被同时并行处理;每个发送端均相同,参见图1;每个接收端均相同,参见图2;各发送端和各接收端都是在板卡上的FPGA中实现,用于处理每个通道中的高速数据。一个板卡上的接收端最终输出的同步数据经过算法运算处理(例如波束形成)后,再经该板卡发送端处理流程后,通过高速电缆、数字光纤传输或者其他高速传输介质传输至另一板卡的接收端中Aurora协议接收模块。

其中,高速数据可以来自高速ADC采样得到的高速数字信号或者是板卡内合成汇聚、分发后的高速数字信号等。

其中,单个发送端包括:

发送数据模块,用于将接收的高速数据传输至数据组帧打时间戳模块;

第一本地同步脉冲模块,用于检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;

第一延时模块,用于对本地同步脉冲延时若干个系统时钟;

数据组帧打时间戳模块,用于将高速数据与本地同步脉冲组帧完成时间戳打印并发送至接收端;

Aurora协议发送模块,用于通过Aurora协议将完成时间戳打印的数据发送至接收端的Aurora协议接收模块;

单个接收端包括:

第二本地同步脉冲模块,用于检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;

第二延时模块,用于对本地同步脉冲延时若干个系统时钟,以保证各接收端均已完成时间戳检测,以及同步后满足写地址和读地址能一直保持一定量的差值;

Aurora协议接收模块,用于实现高速数据的串并转换,输出有效数据、有效标识(valid)、随路用户时钟(userclk);

写地址控制逻辑模块,用于根据有效标识和随路用户时钟控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

时间戳检测逻辑模块,用于实时检测判断写地址控制逻辑模块发送的数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;

读地址控制逻辑模块,用于根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现同一板卡内及板卡之间多通道高速数据的同步;

数组型寄存器,用于存储写地址数据,并输出同步后的数据。

优选地,发送端和接收端采用的系统工作时钟相同;第一延时模块和第二延时模块相同;第一延时模块和第二延时模块的延迟量参数化设计,根据需要设定输入延迟量参数;

第一本地同步脉冲模块和第二本地同步脉冲模块相同,以产生相同的本地同步脉冲,且其接收的外部参考同步脉冲相同。

优选地,第一本地同步脉冲模块还用于:

连续多次检测判决参考同步脉冲的上升沿之间系统时钟计数值与预设阈值是否一致;若一致,则判决参考同步脉冲输入有效,同时复位本地生成脉冲计数器,开始连续产生本地同步脉冲;第一本地同步脉冲模块输出高电平有效的宽度根据需求进行设定;

在判决参考同步脉冲输入有效之后,实时监测输入的参考同步脉冲的有效性,若连续多次参考同步脉冲的上升沿之间系统时钟计数值不一致且与预设阈值不一致,则判决之前同步失效,重新开始检测外部输入的参考同步脉冲的有效性。

优选地,Aurora协议接收模块,用于将接收到的数据进行串并转换,输出有效数据、有效标识、随路用户时钟;

写地址控制逻辑模块,用于根据有效标识和随路用户时钟,控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

时间戳检测逻辑模块,用于根据有效标识和随路用户时钟,实时检测判断接收数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;

读地址控制逻辑模块,用于根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现板卡内及板卡间多通道高速数据的同步。

本发明还公开了一种多通道高速数据传输同步方法,适用于上述的一种多通道高速数据传输同步系统,方法包括:

对于每个通道的高速数据,在发送端,检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;对本地同步脉冲延时若干个系统时钟;将高速数据与本地同步脉冲组帧完成时间戳打印并发送至接收端;时间戳插入到高速数据中的预设位置,其只占用高速数据中的一位;

对于每个通道的高速数据,在接收端,检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲;对本地同步脉冲延时若干个系统时钟,以保证多个通道的接收端均已完成时间戳检测,以及同步后满足写地址和读地址能一直保持一定量的差值,并根据延时后本地同步脉冲时刻,将寄存的写地址赋值到读地址,下一时刻从数组型寄存器中读取数据,即可实现多通道高速数据的同步。

优选地,在发送端,每个通道的高速数据均同时并行处理;在接收端,每个通道的高速数据均同时并行处理;

对于每个通道的高速数据,发送端和接收端一一对应;

参考同步脉冲是通过等长的同轴电缆或者等长光纤分发到各个板卡,以保证输入到各板卡的参考同步脉冲的相位一致;同步脉冲的频率周期根据系统需求设定。

优选地,检测外部输入的参考同步脉冲的有效性,同时产生本地同步脉冲,包括:

连续多次检测判决参考同步脉冲的上升沿之间系统时钟计数值与预设阈值是否一致;若一致,则判决参考同步脉冲输入有效,同时复位本地生成脉冲计数器,开始连续产生本地同步脉冲。

优选地,在判决参考同步脉冲输入有效之后,还包括:

实时监测输入的参考同步脉冲的有效性,若连续多次参考同步脉冲的上升沿之间系统时钟计数值不一致且与预设阈值不一致,则判决之前同步失效,重新开始检测外部输入的参考同步脉冲的有效性。

优选地,在发送端,将高速数据与本地同步脉冲组帧,即完成时间戳打印,最后通过高速通道数据Aurora协议完成发送。

优选地,在接收端,将接收到的数据进行串并转换,输出有效数据、有效标识、随路用户时钟;

同步后满足写地址和读地址能一直保持一定量的差值,包括:

根据有效标识和随路用户时钟,控制写地址循环累加,把有效数据按照写地址写入到数组型寄存器中;

根据有效标识和随路用户时钟,实时检测判断接收数据中时间戳位是否为高电平,若检测到高电平,则寄存当前写地址;根据不同通道的高速数据传输的时延,设置对应的第二延时模块的延时量,以确保所有通道的时间戳检测逻辑模块均已完成时间戳检测且当接收端的时间戳检测逻辑模块检测到数据中时间戳为高电平时,寄存当时的写地址,并保证数组型寄存器中的读地址和写地址在同一时刻不同。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术分类

06120116146650