发明名称 基于FPGA的多路数据传输同步时延的测量方法及系统
摘要 本发明公开了一种基于FPGA的多路数据传输同步时延的测量方法及系统,涉及电子测量技术领域,包括:步骤1,时钟模块提供数据传输时钟和帧同步信号;步骤2,将时钟每次相移量发送到移相模块,得到相移最大次数,设定时钟的相移次数;步骤3,IO延迟模块将延迟数据发送到采样转换模块;步骤4,移相模块将采样时钟发送到采样转换模块;步骤5,采样转换模块将链路标号对应的采样数据发送到处理模块;步骤6,处理模块判断采样点位置是否为不稳定传输位置;步骤7,控制模块设定数据的延迟阶a增加1;步骤8,处理模块得到不稳定传输位置;步骤9,处理模块确定链路标号对应的采样数据的同步时延。本发明用于实现数据同步延迟的测量。
申请公布号 CN104077257B 申请公布日期 2017.01.04
申请号 CN201410289508.8 申请日期 2014.06.25
申请人 西安电子科技大学 发明人 苏涛;逄锦昊;陈建康;秦岩;田充足;熊梓成
分类号 G06F13/38(2006.01)I 主分类号 G06F13/38(2006.01)I
代理机构 西安睿通知识产权代理事务所(特殊普通合伙) 61218 代理人 惠文轩
主权项 一种基于FPGA的多路数据传输同步时延的测量方法,应用于现场可编程门阵列FPGA和上位机;FPGA包括时钟模块、IO延迟模块、移相模块、采样转换模块和选择模块;上位机包括处理模块和控制模块,其特征在于,包括以下步骤:步骤1,时钟模块产生数据传输时钟Clk和帧同步信号Frame,并将数据传输时钟Clk发送至移相模块,将帧同步信号Frame发送至采样转换模块;步骤2,控制模块接收用户输入的数据链路标号,链路标号对应的串行数据的频率f,以及链路标号对应的串行数据的信噪比z;将链路标号发送到选择模块;将链路标号对应的串行数据的频率f和信噪比z发送至处理模块;控制模块根据IO延迟模块的一阶延迟值S和最大延迟阶J,得到时钟每次相移量P,其中,时钟每次相移量P取小于等于J×S的值,将时钟每次相移量P发送到移相模块;×表示相乘;控制模块根据数据传输时钟Clk的周期T和时钟每次相移量P,得到相移最大次数K,K取小于T/P的最大正整数,其中,T/P表示T除以P;控制模块设定a为数据的延迟阶,取值范围0~J,J为IO延迟模块的最大延迟阶;设定b为时钟的相移次数,取值范围0~K;将数据的延迟阶a发送到IO延迟模块,时钟的相移次数b发送到移相模块;步骤3,IO延迟模块接收串行数据Data,根据数据的延迟阶a对串行数据Data进行延迟,延迟量为a×S,其中S为IO延迟模块的一阶延迟值,得到延迟量为a×S的延迟数据,IO延迟模块将延迟量为a×S的延迟数据发送到采样转换模块;步骤4,移相模块接收时钟模块发送的数据传输时钟Clk,根据时钟的相移次数b对数据传输时钟Clk进行移相,移相的间隔为b×P,得到移相的间隔为b×P的采样时钟,移相模块将移相间隔为b×P的采样时钟发送到采样转换模块;步骤5,采样转换模块在检测到帧同步信号Frame的上升沿后使用移相间隔为b×P的采样时钟,采样延迟量为a×S的延迟数据,确定与数据传输时钟Clk上升沿的时间间隔为L的采样点位置U,其中,L=b×P‑a×S,采样持续m个时钟周期,得到在采样点位置U的m个时钟周期的采样数据,m为自然数;采样转换模块对采样数据解串再调整串位,得到调整串位之后的采样数据;将调整串位之后的采样数据发送至选择模块;选择模块将调整串位之后的采样数据中链路标号对应的采样数据发送到处理模块;步骤6,处理模块对链路标号对应的采样数据进行快速傅氏变换FFT运算,根据FFT的结果,确定链路标号对应的串行数据的频率f对应的第一频点、在第一频点左右两边选择幅值在0~3db之内的频点作为第二频点,并且确定第一频点的幅值、第二频点的幅值;求第一频点的幅值与第二频点的幅值的均方根值,并将第一频点的幅值与第二频点的幅值的均方根值作为信号有效值A<sub>signal</sub>;求取FFT的结果中除第一频点和第二频点以外其它频点对应的幅值的均方根值,并将其它频点对应的幅值的均方根值作为噪声的有效值A<sub>noise</sub>;根据信号有效值A<sub>signal</sub>和噪声的有效值A<sub>noise</sub>计算信噪比SNR,计算公式如下:SNR=10lg(A<sub>signal</sub>/A<sub>noise</sub>)将判断求得的信噪比SNR是否大于等于信噪比z,如果判断结果为是,采样点位置U是稳定传输位置;如果判断结果为否,则采样点位置U是不稳定传输位置;步骤7,控制模块设定数据的延迟阶a增加1,重复步骤3至6,直到当数据的延迟阶a等于J时,J为IO延迟模块的最大延迟阶,处理模块得到与数据传输时钟Clk上升沿的时间间隔在(b×P‑J×S,b×P)范围内的不稳定传输位置,则执行步骤8;步骤8,控制模块设定时钟的相移次数b增加1,重复步骤3至7,直到当b等于K时,K取小于T/P的最大正整数,处理模块得到与数据传输时钟Clk上升沿的时间间隔在(‑J×S,K×P)范围内的不稳定传输位置;步骤9,处理模块在与数据传输时钟Clk上升沿的时间间隔在(‑J×S,K×P)范围内的不稳定传输位置中求取与数据传输时钟Clk上升沿的时间间隔的最小值L1和最大值L2;并且计算链路标号对应的采样数据在传输过程中的同步时延Delay;当L2小于等于0时,链路标号对应的采样数据在传输过程中的同步时延Delay计算公式如下:Delay=‑L2+(L2‑L1)/2+O当L1小于等于0,并且L2大于0,并且‑(L2+L1)/2+O大于等于0时,链路标号对应的采样数据在传输过程中的同步时延Delay计算公式如下:Delay=‑(L2+L1)/2+O当L1小于等于0,并且L2大于0,并且‑(L2+L1)/2+O小于0时,链路标号对应的采样数据在传输过程中的同步时延Delay计算公式如下:Delay=T‑(L2+L1)/2+O当L1大于0时,链路标号对应的采样数据在传输过程中的同步时延Delay计算公式如下:Delay=T‑(L1+(L2‑L1)/2)+O其中,T是数据传输时钟Clk的周期、L1是与数据传输时钟上升沿时间间隔的最小值、L2是与数据传输时钟上升沿时间间隔的最大值、O是IO延迟的传播延迟。
地址 710071 陕西省西安市太白南路2号
您可能感兴趣的专利