基于FPGA的惯性导航系统设计
惯性导航系统
惯性导航系统(INS,Inertial Navigation System)也称作惯性参考系统,是一种不依赖于外部信息、也不向外部辐射能量(如无线电导航那样)的自主式导航系统。其工作环境不仅包括空中、地面,还可以在水下。惯性导航的基本工作原理是以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。
惯性导航系统属于推算导航方式,即从一已知点的位置根据连续测得的运动体航向角和速度推算出其下一点的位置,因而可连续测出运动体的当前位置。惯性导航系统中的陀螺仪用来形成一个导航坐标系,使加速度计的测量轴稳定在该坐标系中,并给出航向和姿态角;加速度计用来测量运动体的加速度,经过对时间的一次积分得到速度,速度再经过对时间的一次积分即可得到位移。
现代比较常见的几种导航技术,包括天文导航、惯性导航、卫星导航、无线电导航等等,其中,只有惯性导航是自主的,既不向外界辐射东西,也不用看天空中的恒星或接收外部的信号,它的隐蔽性是最好的。
惯性导航,并不像大家所认为的那样“不靠谱”,像国家的很多战略、战术武器,再如洲际飞行的民航飞机等,都必须依赖惯性导航系统或者惯导系统和其他类型的导航系统的组合。它的造价也比较昂贵,像一台导航级(即1小时误差1海里)的惯导系统,至少要几十万,而这种精度的导航系统已足够配备在波音747这样的飞机上了。现在,随着mems(微电子机械系统)惯性器件技术的进步,商业级、消费品级的惯性导航才逐渐走进寻常百姓家 。
优点
惯性导航系统有如下优点:
1、由于它是不依赖于任何外部信息,也不向外部辐射能量的自主式系统,故隐蔽性好,也不受外界电磁干扰的影响;
2、可全天候、全时间地工作于空中、地球表面乃至水下;
3、能提供位置、速度、航向和姿态角数据,所产生的导航信息连续性好而且噪声低;
4、数据更新率高、短期精度和稳定性好。
缺点
其缺点是:
1、由于导航信息经过积分而产生,定位误差随时间而增大,长期精度差;
2、每次使用之前需要较长的初始对准时间;
3、设备的价格较昂贵;
4、不能给出时间信息。
但惯导有固定的漂移率,这样会造成物体运动的误差,因此射程远的武器通常会采用指令、GPS等对惯导进行定时修正,以获取持续准确的位置参数。惯导系统目前已经发展出挠性惯导、光纤惯导、激光惯导、微固态惯性仪表等多种方式。陀螺仪由传统的绕线陀螺发展到静电陀螺、激光陀螺、光纤陀螺、微机械陀螺等。激光陀螺测量动态范围宽,线性度好,性能稳定,具有良好的温度稳定性和重复性,在高精度的应用领域中一直占据着主导位置。由于科技进步,成本较低的光纤陀螺(FOG)和微机械陀螺(MEMS)精度越来越高,是未来陀螺技术发展的方向。
基于FPGA的惯性导航系统设计
可编程门阵列FPGA 比专用集成电路ASIC 缩短了开发周期“3,基于FPGA开发的惯导处理系统可以对不同厂家的GPS装置进行数据通信与处理。当前惯性导航系统的实现方案有两类:一类是以单片机或ARM 处理器来进行惯导数据的采集,然后结合DSP来进行数据的处理;另一类方法是采用FPGA作为系统的外围设备扩展部分,用DSP来进行导算。这两种方法结构复杂,并且难于维护。随着FPGA技术的发展,现在完全可以采用单独的一片FPGA来实现系统的功能的。
该系统的硬件部分采用FPGA 为核心进行设计,利用3只正交排列的加速度计和3 只正交排列的陀螺仪构成惯导单元作为系统的输人信号53,FPGA 模块结构图如图1所示。
(1)电源模块:本系统采用单6 V电源供电。通过电源变换芯片产生系统需要的5 V.3.3 V和1.2 V电源。由于地是参考0电位,所有电压都是由参考地得出的,地的标准要一致,故各种地应短接在一起。如果把模拟地和因此,电源模数字地大面积直接相连,会导致互相千扰。块中的模拟地和数字地通过0 2电阻相连,或小数字部分和模拟部分的相互干扰的。
(2)存储模块:硬件电路中增加了- -块SDram 用于运行系统的实时程序。SDram 与FPGA 的接口部分在al-tera的SOPCBuilder软件中进行设计,由于本文采用的SDRAM 在SOPCBuilder 中可以找到SDram 控制器的IP,故该部分只需指定相应的IP 就可以。在PCB 布线时要注意时钟线要包地,地要尽量完整,数据线与控制线长度差距不要太大。
(3)时钟模块:时钟的产生由有源晶振产生50 MHZ的时钟信号经过单输入4输出的时钟缓冲器来产生不同的时钟,时钟信号已经在系统板上连接到FPGA 的全局时钟引脚。FPGA完成多种时钟信号的产生。只需要通过修改Quartus2 下时钟模块即可完成FPGA 时钟频率的选择,以满足系统的使用。
(4)JTAG 仿真调试接口:JTAG引脚定义:TCK 为测试时钟输入;TDI 为测试数据输人,数据通过TDI输人TAG 口;TDO为测试数据输出,数据通过TDO从JTAG口输出; TMS 为测试模式选择,TMS用来设置JTAG 口处于某种特定的测试模式。进行电路设计时,需要将TDI和TDO信号通过一个1k2的电阻拉高,同时将TCK信号采用1k2的电阻拉低。
(5)串口部分:提供1~4 个串口可供用户自由配制。串口模块可供系统的扩展使用,根据不同的需求可以选接GPS组成组合导航系统。
(6)配置模块:FPGA配骨芯片采用大容量在线可编程芯片,EPCS16(容量为16 Mb),可方便灵活地完成编程操作。
(7)数据采集模块:采集模块主要负责采集3只加速度计,3陀螺的信号。陀螺仪和加速度计采取3轴正交放置,其中加速度计选取的是PWM脉冲输出的,陀螺仪采用的是SPI输出。这样就免去了A/D转换的电路,简化了系统的结构。
(8) PCB板模块:采用altiumdesigner6.0进行开发设计5。本方案设计采用8层电路板进行设计。为了减少层间干扰,必须合理设置板层结构。信号层和电源层交错布置,本电路板的设置方式为顶层信号,GND层,信号1层,3.3 V.1.2 V混合层,DGND层。信号2层,DGND层,底层信号层。
2、惯性器件的参数的获取
采用quartus2作为系统的软件开发环境。对于加速度的获取,利用altera提供的计数器核来获取加速度的信号。计数器模块的结构如图2所示。
将PWM脉冲信号接到LPM 计数器模块的时钟使能端。同时将PWM信号输入至异步清零端。将计数器的输出信号作为PIO接口的输入信号,在NIOS2 开发环境下编程获得计数器的值。然后再根据加速度计手册中给出的相关公式就可以计算得出具体加速度的数值。获取计数器的数值的C程序如下:
陀螺信号的输出是SPI格式,系统采用一个SPI 主机带3 个从机的方式连接陀螺仪和FPGA模块,其中SPI 主机与从机的连接方式如图3 所示的。
本系统采用NIOS2 自带的SPI接口的C程序来得到陀螺仪的输出信号。与系统通信的C 函数如下:
其中,base是系统确定的从机地址,slave 是从机选择信号,write_length 是写数据长度,write_data 写数据地址,readlength读数据长度,read_data 读数据地址,flags标志位。该函数主要负责系统从加速度计和陀螺仪中读取数据信号。读出的数值按照陀螺仪手册上给出的值进行转换就可以得到陀螺信号的实际值。
3、实验验证
表1为MIMU在几种静止姿态时,X.Y.Z轴加速度计实际测试数据与理论数据的比较以及数值误差。
其误差产生原因主要是由于加速度计存在一定的安装误差,所以与理论方向存在一定偏差,而且加速度计输出信号受到系统电路噪声等干扰,再加上受加速度计输出精度的限制,从而造成该MIMU的系统误差。若使系统更合理,就要求进一步优化电路,避免或减少电路噪声等F扰,并要优化系统信号处理算法,测试经验值,对误差进行补偿。
4、结束语
基于FPGA微小型惯性测量系统具有灵活性高、设计周期短、风险低的特点,无论在军事还是在民用领域都有着广阔的应用前景。本文根据惯性导航系统的要求,研究了自行设计的基于FPGA的惯性测量组合的数据采集与处理,完成了系统的硬件、软件设计联调,并对部分结果进行了误差分析,结果表明系统设计合理可靠。
非常好我支持^.^
(227) 99.1%
不好我反对
(2) 0.90000000000001%
相关阅读:
- [电子说] fpga的开发流程有哪些步骤?fpga和嵌入式系统的区别在哪里? 2023-10-24
- [电子说] 如何创建FPGA控制的机器人手臂? 2023-10-24
- [电子说] 如何创建FPGA控制的机器人手臂 2023-10-24
- [电子说] 用VHDL语言创建一个8位算术逻辑单元(ALU) 2023-10-24
- [电子说] 您的存储器堆叠了吗?—赛灵思推出16GB HBM FPGA 2023-10-24
- [电子说] 浅析FPGA设计的安全性 2023-10-24
- [PCB设计] PCB板第一次上电会发生什么事情? 2023-10-24
- [电子说] 基于FPGA技术HIFI音频播放器方案 2023-10-23
( 发表人:陈翠 )