[发明专利]基于FPGA的多路数据传输同步时延的测量方法及系统有效
申请号: | 201410289508.8 | 申请日: | 2014-06-25 |
公开(公告)号: | CN104077257B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 苏涛;逄锦昊;陈建康;秦岩;田充足;熊梓成 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 西安睿通知识产权代理事务所(特殊普通合伙)61218 | 代理人: | 惠文轩 |
地址: | 710071*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 路数 据传 同步 测量方法 系统 | ||
1.一种基于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的最大正整数;
控制模块设定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之内的频点作为第二频点,并且确定第一频点的幅值、第二频点的幅值;
求第一频点的幅值与第二频点的幅值的均方根值,并将第一频点的幅值与第二频点的幅值的均方根值作为信号有效值Asignal;
求取FFT的结果中除第一频点和第二频点以外其它频点对应的幅值的均方根值,并将其它频点对应的幅值的均方根值作为噪声的有效值Anoise;
根据信号有效值Asignal和噪声的有效值Anoise计算信噪比SNR,计算公式如下:
SNR=10lg(Asignal/Anoise)
将判断求得的信噪比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延迟的传播延迟。
2.一种基于FPGA的多路数据传输同步时延的测量系统,其特征在于,所述测量系统包括现场可编程门阵列FPGA和上位机;FPGA包括时钟模块、IO延迟模块、移相模块、采样转换模块和选择模块;上位机包括处理模块和控制模块;
时钟模块用于产生数据传输时钟Clk和帧同步信号Frame,并将数据传输时钟Clk发送至移相模块,将帧同步信号Frame发送至采样转换模块;
控制模块用于接收用户输入的数据链路标号,链路标号对应的串行数据的频率f,以及链路标号对应的串行数据的信噪比z;将链路标号发送到选择模块;将链路标号对应的串行数据的频率f和信噪比z发送至处理模块;
控制模块还用于根据IO延迟模块的一阶延迟值S和最大延迟阶J,得到时钟每次相移量P,其中,时钟每次相移量P取小于等于J×S的值,将时钟每次相移量P发送到移相模块;×表示相乘;根据数据传输时钟Clk的周期T和时钟每次相移量P,得到相移最大次数K,K取小于T除以P的最大正整数;设定a为数据的延迟阶,取值范围0~J,J为IO延迟模块的最大延迟阶;设定b为时钟的相移次数,取值范围0~K;将数据的延迟阶a发送到IO延迟模块,时钟的相移次数b发送到移相模块;
IO延迟模块用于接收串行数据Data,根据数据的延迟阶a对串行数据Data进行延迟,延迟量为a×S,其中S为IO延迟模块的一阶延迟值,得到延迟量为a×S的延迟数据,将延迟量为a×S的延迟数据发送到采样转换模块;
移相模块用于接收时钟模块发送的数据传输时钟Clk,根据时钟的相移次数b对数据传输时钟Clk进行移相,移相的间隔为b×P,得到移相的间隔为b×P的采样时钟,移相模块将移相间隔为b×P的采样时钟发送到采样转换模块;
采样转换模块用于在检测到帧同步信号Frame的上升沿后使用移相间隔为b×P的采样时钟,采样延迟量为a×S的延迟数据,确定与数据传输时钟Clk上升沿的时间间隔为L的采样点位置U,其中,L=b×P-a×S,采样持续m个时钟周期,得到在采样点位置U的m个时钟周期的采样数据,m为自然数;
采样转换模块还用于对采样数据解串再调整串位,得到调整串位之后的采样数据;将调整串位之后的采样数据发送至选择模块;选择模块将调整串位之后的采样数据中链路标号对应的采样数据发送到处理模块;
处理模块用于对链路标号对应的采样数据进行FFT运算,根据FFT的结果,确定链路标号对应的串行数据的频率f对应的第一频点、在第一频点左右两边选择幅值在0~3db之内的频点作为第二频点,并且确定第一频点的幅值、第二频点的幅值;求第一频点的幅值与第二频点的幅值的均方根值,并将第一频点的幅值与第二频点的幅值的均方根值作为信号有效值Asignal;求取FFT的结果中除第一频点和第二频点以外其它频点对应的幅值的均方根值,并将其它频点对应的幅值的均方根值作为噪声的有效值Anoise;根据信号有效值Asignal和噪声的有效值Anoise计算信噪比SNR,计算公式如下:
SNR=10lg(Asignal/Anoise)
将判断求得的信噪比SNR是否大于等于信噪比z,如果判断结果为是,采样点位置U是稳定传输位置;如果判断结果为否,则采样点位置U是不稳定传输位置;
控制模块还用于设定数据的延迟阶a增加1,直到当数据的延迟阶a等于J时,J为IO延迟模块的最大延迟阶,处理模块得到与数据传输时钟Clk上升沿的时间间隔在(b×P-J×S,b×P)范围内的不稳定传输位置;设定时钟的相移次数b增加1,直到当b等于K时,K取小于T除以P的最大正整数,处理模块得到与数据传输时钟Clk上升沿的时间间隔在(-J×S,K×P)范围内的不稳定传输位置;
处理模块还用于在与数据传输时钟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延迟的传播延迟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410289508.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:晶圆图数据的处理方法及系统
- 下一篇:用于识别配件的方法和电子设备