一种基于FPGA的高精度谐振加速度计数据采集系统及方法
文献发布时间:2023-06-19 19:28:50
技术领域
本发明属于惯导领域,具体涉及一种基于FPGA的高精度谐振加速度计数据采集系统及方法。
背景技术
在实际环境下惯导的精度和可靠性的问题,为保证惯导的加速度计采集的精度和性能要求,对惯导的加速度计的测量元件进行控制,使其在不同的环境下都能正常工作。同时,实时性也是惯导的重要精度的保证因素。所以,这就需要对惯导进行高精度控制和保证数据的实时性。
加速度计用于测量线加速度的传感器,通常也用于测量倾角、振动和冲击等物理运动信号。MEMS加速度计以工作敏感原理分类,由电容式、谐振式等多种形式。按照当前的工艺技术水平,压阻式和电容式在测量精度方面或机械结构噪声方面有所缺陷。硅微谐振加速度计是一种采用谐振梁频率差反映外界加速度的MEMS加速度计。同MEMS电容式加速度计相比较,硅微谐振加速度计输出信号是频率信号,具有较强的抗干扰能力和高精度潜力。故硅微谐振式加速度计作为核心器件,应用于对加速度测量有高精度要求的航空器姿态控制、导航制导等领域。
目前国内外硅微谐振加速度计的测控部分多以模拟电路实现,故而也存在以下缺陷:
1、抗干扰能力弱;模拟电路易受内部噪声、供电波动或者外部电磁干扰的影响,整体的可靠性和稳定性无法得到可控。
2、参数和后端系统匹配麻烦;加速度计环路的控制参数对性能有关键性的影响,采用模拟电路的方式找到合适的参数比较困难。加速度计的工作状态的数据信息,从前端数字电路对驱动电路的控制获取,模拟加速度计系统在设计时,对于数据的读取和通信,根据需求确定模拟电路和接口电路后,需要先将模拟电路的模拟量通过模数转换为数字量,后端系统再对转换后的数字量实现采集和监控。
3、精度低;模拟电路需要使用较多运算放大器,实现较为复杂的运算如高阶滤波器,而复杂的状态转换逻辑就更难以实现。
4、升级成本高,开发难度大。模拟电路功能升级更强大、功耗低,在模拟电路平台上,开发难度大和开发成本高。
综上所述,目前对模拟电路在抗干扰能力、精度和实时操作和功能升级上与需求存在一定的差距。因此,对硅微谐振加速度计数据采集系统的优化设计是有必要的。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于FPGA的高精度谐振加速度计数据采集系统及方法,以解决目前在惯导采集时,对模拟电路在抗干扰能力、精度和实时操作和功能升级上与需求存在一定的差距的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于FPGA的高精度谐振加速度计数据采集系统,该系统包括:FPGA、晶振、供电电源、3块硅微谐振加速度计和DSP;所述FPGA与X轴加速度计、Y轴加速度计和Z轴加速度计相连接,用于对温度和加速度数据采集;所述FPGA与晶振相连接;所述FPGA与DSP相连接,用于实现同步通讯;所述FPGA与电源模块相连接,用于实现FPGA和加速度计正常供电;
FPGA包括:SPI模块、频率值解算模块、X/Y/Z轴缓存模块、组帧模块、组帧FIFO缓存模块、UART模块和内部时钟源;
SPI模块包括SPI_X、SPI_Y和SPI_Z,SPI_X连接X轴加速度计,SPI_Y连接Y轴加速度计,SPI_Z连接Z轴加速度计;SPI_X、SPI_Y和SPI_Z的输出端均连接到频率值解算模块;频率值解算模块的输出连接X/Y/Z轴缓存模块,X/Y/Z轴缓存模块的输出连接组帧模块,组帧模块的输出通过组帧FIFO缓存模块后从UART模块输出至DSP;内部时钟源用于将时钟信号分频产生同步采集时钟信号;UART模块包括UART发送模块和UART接收模块,UART发送模块用于发送数据至DSP,UART接收模块用于从DSP接收启动信号。
进一步地,FPGA分频产生的采集时钟信号分别输出至SPI_X、SPI_Y、SPI_Z、XY轴缓存、频率值解算模块、组帧模块、组帧FIFO缓存模块和UART模块。
进一步地,FPGA内部的SPI模块将采集到的数据通过频率值解算模块解算后,将解算后的数据分别存入到X/Y/Z轴缓存中;FPGA将X/Y/Z轴缓存中的数据通过组帧模块进行组帧处理后,将处理后的数据按照规定的顺序进行排序,存入到组帧FIFO缓存中,随后通过UART发送模块,发送给DSP进行读取。
进一步地,FPGA收到DSP发送的“b1”字节启动信号,自动完成对3块硅微谐振加速度计频率和温度的采集,同时FPGA对频率值进行差频解算处理,然后对处理后的3组频率值和温度值按照顺序组帧写入组帧FIFO缓存中,并通过UART发送模块发送到DSP中,由DSP对温度和频率值进行读取分析。
进一步地,3块硅微谐振加速度计芯片型号相同。
进一步地,DSP给FPGA发送每隔0.5ms启动字节信号。
进一步地,FPGA用于连接与DSP之间的通信、频率值的差频运算处理和3路解算后的频率值和温度值的组帧处理,包括与DSP之间的UART通信、与硅微谐振谐振加速度计之间的SPI通信,并完成对采集到三组频率值进行差频运算处理,按顺序组帧发送。
本发明还提供一种基于FPGA的高精度谐振加速度计数据采集方法,该方法包括如下步骤:
步骤S1、FPGA对内部时钟源将时钟分频模块产生同步采集时钟信号,将FPGA分频产生的同步采集时钟信号输出至硅微谐振加速度计;
步骤S2、FPGA采集3个硅微谐振加速度计的频率数据和温度数据,每个硅微谐振加速度计频率值为2组的32bit的频率值,首先进行十进制转后后,然后将两数据频率相减作为频率原始数据;
步骤S3、对分别解算后的频率原始数据和温度数据按照规定的顺序,依次写入对应的组帧FIFO缓存中,并通过UART发送DSP。
进一步地,所述同步采集时钟信号为2MHz信号。
进一步地,所述步骤S2中,采用二进制数据对频率值的转换方式包括:每组二进制数据均为32位,先转换为十进制后,再按照以下公式计算获得频率值,
(三)有益效果
本发明提出一种基于FPGA的高精度谐振加速度计数据采集系统及方法,本发明利用FPGA对硅微谐振加速度计的3个轴向的加速度计频率和温度进行采集,对每个轴的频率进行采集时,首先在加速度计中采集到两组频率值,然后对这两组频率值进行差频解算处理,通常这部分由模拟电路来完成,需要很多外部器件,造成比较大的体积和重量。本设计采用FPGA直接对硅微谐振加速度计采集处理,不仅减小了体积和重量,而且提高了精度和降低了成本。
本采集系统可以对多个谐振加速度计数据进行采集处理,不仅仅局限于文中提到的3个。
本发明的优点和效果:
本发明利用FPGA对硅微谐振加速度计的频率和温度进行采集,同时对采集到的每个硅微谐振加速度计的2组频率值进行差频解算处理,通常需要很多的外部设备,造成比较大的体积和重量,采用FPGA直接对硅微谐振加速度采集系统,不仅减小了体积和重量,而且提高了精度和降低成本;
FPGA作为硬件平台的硅微谐振加速度计数据采集系统具有体积小、精度高、功耗小、成本低、操作简单、可移植性强等优点,能够满足系统对高精度和操作简单、可移植性的要求。
附图说明
图1为本发明基于FPGA的高精度谐振加速度计数据采集系统;
图2为本发明基于FPGA的高精度谐振加速度计数据采集方法流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提出了一种基于FPGA的高精度谐振加速度计数据采集系统及方法,获得采集的频率值和温度精度高、功耗低、稳定性好,同时参数操作简单,程序可移植性高。
为了达到上述目的,本发明提供了一种基于FPGA的硅微谐振加速度计采集系统,该系统包括:FPGA、晶振、供电电源、3块硅微谐振加速度计、DSP和下载模块。所述的FPGA与X轴加速度计、Y轴加速度计和Z轴加速度计相连接,用于对温度和加速度数据采集;所述的FPGA与晶振相连接;所述的FPGA与DSP相连接,用于实现同步通讯;所述的FPGA与电源模块相连接,用于实现FPGA和加速度计正常供电。
FPGA包括:SPI模块、频率值解算模块、X/Y/Z轴缓存模块、组帧模块、组帧FIFO缓存模块、UART模块和内部时钟源。SPI模块包括SPI_X、SPI_Y和SPI_Z,SPI_X连接X轴加速度计,SPI_Y连接Y轴加速度计,SPI_Z连接Z轴加速度计;SPI_X、SPI_Y和SPI_Z的输出端均连接到频率值解算模块;频率值解算模块的输出连接X/Y/Z轴缓存模块,X/Y/Z轴缓存模块的输出连接组帧模块,组帧模块的输出通过组帧FIFO缓存模块后从UART模块输出至DSP。
(1)、FPGA通过内部时钟源将时钟信号分频产生同步采集时钟信号;
(2)、FPGA分频产生的采集时钟信号分别输出至图1中SPI_X、SPI_Y、SPI_Z、XY轴缓存、频率值解算模块、组帧模块、组帧FIFO缓存模块和UART模块;
(3)、FPGA内部的SPI模块将采集到的数据通过频率值解算模块解算后,将解算后的数据分别存入到X/Y/Z轴缓存中;
(4)、FPGA将X/Y/Z轴缓存中的数据通过组帧模块进行组帧处理后,将处理后的数据按照规定的顺序进行排序,存入到组帧FIFO缓存中,随后通过UART发送模块,发送给DSP进行读取。
本发明设计通过FPGA收到DSP发送的“b1”字节启动信号,自动完成对3块硅微谐振加速度计频率和温度的采集,同时FPGA对频率值进行差频解算处理,然后对处理后的3组频率值和温度值按照顺序组帧写入组帧FIFO缓存中,并通过UART发送模块发送到DSP中,由DSP对温度和频率值进行读取分析。
本发明采用的3个硅微谐振加速度计芯片型号相同;本发明的DSP主要用于给FPGA发送每隔0.5ms启动字节信号,和温度和频率值的读取;本发明的FPGA的主要用途是连接与DSP之间的通信、频率值的差频运算处理和3路解算后的频率值和温度值的组帧处理,包括与DSP之间的UART通信、与硅微谐振谐振加速度计之间的SPI通信,并完成对采集到三组频率值进行差频运算处理,按顺序组帧发送。
本发明基于FPGA的高精度谐振加速度计数据采集方法,包括以下步骤:
步骤S1、FPGA对内部时钟源将时钟分频模块产生同步采集时钟信号2MHz,即clk2MHz;将FPGA分频产生的clk2MHz输出至硅微谐振加速度计(本加速度内部数据更新速率为2MHz);
步骤S2、FPGA采集3个硅微谐振加速度计的频率数据和温度数据,每个硅微谐振加速度计频率值为2组的32bit的频率值,首先进行十进制转后后,然后将两数据频率相减作为频率原始数据,有利于增加高频采集信号与低频信号的频差,从而可大幅度降低同步采样误差。
采用二进制数据对频率值的转换方式如下:每组二进制数据均为32位,先转换为十进制后,再按照以下公式计算获得频率值,
步骤S3、对分别解算后的频率原始数据和温度数据按照规定的顺序,依次写入对应的组帧FIFO缓存中,并通过UART发送DSP。
本发明利用FPGA对硅微谐振加速度计的3个轴向的加速度计频率和温度进行采集,对每个轴的频率进行采集时,首先在加速度计中采集到两组频率值,然后对这两组频率值进行差频解算处理,通常这部分由模拟电路来完成,需要很多外部器件,造成比较大的体积和重量。本设计采用FPGA直接对硅微谐振加速度计采集处理,不仅减小了体积和重量,而且提高了精度和降低了成本。
本采集系统可以对多个谐振加速度计数据进行采集处理,不仅仅局限于文中提到的3个。
本发明的优点和效果:
本发明利用FPGA对硅微谐振加速度计的频率和温度进行采集,同时对采集到的每个硅微谐振加速度计的2组频率值进行差频解算处理,通常需要很多的外部设备,造成比较大的体积和重量,采用FPGA直接对硅微谐振加速度采集系统,不仅减小了体积和重量,而且提高了精度和降低成本;
FPGA作为硬件平台的硅微谐振加速度计数据采集系统具有体积小、精度高、功耗小、成本低、操作简单、可移植性强等优点,能够满足系统对高精度和操作简单、可移植性的要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
- 基于FPGA的多通道加速度计数据采集系统及采集方法
- 一种基于ARM+FPGA的高精度数据采集系统