吴志煌 吴志强 王 宇 朱欣华
(南京理工大学机械工程学院,江苏 南京 210094)
冲击加速度信号采集记录装置的设计与应用
吴志煌吴志强王宇朱欣华
(南京理工大学机械工程学院,江苏 南京210094)
摘要:为弹载制导等应用所研制的微机电系统(MEMS)惯性传感器或MEMS惯性系统,常常需要通过高冲击环境试验来测量传感器或系统的抗高过载能力。为了对待测器件或系统在试验过程中的冲击加速度进行全面的描述,设计了一种基于存储测试技术的小体积、低功耗的瞬态冲击加速度信号采集记录装置。系统的性能指标为:采样速率100 kHz,采集时间大于5 min,采样分辨率为12位;具有RS-422通信接口,可以将存储数据上传到上位机。介绍了围绕系统设计指标开展的设计研究工作,讨论了设计方案、软硬件设计及测试方法。测试表明,设计完成的系统满足性能指标要求。
关键词:冲击加速度数据采集串口通信MEMS惯性传感器AD7980N25Q00AA
0引言
为弹载制导等应用所研制的微机电系统(micro-electro-mechanical system,MEMS)惯性传感器或MEMS惯性系统,须通过高冲击环境试验来测量传感器或系统的抗高过载能力。为了定量评价其抗过载能力,须获取待测器件或系统在试验过程中承受的冲击加速度情况。传统的测试方法往往只能给出最大冲击加速度等有限的参数。本文设计的瞬态冲击加速度数据记录仪采用了存储测试技术,使测试装置随待测器件或系统一起承受冲击过程,通过对承受的冲击加速度进行实时采集、记录,并在试验结束后将数据上传上位机,实现了对系统冲击的全程记录[1]。
根据测试需要,系统的设计指标为:采样速率不小于100 kHz,采样时间不低于5 min,采样分辨率不低于12位,使用RS-422进行数据回传的波特率不低于115 200 bit/s。
1系统总体设计
围绕设计指标,设计了如图1所示的系统结构。系统主要由数据采集模块、数据存储模块、数据通信模块、单片机以及电源模块等组成。
图1 系统硬件结构框图
系统工作流程为:系统上电后,单片机首先对需要用到的时钟源、定时器和通信模块等进行初始化配置,接着对存储模块进行数据检查,根据是否已有数据对数据标志变量赋值。然后对数据标志变量进行判断,当有数据时,循环等待读取命令或者擦除命令;若无数据,则进入等待触发模式。在达到触发条件后,开始采集和存储过程。最后,到达采集结束时间,停止工作,进入低功耗模式等待回收。在该系统中,由单片机统筹整个工作流程的主控模块,利用单片机协调采集和存储这2个进程的时序,并在采集结束后将数据上传至上位机。存储模块主要用来保存采集的大量数据;采集模块对传感器的输出进行模数转换,并与单片机通信;通信模块用于与上位机通信;而电源模块主要将输入电压转换成系统所需要的电压,如3.3 V、2.5 V、5 V等。
2硬件电路
2.1冲击加速度传感器的选择
MEMS传感器一般利用半导体集成电路制造工艺、由硅基材料制造而成,是集微机械、微电子功能于一体的传感器系统[2]。目前研制的MEMS传感器主要包括MEMS压力传感器、MEMS加速度计及MEMS陀螺仪等。由于在尺寸、质量、功耗和可靠性等方面的优异性能,MEMS传感器被应用于军事领域和对抗干扰环境要求高的场合[3]。设计时,采用了中电十三所美泰公司的大量程电容式MEMS加速度计MSA6000-20000,其量程为±20 000 g,模拟电压输出,输出电压范围为(2.5±2)V。传感器采用单片电容式检测电路、+5 V单电源供电,具有体积小、输出阻抗低、结构简单、功耗低等优点。
2.2数据采集模块
为达到100 kHz的采样速度以及较高的分辨率,装置中的信号采集模块选用ADI公司的16位低功耗高速模/数转换器,芯片采用2.5 V单电源供电,内置一个低功耗、高速、16位采样的ADC和一个多功能串口通信接口。伪差分输入范围为0~UREF(UREF在2.5~5.5 V之间),吞吐速率可达1 MSPS。
MSA6000-20000的输出电压范围为(2.5±2)V,其输出阻抗较低,可以驱动AD7980,所以无需加入中间转换环节。具体电路如图2所示。
图2 数据采集模块原理图
根据传感器输出范围,设定AD7980的基准电压输入为5 V。根据AD7980数据手册的推荐,选择ADR435作为基准电压,并使用22 μF的陶瓷芯片电容作为基准电源去耦电容。由于本设计中的采集通道只有一个,所以只需要单个AD7980和主控芯片连接。为了简化连接线路,选择使用CS模式的三线式且无繁忙指示,将SDI连接到VIO上(即SDI一直拉高)。
2.3数据存储模块
数据存储模块的设计重点主要是存储容量和读写速度。存储器的成本通常与其容量成正相关。在设计指标中,设定的采样时间为5 min(即300 s),采样速率为100 kHz,采样分辨率为16位,则所需的存储容量应至少为57.22 MB。再加上一些冗余设计,按照存储器的规格,选择的存储器容量可以为1 GB(125MB)或2 GB(250 MB)。
选择应用广泛的Flash存储器,其具有容量大、成本低、存储寿命长等特点。最终选用了micron公司的NOR型Flash芯片N25Q00AA,其容量为1 GB(125 MB),支持按4 KB、64 KB和32 MB大小进行擦除,并具有最高108 MHz的SPI接口。页编程的典型时间为0.5 ms,足以满足100 kHz采样速率的要求。此外,该芯片的32 MB(1/4片)擦除时间为240 s。
2.4主控模块
考虑到系统的低功耗和体积,选用TI公司的超低功耗16位单片机MSP430F2618,其运行时的功耗仅为365 μA(在1 MHz频率和2.2 V电压条件下)。MSP430F2618最高支持频率为16 MHz,使用16位精简指令集(RISC)架构,指令周期为62.5 ns时间;116 KB+256 B的Flash和8 KB的RAM存储空间;配备4个通用串行通信接口(USCI),其中2个可配置成UART和SPI,另外2个可配置成I2C和SPI。在本设计中,须用到2个SPI,用于与AD7980以及N25Q00AA通信;另外需要1个UART,用于与上位机进行通信。
主控模块要实现的功能是在采集存储模式下,控制采样速率、将模/数转换器输出的数据暂存在缓存区内、将缓存区的数据转存到外部Flash存储器并控制整个时序;在擦除、读取模式下识别命令字,并执行命令,上传数据或返回相应的标志字符。主控模块的大部分功能是由MSP430F2618的内部外设完成的。为了使MSP430F2618能够正常工作,必须构建最小系统。除此之外,为了便于样机调试,还设计有LED指示灯电路、功能按键电路等。
AD7980通过USCI_A0接口与MSP430连接(因为MSP430不必向AD7980发送数据,所以无须连接UCA0SIMO引脚,AD7980的SDI上拉),P2.0作为转换信号发送I/O口;N25Q00AA通过USCI_B0与MSP430连接,I/O口P2.1为片选、P2.2为HLID、P2.3为写保护;MAX3074通过UCA1TXD和UCA1RXD连接到USCI_A1上,实现异步串口通信。系统还设计了3个LED指示灯以及1个功能按钮,分别使用P1.0~P1.2和P1.7来控制。此外,还须为MSP430下载程序并进行在线调试,在此使用JTAG调试接口电路来实现。
2.5数据通信模块和电源模块
系统采用RS-422协议与上位机通信,通信波特率为115 200 bit/s。根据要求并考虑供电电源,选用MAXIM公司的RS-485/RS-422收发器MAX3074作为电平转换芯片。芯片采用3.3 V供电,允许最大转换速率为500 Kbit/s。在接收端上接入一个120 Ω的电阻作为终接电阻,可以吸收网络上的反射波,并有效增强信号的强度。
整个系统需要提供的电源共有5 V、3.3 V、2.5 V这3种。其中:3.3 V主要为数字电路部分供电,如MSP430、N25Q00AA、MAX3074等芯片;而5 V和2.5 V则分别为模拟电路部分的传感器和AD7980供电。使用AMS1117系列正向低压降稳压器的相应芯片作为电源转换芯片。在设计时,考虑了模拟电路和数字电路的供电隔离,因此在布局时对3个电源布局作了相应处理。
3软件设计
系统软件通过TI公司的集成开发环境(code composer studio,CCS)进行编译和在线调试。软件主要实现三大功能,一是采集存储模式,这是系统的主要工作模式,即实现数据的采集和存储功能;二是数据上传模式,将存储测试系统采集的数据上传上位机;三是数据擦除模式,Flash存储器在编程前须先进行擦除操作,故在此模式下需要上位机下达擦除命令,完成对Flash的擦除操作,为下次试验作准备。其中,数据上传和数据擦除功能的实现较为简单,在UART的接收中断中实现,在中断服务程序中,对上位机下达的命令字进行判定,然后根据命令字执行相应的操作;采集存储模式的实现较为复杂,本设计采用双缓冲采集存储机制来实现。
下面介绍采集存储模式的实现过程。
3.1初始化
在系统上电之后,首先要做的就是初始化工作。除了必要的时钟源配置,SPI、UART配置以及定时器配置以外,还须在RAM内开辟2个大小为256 B的缓存区,用来实现双缓冲采集存储机制。开辟缓冲区的方法是声明2个大小为256 B的char数组。另外一项要做的工作就是对Flash数据进行检查,判别Flash的数据是否为空。检查的机制为:读取Flash起始地址(0x00000000)5个字节的数字,并判断是否为(0xFF)。若有1个不是,则令标志位data_empty =0x00;若都为0xFF,则标志位data_empty = 0x01。然后,检查标志位,若标志位为0x00,则表示存储器有数据,点亮数据指示灯。由于Flash的擦除是将位0变成1的操作,而编程只能将1变成0,并且数据是在一定加速度的触发条件下启动采集存储的,所以写入的数据在正常情况下不会是0xFF,由此证明该方法是可行的。
3.2触发方式
本设计的测试对象是瞬态冲击加速度信号,具备瞬时性、持续时间短的特点。这一特征使得信号无法像稳态信号一样可以随意截取,这就要求设计的存储测试系统既要有足够高的采集速率,又必须在适当的时候启动采集,才能完整地获取冲击加速度信号。由于存储测试系统一般在脱机状态下工作,所以必须要设置一定的触发手段来启动采集。
常用的触发有内部触发和外部触发2种[4]。内部触发方式的触发信号来自主控单元的控制信号,设定比较门限与采集的信号对比,当达到门限即启动采样。外部触发方式的触发信号来自外部触发电路产生的信号,比如通过电压比较器对传感器的输出信号与设定的电压值进行比较,若达到触发条件,则向主控单元发送电平变化,从而启动采样。
由于外部触发须增加外部器件,考虑到结构复杂程度及成本等因素,设计时采用内部触发方式,将采集的加速度值与设定的门限进行比较,超过门限后即启动采集。
3.3双缓冲采集存储机制
本设计最主要的难点在于如何控制整个程序的时序,在不间断采集的情况下,实现实时存储功能。具体的实现方法如图3所示。
由于数据写入存储器需要一定的时间,在此期间还必须进行采集的相关操作。虽然在此前的芯片型号选择上已经考虑到存储器的编程速度,但仍然必须采用一定的手段才能解决数据采集和存储之间的时序矛盾。本设计中采用的双缓存区采集存储方式,能有效地解决上述矛盾。这其实是一种流水线操作的简单形式,通过两个缓存区的交替,同步进行数据采集和数据存储。
数据采集模块的采集速率是由MSP430的定时器来控制的,设定定时器每10 μs产生一次触发、一次中断,并在定时器中断中启动AD7980的模数转换,等待1 μs后,读取AD7980转换完成的2个字节数据。
图3 双缓冲采集存储机制流程图
系统上电初始化后,在主控芯片的RAM中开辟2块大小相等的内存区域作为缓存区。根据上文所述,为得到最大的Flash编程效率,设定缓冲区的大小为Flash一页的数据量大小,即256 B。本文采用中断来实现该操作。采集启动后,定时器中断使能。在定时器中断服务流程中,如图3(a)所示,启动AD7980的模数转换,转换完成后,将数据读到缓存区DATA_BUF1。当缓存区DATA_BUF1数据存满后,采集数据存储的缓存区改为缓存区DATA_BUF2,而缓存区DATA_BUF1作为数据转存到存储器的源地址,接着发送存储器写使能命令、编程命令、地址。打开SPI_B0的发送中断使能,在该中断服务程序中,如图3(b)所示,首先关闭该中断使能,将缓存区DATA_BUF1的数据发送到存储器。当发送完一个缓存区后,拉高存储器片选,判断数据量是否到达设定的大小(即到达采集完成时间时)。若达到则关闭所有中断,结束采集;若未达到,则直接退出中断服务程序。待缓存区DATA_BUF2的数据采集满后,再次交换2个缓存区,由缓存区DATA_BUF1作为数据采集的缓存,而缓存区DATA_BUF2作为数据存储的源地址,重复上述操作。
4试验结果与数据分析
使用马歇特锤试验机,对设计完成的冲击加速度信号采集记录装置样机进行试验验证。由于冲击加速度大,因此在试验前,必须对系统进行灌封处理,以保护电路不受冲击危害[5-6]。
图4为一次冲击试验后采集到的冲击加速度信号。该次试验中设置的触发门限为±2 000g,冲击负载约为6 000g。从图4所示波形可以得到,触发后采集的第一点加速度为-3 349g、最大峰值为-6 129g、冲击振荡时间为4 ms。图4中冲击加速度主要为负值,这是因为试验时加速度计的敏感轴方向与冲击加速度方向相反。另外,由于无须采集触发点加速度信号,因此,存储的第一点加速度信号是在加速度绝对值大于2 000g、经10 μs(因为采集率为100 kHz)后的加速度信号(-3 349g)(其中g为重力加速度值,1g≈9.8 m/s2)。
图4 冲击加速度波形图
综上所述,图4所示的数据较好地反映了设计完成的冲击加速度信号采集记录装置记录的试验过程中,MSA6000-20000测得的冲击加速度,验证了该装置的性能。
5结束语
本文以MSA6000-20000为冲击加速度敏感元
件,选用MSP430F2618作为主控器件,并使用大容量Flash芯片N25Q00AA和高速模/数转换器AD7980,设计了冲击加速度信号采集记录装置。试验验证表明,该装置实现了要求的性能指标。经过进一步改进及优化设计后,可以随待测器件或系统一起承受冲击过程,采集、记录冲击过程中的加速度信号,为待测器件或系统的抗过载能力的评价提供更为准确的测试手段。
参考文献
[1] 张瑜, 祖静, 张红艳,等.基于存储测试技术的弹底压力测试技术[J].火力与指挥控制, 2014(1):172-175.
[2] 王勇.MEMS技术发展及应用趋势[J].飞航导弹, 2011(5):89-93.
[3] 刘晓为, 陈伟平.MEMS传感器接口ASIC集成技术[M].北京:国防工业出版社,2013.
[4] 丁宁, 靳璐.基于通用数据采集系统的采集信号触发方式研究[J].电子世界, 2014(3):14-15.
[5] 白伟.数据采集装置的安全性与可靠性设计及研究[D].太原:中北大学, 2015.
[6] 姬永强, 李映辉, 聂飞.弹载数据存储模块抗高过载防护技术研究[J].振动与冲击,2012(18):104-106.
Acquisition and Storage Device of Shock Acceleration Signal
Abstract:Micro electro mechanical system(MEMS) inertial sensor or MEMS inertial system, developed for missile-borne guidance or other applications, generally need to measure their capacity against high overload through high shock test.In order to comprehensively describe the high anti-overload capacity of the sensor or system to be tested, a small volume, low power consumption acquisition and storage device based on storage test technology for transient shock acceleration signal is designed.The performance indexes of the system are: sampling rate of 100k Hz, acquisition time greater than 5min; and the sampling resolution of 12 bits; and RS-422 communication interface to upload data to PC.The design and research for implementing these indexes of the system are introduced. The designing scheme, hardware and software design, and testing method are discussed.The tests indicate that this system meets requirement of performance indexes.
Keywords:Shock accelerationData acquisitionSerial communicationMEMS inertial sensorAD7980N25Q00AA
中图分类号:TH824;TP27
文献标志码:A
DOI:10.16086/j.cnki.issn 1000-0380.201606025
修改稿收到日期:2015-11-20。
第一作者吴志煌(1992-),男,现为南京理工大学机械电子工程专业在读硕士研究生;主要从事机械电子工程方向的研究。