ARM7加速度数据采集系统设计
输出值成比例对应于加速度值,如图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 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(高级中断控制器)编程。
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接口硬盘中,达到了数据显示和存储的目的。
- 用梯度均值法提高LPC2138的A/D分辨率(01-06)
- 电力计量装置现场监测仪的设计(06-11)
- 基于ARM7的LCD显示电压示波系统的设计A(01-25)
- 旋转状态下动态倾角测量系统设计(10-28)
- 高、低频测量压电加速度传感器应用指南 (04-27)
- 高低频测量压电加速度传感器应用指南(05-12)