APP下载

基于PCI-1711板卡的驾驶员疲劳监测数据采集系统

2010-08-30王少华闫光辉高鲜萍付燕荣

天津职业技术师范大学学报 2010年2期
关键词:板卡缓冲区中断

王少华,闫光辉,高鲜萍,付燕荣

(天津工程师范学院 汽车与交通学院,天津 300222)

基于PCI-1711板卡的驾驶员疲劳监测数据采集系统

王少华,闫光辉,高鲜萍,付燕荣

(天津工程师范学院 汽车与交通学院,天津 300222)

介绍了基于PCI-1711板卡的驾驶员疲劳信号数据采集系统。系统软件采用VB 6.0平台,并采用PCI-1711为数据采集板卡。在详细分析板卡数据采集原理的基础上,调用动态链接库中的驱动函数,通过中断方式进行编程,实现了驾驶员加速踏板位移等信号的采集、显示、保存、回放功能。结果表明,该数据采集系统满足设计要求,可应用于驾驶员疲劳信号的数据采集与监测。

疲劳监测;PCI-1711;数据采集

驾驶疲劳是指驾驶员在驾驶机动车辆时因生理机能、心理机能失调而造成驾驶机能失调的现象。根据美国国家公路交通安全管理局(NHTSA)的资料显示,美国有大约10万起交通事故是因驾驶员行车途中困倦打盹所致,这些事故致使约1 500名驾驶员和乘客死亡,受伤人数达7万人。欧洲的情况也与美国相似。德国保险机构GDV的统计数字显示,所有高速公路致命事故中约25%是由于驾驶员疲劳驾驶或打盹而引发,法国因疲劳驾驶而发生车祸的,占人身伤害事故的14.9%,占死亡事故的20.6%。近年来,随着我国汽车保有量的迅猛增长,因疲劳驾驶导致的交通事故也日益增多,据统计,我国因疲劳驾驶而造成的交通事故占总起数的20%左右,占特大交通事故的40%以上。鉴于疲劳驾驶直接或间接的导致大量人员伤亡和巨额经济损失,有必要对其进行深入研究[1-3]。

一般对驾驶员疲劳驾驶进行监测的方法有主观监测和客观监测两种:主观监测主要是通过主观调查表、驾驶员自我记录表、睡眠习惯调查表等来评定[4];客观监测主要是借助仪器对驾驶员身体指标和驾驶行为特异性指标进行实时检测、客观评价,并提出警示的方法。

国内外采用的客观监测方法有多种,采集的反映疲劳客观特征的监测指标分为3类:生理信号(脑电图EEG和心电图ECG等),物理反应(监测疲劳时表现的打哈欠、眨眼等外在特征),监测驾驶行为与车辆行为(加速踏板、制动踏板、方向盘转角、档位信号等)[5]。

本文提出并建立了一种基于PCI-1711板卡的监测驾驶操纵信息(加速、制动、方向盘操纵等)的数据采集系统。

1 驾驶员疲劳监测数据采集系统概述

数据采集系统(data acquisition system,DAS)是指将温度、压力、位移等模拟量采集转换成数字量后,再用计算机进行存储、处理、显示或打印的系统[6]。数据采集系统由硬件和软件组成。本数据采集系统硬件设计及组成如下。

1.1 PCI-1711数据采集卡

本数据采集系统采用研华公司的PCI-1711数据采集卡,PCI(peripheral component interconnect)总线是一种高带宽、独立于处理器的总线,主要用于高速外设的I/O接口和主机相连[7]。PCI-1711是一款功能强大的低成本多功能PCI总线数据采集卡,其特点包括:提供16路单端模拟量输入;12路A/D转换器,采样速率可达100 kHz;每个输入通道的增益可编程;自动通道/增益扫描;卡上1 K采样FIFO缓冲器;2路12位模拟量输出(仅PCI-1711);16路数字输入及16路数字量输出;可编程触发器/定时器。

1.2 传感器选型

传感器是将被测量的某一物理量(或信号)按一定规律转换为另外一种(或同种)与之有确定对应关系的、便于应用的物理量(或信号)输出的器件或装置。传感器的输入与输出关系特性是传感器的基本特性。本实验系统主要目的是采集驾驶员在行车过程中制动踏板、加速踏板、方向盘转角、轮胎转角的信号。采用的传感器实物图如图1所示。

综上所述,系统硬件由PC机、PCI-1711数据采集卡以及车速传感器、位移传感器、制动力传感器等硬件设备组成。

2 PCI-1711数据采集原理

