一种多功能汽车行驶记录仪的嵌入式系统设计
2010-06-01陈希球
陈希球
(长江工程职业技术学院,武汉 430212)
汽车行驶记录仪(又称汽车黑匣子)是一种使用在汽车上的数字式电子记录装置。这种装置能对车辆的行驶速度、时间、里程以及有关车辆行驶的其他状态信息进行记录存储,并可通过接口实现数据输出。汽车行驶记录仪的使用,对抑制疲劳驾驶、车辆超速等交通违章、约束驾驶人员的不良驾驶行为、保障车辆行驶安全以及道路交通事故的分析鉴定具有重要的作用。本文根据汽车行驶记录仪国家标准GB/T 19056-2003,开发设计了一种功能强大、性能稳定、体积小巧且适合安装的多功能汽车行驶记录仪,采用的是三星公司的32位嵌入式ARM处理器S3C2440和Linux操作系统,主要阐述了汽车行驶记录仪的硬件架构和软件系统设计。
1 基本功能
根据国家颁布的汽车行驶记录仪的标准(GB/T 19056-2003),本系统主要具备以下功能:
自检功能:记录仪在通电开始工作时,应首先进行自检,自检正常后应以绿闪信号及显示屏显示方式指示工作正常,如有故障则应以红闪信号及显示屏显示方式指示故障信息。
数据采集、记录和存储功能:能够对实时时间、日期、驾驶时间、车辆行驶速度、行驶里程等数据进行测量、记录和存储,并保证存储的数据在较长时间内不丢失。需要被采集的输入信号包括三类:模拟信号输入、数字信号输入以及开关量信号输入。
数据处理功能:能够按照具体要求,对所采集到的数据实时进行处理,并在必要的情况下采取相应的措施对车辆进行管理。
驾驶员身份记录功能:可以实现驾驶人员身份记录功能,同时可以记录驾驶员代码和公安交通管理部门核发的机动车驾驶证证号。
数据显示功能:显示面板能准确显示各类信息,包括驾驶员代码、实时时间、实时日期、实时车速以及各类报警提示等。
操作功能:具备按键操作功能,应用于数据打印输出以及数据的上传和下载以及车辆特征系数的设定等操作。
数据打印输出功能:能够通过针式微型打印机打印出车辆信息、驾驶员信息、疲劳驾驶及超速驾驶时段等信息。
数据通信功能:能够通过多种方式(包括RS232串行接口、USB接口以及I2C总线接口)与外部环境进行通信,实现数据的交互。
掉电保护功能:数据对记录仪至关重要,如果由于某些意外情况导致记录仪掉电,系统应能及时检测,并做好当前数据的保存工作。
数据分析软件系统:对记录仪系统参数进行设置与管理,包括用户权限的管理、驾驶员信息的管理、汽车信息的管理以及车辆特征系数的设定等,并能通过RS232串行接口进行数据传输或USB接口读写磁盘数据,即完成数据上载(从记录仪传输到PC机)与数据下传(从PC机传输到记录仪)。
2 系统硬件设计
本系统由主机和上位机管理分析软件两部份组成。其中主机部分包括:信号输入、数据保存和处理、数据显示、数据通信、复位电路和掉电保护电路等。系统以一个32位的RISC微处理器为核心,对外部模拟输入、数字输入以及开关量输入三种信号分别进行采集。需要保存的数据经过处理后存储于内部大容量存储器中,实时数据(如实时车速、实时时间)及报警信号等可通过显示面板输出显示,系统总体方案如图1所示。
图1 系统总体方案
复位电路不仅能够复位系统,同时还借用专用微处理器电源监控芯片来提高系统的可靠性,从而保证RISC微处理器对电源、时钟源等诸多方面提出的较高要求。时钟电路提供实时时钟,当发生超速、疲劳驾驶等情况时,处理器从实时时钟电路读取实时时间进行处理和保存,以供日后打印输出。掉电保护电路为实时数据的保存提供了一种安全机制。当系统供电电压低于某个特定值时,掉电保护电路认为掉电发生,于是触发相应地中断。在中断处理程序中,处理器将对当前尚未保存的实时数据分别处理和存储,从而避免数据的丢失。
系统具备USB接口,当插入USB磁盘时,可利用主控USB功能,将存储器中的数据导入磁盘中。上位机软件可利用此USB磁盘采集到的数据进行数据分析和车辆、人员管理。系统提供的CANBUS接口可以方便记录仪与车内其他带有CANBUS接口的仪表进行通信,这是系统的扩展功能。
上位机管理分析软件是提供给车辆管理中心人员使用,一方面它可以采集管理中心属下的所有车辆信息和驾驶员信息,进行统一编号和管理;另一方面它可以采集车辆行驶的实时数据,掌握驾驶员的驾驶情况。此外它还可对发生事故的车辆进行事故分析鉴定,为交通部门和执法部门提供相应的交通事故鉴定报告。
经过合理规划和多次比较,系统最终采用的设计方案如下:
(1)处理器:三星32位RISC处理器 S3C2440。(2)存储器:NandFlash存储器K9F1208U0A 64M字节;2片SDRAM 存储器4Banks×4Mbits×16bit的K4S561632C;铁电FM24C256存储器。(3)信号采集:模拟信号的采集利用S3C2440内置的A/D转换器进行采集;数字信号的采集利用S3C2440内部定时器的捕捉功能进行采集;开关量输入信号采集采用MC33993开关量检测芯片进行采集。(4)数据显示:MSC-G12864,LCD液晶显示器,128x64点阵。(5)外扩实时时钟:PCF8563。(6)USB主控器:CYPRESS公司的USB Host/Slave SL811HS芯片。(7)驾驶员身份识别:直接通过按键,输入驾驶员的信息资料来确认身份。(8)上位机软件与主机模块通信:RS232串口通信。(9)微型打印机:M192G,控制板为NGL-SP190A4。
3 系统软件程序设计
汽车黑匣子作为一个记录汽车运行状态的仪器,在无人控制的环境下,需要随汽车开始运行而自动运行。运行方式为:在系统上电后开始运行系统引导程序Bootloader,通过Bootloader调用嵌入式Linux内核,在操作系统运行后,操作系统自动启动本系统的主程序。系统软件采用中断服务程序配合CPU集中控制的结构。主控程序负责系统初始化、操纵每个模块的硬件设备并与之交互数据;而各个模块用中断的方式向主控程序发出请求,要求主控程序完成相应的操作。
在本系统中,Flash在刚开始时只存储了Bootloader,还没有存储Linux内核。Bootloader在系统加电完成初始化工作后,要初始化一条连接主机和目标机的串口通道,提供串口下载功能。内核启动模式允许嵌入式系统加电启动后加载Linux内核,将系统交由Linux操作系统管理。当系统通过自举模式将Linux内核和文件系统固化在Flash后,就可进入内核启动模式。主程序流程图如图2所示,中断服务程序流程图如图3所示。
图2 主程序流程图
4 结束语
图3 中断服务程序流程图
本文虽然介绍的是一个汽车行驶记录仪系统,但其发展空间远不限于此,应当迈向汽车电子产业的广阔领域。基于我们所构建的硬件平台,加入GPRS,GPS模块和LCD显示器,可实现汽车的电子地图导航和远程跟踪定位;利用车内的各个传感器和电子开关,还可实现汽车被强行开动后自动熄火的防盗功能。在发达国家,此类系统已经广泛地在中高档车辆上得到了使用。随着国家经济的发展,相信本系统一定会在汽车产业领域得到越来越多的使用和认同。
[1]李奕薇.我国行车记录仪市场调研[J].中国交通信息产业,2003,(1):22~24.
[2]王征平,王小惠.行车记录仪市场分析[J].中国交通信息产业,2003,(1):90~95.
[3]GB/T19056-2003汽车行驶记录仪起划工作组.GB/T19056-2003《汽车行驶记录仪》实施指南[S].北京:中国标准出版社,2003.
[4]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社,2004.
[5]周立功.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版社,2005.
[6]周立功.PDIUSBD12 USB固件编程与驱动开发[M].北京:北京航空航天大学出版社,2003.