System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA高速Serdes读写DDR的方法技术_技高网

一种基于FPGA高速Serdes读写DDR的方法技术

技术编号:40102452 阅读:9 留言:0更新日期:2024-01-23 17:54
本发明专利技术涉及一种基于FPGA高速Serdes读写DDR的方法,属于嵌入式系统领域。该方法包括以下步骤:周期性获取北斗或GPS信号,若能接收到所述信号并且FPGA时钟的频率误差大于阈值时对所述时钟进行在线校准,若不能接收到所述信号则进行离线校准,得到校准后的时钟;基于校准后的时钟,采用多包乒乓机制进行FPGA高速Serdes与DDR接口的数据位宽和传输速率的转换;基于校准后的时钟和FPGA脉冲信号,采用双向握手机制控制Serdes和DDR接口的数据流进行数据传输。该方法可实现大带宽数据不丢包的情况下达到最大传输速率,而且可实现在没有北斗或GPS信号的情况下自动校准FPGA时钟,对于高速、高精度信号的传输具有重要意义。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统领域,尤其涉及一种基于fpga高速serdes读写ddr的方法。


技术介绍

1、由于fpga灵活性高、开发周期短、并行计算效率高,使其越来越多地应用到嵌入式系统中。因此,fpga经常需要与嵌入式系统中的其他芯片,如dsp、cpu、gpu、mcu,实时共享ddr数据,这时就需要在fpga与其他芯片间搭建高速数据通道。并且,随着医疗、工业控制、军工等领域的飞速发展,嵌入式系统需要处理大量高精度信号,因此,fpga需要高精度的时钟。

2、在现有技术中,pcie接口可以实现大带宽数据交换,直接读写ddr。但是有些芯片如dsp没有pcie接口,只能利用现有的接口进行数据传输。另外,在获取高精度时钟时,现有技术通常采用北斗或gps设备输出的时钟信号驱动系统,但当北斗或gps信号质量不佳时,会导致fpga的时钟具有很大的偏移误差。

3、现有技术主要存在以下缺陷,一是在嵌入式系统没有pcie接口时,fpga与其他芯片无法进行高速、可靠的数据传输;二是当北斗或gps信号质量不佳时,会导致fpga的时钟具有很大的偏移误差。


技术实现思路

1、鉴于上述的分析,本专利技术旨在提供一种基于fpga高速serdes读写ddr的方法,用以解决现有嵌入式系统没有pcie接口时fpga与其他芯片无法进行高速、可靠的数据传输,在北斗或gps信号质量不佳时fpga的时钟具有很大的偏移误差的问题。

2、本专利技术提供了一种基于fpga高速serdes读写ddr的方法,所述方法包括以下步骤:

3、周期性获取北斗或gps信号,若能接收到所述信号并且fpga时钟的频率误差大于阈值时对所述时钟进行在线校准,若不能接收到所述信号则进行离线校准,得到校准后的时钟;

4、基于校准后的时钟,采用多包乒乓机制进行fpga高速serdes与ddr接口的数据位宽和传输速率的转换;

5、基于校准后的时钟和fpga脉冲信号,采用双向握手机制控制serdes和ddr接口的数据流进行数据传输。

6、进一步地,所述周期性获取北斗或gps信号,若能接收到所述信号并且fpga时钟的频率误差大于阈值时对所述时钟进行在线校准,得到校准后的时钟包括:

7、获取北斗或gps信号,读取当前vco温度和dac配置值,将所述vco温度和dac配置值输入训练好的线性回归模型得到当前压控振荡器vco输出的时钟频率;

8、基于所述北斗或gps信号以及所述时钟频率得到fpga时钟的频率误差,若所述频率误差小于阈值则得到校准后的时钟;否则,根据所述频率误差正负情况,基于dac精度,控制dac配置值以最小步长向上或向下浮动,基于浮动后的dac配置值得到vco输出的时钟频率并得到fpga时钟的频率误差,直至所述频率误差小于阈值时得到校准后的时钟;

9、将校准后的时钟、dac配置值和对应的vco温度存入eeprom中。

10、进一步地,所述若不能接收到所述信号则进行离线校准,得到校准后的时钟包括:

11、读取当前vco温度以及eeprom存储的历史数据;

12、若所述历史数据中存在当前vco温度,则获取对应的时钟值作为校准后的时钟;否则,将所述vco温度和对应的dac配置值输入训练好的线性回归模型得到当前vco输出的时钟频率,将所述时钟频率作为校准后的时钟。

13、进一步地,所述基于校准后的时钟,采用多包乒乓机制进行fpga高速serdes与ddr接口的数据位宽和传输速率的转换包括:

14、将fpga的ram分成两块相同的区域,基于校准后的时钟,所述serdes与ddr接口轮流读写/写读所述两块区域;

15、所述serdes在第一/第二区域写入/读取数据,同时所述ddr接口在第二/第一区域读取/写入数据,将多包serdes数据以burst形式写入ddr或将ddr数据以burst形式读出,从而实现fpga高速serdes与ddr接口的数据位宽和传输速率的转换。

16、进一步地,所述基于校准后的时钟和fpga脉冲信号,采用双向握手机制控制serdes和ddr接口的数据流进行数据传输包括:

17、当读/写开始时,基于校准后的时钟和fpga脉冲信号,将serdes和ddr接口的握手脉冲信号清零使所述第一区域和第二区域上锁;

