2.2 普通GPIO口方式
由于传感器输出均为DCM信号,无论采用什么方式进行数据接收,都需要定时器/计数器工作,对DCM信号进行计时处理。因此,程序首先要对定时器进行初始化。然后分别对DCM信号的高电平和低电平持续时间进行计时,得到T1、T2的值,再进行加速度计算。由于默认情况下GPIO均为普通I/0方式,所以开始不用设置PIN—SEL寄存器。普通GPIO口方式程序如下:
普通GPIO口方式的程序比较简单,虽然程序的执行需要时间,但由于LPC2103的主频可以达到40 MHz,执行几条指令只需几微秒,所以产生的误差会很小。但普通GPIO方式程序执行时,CPU一直在等待上升沿或下降沿的到来,大大降低了CPU的使用效率。可以使用图5所示Xout与LPC2103的接口方式。
2.3 定时器捕获中断方式
如图5所示,Yout与 LPC2103的PO.2引脚相接,利用P0.2的功能复用,可以实现定时器捕获中断方式接收传感器数据。主要程序段如下:
中断处理程序运行之后,得到的信号周期应为T2=t1+t2。故加速度为(((fp32)t1/((fp32)t2+(fp32)t1))一 O.5)*8。使用中断服务程序大大提高了CPU的使用效率,但程序较为复杂,并且占用了一个中断向量通道。
结 语
ADXL202传感器的应用方法经过验证完全可行,并且能够达到较高的测量精度。由于集成度高,由ADXL202和ARM系列微控制器组成的系统完全可以用于汽车、火车等交通工具的安全控制系统。ADXL202在惯性导航、倾斜感应、地震监控及汽车保险等领域都有着广泛的应用,精度高、集成度高、功耗低等特点使之完全可以取代传统的加速度传感器。