汽车行驶记录仪(俗称汽车黑匣子),是对车辆行驶速度、时间、里程以及有关车辆行驶的其他状态信息进行记录、存储并可通过接口实现数据输出的数字式电子记录装置。对遏止疲劳驾驶、车辆超速等交通违章、约束驾驶人员的不良驾驶行为、保障车辆行驶安全以及道路交通事故的分析鉴定具有重要的作用。
近几年来,国内部分省份已经规定,长途客运车必须安装汽车行驶记录仪。本文根据汽车行驶记录仪国家标准GB/T 19056-2003,设计了一种符合国家标准且在现有的汽车行驶记录仪产品中增加了防碰撞无线数据上载的功能。下面主要阐述汽车行驶记录仪的基本功能以及硬件架构和软件系统的设计。
1 汽车行驶记录仪基本功能
国家标准GB/T 19056-2003中主要要求记录仪应有如下功能:
(1)自检功能
记录仪在通电开始工作时,应首先进行自检,自检正常后应以绿闪信号及显示屏显示方式指示工作正常。
(2)驾驶员身份记录功能
每台记录仪均配置惟一序号,并安装了非接触式射频IC卡验卡机,或键人密码方式,用户可以根据需要采用IC卡方式或键入密码方式验证驾驶员的身份。如驾驶前未进行身份验证,或身份验证无效,即默认为是上一次驾驶员身份。通过记录仪管理软件可以方便地查看驾驶员身份验证资料,如驾驶员身份验证无效,并不影响驾驶,但可通过管理软件查看到非法驾驶的相关数据。
(3)数据显示
转速检测与车辆转速仪表同步,数字显示,检测精度为±50 r/min,显示范围为0~9 999 r/m。发动机转速特征系数可通过记录仪管理软件进行设定。
日期和时间的记录格式:北京时间*年*月*日*时*分*秒,相对误差:±5 s。
(4)数据的采集、记录、存储功能
能够对时间、日期、驾驶时间、车辆行驶速度、行驶里程等数据进行实时测量、记录和存储,并保证存储的数据在较长时间内不丢失。需要被采集的输入信号包括三类:模拟信号输入、数字信号输入以及开关量信号输入。
(5)数据通信功能
记录仪能够通过多种方式(包括RS 232串行接口、USB接口以及I2C总线接口)与外部环境进行通信,实现数据的交互。
现有的汽车行驶记录仪数据上载大部分均为有线传输,例如USB、串口线传输等。在无法使用有线传输的场合,采用无线数据传输模块和单片机相结合进行数据传输是较合理的方案。本文就是用LPC2214与SR-WF-1021数传模块结合,加上防碰撞的简单算法进行数据通信。
(6)超速、驾驶员疲劳驾驶的报警、记录
当车速超过设限(可根据用户需要设定),记录仪将发出声光报警,提醒驾驶员减速。报警声间隔为4s。
当同一驾驶员连续驾车行驶累计4 h以上,记录仪将记录下该驾驶员疲劳驾驶的相关数据,并发出蜂鸣报警,同时红灯闪烁,与超速报警相似。连续驾驶中途停车超过20 min,记录仪自动解除当前疲劳时间的累计。若停车时间小于20 min,记录仪仍视为连续驾驶,累计疲劳驾驶时间。
2 系统硬件设计
本文设计了一个基于LPC2214单片机的简化嵌入式无线数据采集系统,系统框图如图1所示。该系统体积小、重量轻、运行成本低,且依托现有的无线模块自组网络,自定义通信协议。特别适用于采集点分布范围广、数量多、自动化值守的场合。
本系统的主机部分包括:信号输入、数据保存和处理、数据显示、数据通信、复位电路和掉电保护电路等部分。
实时时钟电路,在发生超速、疲劳驾驶等违章情况时,LPC2214可直接从实时时钟电路中读取实时时间进行处理和保存。
系统具备USB接口,当用户插入USB磁盘时,可利用主控USB功能,将存储器中的数据导入磁盘中。上位机软件可利用此USB磁盘采集到的数据进行数据分析和车辆、人员管理。
复位电路不仅能够复位系统,同时可以处理无线通信中一些干扰信号使无线模块通信阻塞造成的死机,同时LPC2214中的电源监控芯片可提高系统的可靠性,从而保证LPC2214对电源、时钟源等诸多方面提出的较高要求。
2.1 CPU模块
系统中的CPU模块是采用Philips公司推出的基于一个支持实时仿真和跟踪的32位ARM7TDMISTM CPU的高速处理器LPC2214。
LPC2214带有256 KB嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
LPC2214采用144脚封装,可使用的GPIO高达76(使用了外部存储器)~112个(单片应用)。由于内置了宽范围的串行通信接口,使它们非常适合于通信网关、协议转换器、嵌入式软Modern以及其他各种类型的应用。
2.2 数据量采集
本文的模拟量采集是直接利用LPC2214内现有的逐次逼近式的10 b A/D转换器,实现8路快速模拟信号的采集。该转换器的测量范围为0~3 V,最快转换速度可达2.44μs/次,编程简单,还可选择需要的功能来提高转换器的转换精度。
本文的开关量采集时采用8路开关量的采集,外部开关信号经过光电隔离TLP421后,从LPC2214的8根I/O口引入系统,编程实现采用中断方式或查询方式对这8路开关信号进行采集。
2.3 数据存储模块
本文系统以LPC2214为核心,对外部模拟量输入、数字量输入以及开关量输入3种信号分别进行采集。需要保存的数据经过处理后存储于内部大容量存储器中,实时数据(如实时车速、驾驶员信息、实时时间)及报警信号等可通过显示面板输出显示。
本文系统中含有两种存储器:FLASH存储器SST39VF160和E2PROM存储器FM24CL64。示意图如图2所示。
FM24CL64是一个基于I2C总线、具有8 KB存储空间的串行CMOS的E2PROM存储器,有一个专门的写保护功能。该芯片占据LPC2214的I/O资源少、编程简单、数据存储时间亦可达100年,故常用于存储一些系统、配置参数,在仪器仪表中的应用十分广泛。
SST39VF160是一个1M×16的CMOS并行多功能FLASH存储器,具有快速擦除扇区和软、硬件写保护等功能。因为该芯片掉电数据保存时间超过100年,所以非常适用于大容量数据存储的场合,尤其是需要程序或数据存储器可方便且低成本地更新换代。
在本系统中,扩展了一个高速的静态RAMIS61LV25616,该器件由ISSI的高性能CMOS技术制造而成,具有功耗低、访问速度快等特点。超大容量的SDRAM资源,为嵌入式操作系统的移植、复杂逻辑处理提供了坚实的基础。
2.5 通信模块
LPC2214内部集成2个16C550工业标准UART串行接口,使用UART1外扩SP3232芯片,构成标准的RS 232通信接口。采集数据可以通过RS 232总线,传输到PC机,便于数据的存储与处理。
使用UART0外扩SRWF-1021无线数传模块,为记录仪和PC机之间的数据通信提供了一种便利的透明的无线传输方式。该模块主要用于工业控制。其突出特点是:实现串口透明的无线传输、实时稳定可靠高速、配置简单。将采集到的数据通过无线的方式进行传送,应用灵活,可以在不容易布线的环境中很好地工作。
SRWF-1021无线数传模块为通用透明传输模块,能适应任何标准或非标准的用户协议,其特点如下:
(1)微功率发射,最大发射功率为17 dBm,使用载波频率为433 MHz。
(2)标准配置提供8个信道,可扩展到16/32信道。满足用户多种通信组合方式。
(3)提供2个串口三种接口方式,COM1为TTL电平。
(4)接口波特率为多种可选,格式也为用户自定义,可传输无限长的数据帧,用户编程灵活。
(5)+5 V供电情况下,接收电流为(28±2)mA,发射电流为(90±5)mA,休眠电流为(5±2)μA。
(6)采用单片射频集成电路及单片MCU,体积小,外围电路少,可靠性高,故障率低。
(7)高抗干扰能力和低误码率,是基于GFSK/FSK的调制方式,采用高效前向纠错信道编码技术,提高了数据抗突发干扰和随机干扰的能力。
(8)传输距离远,在公路情况下,天线放置高度为2 m,可传输距离可达800 m(433 MHz@9 600 b/s)。
(9)提供透明数据接口,能适应任何标准或非标准的用户协议,自动过滤掉空中产生的假数据,用户无需编制多余的程序,实现所收即所发。
(10)UART接口,COM2由用户自定义为软件模拟的RS 232/RS 485接口,用户只需要拔插1位短路器后再上电即可定义。
3 系统软件部分
无线通信系统的软件设计包括单片机端、PC机端以及上位机管理分析软件三部分。三部分软件相互配合,实现半双工通信。
单片机端软件要求汽车黑匣子作为一个记录汽车运行状态的仪器,在无人控制的环境下,随汽车开始运行而自动运行。
本文汽车黑匣子的运行方式为:在系统上电后开始运行系统引导程序,通过引导程序调用嵌入式Linux内核,在操作系统运行后,操作系统自动启动本系统的主程序。
系统软件采用中断服务程序配合CPU集中控制的结构。主控程序负责系统初始化、操纵每个模块的硬件设备并与之交互数据;而各个模块用中断的方式向主控程序发出请求,要求主控程序完成相应的操作。
上位机管理分析软件是提供给车辆管理中心人员使用,一方面它可以采集管理中心属下的所有车辆信息和驾驶员信息,进行统一编号和管理;另一方面它可以采集车辆行驶的实时数据,掌握驾驶员的驾驶情况。此外它还可对发生事故的车辆进行事故分析鉴定,为交通部门和执法部门提供相应的交通事故鉴定报告。
记录仪和PC机之间通信可以是单点对单点,单点对多点,多点对多点通信。发送广播信息是单点对多点通信,或者是多点对多点通信。但是疲劳、超时、超速等详细信息都是单点对单点通信。无线通信协议实现过程如图3所示。
3.1 无线通信协议设计
无线通信中,由于外部环境的干扰,通常误码率较高,因此通信协议的设计对保证通信的可靠性十分重要。协议的设计主要是帧结构的设计。在该无线通信系统中,存在指令帧和数据帧。数据帧的内容包括起始字节、数据长度字节、数据字节、结束字节和校验和 在汽车行驶记录仪国家标准中有规定好的通信传输约定,如下所示:
(1)通讯机(计算机或数据采集仪)与记录仪间的数据交换按帧传输,其通信方式为异步串行方式,含有一个起始位,8个数据位,一个停止位,奇校验。本协议中的数据分别采用十六进制编码、8421BCD码及ASCII字符码。
(2)采用RS 232接口,数据传输速率为9 600 b/s。
(3)校验的作用范围应包括校验字节之前的所有字节,其值为这些字节间的异或结果。
(4)数据块是本数据帧所附带的与命令字相关的参数或数据,当为0时即本帧无数据块或参数,这种情况出现在数据上载“命令帧”及数据下传“应答帧”中。
(5)数据块长度是指本数据帧所附带的与命令字相关的参数或数据的长度,以字节数表示,其有效长度为0~64 KB,当为0时即本帧无数据块或参数,这种情况出现在数据上载“命令帧”及数据下传“应答帧”中。
根据国家标准中的数据格式要求,本文系统设计的数据帧格式如表1所示。
3.2 简易防碰撞算法设计
因为无线数据传输的开放性,且在PC机发送广播信息后,所有收到广播的记录仪之间的响应数据回应基本是同时的,这就必然会产生无线数据碰撞的问题。
为防止不同记录仪无线上传数据时的碰撞现象。本文系统在设计时,尝试过各种已有的防碰撞算法,但鉴于本文系统的应用范围,已有的算法都过于复杂。
根据应用范围,本文系统主要会应用于收费站路口之类汽车短暂停留之地,具有时间短、范围小的特征。那么在记录仪代码的发送响应的地方,加上一段有效延时发送:如根据车牌号尾数乘以1~10以内的随机数得到的结果,以毫秒为单位。这样就可以有效地将各辆车的响应报文有序回应给PC机。
加上这段延时改进代码后的实验测试结果表明,正确率高达99%,而不加此简易防碰撞算法的正确率仅为90%。
4 结语
本文只是在原有的简易汽车记录仪的基础上增加了PC机实时获取记录仪行驶数据的无线传输的功能,并添加简易的防碰撞算法来降低无线数据传输的碰撞问题。可以避免一些需要用GPRS等流量费用的问题,降低使用费用,相信随着国家科技的发展,本系统可以得到更多的认识和应用。
评论
查看更多