System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及嵌入式系统领域,尤其涉及一种基于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...
【专利技术属性】
技术研发人员:王姚幸,李熊雄,周英培,刘阔林,张声铨,
申请(专利权)人:中国兵器装备集团上海电控研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。