孙耀杰,赵忠祥
(河北工业大学 天津 300401)
汽车行驶记录仪(汽车黑匣子)是一种使用在汽车上的数字式电子记录装置[1],它可以对汽车的行驶速度、时间、里程及刹车等状态信息进行存储并通过USB或串口导出数据。汽车记录仪对约束驾驶员的不良驾驶行为,分析、鉴定道路交通事故,提高交通管理执法水平和运输管理水平,保障车辆运行安全具有重要作用。
当前的汽车行驶记录仪技术比较成熟,低端产品一般采用8位或16位单片机作为主处理器[2],中高端则采用32位的ARM处理器,但这些产品一般只能做到对本车的记录及监控,车辆行驶记录需逐车采集,不便于大型车队和企业管理。这里提出一种基于GPS和GPRS的多功能汽车记录仪的设计方案,该设计是在实现记录仪基本功能的基础上,增加GPS和GPRS模块,分别用于定位和数据远程传输,结合数据库技术和相应监控管理软件实现对车辆和司机全方位监控、调度和管理。
本系统主要包括汽车记录仪终端、服务器和监控管理软件。其中汽车记录仪终端包括信号采集、数据记录、GPS和GPRS等部分。服务器接收记录仪通过GPRS发送的数据并保存。监控管理软件对服务器的数据进行统计、分析[3],得到超速驾驶、疲劳驾驶和行驶里程等信息。
记录仪终编是整个系统的基础,其主要功能为:
1)实时定位功能 能够实时采集记录车辆当前所处的位置数据,并把位置数据发送到监控中心管理平台,在监控平台上显示出车辆的行驶轨迹;监控中心(监控站)也可以发出指令寻找目标车辆所在位置数据;
2)运营限制区域设置功能 利用监控平台可以对运营车辆的行驶区域范围做出限定,车辆一旦超出限定区域,监控平台就会发出报警;
3)泊车防盗功能 停车后按下泊车防盗按钮,车辆就进入泊车防盗状态。如车辆非法移动,监控平台立即发送短信至主控手机上,并报告当前的车辆位置;
4)紧急求助报警 当车辆遇劫或需要求助时,驾驶人员可通过按键向中心报警,同时向监控中心发送车辆的经度、纬度、行驶速度、方向、时间等信息;
5)车辆全程行驶数据记录 车载终端全程采集、记录车辆行驶和司机操作的全部数据并发给数据中心。其中包括:车辆的时间、速度、里程、状态、位置、发动机转速等数据。利用一体机记录下的全程行驶数据,监控平台提供每条行驶记录全程时间-速度-状态曲线和里程-速度-状态曲线。通过这些曲线查看司机的全部驾驶过程;
6)超速报警和超速记录 车载终端可以按预先设置的速度限制进行超速报警。当车辆行驶速度超过设定值时,车载终端就以声/光方式报警,提醒司机及时减速。同时把车辆超速信息发送到监控中心;
7)司机疲劳驾驶报警和记录 车载终端能记录驾驶员连续驾驶时间超过4 h的所有疲劳驾驶数据;
8)事故疑点记录 车载终端以0.2 s的时间间隔记录车辆停车前20 s时间段内和实时时间相对应的车辆行驶的速度值、刹车信号和其他车辆状态信号作为事故疑点数据。存储最近2个月的所有事故疑点数据;
9)车辆油位监控功能 车载终端可以对油箱油位进行实时监控。当油位发生异常变化时,车载终端可以实时记录变化量并向监控中心发送异常变化数据;
10)视频监控功能 可外接两路摄像头,将车内外情况抓拍照片后传送到监控中心;
11)驾驶员身份识别功能 车载终端利用IC卡方式实现驾驶人员身份识别功能。 使用和车载终端配套使用的管理软件可以把驾驶员基本信息设置在IC卡中,其中包括:“驾驶员姓名”、“驾驶员代码”、“驾驶证号码”。把设置好的IC卡插入记录仪,记录仪自动对司机进行识别;
12)数据通信功能 车载终端通过内置GPRS通讯模块实现和监控中心的数据互通;车载终端设有标准USB接口,使用U盘可以把车载终端记录的全部数据取出;通过车载终端的USB口可以对车载终端进行参数设置也可以对车载终端进行程序装载;
13)读取短信功能 读取监控平台发送的任意短信内容。
记录仪总体结构框图如图1所示,主要包括ARM处理器、GPS模块、GPRS模块、信号采集电路、实时时钟电路、语音报警电路及数据存储电路。
图1 记录仪总体结构框图Fig.1 Overall structure diagram of recorder
为了满足系统对实时性、大量数据处理、GPS信号接收、GPRS发送数据控制等各方面的要求,选用32位ARM处理器AT91SAM9260。AT91SAM9260采用 ARM926EJ-S内核,外部总线接口包含诸多控制器,用于控制SDRAM以及包括NAND Flash和Compact Flash在内的静态存储器,7路USART、1个双线接口(TWI)以及 4通道 10位 A/D转换器[4]。
目前汽车电瓶电压在9~36 V之间,而且由于车辆本身环境影响,汽车供电电压不稳定,存在各种干扰,所以本系统采用三级电压转换电路,如图2所示。外部电源分别经LM2576HVT-ADJ、LM2940-5.0和 LM1117转换为 7、5和 3 V,供给相应模块。其中第一级LM2576HVT-ADJ将7~40 V电压转换至7 V,使本系统可以应用到任何车辆。在电源输入电压转换模块前通过LC滤波[5],可以有效地滤除交流干扰,各电源转换器后端均通过100和0.1 μF电容并联接地消除纹波电压,保证系统供电稳定。经过测试该电路可以稳定输出5和3.3 V电压。
图2 电源电路Fig.2 Power circuit
获得准确的速度是记录仪正常工作的基础。大部分汽车都安装有速度传感器,车轮每转动一周则会输出一定数量的脉冲,准确判断这些脉冲是关键[6]。本系统采用的速度采集电路如图3所示,首先通过前端的RC滤波去除高频干扰,经过一个跟随器,再通过比较电路输出,控制后端的三极管VQ1的通断,产生稳定的脉冲信号。
图3 速度采集电路Fig.3 Speed acquisition circuit
GPS是本系统实现定位的核心部分,采用Gloabalsat的ET-318 SiRF StarⅢGPS芯片组,该模块具有灵敏度高(追踪灵敏度:-159 dbm),低信号下快速TTFF(首次定位时间),20通道全视野跟踪,速度精度0.1 m/s,支持NMEA0183和SiRF二进位协议,通过串口固定输出NMEA0183规定的数据信息。通信参数:波特率为4 800 b/s,数据位为8 bit,停止位为1 bit,无奇偶校验。ARM接收其中的RMC(推荐定位信息),获得时间、经纬度、地面速度、地面航向等信息。
本系统每10 s钟通过GPRS将当前速度、经纬度、方向和时间发送到服务器,管理软件读取这些信息就可以监测车辆的当前状态。GPRS模块采用的是SIM300C,它体积小,采用DIP板对板连接器,低功耗,高速传输语音、SMS(短信)、数据和传真信息,最关键的是它内嵌强大的TCP/IP协议栈,支持标准AT指令集。本系统通过SIM300C建立TCP管道传输数据。建立过程如下:
其中1 024规定每次传输量最大不超过1 KB。
系统在超速行驶、疲劳驾驶时,相应的高亮度LED闪烁,同时启动语音报警功能,发出“超速,请减速”的警告语音,而且记录仪能播放监控平台发送的短信的内容即TTS(从文本到语音)。该记录仪采用语音天下的第二代语音合成器OSYNO 6288。 它兼容 GB2312、GBK、BIG5和 Unicode等 4种内码格式文本的合成,可以在9 600,19 200、38 400 b/s等波特率下正常工作,增加多种控制命令。比如合成、停止合成、暂停合成、继续合成、改变波特率等,可以自动识别词组,多音字。语音通过PWM(脉宽调制)输出至喇叭。为与监控软件、数据库和GPRS模块兼容,采用通用性更好的Unicode码,通信参数:波特率为4 800 b/s,数据位为 8 bit,停止位为1 bit,无奇偶校验,OSYNO 6288内置有功放,软件调节音量至11级,外接8 Ω/0.5 W喇叭,播放声音洪亮、清晰,即使在较为嘈杂的环境下也可以清楚听到播放内容。
汽车行驶记录仪是在汽车行驶过程中对汽车各种状态进行记录的电子装置,各种状态数据存储是汽车行驶记录仪的重要部分。此前大多设计均采用Flash和铁电存储器并用的方式。但是对于实时操作系统Linux只要采用一片Flash就可以满足需要。目前Linux操作系统可以很好支持Nand Flash,AT91sam9260支持Nand Flash启动,并且与之相应的yaffs2文件系统已经成熟,保证了数据的准确性。由于本系统需要保存大量数据:GPS定位信息、疑点记录、行驶记录、断电记录、疲劳驾驶记录、油位等,所以采用K9F1G08U0B型128 M×2 K页NandFlash存储器。
本系统加装精确的油位传感器,对油位实时记录,并通过GPRS传输至监控平台,车辆运营企业可以实时掌握车辆的油位情况,彻底杜绝司机偷油卖油,拉私活的情况发生。
车辆电环境复杂干扰多,因此采用电流型传感器。本系统采用CR-606型电容式油位传感器,当油进入容器引起传感器壳体和感应电极之间的变化,适用于任何不导电的液体,油位精度高,油位液在采集小于1 mm,测量误差小于0.1%,标准输出4~20 mA的线性电流信号,经过150 Ω精密电阻转换至0.6~3 V电压信号,通过AT91sam9260的A/D转换模块转换为数字量并保存。
主处理器AT91sam9260虽内置时钟,但是当处理器断电后,该实时时钟所有寄存器的内容将全部丢失。为此,系统需要外部实时时钟。PCF8563符合这一要求,PCF8563具有掉电检测器,当供电电压低于某个值时,秒寄存器中的某标志位将置1,指明此时实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。此外,PCF8563可以工作在1~5.5 V的宽电压范围内,具有体积小、外围电路简单、运行稳定性、精度高、功耗低等优点,Linux内核对其支持稳定可靠,满足本系统的要求。
根据GB/T19056-2003,标准记录仪应至少配置2种标准接口:USB标准接口、标准RS-232型9针接口。通过RS-232串行口直接进行数据传输比较容易实现,可靠性高。AT91sam9260的串行口经电平转换器MAX232转换为EIA/TIA-232-E电平,从而提供标准的 RS-232接口。AT91sam 9260支持USB主从模式,也可直接外接USB接口。
汽车记录仪是无人控制的,在汽车开始运行时自动启动,本系统采用Linux操作系统,运行过程为:汽车上电记录仪启动,开始引导 Bootstrap、Uboot,通过 Bootloader调用 Linux内核,加载yaffs2文件系统,自动启动应用程序。
应用程序采用C语言编写[7],主程序负责整个系统的初始化,硬件设备通过信号(软中断)与主程序交互数据,完成相应的操作,主程序流程如图4所示。
图4 主程序流程图Fig.4 Flow chart of main program
本系统设计记录的数据包括行驶记录,上电至掉电之间,每3 s保存一次时间、速度、状态、GPS定位信息和角度;疑点记录,保存每次停车前20 s内,每0.2 s的速度和状态信息;断电记录,保存系统断电时的时间;疲劳驾驶记录,保存司机连续驾车超过4 h的起始时间。所有的记录数据要求保存2个月,因此保存数据量大,相应需要传输的数据量也大。
在GPRS传输数据之前对数据进行压缩并且在系统出现新记录时进行传输。在编译busybox时选择gzip功能,通过gzip对数据压缩,一般压缩比可达9∶1。由于GPRS透明传输要求每次传输数据最大不超过1 KB,因此将需传输的数据分割为每包1 000字节的数据,并为每包数据标识ID号。服务器接收端根据接收到的数据包ID重新组合数据,通过解压缩软件解压得到记录仪的记录数据。
在大型车队及运输公司,司机为免受记录仪的约束,往往在运营过程中对记录仪非法断电,使记录仪不能正常工作,以此躲避监控。因此本系统专门设计断电记录,对司机非法断电的行为进行监督。系统启动时将当前时钟与上次停机时时钟进行对比,Linux从死机至重启的时间应在5 min以内,若对比时间超过5 min,说明记录仪长时间断电,将上次停机时间作为断电记录保存,并发送至服务器。
ARM接收GPS的RMC信息。若GPS时间与当前系统时间相差达到30 s,则以GPS时间为准并校准系统时间和硬件时钟。当前速度与GPS速度比较,若GPS速度连续30 s大于0,而速度采集电路接收始终为0,则判断速度传感器故障,并使用GPS速度作为系统当前速度,并向监控中心报警。
经过努力,本系统已经完成,并生产出样机。通过样机安装在试验用车进行各方面性能和功能测试。测试结果如表1,表2所示。
该汽车记录仪结合GPS和GPRS实现精确定位和远程数据传输,通过管理软件可以实时获取当前车辆状态信息,又能及时查看车辆行驶记录,在车辆实时告警与稽核、公安交警部门的事故处理发挥重要作用,增加断电记录和多种报警功能,即可以防抢防盗,又能满足大中型车队及企业对于车辆管理和司机操作监控的需要。
表1 性能测试Tab.1 Performance testing
[1]陆文昌.汽车行驶记录仪的现状与发展趋势[J].汽车电器,2005(5):1-2.LU Wen-chang.Status and development trend of automobile running recorder[J].Auto Electric parts, 2005(5):1-2.
表2 功能测试Tab.2 Function testing
[2]王保华,杨正才.基于ARM及CAN总线的汽车行驶记录仪的开发[J].仪表技术与传感器,2009(4):27-28,57.WANG Bao-hua,YANG Zheng-cai.Design of automobile travel recording instrument based on ARM and CAN bus[J].Instrument Technique and Sensor, 2009(4):27-28,57
[3]高玉芹.基于UPSD3354单片机的多功能汽车行驶记录仪[J].仪表技术与传感器,2009(5):26-28,31.GAO Yu-qin.Multifunction automobile running state recorder based on μPSD3354 single-chip[J].Instrument Technique and Sensor,2009(5):26-28,31.
[4]Atmel Corporation AT91SAM9260 datasheet[EB/OL].(2007-12-11)http://pdf.dzsc.com/88888/2007112192228966.pdf.
[5]范焘.汽车行驶记录仪的抗干扰技术研究[J].中国高新技术企业,2009(11):7-8.FAN Tao.Anti-jamming technology of vehicle traveling data recorder[J].Chinese Hi-tech Enterprise,2009(11):7-8.
[6]叶小岭,严海东.汽车记录仪数据采集系统的设计[J].电子技术应用,2008,34(12):102-104.YE Xiao-ling,YAN Hai-dong.Design of vehicle data recorder acquisition system[J].Application of Electronic Technique,2008,34(12):102-104.
[7]SIMCom Corporation AT Commands Set SIM300_ATC_V2.01[EB/OL].(2008-11-21).http://www.micro chip.ua/simcom/GSM-GPRS-GPS/AppNotesdoc/TCPIP20APP_V1.01.pdf.