多功能汽车行驶状态记录仪的设计
2008-06-17
作者:黄艳玲1, 李立伟2
摘 要:介绍了一种多功能汽车行驶" title="汽车行驶">汽车行驶状态记录仪的主要功能及其硬软件设计,并针对其工作环境中电磁干扰强烈的实际情况,提出了具体的解决措施。该记录仪以单片机C8051F005为监控核心,采用串行时钟MAX6902作为实时时钟,大容量" title="大容量">大容量串行Flash存储器AT45DB081B作为存储介质,可对汽车行驶状态进行实时监测和记录;记录数据可通过RS232串行口上传到上位机,以进行日常管理和事故诊断。
关键词:行驶状态记录仪 C8051F005 MAX6902 AT45DB081B 事故诊断
随着飞机飞行数据记录仪在空运管理方面的成功运用,汽车行驶状态记录仪已陆续在许多国家和地区大量使用。早在1990年以前,欧共体就通过了在汽车上安装行驶状态记录仪的立法,并具体规定了商用车必须安装行驶状态记录仪。这一立法要求其欧洲的15个成员国在十年内给在用的900万辆商用车安装这一装置。美国、日本、马来西亚及香港等国家和地区也相继广泛使用了汽车行驶状态记录仪。统计资料表明,汽车行驶状态记录仪的使用,使交通事故率降低了37%~52%,大大减少了人员伤亡和财产损失,产生了显著的社会效益和经济效益。可见,准确记录运行过程,对事故防患于未然是极为重要的。
该汽车行驶状态记录仪在发生交通事故时,能客观、全面地记录交通事故发生时车辆行驶的各种状态和司机的操作行为,为交通事故分析提供真实、有效、科学的有关车辆行驶的原始数据,并可提供事故分析功能,帮助有关部门快速确定事故原因,以保障事故双方(或几方)的合法权益;在正常营运中,又是管理部门加强监督和管理的强有力工具,帮助管理人员全面了解汽车的运行情况;在车辆发生故障时,它又可提供故障诊断功能,为维修人员判断故障提供可靠、准确的科学依据。汽车行驶状态记录仪的推广,将在遏止疲劳驾驶、车辆超速等严重交通违章、约束驾驶人员驾驶行为、预防道路交通事故、保障车辆行驶安全、提高营运管理水平等诸多方面发挥重要作用。
1 系统组成及主要功能
汽车行驶状态记录系统主要由汽车行驶状态记录仪、手持读码器和管理计算机组成。记录仪安装于汽车上,实时监测并记录车辆的行驶数据;手持读码器由掌上电脑和应用软件组成,用于控制和操作记录仪的运行及通过RS232串行口对记录仪进行数据读取;管理计算机用于对原始记录数据进行统计、报表、存储及查询。
记录仪是整个系统的核心,其主要功能如下:
(1)可实时监测并记录汽车行驶的各种状态信息如时间、车速、怠速、超速、里程、车门开关、刹车状态、方向灯状态、近远光灯、引擎转速、引擎异常、机油压力、温度等。
(2)运行数据存储在大容量串行Flash存储器中,即使掉电,数据也不丢失。
(3)具有超时(疲劳)报警及记录功能,从而有效遏制司机疲劳行车,保证长途运输行车的安全。
(4)分级超速报警功能。用户可按需求设置三级限速,当车辆超速时,会按不同限速分级声光报警,从而有效遏制超速行车,保证行车安全。
(5)车牌号、车型号、限速值等数据可方便地通过手持读码器在线写入或修改。
(6)备有GPS接口,可方便地扩展GPS对时、通信、定位、信息服务等功能。
(7)具有与手持读码器和管理计算机通信的标准RS232接口。
(8)管理软件可统计分析任何时段的行车速度、行驶里程、停车次数、停车时间、超速次数、超速时间以及收、发车时间等,提供给管理人员关心的各种数据。
2 记录仪硬件设计
根据记录仪功能要求和工作特点,在设计时主要从运行可靠性、记录数据准确性及数据存储容量三方面考虑。记录仪结构框图如图1所示,主要包括单片机及其外围电路、电压量、电阻量、脉冲量及开关量" title="开关量">开关量采样电路、实时时钟电路、数据存储电路、声光报警电路、RS232通信接口电路及各种车用传感器等。
2.1 单片机
采用Cygnal公司生产的C8051F005单片机作为控制核心。在该记录仪中,PCA定时器阵列完成V/F变换脉冲计数;2个电压比较器实现蓄电池过压、欠压检测;利用片内温度传感器实现温度检测;I/O口实现开关量检测;SPI接口控制ISD4004-16芯片完成语音报警" title="语音报警">语音报警、实时时钟芯片MAX6902时钟的读写以及数据存储芯片AT45DB081B的读写;片内RS232口将记录数据上传到上位机。由此可见,采用C8051F005单片机单个芯片即可完成系统的控制和检测,大大简化了系统硬件设计,显著降低了系统成本。
2.2 传感器选择
汽车内传感器的工作环境十分恶劣,因此对传感器的要求也十分严格。这些传感器必须要经受住从-40℃~+150℃的温度变化,而且要求精度高、可靠性好、反应快、抗干扰和抗振动能力强,才能准确地实时检测汽车运行的有关状态,并将这些状态转换成电信号供给单片机处理。
2.3 信号检测
汽车传感器输出信号一般为电压、电阻、脉冲信号及开关量等,下面分别介绍这些信号的检测方法。
2.3.1 电压信号
为了提高抗干扰能力和检测精度,先将电压信号经信号调理电路变换为0~5V的标准信号,再经V/F变换转换为脉冲量,经光耦" title="光耦">光耦隔离后通过C8051F005单片机的PCA阵列计数处理。V/F转换器的应用电路如图2所示,其中,将有源时钟振荡器输出的3MHz脉冲信号经74HC393四分频后作为AD652的外部时钟源。
2.3.2 电阻信号
电阻信号先经惠斯通电桥转换为0~5V的标准信号,再经V/F变换转换为脉冲量,经光耦隔离,最后通过C8051F005单片机的PCA阵列计数处理。
2.3.3 脉冲信号
经光耦隔离后的脉冲信号直接通过C8051F005单片机的PCA阵列计数处理。
2.3.4 开关信号
开关量采集原理图如图3所示。当刹车和转向灯等工作状态发生改变时,其辅助接点将接通YX回路的+12V电源,此时光耦导通,其输出状态发生改变,在单片机定时中断服务程序内通过I/O口读取该状态即可,其动作分辨率可达1ms。
2.4 语音报警
当系统有超速行驶报警时,高亮度红色LED发光管闪亮,同时启动语音报警功能,发出“超速行驶,请注意”的警告语音。
该记录仪采用了单片语音录放电路ISD4004-16作为放音芯片。ISD4004-16芯片工作电压为3.3V,单片录放时间为16分钟,最多可分2 400段,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储阵列。芯片设计是基于所有操作必须由单片机控制,操作命令可通过串行通信接口SPI送入;同时采用多电平直接模拟量存储技术,每个采样值直接存储在片内的闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”;采样频率为4.0kHz,片内信息存于闪烁存储器中,可在断电情况下保存100年(典型值),反复录音10万次。
在该记录仪中,将语音报警内容分为64段,在放音时可进行自由组合。
2.5 实时时钟
为了能准确记录数据的采样时间,该记录仪采用了具有SPI接口的串行时钟芯片MAX6902。MAX6902可工作在+2V~+5.5V的宽电源范围内,封装为SOT23-8,片内具有31B SRAM,具有体积小、外围电路简单、运行稳定性好、精度高、功耗低等优点,可满足记录仪对时间的要求。
2.6 数据存储
由于要记录的数据量比较大,因此记录仪要求具有掉电记忆的大容量存储器。通过比较采用了ATMEL公司生产的Flash存储器AT45DB081B。AT45DB081B为串行接口;采用SPI接口的0~3方式与C8051F005单片机进行通信,几乎无需外接元器件,集成度高,数据存储量大,数据掉电保存;工作电压为3.3V,工作电流为4mA(待机状态下仅为2μA);其主存共4096页,每页264B,总容量为1056KB(约合8Mb),存放在主存中的数据掉电不丢失。除了主存以外,AT45DB081B还有2个容量为264B的数据缓存,缓存可以用作主存与外部进行数据交换时的缓冲区域,也可以暂存一些临时数据,缓存读写方便迅速,但掉电数据会丢失。AT45DB081B数据读写采用串行方式,读写速度快,从页到缓存的传输时间为80μs左右,并且兼容CMOS和TTL电平的输入、输出。
ISD4004-16、MAX6902、AT45DB081B与C8051F005单片机的接口原理图如图4所示。
2.7 防拆卸设计
为了防止记录仪被非法拆开,系统采取了防拆卸设计。正常状态下一弹簧将一按键开关压下,该开关闭合;当记录仪外壳被拆开时,弹簧弹起,按键开关断开。通过单片机的I/O口定时读取该开关的状态及记录开关状态的变化并报警。
3 软件设计
系统软件主要完成两方面的功能:(1)实现汽车行驶状态的实时检测和记录,检测到故障时声光报警。(2)将记录数据通过RS232口上传到上位机,以便进行日常管理和事故诊断。
软件的设计完全按照结构化的程序设计方案,将整个程序按照功能分为若干个程序模块,以方便调试和检查。采用Keil C51语言编程。本设计中的软件在Keil μVision2 V2.05集成环境中编辑、编译、连接、调试后,直接通过JTAG接口将程序下载到C8051F005单片机中(ISP)。程序主要包括:主程序、模拟量采集程序、开关量采集程序、脉冲量采集程序、数据存储程序、时钟处理程序、故障处理程序、语音报警程序及串口通信程序等。
4 系统可靠性设计
作为汽车行驶状态记录仪,由于汽车内的工作环境十分恶劣,因此如何保证系统的稳定性和可靠性至关重要。
尽管系统硬件经过了精心设计,如多层印制板、可靠的元器件选择、输入输出的光耦隔离、电源输入和输出滤波器的采用、硬件看门狗等,起到了很强的抗干扰作用;但是由于记录仪的工作环境是比较复杂的,要保证系统的绝对可靠运行,上述措施还是不够的,还需要从软件设计上进行通盘考虑,以增强系统的综合抗干扰能力。
系统遇到干扰的直接结果是程序跑飞。在软件设计中,主要从软件的模块化设计和事件驱动方式、指令冗余和软件陷阱、软件重要变量的多重拷贝、软件的可重入设计和数字滤波等方面进行了考虑,以增强系统的综合抗干扰能力。实践证明这些措施都取得了较好的效果。
该记录仪严格遵循汽车电子产品的要求,充分考虑了车内环境(如电磁干扰、振动、温度、湿度等),在电路原理设计、电子元器件选择、结构设计、接插件选择等各个步骤上均严格按照相应的电子设备标准,并已通过各项环境测试。自投入运行以来,取得了良好的效果,完全能满足汽车行驶数据实时记录的需要。
参考文献
1 李立伟, 邹积岩. 蓄电池放电能量并网装置.电力系统自动化, 2003;27(6):80~83
2 曹显祥. 微型低功耗大容量心电记录仪的研制.电子技术应用, 2005;31(8):33~35
3 张笑微, 冯焕清. 低功耗超大存储容量的动态心电记录仪的设计. 电子技术应用,2004;30(6):28~29
4 王幸之,王 雷. 单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,1999
5 李鸿强, 苗长云. 基于IDE硬盘的大容量语音记录仪.电子技术应用, 2003;29(4):20~22
6 张大波. 嵌入式系统原理、设计与应用.北京:机械工业出版社, 2004