基于IMEMS传感器的汽车行驶姿态检测系统设计*

2012-12-07 06:05邓建锋韩峻峰潘盛辉董胜利
传感器与微系统 2012年4期
关键词:驱动程序倾角姿态

邓建锋,韩峻峰,潘盛辉,董胜利,杨 叙

(1.桂林电子科技大学电子工程与自动化学院,广西桂林541004;2.广西机电职业技术学院,广西南宁530007;3广西工学院电子信息与控制工程系,广西柳州545006)

0 引言

近年来,国外各大汽车厂商都研发出了各自的汽车安全控制系统,并在高档车上成为标准配置,具有明显的安全效果。而国内目前发展还比较滞后,没有具备自主产权的产品问世,大多停留在理论仿真阶段。这些安全控制系统大多是针对汽车行驶姿态的关键参数进行控制,所以,参数获取的准确性和实时性就决定了控制的效果和算法的复杂度[1]。

目前,汽车行驶姿态参数一般是通过陀螺仪进行采集,但陀螺仪的机械结构容易产生系统误差并很难消除[2]。也有通过多个加速度传感器捷联解算出汽车的姿态参数,这样存在系统复杂、成本高的缺点[3]。本文采用一种IMEMS惯性传感器来采集汽行驶姿态参数,它集成度高,结构简单,可降低系统设计的复杂性。

1 系统构成与工作原理

图1所示为美国汽车工程师协会(society of automotive engineers,SAE)描述的车身运动标准坐标系,汽车上的各种运动是以一个右手正交坐标系为参照定义的,坐标系的原点位于汽车的质心,并随汽车一起运动。按照SAE的约定,车辆坐标系的x轴平行于地面指向车辆的前进方向,并位于汽车的纵向对称面内;y轴平行于地面并指向车辆的右侧;z轴垂直于地面指向车辆的下方。在车辆坐标系中定义了车身运动的六个自由度(包括3个平动和3个转动),并规定了运动变量的符号(包括位移、速度、角位移和角速度)[4,5],这6个数据是汽车行驶的集中体现,也是汽车安全控制系统所需的重要参数。

图1 SAE车辆坐标系Fig 1 SAE vehicle coordinate system

图2是汽车行驶姿态检测系统的结构框图,采用IMEMS惯性传感器采集汽车的运动姿态参数,将输出的SPI格式数据输入带有USB控制器的CY7C68013单片机,再通过USB数据总线将数据传至PC上位机,最后利用虚拟仪器强大的数据处理功能对数据进行分析,为后续的安全控制策略研究提供数据依据。

图2 系统结构框图Fig 2 Structure block diagram of system

2 系统硬件设计

2.1 硬件选型

MEMS惯性传感器选用的是 Analog Device公司的ADIS16355三轴惯性传感器,其内置一个±300°/s动态范围内的三轴陀螺仪和一个±10 gn的三轴加速度计。带宽达350 Hz,最高达819.2SPS的可配置采样率,内部集成温度传感器,每个传感器都有动态补偿公式,可在-40~+85℃的温度范围内提供精确的传感器测量。标准SPI格式输出,不需要额外的测试和校准,就可提供精确的数据。

USB微控制器选择的是 CYPRESS公司的CY7C68103A,其内部集成USB2.0收发器、智能串行接口(SIE)和增强型8051微处理器。它是EZ—USB FX2系列的一个低功耗版本,数据传输速率达到53 MB以上,在相同外部晶振作用下,平均处理速度是标准8051单片机的2.5倍,能较好地满足汽车行驶姿态检测的速度需求。

2.2 电路设计

惯性传感器ADIS16355是以标准SPI格式数据输出,CY7C68013A没有SPI接口,所以,采用PB口4条通用IO作为数据联络线,具体连接入图3所示,通过软件编程来实现SPI时序,进行数据的传输和控制。

3 系统软件设计

图4为USB设备数据采集程序和LabVIEW主机程序之间进行数据通信的数据流图,USB主机与USB设备进行双向数据传输时都要依次经过以上各个环节,缺一不可。

图3 传感器连接图Fig 3 Diagram of sensor connection

下面对各个环节的具体设计方法进行介绍[6]。

图4 USB设备主机数据流图Fig 4 Data flow of USB device and host

3.1 数据采集程序设计

ADIS16355惯性传感器的所有输出和用户编程功能都是通过寄存器结构实现的,每一个寄存器都是16位且具有唯一的地址。如图5所示,每一个数据帧需要16个时钟,而一个完整的数据读写周期需要2个数据帧。CY7C68013A单片机没有SPI接口,需要通过通用I/O口模拟实现,用循环指令使作为时钟的I/O口可在每一个时钟变为低电平后向传感器写入一位,在每一个时钟变为高电平之后从传感器读入一位。这样,经过两个时钟周期,数据即可完整的读入CY7C68103A单片机内,然后将数据存至其内部USB控制器的端点0即可。

将数据采集程序作为自定义请求的处理函数,当对应的请求号通过主机发送至USB设备时,USB设备将完成数据的采集并发送至主机。

图5 SPI时序图Fig 5 SPI timing chart

3.2 USB 固件程序

USB固件是USB设备的核心,主要完成USB协议的处理、与主机进行数据通信、USB设备的识别、设备请求等功能。

