一种基于异构双核的惯导系统重力参数存取方法及装置与流程

文档序号:36502232发布日期:2023-12-28 05:54阅读:29来源:国知局
一种基于异构双核的惯导系统重力参数存取方法及装置与流程

本发明涉及惯导,具体涉及一种基于异构双核的惯导系统重力参数存取方法及装置。


背景技术:

1、在高精度惯导系统中,进行导航解算时,通常需要一些精确的物理模型。一般来说,高精度的物理模型往往需要大量的高阶参数进行描述。为了实时地计算通常有以下几种使用方式。

2、一、将参数在dsp核程序中定义成全局变量进行存储,在用的时候直接获取即可。但是,对于系统资源有限但体量比较大的参数来说,这种方法在使用过程中就会给后续的程序升级带来问题。例如,2000阶的地球重力模型,其所需参数有4000000个,需要存储空间30.5176兆。如果将该变量按照常规方法定义到全局变量,则最后可能会因为占用资源过多导致生成可执行文件失败,即使成功该可执行文件也会非常大,这样升级程序的时间成本就会非常高,极大的浪费了人力和物力。

3、二、将参数存储在flash中。flash存储器具有容量大、写入速度快等优点,因此将参数存储在flash存储器,之后需要时由dsp核直接从flash中读取并使用也是一种很常用的方法。但在本系统中由于arm核上带有操作系统,因此未使用考虑flash相关方法。

4、三、将参数存储在sd卡中,然后由arm核通过共享内存将文件传输给dsp核。共享内存是一种在多处理器系统中可以被不同处理器访问的内容,是被广泛使用的核间通信方法。由于本系统中将共享内存用作他用,因此也无法使用该方法完成重力参数的数据传输。


技术实现思路

1、有鉴于此,本发明提供了一种基于异构双核的惯导系统重力参数存取方法及装置,能够解决现有技术无法在不影响后续程序升级的情况下处理重力参数的存储和读取的技术问题。

2、为了解决上述技术问题,本发明是这样实现的。

3、一种基于异构双核的惯导系统重力参数存取方法,所述惯导系统为异构双核系统,所述异构双核系统包括arm核和dsp核,所述方法包括如下步骤:

4、步骤s1:获取所述惯导系统的重力参数,将所述重力参数存储到文件中,所述文件包括{文件头,文件长度,重力参数,校验和},将所述文件存储于独立于所述惯导系统的sd卡中;

5、步骤s2:重启所述惯导系统,所述arm核在所述惯导系统启动完成后,自动读取所述sd卡中的内容,并根据dsp核及所述异构双核系统的ddr2的状态确定所述arm核的工作模式;根据所述arm核的工作模式获取并使用所述重力参数。

6、优选地,所述步骤s2中,获取所述惯导系统当前状态,根据所述惯导系统当前状态预估重力参数,在所述预估重力参数在ddr2有足够空间且dsp计算能力达到或超过阈值的情况下,所述arm核为第一工作模式;在ddr2空间不足或dsp计算能力小于阈值的情况下,所述arm核为第二工作模式;所述阈值是根据所述惯导系统当前的运行状态以及预估的重力参数的量级确定的。

7、优选地,所述arm核为第一工作模式时,所述arm核根据文件长度从所述sd卡将所述文件读取到ddr2中,触发dsp核中断,进入步骤s3;所述arm核为第二工作模式时,arm核对获取的dsp核发送的表征所述惯导系统状态的原始数据进行读取和解析,并对从所述sd卡中获取的重力参数计算校验和;校验和计算无误后将解析完毕的原始数据加入重力参数进行计算,每次计算完成后将计算结果放至dsp核指定的计算结果存放地址中,并设置相应标志位,进入步骤s4;若校验和错误,方法结束;

8、步骤s3:从ddr2中读取文件头并对其进行判断,若文件头正确,则从ddr2中根据文件长度读取相应长度的重力参数,根据读取到的全部重力参数计算校验和,校验和计算无误后对重力参数读取正确标志位置1,方法结束;若文件头错误或校验和错误,方法结束;

9、步骤s4:dsp核不断对存放着{计算完成标志位,计算完毕的参数}的指定地址进行查询,一旦查询到计算完成标志位为1,则从所述指定地址中读取计算完成的数据并将该指定地址对应的计算完成标志位置0,而后将读出的数据代入为修正所述惯导系统的状态的模型中进行计算,方法结束。

10、优选地,所述步骤s3,在重力参数读取正确标志位为1时,将重力参数代入所述惯导系统的解算算法中进行计算。

11、优选地,通过独立于所述惯导系统的pc机的上位机获取所述重力参数,将所述重力参数存储到文件中,所述文件存储于独立于所述异构双核系统的sd卡中。

12、本发明所提供的一种基于异构双核的惯导系统重力参数存取装置,所述惯导系统为异构双核系统,所述异构双核系统包括arm核和dsp核,所述装置包括:

13、文件存储模块:配置为获取所述惯导系统的重力参数,将所述重力参数存储到文件中,所述文件包括{文件头,文件长度,重力参数,校验和},将所述文件存储于独立于所述惯导系统的sd卡中;

14、参数存取模块:配置为重启所述惯导系统,所述arm核在所述惯导系统启动完成后,自动读取所述sd卡中的内容,并根据dsp核及所述异构双核系统的ddr2的状态确定所述arm核的工作模式;根据所述arm核的工作模式获取并使用所述重力参数。

15、本发明所提供的一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述方法。

16、本发明所提供的一种电子设备,其特征在于,所述电子设备,包括:

17、处理器,用于执行多条指令;

18、存储器,用于存储多条指令;

19、其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述方法。

20、本发明所带来的有益技术效果:

21、(1)本发明将原来存储在程序中的重力参数存储至sd卡中,这样即使加入了重力参数,dsp核的可执行文件大小也不会发生较大变化。这样能够避免可执行文件失败或由于可执行文件过大导致在程序升级过程中存在浪费人力和物力的情况。

22、(2)在ddr2有足够空间且dsp核计算能力充足的情况下,dsp核向arm核发送第一工作模式的指令。arm核接收到第一工作模式的指令进行解析并确认后开始第一工作模式任务。在该模式中arm核首先读取sd卡中的重力参数数据,然后将这些数据放置于ddr2中,并在放置完成后以中断方式通知dsp核。在该方法下,dsp核可以在不干预其他工作的情况下完成重力参数的读取和使用工作,还能极大地保持系统工作的可靠性和稳定性。

23、(3)在ddr2空间不足或dsp核计算能力不足的情况下,dsp核向arm核发送{工作模式指示,原始数据读取地址,计算结果存放地址}格式的第二工作模式的指令。arm接收到第二工作模式的指令进行解析并确认后开始第二工作模式任务。在该模式中arm核首先读取sd卡中的重力参数数据,然后从指定位置读取到dsp核存放的原始数据并加入重力参数进行计算,每次计算完成后将计算结果放至dsp核指定的计算结果存放地址中,并设置相应的标志位。该方法可以在ddr2空间不够或dsp计算能力不足时依然很好地完成任务,在不影响系统原有工作、保持系统工作的可靠性和稳定性的情况下还不需要去增加资源或改动硬件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1