ARM7加速度数据采集系统设计
扫描二维码
随时随地手机看文章
引言
加速度传感器一直是加速度测试中的重要元件。随着微加速度计的应用越来越广泛,对于微加速度计的数据信号采集和存储变得极为重要。传统的数据采集方法多数是采用单片机完成的,编程简单、控制灵活,但控制周期长、速度慢,特别是对高速转换的数据来说,单片机的速度极大地限制了数据传输速度。
目前,嵌入式系统的应用已经进入到一个高低并行发展的阶段。ARM处理器凭借体积小、功耗低、集成度高、硬件调试方便和操作系统可移植等优点,获得广泛的应用。本文采用基于ARM7TDMI-S核的32位微处理器AT91SAM7X256为控制核心,利用其内部自带的A/D转换器对采集到的加速度值进行转换。
本文应用Model 1221单轴MEMS加速度计,输出信号经简单处理后直接外接到ARM7处理器上,只需对处理器的相应软件进行设置,省去了A/D转换电路,大大简化了电路复杂程度,并提高了数据处理的速度和精度。该加速度数据采集系统特别适用于对加速度和倾斜角的测量。它既可以测量动态加速度(如典型振动和冲击),又可以测量静态加速度(如重力加速度和惯性);既可以测量正加速度,又可以测量负加速度,因而可以作为斜率传感器使用。
1 总体设计方案
加速度数据采集系统的总体结构如图1所示。系统主要由单轴加速度计、运放电路、ARM处理器(AT91SAM7X256)三部分组成。单轴加速度计经过电路配置被施加一定加速度后,输出相应大小的电压模拟信号,经运算放大电路处理后,直接送至ARM处理器的A/D处理端口。在处理器接收数据之前,首先要通过软件方式对处理器的A/D功能进行合理设置;处理后的数据经ARM处理器的存储寄存器缓存后,由ARM处理器采取中断的方式接收采集,并对采集到的数据作进一步处理;利用软件分析数据的大小,并将其转换成相应的信号,通过串口通信输出到PC机上实时显示。电源装置采用开关电源为传感器、ARM处理器以及其他外围电路提供所需的各种工作电压。
2 Model 1221单轴MEMS加速度计简介
2.1 主要特点
Model 1221单轴MEMS(Micro Electro MechanicalSysteros)加速度计就是使用MEMS技术制造的加速度计。由于采用了微机电系统技术,使得其尺寸大大缩小,一个MEMS加速度计只有指甲盖的几分之一大小。MEMS加速度计具有体积小、重量轻、功耗低等优点。它可以测量振动类型的动态加速度和重力类型的静态加速度,测量范围是±2g;采用5 V单电源供电,集成在单片集成电路上,具有分辨率高、捕获时间短、带宽宽等特点;工作温度范围为-55~85℃,适合工作在恶劣环境下。
2.2 工作原理
技术成熟的MEMS加速度计分为3种:
①压电式MEMS加速度计。运用的是压电效应,在其内部有一个刚体支撑的质量块,有运动的情况下质量块会产生压力,刚体产生应变,把加速度转变成电信号输出。
②容感式MEMS加速度计。内部也存在一个质量块,从单个单元来看,它是标准的平板电容器。加速度的变化带动活动质量块的移动,从而改变平板电容两极的间距和正对面积,通过测量电容变化量来计算加速度。
③热感式MEMS加速度计。内部没有任何质量块,它的中央有一个加热体,周边是温度传感器,里面是密闭的气腔。工作时在加热体的作用下,气体在内部形成一个热气团,热气团的比重和周围的冷气是有差异的,通过惯性热气团的移动形成的热场变化让感应器感应到加速度值。
由于压电式MEMS加速度计内部有刚体支撑的存在,通常情况下,压电式MEMS加速度计只能感应到“动态”加速度,而不能感应到“静态”加速度,也就是我们所说的重力加速度。而容感式和热感式既能感应“动态”加速度,又能感应“静态”加速度。
Model 1221单轴MEMS加速度计内部包含了微机械电容传感单元、温度传感器、传感运放电路和差分输出电路,所有部件密封在一个迷你包装中。它是容感式MEMS加速度计,即测量电容值的改变来计算加速度。
2.3 应用电路
加速度数据采集电路如图2所示。其中,VDD设置为5 V。17引脚为2.5 V电压参考引脚,可以单独外接2.5 V电压,也可以选择分压的方式。本文采用分压的方式,通过设置R1=R2=5 kΩ。将VDD分压为2.5 V,并连接一个O.01μF的旁路电容C1。
图2 加速度数据采集电路
AON和AOP引脚的电压输出值成比例对应于加速度值,如图3所示。在加速度为0的情况下,AON和AOP输出值都是2.5 V。为了取得噪音较低、效果较好的信号输出,本文采用差动方式将AON和AOP接到运放电路的输入端,适当设置电阻电容值,得出符合要求的输出信号。 AON与AOP求差后,范围在0~4 V之间。考虑到输出值应与ARM7处理器的A/D端口输入范围匹配,因此设置R4/R3=R6/R5=3/4,从而得到一个0~3 V的输出值范围。
图3 AON和AOP引脚的加速度和电压输出值
3 ARM7模数转换器ADC的应用
AT91SAM7X256自带的ADC是基于逐次逼近寄存器(SAR)的10位模数转换器(ADC)。它集成了一个8到1的模拟多路复用器,可实现 8路模拟信号的模数转换;转换范围为0 V~ADVREF;支持8位或10位分辨率模式,转换结果进入一个所有通道可用的通用寄存器中,即通道专用寄存器。
通过设置ARM7并行控制器PIO控制器,将ADO~AD7的某一个端口设置为A/D转换模拟输入端口。ADVREF为参考电压,即ADO~AD7 端口输入电压值的范围为0 V~ADVREF;ADVREF最小值为2.6 V,最大值为VDDIN(一般设为典型值3.3 V)。ARM7处理器的A/D转换共有3种中断方式,即软件触发、外部触发(包括ADTRG引脚上升沿触发)和内部触发定时计数器输出。本文采用内部触发定时计数器输出触发方式,即达到一定的间隔时间后引起中断,然后对当前的A/D模拟数据进行采集和分析。完成上述中断处理后,再等待下一次中断到来。使用ADC中断请求前须先对AIC(高级中断控制器)编程。[!--empirenews.page--]
ADC还与PDC(外设数据控制器)通道连接。在转换完成后,数字结果将会保存到当前通道数据寄存器里。当数据寄存器保存当前数据后,状态寄存器相应位置位;当取走数据寄存器中的数据后,状态寄存器相应位清零。
ADC支持8位或10位的分辨率。通过设置ADC模式寄存器(ADC_MR)LOWRES位执行对8位的选择。默认情况下,复位后分辨率最高,且数据寄存器中的DATA域完全使用。通过设置LOWRES位,ADC切换到最低分辨率,且转换结果可从数据寄存器的低8位中读出。对应于ADC_CDR寄存器的DATA域,最高两位及ADC_LCDR寄存器的LDATA位为0。在数据处理之前,通过设置相应寄存器对转换分辨率、休眠方式、ADC时间等进行初始化。为防止ADVREF端口电压过高,通常外加稳压二极管作保护。
4 系统软件设计
软件设计是整个检测系统的重要组成部分。依据硬件设计的相关特点和要求,软件设计的主要任务是完成系统的初始化,对加速度信号进行提取和分析,加速度过大或者超出设定值时予以警告提示,并完成与其他外设之间的数据通信。系统软件流程如图4所示。
本检测装置工作在恶劣环境下,易受到各种干扰源的干扰。另外,检测装置本身也会产生电磁噪音,将严重影响信号的分析和读取。可以采用电源去耦、低通滤波等硬件方式来滤除干扰,但不容易达到理想效果,因此必须依靠软件抗干扰技术。软件抗干扰技术不仅设计灵活,而且节约硬件资源。常用的软件抗干扰技术有软件陷阱技术、软件滤波技术等。在程序的具体编写过程中,可以利用这些技术达到抗干扰的目的。
由ARM系统采集到的数据可通过串口线发送到上位机进行实时显示,也可以通过模拟IDE通信协议存储到IDE硬盘中。AT91SAM7X256通过串口与上位机进行通信,主要是应用AT91SAM7X256中的通用异步接收/发送装置UART0;而使用AT91SAM7X256的通用可编程I/O口,可以模拟产生IDE硬盘的读写时序,完成对存储设备的读写操作,从而实现加速度数据的显示和存储。上位机实时显示加速度的检测数值,如图5所示。
结语
本文介绍一种MEMS加速度计的设计与应用,结合当前应用广泛的ARM7处理器芯片,设计出一套方面灵活、应用性强的数据采集方案。实验证明,该系统可准确地采集Model 1221单轴MEMS加速度计的加速度信号,可以对采集到的信号进行灵活的处理,既可以在上位机实时显示,又可以存储在IDE接口硬盘中,达到了数据显示和存储的目的。