对数据采集板卡PCI-1711进行编程的主要方式分为软件触发方式、中断方式和DMA方式。软件方式就是采用系统提供的时钟,在毫秒级的精确等级上,通过对寄存器查询实现数据采集。其速度慢,多用于低速数据采集。中断传输方式,需要编写中断服务程序(ISR),将板卡上数据传输到定义好的内存变量中,每次A/D转换结束后,EOC信号都会产生一个硬件中断,然后由中断服务程序完成传输。DMA方式相对复杂,一般适用于大量数据的高速采集。为防止在数据采集时数据丢失,通常在完成A/D转换后,将数据写入到数据输出寄存器中,接着使用DMA或中断服务功能将数据传输到CPU内存。此时,如果板卡没有FIFO(先入先出)功能,则每次硬件完成一次A/D转换后,就会产生一个中断,从而改写保存在数据寄存器中的值,如果上次A/D的数据在新数据到来之前没有传输到CPU,那么这个数据就会丢失。如果有FIFO功能,新数据就会被添加在FIFO缓冲区的第二个位置,而不会被覆盖,随后的数据依次排列,这样每次读取的都是最初的数据,而将最新的数据保存。当FIFO半满或者全满时,才产生一个中断,驱动程序响应中断将FIFO中的数据传送到内部缓冲区。本系统在软件程序中调用动态链接库,采用中断方式下的FIFO功能进行信号数据的传输。其中,使用的驱动函数说明如下:

DRV_DeviceGetList 有多种硬件设备时,获取硬件列表;

DRV_DeviceOpen 打开指定的数据采集板;

DRV_EnableEvent启动事件机制;

ADS_EVT_BufChange事件 该事件表示内部缓冲区已经半满,可以将这部分数据传输到用户缓冲区;

DRV_FAIIntScanStart 开始中断触发方式的A/D转换;

DRV_CheckEvent检查是否有设定的事件发生;

DRV_FAICheck 检查A/D转换的状态,在本例中用于检查究竟是内部缓冲区前半部分满了还是后半部分满了;

DRV_FAITransfer 将采集的数据从内部缓冲区传输到用户缓冲区;

DRV_FAIStop 结束A/D转换;

DRV_DeviceClose 关闭指定的数据采集板。

具体的动态数据采集流程如图2所示。

3 数据采集软件设计

研华公司提供的数据采集程序MADint例程只能完成中断方式下多通道指定采集点数的信息采集,考虑到驾驶员疲劳监测数据采集系统需要长时连续采集信号,故需另外编程实现。根据PCI-1711板卡的数据采集原理,该驾驶员疲劳监测系统主要分为4个模块:数据采集配置模块,数据显示模块,数据保存模块,数据回放模块。软件采用VB 6.0平台编写设计。

3.1 数据采集配置模块

系统软件界面如图3所示。

数据采集之初,需要先对数据采集模块参数进行设置,主要需要设置的参数包括:

(1)设备选择 当具有多个设备时进行选择;

(2)增益方式选择 可为所有通道选择相同增益方式,也可单独就通道进行设置;

(3)通道选择 设置扫描起始通道号及通道数;

(4)触发方式选择 内触发或外触发方式选择;

(5)采样频率设置;

(6)输入采样点数 A/D转换数,必须为通道数的整数倍,也为FIFO大小的整数倍;

(7)事件 是否使用事件,中断方式默认选择;

(8)FIFO设置 选择启动FIFO功能,设置FIFO大小,默认为FIFO大小的一半,需要注意的是该值必须被设置为大于零的偶数。

3.2 数据显示模块

数据的显示有3种方式:一种是将采集到的数据转换为波形图表的方式直观明了的显示;第二就是根据板卡的通道以Text文本形式显示当前值;第三就是直接以Listbox形式将内存缓冲区中前半部分或者后半部分的数据全部显示出来,该方式在数据量大时不够直观。本系统采用了前2种方法进行数据显示,在实现方法一绘制图表时,考虑到对于实时采集的数据采用Activex控件Mschart来添加图表功能,每秒的多次数据更新都会引起重绘,造成电脑屏幕高频闪烁,不易于观察,也有损人体健康,故本软件系统采用了VB提供的绘画函数,实时绘制采集数据曲线。为此,还要添加波形显示属性设置界面。

3.3 数据保存模块

数据文件的存储可采用数据库、文本文件、二进制文件等多种方式存取。ASCⅡ文件,即文本文件存储,采用该方法可以用字处理软件建立和修改,但是保存数据数量有限制要求,不适合大量数据存储。数据库存储文件相对复杂,故不予考虑。本数据采集软件系统采用二进制文件存储方式,虽不可用字处理软件打开,但占用空间小,存储数据量大。