18、当第一区域填满或读空数据后,serdes/ddr接口产生握手脉冲信号并将该信号发送给ddr接口/serdes,同时锁存该握手脉冲信号使第一区域进入等待;

19、当第二区域中的数据读空或填满后,ddr接口/serdes产生另一握手脉冲信号并将该信号发送给serdes/ddr接口,同时锁存该握手脉冲信号使第二区域进入等待;

20、当第一与第二区域均处于等待状态时,serdes与ddr接口进行握手,握手成功后,第一与第二区域等待状态清零,serdes与ddr交换读/写区域,如此反复进行。

21、进一步地,所述训练好的线性回归模型通过以下方法获得:

22、步骤1、构建线性回归模型,基于vco温度及其对应的dac配置值、fpga时钟值构建训练样本集和验证样本集;

23、步骤2、对于训练样本集中的每个样本,将vco温度和dac配置值输入所述线性回归模型得到预测的时钟值,通过损失函数得到所述预测的时钟值与所述vco温度和dac配置值对应的fpga时钟值之间的误差;若所述误差大于阈值,则基于所述误差及所述模型的优化器对所述模型的参数进行更新,继续训练;否则,得到训练完的线性回归模型;

24、步骤3、对于验证样本集中的每个样本,将vco温度和dac配置值输入训练完的线性回归模型得到预测值,计算真实值与所述预测值的均方误差mse,当mse小于阈值时得到训练好的线性回归模型。

25、进一步地,所述线性回归模型的形式为:

26、y=a0+a1x1+a2x2,其中,y为输出的vco时钟频率值,x1为输入的vco温度,x2为输入的dac配置值,a0、a1、a2为模型参数;

27、所述线性回归模型的损失函数为:

28、l=(y-f(x))2,其中,l为误差值,y为真实值,f(x)为与输入的vco温度和dac配置值对应的预测值;

29、所述线性回归模型的优化器采用随机梯度下降法。

30、进一步地,基于北斗或gps1pps信号对fpga时钟进行周期性计数,所述周期性计数的最大值与fpga时钟标称频率的差值即为fpga时钟的频率误差。

31、进一步地,用对所述fpga时钟每1秒进行计数得到的fpga时钟的频率误差评估所述fpga时钟的稳定性,用对所述fpga时钟每10秒进行计数得到的fpga时钟的频率误差评估所述fpga时钟的精确度。

32、进一步地,当对所述fpga时钟每1秒和每10秒分别进行计数得到的fpga时钟的频率误差在连本文档来自技高网...

【技术保护点】

1.一种基于FPGA高速Serdes读写DDR的方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述周期性获取北斗或GPS信号,若能接收到所述信号并且FPGA时钟的频率误差大于阈值时对所述时钟进行在线校准,得到校准后的时钟包括:

3.根据权利要求1所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述若不能接收到所述信号则进行离线校准,得到校准后的时钟包括:

4.根据权利要求1所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述基于校准后的时钟,采用多包乒乓机制进行FPGA高速Serdes与DDR接口的数据位宽和传输速率的转换包括:

5.根据权利要求1所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述基于校准后的时钟和FPGA脉冲信号,采用双向握手机制控制Serdes和DDR接口的数据流进行数据传输包括:

6.根据权利要求2所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述训练好的线性回归模型通过以下方法获得:

7.根据权利要求6所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,所述线性回归模型的形式为:

8.根据权利要求1或2所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,基于北斗或GPS1pps信号对FPGA时钟进行周期性计数,所述周期性计数的最大值与FPGA时钟标称频率的差值即为FPGA时钟的频率误差。

9.根据权利要求8所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,用对所述FPGA时钟每1秒进行计数得到的FPGA时钟的频率误差评估所述FPGA时钟的稳定性,用对所述FPGA时钟每10秒进行计数得到的FPGA时钟的频率误差评估所述FPGA时钟的精确度。

10.根据权利要求8所述的基于FPGA高速Serdes读写DDR的方法,其特征在于,当对所述FPGA时钟每1秒和每10秒分别进行计数得到的FPGA时钟的频率误差在连续30秒内均小于阈值时,则判定FPGA时钟的频率误差小于阈值得到校准后的时钟。

...

【技术特征摘要】

1.一种基于fpga高速serdes读写ddr的方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的基于fpga高速serdes读写ddr的方法,其特征在于,所述周期性获取北斗或gps信号,若能接收到所述信号并且fpga时钟的频率误差大于阈值时对所述时钟进行在线校准,得到校准后的时钟包括:

3.根据权利要求1所述的基于fpga高速serdes读写ddr的方法,其特征在于,所述若不能接收到所述信号则进行离线校准,得到校准后的时钟包括:

4.根据权利要求1所述的基于fpga高速serdes读写ddr的方法,其特征在于,所述基于校准后的时钟,采用多包乒乓机制进行fpga高速serdes与ddr接口的数据位宽和传输速率的转换包括:

5.根据权利要求1所述的基于fpga高速serdes读写ddr的方法,其特征在于,所述基于校准后的时钟和fpga脉冲信号,采用双向握手机制控制serdes和ddr接口的数据流进行数据传输包括:

6.根据权利要求2所述的基于fpga高速serdes读写dd...

【专利技术属性】
技术研发人员:王姚幸李熊雄周英培刘阔林张声铨
申请(专利权)人:中国兵器装备集团上海电控研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1