一种基于时间参数拟合处理的异步数据存储方法技术领域
本发明涉及数据存储领域,特别是一种基于时间参数拟合处理的异步数据存储方
法。
背景技术
随着制作工艺的不断发展、各种先进材料的出现,超大规模集成电路的功能越来
越强大,特别是现场可编程逻辑门(Filed Programmable Gate Array,FPGA)依靠其方便快
捷的可重复编程开发特性及丰富可配置接口资源,已经逐渐成为控制、通信、检测等领域的
核心部件。
在航天领域中,小型化已经成为了卫星发展的主要趋势,它要求所用电子元件必
须具有集成度高、尺寸小的特点,这就使得现场可编程门阵列(FPGA)成为了星用电子元器
件的主要选择。目前,卫星控制系统中的重要组成部分,各执行机构的驱动控制部件已经普
遍采用FPGA实现控制算法处理。
执行机构的驱动控制部件通过FPGA实现对应的控制算法处理,比如确立整星姿
态、轨道位置信息,控制算法处理过程中需要使用原始星图、基准数据等原始数据作为比对
依据,这就要求存储大量的数据信息,但在实现过程中存在着如下应用问题需要解决:
(1)采用外部存储器实现原始星图、基准数据等数据信息的存储,但是需要为存储
器芯片增加印制板面积,这带来了卫星体积增长的问题,另外外部存储器一般为异步存储
方式,需要完整稳定的接口处理时序才能保证数据存储与使用时的准确,这就带来了运行
速度上的时间消耗;
(2)采用基于SRAM型FPGA内部存储器实现原始星图、基准数据等数据信息的存储,
可以选择内部RAM资源或者FIFO资源实现,但SRAM型FPGA对单粒子效应敏感,易造成数据翻
转错误,必须配合有效可靠性措施,才能使用,这增加了系统实现的复杂度,降低了系统的
可靠度;
(3)采用基于反熔丝型FPGA内部存储器实现原始星图、基准数据等数据信息的存
储受限于中国能够采购到的器件种类,无法在内部通过时序资源实现大量数据的可靠存
储,即采用异步存储资源实现数据存储存在的数据访问时序不可控制问题带来的数据的精
度和效率将会降低。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种通过采集数据时刻
点的前期拟合,收集和整理各个时刻点的拟合信息确定得到最优的拟合时刻的基于时间参
数拟合处理的异步数据存储方法,解决了现有技术使用异步存储单元与其他功能模块进行
数据交互时,数据采集输出响应时间易随外部环境变化的问题。
本发明的技术解决方案是:一种基于时间参数拟合处理的异步数据存储方法,包
括如下步骤:
步骤1、将M个目标对应的原始数据分别预置在FPGA的异步存储单元中,其中,原始
数据均不为恒定数据,其中,M为正整数;
步骤2、从外部获取多个目标对应的目标数据并存储至异步存储单元固定的地址
空间中,其中,目标数据包括异步存储单元中预置的当前目标对应的部分或全部原始数据
的倍数数据,目标1的目标数据记为目标数据1,目标2的目标数据记为目标数据2,…,目标M
的目标数据记为目标数据M,其中,M为正整数;
步骤3、从外部获取采集时刻点数量N,如果当前FPGA支持倍频处理,则在采集器件
倍频时钟的上升沿选取N个采集时刻点,或者在采集器件倍频时钟的上升沿、下降沿组合选
取N个采集时刻点;
如果当前FPGA不支持倍频处理,则在采集器件倍频时钟的上升沿、下降沿进行成
对的组合选取采集时刻点,同时在上升沿、下降沿中间选取采集时刻点,直至选取到N个采
集时刻点,其中,N为正整数;
步骤4、对目标数据1在采集时刻点1进行数据采集,得到数据信息1_1并存入目标
数据1数据采集时刻点确认集合中,在采集时刻点2进行数据采集,得到数据信息1_2并存入
目标数据1数据采集时刻点确认集合中,…,对目标数据1在采集时刻点N进行数据采集,得
到数据信息1_N并存入目标数据1数据采集时刻点确认集合中,对目标数据2在采集时刻点1
进行数据采集,得到数据信息2_1并存入目标数据2数据采集时刻点确认集合中,在采集时
刻点2进行数据采集,得到数据信息2_2并存入目标数据2数据采集时刻点确认集合中,…,
在采集时刻点N进行数据采集,得到数据信息2_N存入目标数据2数据采集时刻点确认集合
中,…,对目标数据M在采集时刻点1进行数据采集,得到数据信息M_1并存入目标数据M数据
采集时刻点确认集合中,在采集时刻点2进行数据采集,得到数据信息M_2并存入目标数据M
数据采集时刻点确认集合中,…,在采集时刻点N进行数据采集,得到数据信息M_N并存入目
标数据M数据采集时刻点确认集合中;
步骤5、将目标数据1数据采集时刻点确认集合中采集时刻点i对应的数据与异步
存储单元预置的目标1对应的采集时刻点i的原始数据进行对比,如果两者相同,则采集时
刻点i的有效权重系数TIMEi_VAULE加1,否则,不对采集时刻点i的有效权重系数TIMEi_
VAULE进行操作,遍历所有的采集时刻点i;将目标数据2数据采集时刻点确认集合中采集时
刻点i对应的数据与异步存储单元预置的目标2对应的采集时刻点i的原始数据进行对比,
如果两者相同,则采集时刻点i的有效权重系数TIMEi_VAULE加1,否则,不对采集时刻点i的
有效权重系数TIMEi_VAULE进行操作,遍历所有的采集时刻点i;…将目标数据M数据采集时
刻点确认集合中采集时刻点i对应的数据与异步存储单元预置的目标M对应的采集时刻点i
的原始数据进行对比,如果两者相同,则采集时刻点i的有效权重系数TIMEi_VAULE加1,否
则,不对采集时刻点i的有效权重系数TIMEi_VAULE进行操作,遍历所有的采集时刻点i,其
中,i=1,2,3…N;
步骤6,将前P个有效权重系数对应的采集时刻点送至外部控制算法处理模块,令
外部控制算法处理模块根据得到的采集时刻点从异步存储单元预置的原始数据进行数据
采集,然后根据采集得到的数据进行控制算法处理,并将控制算法处理结果送至异步存储
单元存储,其中,P<N且为正整数。
所述的N在当前FPGA支持倍频处理时为10,N在当前FPGA不支持倍频处理时为3。
所述的步骤(3)中在上升沿、下降沿中间进行采集为通过IDELAY延迟模块或逻辑
门电路延迟模块实现。
所述的数据采集时刻点确认集合能够只存储部分采集时刻点对应的采集数据。
所述的原始数据包括异步存储预设原码值、单元存储星图或导航标定点数据。
所述的P在N为10时取值为3,P在N为3时取值为1。
所述的步骤1-步骤6在反熔丝型FPGA上实现。
所述的控制算法处理模块为星图比对模块或者驱动控制模块。
本发明与现有技术相比的优点在于:
(1)本发明存储方法通过一组有序的目标数据,实现了采集数据时刻点的前期拟
合,然后通过收集和整理各个时刻点的拟合信息确定得到最优的采集时刻点,解决了现有
技术使用异步存储单元与其他功能模块进行数据交互时,数据采集输出响应时间易随外部
环境变化的问题,为异步存储单元数据提供了高速、稳定、可靠的读取访问方法;
(2)本发明存储方法与现有技术相比,能够充分、合理的利用了FPGA,特别是卫星
控制系统常用反熔丝型FPGA的内部资源,将卫星控制系统各执行机构驱动控制部件中原本
需要使用3片FPGA时序资源存储的数据信息,通过1片FPGA的异步存储单元完成了数据存
储,极大地降低了功能系统的复杂度、研制周期及经费预算,能较好的适用于时序资源受限
而又需要存储大量数据的应用环境。
附图说明
图1为本发明一种基于时间参数拟合处理的异步数据存储方法原理示意图;
图2为本发明一种基于时间参数拟合处理的异步数据存储方法原理流程图。
具体实施方式
如图1所示本发明一种基于时间参数拟合处理的异步数据存储方法原理示意图,
本发明方法在控制算法处理模块和异步存储单元之间提出了一个基于时间参数的数据拟
合处理模块,该模块通过外部输入一组有序的目标数据,实现了采集数据时刻点的前期拟
合,然后通过收集和整理各个时刻点的拟合信息,确定得到最优的采集时刻点。基于时间参
数的数据拟合处理模块将最优采集时刻点输出至控制算法处理模块,控制算法处理模块在
运行过程中,将通过最优采集时刻点访问异步存储单元。本发明方法与现有技术相比,解决
了使用异步存储单元存储数据时,因为与其他时钟域功能模块进行数据交互时,异步存储
单元数据输出的响应时间易随外部环境变化的问题,下面结合附图对本发明方法进行详细
说明,如图2所示本发明方法包括如下步骤:
步骤1,控制算法处理模块正式工作运行前,设置控制算法处理异步存储单元访问
禁止标志,将异步存储预设原码值、单元存储星图或者导航标定点数据中的一种预置在
FPGA中的异步存储单元中,其中,预设原码值、单元存储星图、导航标定点等数据均不为恒
定数据,预设原码值为包括正向限、负向限的函数数据,然后向基于时间参数的数据拟合处
理模块发送启动指令,当基于时间参数的数据拟合处理模块接收到启动指令时,转入步骤
2。
步骤2,基于时间参数的数据拟合处理模块从外部接收一组有序的目标数据,这组
有序的目标数据由使用者确定,包括多个目标数据,应具有一定的典型代表意义,即包括异
步存储单元中预设的部分或全部预设原码值、部分或全部单元存储星图、部分或全部导航
标定点数据的倍数数据,或者异步存储单元中预设的部分或全部预设原码值、部分或全部
单元存储星图、部分或全部导航标定点数据,将目标数据存储至异步存储单元固定的地址
空间中。
步骤3,设置实现数据拟合处理的采集时刻点数量,采集时刻点数量可在线配置,
如果当前FPGA支持倍频处理,那么将采集时刻点数量设置为N(N为大于0的整数,一般可以
设置为10),如果当前FPGA不支持倍频处理,那么将采集时刻点数量设置为N(N为大于0的整
数,一般可以设置为3);
当采用倍频模式实现数据采集时,根据上述配置的采集时刻点数量、采集所使用
器件主频,设置采集所使用数据采集器件在采集时刻点的倍频参数,保证所使用器件在倍
频时钟的上升沿可以选取到对应的采集时刻点数量,或者倍频时钟的上升沿、下降沿组合
选取到对应的采集时刻点数量;
当不支持倍频实现数据采集时,利用所使用数据采集器件时钟上升沿、下降沿进
行成对的组合选取,同时提供了IDELAY延迟模块或者逻辑门电路延迟模块实现上升沿、下
降沿中间的采集时刻点选取。
步骤4,启动目标数据各个采集时刻点数据的拟合处理,具体操作如下:
步骤a,实现目标数据1在步骤3设置的采集时刻点的数据采集;
实现目标数据1在采集时刻点1处的数据采集,将数据信息1_1存入数据采集时刻
点确认集合中;实现目标数据1在采集时刻点2处的数据采集,将数据信息1_2存入数据采集
时刻点确认集合中;以此类推,实现目标数据1在采集时刻点N处的数据采集,将数据信息1_
N存入数据采集时刻点确认集合中;
步骤b,实现目标数据2在步骤3中设置采集时刻点的数据采集;
实现目标数据2在采集时刻点1处的数据采集,将数据信息2_1存入数据采集时刻
点确认集合中;实现目标数据2在采集时刻点2处的数据采集,将数据信息2_2存入数据采集
时刻点确认集合中;以此类推,实现目标数据2在采集时刻点N处的数据采集,将数据信息2_
N存入数据采集时刻点确认集合中;
步骤c,依据步骤a和b所描述,实现目标数据M在步骤3中设置采集时刻点的数据采
集;
实现目标数据M在采集时刻点1处的数据采集,将数据信息M_1存入数据采集时刻
点确认集合中;实现目标数据M在采集时刻点2处的数据采集,将数据信息M_2存入数据采集
时刻点确认集合中;以此类推,实现目标数据M在采集时刻点N处的数据采集,将数据信息M_
N存入数据采集时刻点确认集合中,其中,每个目标均对应一个目标数据,目标数据的个数
可以与采集时刻点的数量不同,M、N均为正整数;
步骤d,如果存储资源有限,可以只将最先、最后、中间或者某几个连续的采集时刻
点(一般取步骤a、步骤b、步骤c得到数据矩阵的前三列、中间三列或者后三列)数据信息记
录入数据采集时刻点确认集合中。
步骤5,实现在步骤4中得到的数据采集时刻点确认集合中数据与目标数据的追溯
与比对,具体操作如下:
步骤a,实现数据采集时刻点1的有效权重系数;
将数据采集时刻点确认集合数据中在采集时刻点1记录下的所有数据依次与异步
存储单元预设原码值、单元存储星图或者导航标定点进行比较,如果数据采集时刻点确认
集合中的数据与异步存储单元预设数据相同,则将采集时刻点1的有效权重系数加1,否则
放弃数据采集时刻点确认集合数据中当前数据,然后比对采集时刻点1记录的下一个数据,
直至将采集时刻点集合中采集时刻点1记录的所有数据处理完成,得到采集时刻点1有效权
重值,并标记为TIME1_VAULE;
步骤b,实现数据采集时刻点2的有效权重系数;
将数据采集时刻点确认集合数据中在采集时刻点2记录下的所有数据依次与异步
存储单元预设原码值、单元存储星图或者导航标定点进行比较,如果数据采集时刻点确认
集合中的数据与异步存储单元预设数据相同,则将采集时刻点2的有效权重系数加1,否则
放弃数据采集时刻点确认集合数据中当前数据,然后比对采集时刻点2记录的下一个数据,
直至将采集时刻点集合中采集时刻点2记录的所有数据处理完成,得到采集时刻点2有效权
重值,并标记为TIME2_VAULE;
步骤c,依据步骤a和b所描述,实现采集时刻点N的有效权重系数;
将数据采集时刻点确认集合数据中在采集时刻点N记录下的所有数据依次与异步
存储单元预设原码值、单元存储星图或者导航标定点进行比较,如果数据采集时刻点确认
集合中的数据与异步存储单元预设数据相同,则将采集时刻点N的有效权重系数加1,否则
放弃数据采集时刻点确认集合数据中当前数据,然后比对采集时刻点N记录的下一个数据,
直至将采集时刻点集合中采集时刻点N记录的所有数据处理完成,得到采集时刻点N有效权
重值,并标记为TIMEN_VAULE。
步骤6,整理所有采集时刻点的有效权重值,按照多数原则处理,最后得到最优的
采集时刻点,一般默认输出有效权重系数最高的P(P为小于采集时刻点数量N的正整数,当N
为10时,P一般为3,当N为3时,P一般为1)个采集时刻点,其中,步骤2-步骤6均为基于时间参
数的数据拟合处理模块的工作过程,该模块可以在反熔丝型FPGA上实现。
步骤7,将步骤6中产生的最优采集时刻点送至外部的控制算法处理模块,并将最
优采集时刻点配置入异步存储单元中的读取访问模块,同时设置控制算法处理异步存储单
元访问允许标志,启动控制算法的后续处理。其中,控制算法处理模块可以为星图比对模
块,星图比对模块接收到P个最优采集时刻点后,启动控制算法处理,首先接收当前的实际
星图数据,然后根据P个最优采集时刻点从异步存储单元中获得预设的背景阈值,用坐标星
点的当前实际星图数据减去背景阈值,得到坐标星点的像素灰度值;然后再通过从异步存
储单元中读取出预设的孤立点坐标信息,完成坐标星点的剔除处理,得到有用的坐标星点
信息;记录入异步存储单元中。控制算法处理模块也可以为驱动控制部件控制输出模块,驱
动控制部件控制输出模块接收到P个最优采集时刻点后,启动控制算法处理,根据数字锁相
环模块计算的相位累加和,并结合P个最优采集时刻点,从异步存储单元中获得预设的正弦
波模拟器数据的原码值,实现对执行机构的驱动输出控制。
步骤8,控制算法处理模块根据最优采集时刻点从异步存储单元进行数据采集,然
后控制算法处理模块完成当前算法处理任务,最后将得到处理后的数据结果送至异步存储
单元存储。
步骤9,控制算法处理过程中,若有需要,可以在运行过程中返回步骤1,重新启动
一次数据拟合处理过程,以应对内部异步存储单元数据输出响应时间易随外部环境变化而
变化等问题。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。