陀螺仪与单片机ADC模块的接口如图3所示。图中ST、HP、PD作为自我测试、能量控制、高通滤波设置3个引脚,它们分别连接到MC9S08 QE8的通用I/O接口上。一般它们都接下拉电阻,默认为正常工作模式,如果需要对相应的工作模式进行改变则须改变对应MC9S08QE8I/O口的电平为高电平。而LY530AL与LPR530AL的输出信号(4xOTUX、4xOTUY、4xOTUZ引脚)与输出参考电压(Vref引脚)分别接MC9S08QE8的ADC模块的相应通道。设计中特别注意的是,LPR530AL有2种输出模式:一种是采用经过内部放大4倍后的输出,另一种是正常的输出。当采用非线性放大输出方式时,应当把LPR530AL的5引脚和9引脚连接GND;如果采用放大输出方式并且外部没有扩展旁路滤波,则应当分别把4和5引脚、9和10引脚短接。图3中,LY530AL工作原理与LPR530AL相似。
2.3 加速度计、电子罗盘与I2C接口
MC9S08QE8内带的高速I2C模块拥有多主机操作、可编程从机地址、中断驱动的逐字节数据发送、支持广播模式和10位寻址等特点,总线在最大负荷下可达到100kbps的速度。系统中,加速度计、电子罗盘芯片与MC9S08QE8 I2C模块的接口如图4所示。图中ADXL345的CS引脚用来控制选择I2C还是SPI通信协议,电平为高表示采用I2C协议,而SDA和SCL引脚分别连接到MC9S08QE8的I2C总线引脚上。电子罗盘HMC5843支持双电压工作,其中引脚VDD表示内核电压,引脚VDDIO表示外部I/O电压,本系统中采用单电压模式,即内核电压与外部I/O电压相同。
3 软件设计与测试
系统的软件设计是整个系统的重要组成部分。依据上述硬件电路的设计原理与功能要求,软件中首先要完成MC9S08QE8的初始化,对各种MEMS传感器的工作模式进行设定;然后获取三轴陀螺仪、加速度计、电子罗盘的实时信号,并根据姿态计算算法计算姿态角,最终把姿态角信息通过串口传送到上位机中进行测试与演示,嵌入式姿态测量系统软件流程如图5所示。