System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及嵌入式系统领域,尤其涉及一种基于fpga的高精度信号跨时钟域传输系统。
技术介绍
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的高精度信号跨时钟域传输系统,用以解决现有嵌入式系统没有pcie接口时fpga与其他芯片无法进行高速、可靠的数据传输,在北斗或gps信号质量不佳时fpga的时钟具有很大的偏移误差的问题。
2、本专利技术提供了一种基于fpga的高精度信号
3、北斗或gps设备,用于发送lock信号和1pps脉冲信号;
4、fpga,用于周期性获取北斗或gps信号,若能接收到所述信号并且fpga时钟的频率误差大于阈值时,则将获取的当前vco温度和dac配置值传送至cpu,基于cpu上运行的线性回归模型得到预测时钟频率,并根据所述1pps脉冲信号和预测时钟频率输出dac配置值对所述时钟进行在线校准,得到校准后的时钟;还用于基于校准后的时钟和fpga脉冲信号,采用多包乒乓机制和双向握手机制进行数据传输;
5、数模转换芯片dac,用于根据fpga输出的dac配置值输出相应的模拟电压;
6、压控振荡器vco,用于根据数模转换芯片dac输出的模拟电压输出时钟频率,并将时钟频率输入至fpga中,作为fpga时钟源;
7、温度传感器,用于获取vco温度,并将所述vco温度传送至fpga。
8、进一步地,所述系统还包括:
9、eeprom,用于存储校准后的时钟、dac配置值和对应的vco温度;还用于当fpga不能接收到北斗或gps信号时为离线校准提供对应的校准后的时钟和dac配置值。
10、进一步地,所述fpga还包括:
11、serdes,用于与dsp或gpu或mcu连接进行数据的写入或读取;
12、ddr接口,用于与ddr连接进行数据的写入或读取;
13、ram,分成两块相同的区域,用于写入或读取数据;
14、serdes与ddr接口基于校准后的时钟,采用多包乒乓机制进行数据位宽和传输速率的转换;
15、serdes与ddr接口基于校准后的时钟和fpga脉冲信号,采用双向握手机制控制数据流进行数据传输。
16、进一步地,所述根据所述1pps脉冲信号和预测时钟频率输出dac配置值对所述时钟进行在线校准,得到校准后的时钟,包括:
17、基于所述1pps信号和所述预测时钟频率得到fpga时钟的频率误差,若所述频率误差小于阈值则得到校准后的时钟;否则,根据所述频率误差正负情况,基于dac精度,控制dac配置值以最小步长向上或向下浮动,输出浮动后的dac配置值至模数转换芯片,并获取当前vco输出的时钟频率,得到fpga时钟的频率误差,直至所述频率误差小于阈值时得到校准后的时钟。
18、进一步地,fpga执行下述步骤进行离线校准得到校准后的时钟:
19、步骤501、fpga读取当前vco温度以及eeprom存储的历史数据;
20、步骤502、若所述历史数据中存在当前vco温度,则获取对应的时钟值作为校准后的时钟;否则,将所述vco温度和对应的dac配置值输入训练好的线性回归模型得到预测时钟频率,将所述时钟频率作为校准后的时钟。
21、进一步地,所述serdes与ddr接口基于校准后的时钟,采用多包乒乓机制进行数据位宽和传输速率的转换包括:
22、步骤601、基于校准后的时钟,所述serdes与ddr接口轮流读写/写读所述两块区域;
23、步骤602、所述serdes在第一/第二区域写入/读取数据,同时所述ddr接口在第二/第一区域读取/写入数据,将多包serdes数据以burst形式写入ddr或将ddr数据以burst形式读出,从而实现fpga高速serdes与ddr接口的数据位宽和传输速率的转换。
24、进一步地,所述serdes与ddr接口基于校准后的时钟和fpga脉冲信号,采用双向握手机制控制数据流进行数据传输包括:
25、步骤701、当读/写开始时,基于校准后的时钟和fpga脉冲信号,将serdes和ddr接口的握手脉冲信号清零使所述第一区域和第二区域上锁;
26、步骤702、当第一区域填满或读空数据后,serdes/ddr接口产生握手脉冲信号并将该信号发送给ddr接口/serdes,同时锁存该握手脉冲信号使第一区域进入等待;
27、步骤703、当第二区域中的数据读空或填满后,ddr接口/serdes产生另一握手脉冲信号并将该信号发送给serdes/ddr接口,同时锁存该握手脉冲信号使第二区域进入等待;
28、步骤704、当第一与第二区域均处于等待状态时,serdes与ddr接口进行握手,握手成功后,第一与第二区域等待状态清零,serdes与ddr交换读/写区域,如此反复进行。
29、进一步地,采用如下方式得到训练好的线性回归模型:
30、步骤801、构建线性回归模型,基于vco温度及其对应的dac配置值、fpga时钟值构建训练样本集和验证样本集;
31、步骤802、对于训练样本集中的每个样本,将vco温度和dac配置值输入所述线性回归模型得到预测的时钟值,通过损失函数得到所述预测的时钟值与所述vco温度和dac配置值对应的fpga时钟值之间的误差;若所述误差大于阈值,则基于所述误差及所述模型的优化器对所述模型的参数进行更新,继续训练;否则,得到训练完的线性回归模型;
32、步骤803、对于验证样本集中的每个样本,将vco温度和dac配置值输入训练完的线性回归模型得到预测值,计算真实值与所述预测值的均方误差mse,当mse小于阈值时得到训练好的线性回归模型。
33、进一步地,所述线性回归模型的形式为:
34、y本文档来自技高网...
【技术保护点】
1.一种基于FPGA的高精度信号跨时钟域传输系统,其特征在于,包括:
2.根据权利要求1所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述系统还包括:
3.根据权利要求1所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述FPGA还包括:
4.根据权利要求1所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述根据所述1pps脉冲信号和预测时钟频率输出DAC配置值对所述时钟进行在线校准,得到校准后的时钟,包括:
5.根据权利要求2所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,FPGA执行下述步骤进行离线校准得到校准后的时钟:
6.根据权利要求3所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述Serdes与DDR接口基于校准后的时钟,采用多包乒乓机制进行数据位宽和传输速率的转换包括:
7.根据权利要求3所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述Serdes与DDR接口基于校准后的时钟和FPGA脉冲信号,采用双向握手机制控制数
8.根据权利要求1所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,采用如下方式得到训练好的线性回归模型:
9.根据权利要求8所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,所述线性回归模型的形式为:
10.根据权利要求1所述的基于FPGA的高精度信号跨时钟域传输系统,其特征在于,当对FPGA时钟每1秒和每10秒分别进行计数得到的FPGA时钟的频率误差在连续30秒内均小于阈值时,则判定FPGA时钟的频率误差小于阈值得到校准后的时钟。
...【技术特征摘要】
1.一种基于fpga的高精度信号跨时钟域传输系统,其特征在于,包括:
2.根据权利要求1所述的基于fpga的高精度信号跨时钟域传输系统,其特征在于,所述系统还包括:
3.根据权利要求1所述的基于fpga的高精度信号跨时钟域传输系统,其特征在于,所述fpga还包括:
4.根据权利要求1所述的基于fpga的高精度信号跨时钟域传输系统,其特征在于,所述根据所述1pps脉冲信号和预测时钟频率输出dac配置值对所述时钟进行在线校准,得到校准后的时钟,包括:
5.根据权利要求2所述的基于fpga的高精度信号跨时钟域传输系统,其特征在于,fpga执行下述步骤进行离线校准得到校准后的时钟:
6.根据权利要求3所述的基于fpga的高精度信号跨时钟域传输系统,其特征在于,所述serdes与ddr接口基于校准...
【专利技术属性】
技术研发人员:王姚幸,李熊雄,周英培,刘阔林,张声铨,
申请(专利权)人:中国兵器装备集团上海电控研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。