基于ADIS16365的惯性传感系统设计
近年来,基于MEMS(微机电系统)技术的微机械惯性器件日渐成熟,用MEMS惯性器件构成惯性系统已成为目前惯性技术领域的一个研究热点。
传统研究方法是先建立数学模型,后期采用数据处理算法来纠正误差。在惯性系统的应用中,这不仅要求数学模型准确可靠,而且普通的微控制器由于处理速度限制,而很难处理如此大的数据量,采用高性能DSP无疑增加了成本。为此,设计了以LM3S8962为核心处理器,以ADIS16365为惯性传感器的惯性系统。该系统利用ADIS16365自身的数据处理功能对三轴角速度和角加速度数据进行处理。在外部再经过滤波与积分,得到了精确的角度信号,满足了系统的可靠性和。控制要求。此外,面对系统对惯性数据需求量的增多,将该惯性系统设计为一个CAN节点应用于整个系统。
1 ADIS16365概述
ADIS16365是ADI公司于2008年9月推出的一款全新的数字输出的高性能微惯性测量系统。这款传感器结合了ADI公司的iMEMS和混合信号处理技术,提供校准的数字惯性检测。系统除分别提供3个轴方向上的角速度、角加速度以外,还包括自动偏置校准、数字滤波与采样速率、自检、电源管理、条件监控、模数转换,以及辅助数字输入/输出,这些功能都通过快速的数据访问接口(SPI)与MCU进行交互,提供方便的数据和配置控制。ADIS16365的一些性能参数如下:角度分辨率为±80(°)/s;典型带宽为0.33 kHz;线性加速度补偿因子为0.05(°)/s/g;运动偏移稳定性为0.009(°)/s。
2 惯性测量系统硬件设计
2.1 总体设计
该系统硬件主要包括ADIS16365,CTM8251,LM3S8962。系统硬件框图如图1所示。
图1 系统硬件框图
LM3S8962是TI公司一款用于工业控制的32位高速控制器,内部集成了工业控制用到的各种常用协议,其中CAN模块支持CAN 2.0B协议,位速率高达1 Mb/s,具有可编程FIFO模式,使实时应用成为可能。此外,其内部拥有256 KB的单周期FLASH,可用于数据存储,方便外部读取。CTM8251是一款带隔离的通用CAN收发器模块,该模块内部集成了所有必须的CAN隔离及CAN收、发器件。模块的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC 2 500 V的隔离功能。
2.2 硬件电路设计
陀螺仪硬件电路原理图如图2所示,选用LM3S8962自带的SPI硬件接口对ADIS16365进行操作,在电路设计中只需要直接将LM3S8962的SPI硬件I/O接口与ADIS16365相应的接口连接起来。
图2 陀螺仪硬件电路原理图
CAN接口原理图如图3所示,LM3S8962对应的CAN接口分别为PD0和PD1,将其与CTM8251进行电气连接,通过对CTM8251进行相应的电路配置,并且在信号输出端做好相应的屏蔽工作以防止噪声干扰传输和静电带来的不安全因素,最后将CTM8251输出的高、低端分别与器件相应引脚连接。
图3 CAN接口原理图
{$PAGE$}
3 惯性测量系统软件设计
3.1 总体设计
微控制器直接控制惯性传感器的工作状态并采集角速度、角加速度等信息,为了达到处理的实时性,当ADIS16365有数据需要发送时,中断通知微控制器进行读取。微控制器将采集到的数据进行积分及滤波处理,并将处理后的信息存储在片内FLASH中。当微控制器接收到数据请求时,通过CAN总线发送数据。图4为系统主流程图。
图4 系统流程图
3.2 数据采集设计
微控制器通过SPI模式3与惯性传感器通信,在时钟下降沿时建立数据,上升沿时读取数据。图5为通信时序图。
从图5可以看出,一个SPI传输包有16位。由于LM3S8962是32位处理器,因此每次可以传输一个SPI传输包。传输包高字节包括1位的读/写状态位和7位寄存器地址信息,低字节为读/写寄存器数据。ADIS16365的内部寄存器为16位,拆分为2个8位,分为高低地址,因此读/写操作都需要2个传输包。如果是写操作,则第一个传输包的高字节说明寄存器的低8位地址,低字节为写入寄存器低8位的值,第二个传输包则相应地写入寄存器的高8位;如果是读操作,则第一个传输包的高字节说明寄存器低8位地址,低字节无效,寄存器的值出现在第二个传输包。
ADIS16365拥有较为完善的数据处理方案,经测试,使用其内部校正功能可以明显改善系统性能。根据写入GLOB_CMD寄存器命令的不同,可以采用不同的处理方法。表1和表2列出了内部普通校准和精确校准与未校准数据的比较。
3.3 CAN总线节点设计
控制器区域网(CAN)总线属于现场总线范畴,它是德国Bosch公司为解决现代汽车中众多测试与控制仪器的数据交换而开发的串行数据通信协议。经过多年的应用发展,CAN以其极高的可靠性、实时性和灵活性而广泛应用在各种领域。鉴于此,该系统采用CAN协议来完成数据的交换。
CAN2.0B协议规定了4种帧类型:数据帧、远程帧、错误帧和过载帧。其中数据帧将数据从发送器传输到接收器,远程帧用于请求具有同一标志符的数据帧。CAN协议没有规定地址的概念,所有数据传输均基于报文标识符,当总线上出现一个报文时,所有节点的CAN验收滤波器将该报文的标识符与自身的验收代码寄存器和验收屏蔽寄存器比较,来决定是否接收该报文。因此,该系统将惯性传感器数据标识为“GY-Rn”,其中n为接收端编号,对于扩展帧的29位标识符而言,除去前缀“GYR”24位外,最多可以有32个接收端,满足一般系统需求。为使LM3S8962的CAN模块能响应所有数据请求,只需将验收屏蔽寄存器的后5位置1即可。当接收端n需要数据时,发送标识符为“GYRn”的远程帧,LM3S896 2的CAN模块在接收到之后从内部FLASH中读取数据,再回发相同标识符的数据帧完成通信。
4 结语
这里所设计的惯性系统主要采用MEMS器件ADIS16365,测量目标的三种角速度。采用含CAN控制器的LM3S8962微控制器进行控制,只需很少的外围器件即获得了优异的性能。结构简单、体积小,使用方便,具备较强的使用性。