方案采用在CYPRESS公司提供的固件架构的基础上进行设计,主要完成自定义请求号和自定义请求处理函数的设计,自定义请求号是一个自定义的16位16进制数字,不能和USB标准设备请求重复;自定义请求处理函数是USB设备各种功能实现的实体,包括数据采集程序。

3.3 USB驱动程序设计

在Windows操作环境下,一般不能直接对硬件接口进行操作,而必须采用驱动程序作为桥梁。传统使用Microsoft的DDK开发驱动程序比较复杂,对于电子设计工程师来说周期长、难度大;WinDriver和DriverStdio简化了驱动程序的开发,但仍有相当大的难度。

NI-VISA是一个用来与各种仪器总线进行通信的高级应用程序接口(API),它不受平台、总线和环境的限制,用它来设计USB驱动程序可降低开发难度并且通用性好。通过VISA提供的Driver Development Wizard进行配置可定制自己设计的USB设备的驱动,在定制的过程中需要知道USB控制器的供应商ID和产品ID,当自制USB设备被计算机探测到时,选择 Driver Development Wizard生成的INF文件,即完成了设备驱动的安装。这样就可以在LabVIEW开发环境中查看自制的USB设备,并进行操作。

3.4 主机LabVIEW程序

采用LabVIEW开发USB主机程序,可采用控制传输方式进行。通过调用LabVIEW提供的“VISA USB控制输入”和“VISA USB控制输出”2个函数就可以进行USB设备的读写。

整个应用程序采用生产者/消费者设计模式结构,生产者循环(USB读取控制)负责数据的采集,保证高的采样速率,利用队列消息结构将数据传递给3个消费者,即显示、分析和存储3个功能线程,队列保证了数据的完整性。

LabVIEW提供了调用外部DLL的功能,在程序设计的过程中,一些LabVIEW不容易操作或实现的模块,在VC++6.0中以DLL的方式进行了封装然后供LabVIEW调用。

4 系统测试过程与数据分析

系统测试是将传检测系统的传感器固定在汽车的质心处,通过USB总线连接置手提电脑进行的。分为静态和动态2个过程,静态即汽车怠速过程(发动机空转);动态是在一段水泥路面的道路上进行加速、减速等多种在汽车行驶过程中常见的工况进行测试。由于采集的数据成分比较多,但又是同一个传感器输出的数据,所以,数据的特点具有一致性,以下就选择侧倾角速度数据进行介绍。

怠速过程的侧倾角速度一共采集了6组,每组10 000个点,其均值方差如表1所示;动态过程是15 min的一段路况数据,采集了两组侧倾角速度,如表2所示。

表1 怠速过程均值方差Tab 1 Mean-variance of idle process

表2 行驶过程均值方差Tab 2 Mean-variance of moving process

图6 侧倾角速度自相关函数Fig 6 Autocorrelation function of roll angular velocity

由以上给出的数据可以得出:汽车在怠速状态下采集到的6组侧倾角速度均值和方差都比较一致,并且其自相函数分布和在0点的值的特点基本符合白噪声的规律,如图6。本系统采用卡尔曼滤波器对这一噪声进行滤除,图7和图8为汽车动态过程中采集到的一组数据,并对滤波前后的数据进行了对比,从中可以看出滤波效果明显,数据更加准确可信。

图7 侧倾角速度滤波前数据Fig 7 Roll angular velocity data before filtering

图8 侧倾角速度滤波后数据Fig 8 Roll angular velocity after filtering

5 结束语

系统利用IMEMS传感器技术、USB串行总线技术、虚拟仪器技术等搭建了一种汽车行驶姿态检测系统,充分利用了USB高速数据传输性和虚拟仪器强大数据处理功能,不仅能够准确、实时地获取参数,也可以在PC机上进行显示和保存。实验证明:设计的检测系统获取的数据基本达到预期目标,能够为汽车安全控制系统设计提供一定的依据,并且具有运行稳定,实时性高和扩展性好的特点,具有很好的参考价值。

[1]陆 丹.基于卡尔曼滤波的汽车行驶姿态的研究[D].镇江:江苏大学,2005:1-3.

[2]刘 军,何国国,岳兴连,等.基于IMEMS传感器的汽车运动姿态测量系统研究[J].传感器与微系统,2009,28(11):12-15.

[3]吴黎明,张力锴,李怡凡.基于ANN和单个三轴加速度传感器的汽车运动姿态测量[J].传感技术学报,2011,24(6):923-927.

[4]丁能跟,余贵珍.汽车动力学及其控制[M].哈尔滨:哈尔滨工程大学出版社,2009:5.

[5]Hac A,Nichols D.Estimation of vehicle roll angle and side slip for crash sensing[C]∥SAE International,2010:529.

[6]薛圆圆,赵建领.USB应用开发实例详解[M].北京:人民邮电出版社,2009:4.

猜你喜欢
驱动程序倾角姿态
地球轴倾角的改斜归正
激光倾角仪在CT引导下经皮肺穿刺活检中的应用
车轮外倾角和前束角匹配研究
系列长篇科幻故事,《月球少年》之八:地球轴倾角的改邪归正
攀爬的姿态
全新一代宋的新姿态
计算机硬件设备驱动程序分析
跑与走的姿态
基于MPC8280的CPU单元与内部总线驱动程序设计
阅读是最美的姿态