一种用于惯导姿态融合加速的智能芯片的制作方法

文档序号:8556511阅读:583来源:国知局
一种用于惯导姿态融合加速的智能芯片的制作方法
【技术领域】
[0001]本发明涉及惯性导航技术领域,尤其涉及一种用于惯导姿态融合加速的智能芯片。
[0002]
【背景技术】
[0003]航向姿态参考系统(Attitude Heading Reference System)的解算技术,简称姿态融合技术,是现今导航学领域最为重要和基础的一项技术,尤其对于惯性导航领域。这个技术的最高诉求就是通过载体携带的惯性器件能够实时的高精确的完成载体在地球坐标系下的姿态定位。朝着这个方向,基于MEMS惯性器件的姿态融合技术的实现至今有3种方式:基于MCU (Micro Control Unit)的嵌入式系统的惯导姿态融合技术;基于MCU与DSP(Digital Signal Processor)级联的惯导姿态融合技术;基于专用集成电路(Applicat1nSpecific Integrated Circuit)芯片固定逻辑的惯导姿态融合技术。
[0004]在绝大多数的姿态融合应用中,误差的修正往往是最费时耗力的工作,这些误差包括了惯性器件本身的采集误差、惯性向量之间的寄生误差以及计算时的估计误差,这些消除误差的运算往往占据了整个姿态运算过程中超过百分之八十的计算资源,因此,在实际的姿态融合应用中,精度和速度需要找到一个可以妥协的平衡点。
[0005]卡尔曼滤波法在数学上对于误差消除的计算具有独特的优势,法国学者Jose-Fermi Guerrero-Castellanos构造的MCU与DSP级联的卡尔曼滤波技术在姿态融合上起到了较好的误差消除效果,但是更新速度较慢,达不到完全实时的要求。这主要缘于其计算的复杂性,实际上,卡尔曼滤波法在实际的姿态融合应用中,由于其特征参数的异变性,往往难于掌握,而且卡尔曼滤波法往往伴随着极其庞大的计算量,需要付出高昂的计算成本,使用范围窄。
[0006]英国学者Sebastian 0.H.Madgwick提出的采用梯度极值算法的则是另外一种较为通用的姿态融合误差算法,它是一种在于构造惯性向量系统的误差函数矩阵,利用误差矩阵的梯度不断逼近,最后收敛误差的方法。这种方法被证明在低频系统中可以大大的提高速度,在Madgwick的基于MCU的姿态融合技术中,该方法表现了优于卡尔曼滤波的特点。但是,这种基于单CPU的MCU平台的解算技术,在高频应用中会表现出明显的劣势,不仅如此,同样由于计算能力的受限,基于MCU的嵌入式惯导姿态融合技术在精度和速度上还是达不到理想的要求。
[0007]综合上述两种姿态融合技术,即采用纯软件系统和软件与DSP加速级联系统,在更新速度、精度以及成本上比较优劣:纯软件系统精度一般、响应速度在低频下可以,高频误差下失真,成本较低;软件与DSP级联系统精度不错、响应速度不理想,成本较为昂贵。总体来说,两种方法各有优劣,但是都不够理想,根本原因还是在于两种技术的计算能力有限。
[0008]本发明的出发点在于吸取上述两种姿态融合技术的优势,而又避免它们的劣势。具体来说,本发明在算法上继承了梯度极值融合技术的灵活易扩展的优点,同时,为了弥补计算能力,采取设计专用的集成电路芯片方案,设计专门的固化的硬件逻辑来解算姿态融合系统,避免了软件做法下一条条顺序指令集耗时耗力的解算过程。对于专用的集成电路芯片来说,由于硬件门电路逻辑的反应时间在皮秒级的单位上(10-12秒)而微处理器指令集系统的反应时间在微秒级的单位上(10-6秒),在速度和计算容量上有着近百万倍的能力提升,速度的提高同时也意味着更新频率的加快,这样一来,误差的收敛会变得更迅速,系统的精度也能得到成比例的提高。本发明的重点就在于利用专用集成电路芯片的优势弥补计算能力上的缺陷,同时发挥原有的梯度极值融合算法灵活准确的优势,让这两种组织在执行姿态融合应用的时间与空间设计上交错存在,合作无间,达到最高效的姿态解算效果。
[0009]因此,提供一种用于惯导系统姿态融合加速的智能芯片,以提升惯导系统姿态融合的速度和精度。
[0010]

【发明内容】

[0011]针对现有技术的不足,本发明提供一种用于惯导系统姿态融合加速的智能芯片,以提升惯导系统姿态融合的速度和精度。
[0012]一种用于惯导姿态融合加速的智能芯片,所述智能芯片将姿态解算的梯度极值算法固化成硬件加速逻辑,将软件解算与硬件加速结合在一起,所述智能芯片按照数据流的顺序从输入到输出依次包括:SPI通信接口模块、四元数初始化模块、高速寄存模块、四元数更新模块和四元数反馈及输出模块;
所述SPI通信接口模块用于所述智能芯片与外部SPI总线的数据传输,所述四元数初始化模块用于缓存来自MEMS惯性器件的经由SPI通信接口模块输入载体三维惯性向量组数据并且根据所述三维惯性向量组数据计算四元数的初值;所述高速寄存模块用于对四元数初始化模块输入的归一化后的三维惯性向量以及初始化的四元数向量进行高速缓存;所述四元数更新模块用于对从高速寄存模块输入的惯性向量和初始化四元数进行姿态融合,更新四元数的解并将四元数的解发送给四元数反馈及输出模块;所述四元数反馈及输出模块用于对从所述四元数更新模块输入的更新四元数向量数据进行重填装和输出。
[0013]优选地,所述固化成硬件加速逻辑与所述软件解算并存在同一系统中并结合在一起完成姿态解算。
[0014]优选地,所述SPI通信接口模块的前端接口与SPI总线插槽连接,外部信号通过SPI串行数据包的形式进出芯片;所述智能芯片的SPI串行端口用于接收以高速串口传输方式经嵌入式系统主板上的SPI插槽的MEMS传感器所采集的惯性向量组数据;所述SPI通信接口模块的后端接口与四元数初始化模块连接。
[0015]优选地,所述SPI通信接口模块包括SPI通信核模块与SPI应用模块,其中SPI通信核模块用于执行数据交换的物理层、数据链接层;SPI应用模块用于管理所述四元数初始化模块、所述四元数反馈及输出模块与外部上位机或外部SPI总线、惯性向量存储单元以及MEMS惯性器件之间的数据交换。
[0016]优选地,所述三维惯性向量包括载体加速度、角速度及磁场强度。
[0017]优选地,所述四元数初始化模块包括FIFO堆栈模块、归一化引擎模块、欧拉角初始化模块和欧拉角转四元数模块,所述FIFO堆栈模块用于缓存从SPI通信接口模块中获取的三维惯性向量组数据并传输给所述归一化引擎模块和所述欧拉角初始化模块,所述三维惯性向量组数据包括载体加速度、角速度和磁场强度,传输给所述欧拉角初始化模块的三维惯性向量数据包括载体加速度和磁场强度信息;
所述归一化引擎模块,用于将从FIFO堆栈模块得到的三维惯性向量组进行浮点向量的归一化运算,并将结果传输给所述欧拉角转四元数模块和所述高速寄存模块;传输给所述欧拉角转四元
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1