基于GPS 和GPRS 的多功能汽车记录仪的设计
扫描二维码
随时随地手机看文章
摘要: 提出一种多功能汽车记录仪的设计方案, 系统采用AT91SAM9260 型ARM 处理器为控制器,Linux 操作系统,K91G08U0B 型Nand Flash 为存储介质,通过ET-318 SiRF Star Ⅲ GPS 芯片组接收GPS 信号进行定位,而GPRS 模块采用SIM300C 传输数据。该汽车记录仪能够实时记录监测汽车行驶状态、位置,通过GPRS 将行驶记录及当前信息上传至服务器,实现远程监控,具备超速、疲劳驾驶报警功能。数据可以通过USB 或RS-232 串口上传至上位机。经测试该记录仪性能稳定可靠。
汽车行驶记录仪(汽车黑匣子)是一种使用在汽车上的数字式电子记录装置,它可以对汽车的行驶速度、时间、里程及刹车等状态信息进行存储并通过USB 或串口导出数据。
汽车记录仪对约束驾驶员的不良驾驶行为,分析、鉴定道路交通事故,提高交通管理执法水平和运输管理水平,保障车辆运行安全具有重要作用。
当前的汽车行驶记录仪技术比较成熟,低端产品一般采用8 位或16 位单片机作为主处理器[2],中高端则采用32 位的ARM 处理器, 但这些产品一般只能做到对本车的记录及监控,车辆行驶记录需逐车采集,不便于大型车队和企业管理。这里提出一种基于GPS 和GPRS 的多功能汽车记录仪的设计方案,该设计是在实现记录仪基本功能的基础上,增加GPS 和GPRS 模块,分别用于定位和数据远程传输,结合数据库技术和相应监控管理软件实现对车辆和司机全方位监控、调度和管理。
1 系统组成和主要功能
本系统主要包括汽车记录仪终端、服务器和监控管理软件。其中汽车记录仪终端包括信号采集、数据记录、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)读取短信功能读取监控平台发送的任意短信内容。
2 记录仪硬件设计
记录仪总体结构框图如图1 所示, 主要包括ARM 处理器、GPS 模块、GPRS 模块、信号采集电路、实时时钟电路、语音报警电路及数据存储电路。
2.1 主处理器
为了满足系统对实时性、大量数据处理、GPS 信号接收、GPRS 发送数据控制等各方面的要求, 选用32 位ARM 处理器AT91sam9260。AT91SAM9260 采用ARM926EJ-S 内核,外部总线接口包含诸多控制器, 用于控制SDRAM 以及包括NAND Flash 和Compact Flash 在内的静态存储器,7 路USART、1 个双线接口(TWI)以及4 通道10 位A/D 转换器。
2.2 电源电路
目前汽车电瓶电压在9~36 V 之间, 而且由于车辆本身环境影响,汽车供电电压不稳定,存在各种干扰,所以本系统采用三级电压转换电路, 如图2 所示。外部电源分别经LM2576HVT-ADJ、LM2940-5.0 和LM1117 转换为7、5 和3 V,供给相应模块。其中第一级LM2576HVT-ADJ 将7~40 V 电压转换至7 V,使本系统可以应用到任何车辆。在电源输入电压转换模块前通过LC 滤波,可以有效地滤除交流干扰,各电源转换器后端均通过100 和0.1 μF 电容并联接地消除纹波电压,保证系统供电稳定。经过测试该电路可以稳定输出5和3.3 V 电压。
2.3 速度采集电路
获得准确的速度是记录仪正常工作的基础。大部分汽车都安装有速度传感器,车轮每转动一周则会输出一定数量的脉冲,准确判断这些脉冲是关键。本系统采用的速度采集电路如图3 所示,首先通过前端的RC 滤波去除高频干扰,经过一个跟随器,再通过比较电路输出,控制后端的三极管VQ1的通断,产生稳定的脉冲信号。
2.4 GPS
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(推荐定位信息),获得时间、经纬度、地面速度、地面航向等信息。
2.5 GPRS
本系统每10 s 钟通过GPRS 将当前速度、经纬度、方向和时间发送到服务器,管理软件读取这些信息就可以监测车辆的当前状态。GPRS 模块采用的是SIM300C,它体积小,采用DIP 板对板连接器,低功耗,高速传输语音、SMS(短信)、数据和传真信息, 最关键的是它内嵌强大的TCP/IP 协议栈,支持标准AT 指令集。本系统通过SIM300C 建立TCP 管道传输数据。建立过程如下:
AT+CIPMODE=1;//设置管道模式
AT+CGDCONT=1,“IP”,“CMNET”;//配置网络
AT+CGATT=1;//连接网络
AT +CIPSTART =“TCP”, “218.***.***.***”, “80000”;//配置
TCP
AT+CIPCCFG=5,2,1024,1;//配置透明传输
其中1 024 规定每次传输量最大不超过1 KB。
2.6 语音模块
系统在超速行驶、疲劳驾驶时,相应的高亮度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 喇叭,播放声音洪亮、清晰,即使在较为嘈杂的环境下也可以清楚听到播放内容。
2.7 数据存储器
汽车行驶记录仪是在汽车行驶过程中对汽车各种状态进行记录的电子装置,各种状态数据存储是汽车行驶记录仪的重要部分。此前大多设计均采用Flash 和铁电存储器并用的方式。但是对于实时操作系统Linux 只要采用一片Flash就可以满足需要。目前Linux 操作系统可以很好支持NandFlash,AT91sam9260 支持Nand Flash 启动, 并且与之相应的yaffs2 文件系统已经成熟,保证了数据的准确性。由于本系统需要保存大量数据:GPS 定位信息、疑点记录、行驶记录、断电记录、疲劳驾驶记录、油位等,所以采用K9F1G08U0B 型128 M×2 K 页NandFlash 存储器。
2.8 油位传感器
本系统加装精确的油位传感器,对油位实时记录,并通过GPRS 传输至监控平台,车辆运营企业可以实时掌握车辆的油位情况,彻底杜绝司机偷油卖油,拉私活的情况发生。
车辆电环境复杂干扰多,因此采用电流型传感器。本系统采用CR-606 型电容式油位传感器, 当油进入容器引起传感器壳体和感应电极之间的变化, 适用于任何不导电的液体, 油位精度高, 油位液在采集小于1 mm, 测量误差小于0.1%,标准输出4~20 mA 的线性电流信号,经过150 Ω 精密电阻转换至0.6~3 V 电压信号,通过AT91sam9260 的A/D 转换模块转换为数字量并保存。
2.9 实时时钟
主处理器AT91sam9260 虽内置时钟,但是当处理器断电后,该实时时钟所有寄存器的内容将全部丢失。为此,系统需要外部实时时钟。PCF8563 符合这一要求,PCF8563 具有掉电检测器,当供电电压低于某个值时,秒寄存器中的某标志位将置1,指明此时实时时钟可能会产生不准确的时钟/日历信息,从而避免了记录仪对错误时间的记录。此外,PCF8563可以工作在1~5.5 V 的宽电压范围内,具有体积小、外围电路简单、运行稳定性、精度高、功耗低等优点,Linux 内核对其支持稳定可靠,满足本系统的要求。
2.10 通信接口
根据GB/T19056-2003,标准记录仪应至少配置2 种标准接口:USB 标准接口、标准RS-232 型9 针接口。通过RS-232串行口直接进行数据传输比较容易实现, 可靠性高。
AT91sam9260 的串行口经电平转换器MAX232 转换为EIA/TIA-232-E 电平,从而提供标准的RS-232 接口。AT91sam9260 支持USB 主从模式,也可直接外接USB 接口。
3 汽车记录仪软件设计
汽车记录仪是无人控制的, 在汽车开始运行时自动启动,本系统采用Linux 操作系统,运行过程为:汽车上电记录仪启动,开始引导Bootstrap、Uboot,通过Bootloader 调用Linux内核,加载yaffs2 文件系统,自动启动应用程序。
3.1 主程序
应用程序采用C 语言编写,主程序负责整个系统的初始化,硬件设备通过信号(软中断)与主程序交互数据,完成相应的操作,主程序流程如图4 所示。
3.2 GPRS 数据发送
本系统设计记录的数据包括行驶记录, 上电至掉电之间,每3 s 保存一次时间、速度、状态、GPS 定位信息和角度;疑点记录,保存每次停车前20 s 内,每0.2 s 的速度和状态信息;断电记录,保存系统断电时的时间;疲劳驾驶记录,保存司机连续驾车超过4 h 的起始时间。所有的记录数据要求保存2 个月,因此保存数据量大,相应需要传输的数据量也大。
在GPRS 传输数据之前对数据进行压缩并且在系统出现新记录时进行传输。在编译busybox 时选择gzip 功能,通过gzip 对数据压缩, 一般压缩比可达9 ∶ 1。由于GPRS 透明传输要求每次传输数据最大不超过1 KB, 因此将需传输的数据分割为每包1 000 字节的数据, 并为每包数据标识ID 号。服务器接收端根据接收到的数据包ID 重新组合数据, 通过解压缩软件解压得到记录仪的记录数据。
3.3 断电记录的实现
在大型车队及运输公司, 司机为免受记录仪的约束,往往在运营过程中对记录仪非法断电, 使记录仪不能正常工作,以此躲避监控。因此本系统专门设计断电记录,对司机非法断电的行为进行监督。系统启动时将当前时钟与上次停机时时钟进行对比,Linux 从死机至重启的时间应在5 min 以内,若对比时间超过5 min,说明记录仪长时间断电,将上次停机时间作为断电记录保存,并发送至服务器。
3.4 时间和速度校准
ARM 接收GPS 的RMC 信息。若GPS 时间与当前系统时间相差达到30 s, 则以GPS 时间为准并校准系统时间和硬件时钟。当前速度与GPS 速度比较,若GPS 速度连续30 s 大于0,而速度采集电路接收始终为0,则判断速度传感器故障,并使用GPS 速度作为系统当前速度, 并向监控中心报警。
4 样机测试
经过努力,本系统已经完成,并生产出样机。通过样机安装在试验用车进行各方面性能和功能测试。测试结果如表1,表2 所示。
5 结论
该汽车记录仪结合GPS 和GPRS 实现精确定位和远程数据传输, 通过管理软件可以实时获取当前车辆状态信息,又能及时查看车辆行驶记录,在车辆实时告警与稽核、公安交警部门的事故处理发挥重要作用,增加断电记录和多种报警功能,即可以防抢防盗,又能满足大中型车队及企业对于车辆管理和司机操作监控的需要。