3.4 数据回放模块

数据回放,即把采集的信号数据进行回放以用于信号分析、处理的过程。该模块将保存的二进制文件按原来保存方式编程提取出通道数、数据大小等有效数据,然后进行再次显示。

4 数据采集实验

4.1 实验设计

鉴于要在实际中采集驾驶员疲劳信号数据十分困难,所以实验采用北京理工大学驾驶员虚拟驾驶仿真系统,综合考虑驾驶员性别、车辆状况、道路环境等影响因素,选取一定样本容量、不同年龄段和不同驾龄段的驾驶员,变换不同道路环境,合理设计实验方案。PCI-1711提供16路单端模拟量输入通道,测量单端信号只需将导线连接到输入端口,被测的输入电压以公共地为参考。对于没有地端的信号源,板卡则提供一个参考地。使用研华PCI-1711数据采集卡和工控机,连接传感器和数据采集卡,实验环境如图4。

4.2 实验结果

以加速踏板在车辆模拟行驶过程中产生的模拟电压信号输入为例,连接板卡相应通道管脚,启动驾驶员疲劳监测数据采集系统,按照实验要求,进行数据采集的前期属性配置,实时采集车辆加速踏板位移量模拟信号如图5所示,并依次完成实验数据的采集、保存和回显。

5 结语

为了防止驾驶疲劳,有必要对驾驶员的实际驾驶状态进行监测。本文设计了一种基于PCI-1711的驾驶员疲劳监测系统。仿真结果表明,该系统方法合理可行,可以完成对驾驶员加速踏板、制动踏板、方向盘转角的信号采集。需要说明的是,本系统只是做了初步的信号采集工作,还有待于进一步对采集的信号进行处理分析,建模形成可以对驾驶员疲劳进行判定的客观依据。

[1] 熊运霞,苗德华,马林昌,等.汽车驾驶员疲劳监测技术研究现状及发展趋势 [J].天津工程师范学院学报,2009,19(2):15-18.

[2] 刘伟.驾驶疲劳监测中转向盘转角动态特性的研究[D].北京:北京理工大学,2009.

[3] 李贞,冯晓毅.基于传感器技术的驾驶疲劳检测方法综述[J].测控技术,2007,26(4):1-3.

[4] 舒红宇,李发权,易舒平,等.汽车驾驶疲劳的一种综合性评定方法 [J].上海交通大学学报,2008,42(8):1338-1343.

[5] 吴康华.基于PERCLOS的驾驶疲劳检测系统设计 [D].杭州:浙江大学,2008.

[6] 祝常红,彭坚.数据采集与处理技术[M].北京:电子工业出版社,2008:1-7.

[7] 李念强,魏长智,潘建军,等.数据采集技术与系统设计[M].北京:机械工业出版社,2008:215-216.

Data acquisition system designed for fatigue detection based on PCI-1711

WANG Shao-hua,YAN Guang-hui,Gao Xian-ping,FU Yan-rong
(1.School of Automobile and Transportation,Tianjin University of Technology and Education,Tianjin 300222,China)

A data acquisition system for fatigue detection based on PCI-1711.PCI-1711 is introduced in this paper.The system software uses VB 6.0 platform and data acquisition using PCI-1711.Based on data acquisition the function of dynamic link library is used to program by the way of interrupt,realizing the action of getting,displaying,saving and replaying analog signal of accelerator pedal displacement for DAQ system,and so on.The result demonstrates that the system could be able to meet the requirements,and will be helpful to monitoring signal in the area of fatigue detection.

fatigue detection;PCI-1711;data acquisition

book=2,ebook=71

U471.15

A

1673-1018(2010)02-0033-04

2010-03-30

教育部科学技术研究重点项目(209004);天津工程师范学院青年教师项目(YJS09-08).

王少华(1983-),男,助教,硕士,研究方向为智能交通.

猜你喜欢

板卡缓冲区中断
车载控制器CVRE板卡显红故障分析及处理
基于PCI9054的多总线通信板卡的研制
基于FPGA的中断控制器设计*
基于网络聚类与自适应概率的数据库缓冲区替换*
跟踪导练(二)(5)
千里移防,卫勤保障不中断
一类装配支线缓冲区配置的两阶段求解方法研究
一种基于光纤数据传输的多板卡软件程序烧写技术
关键链技术缓冲区的确定方法研究
初涉缓冲区