首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
汽车行驶记录系统中AT89C51ED2 的设计与实现
来源:本站整理  作者:佚名  2009-02-18 14:03:53



随着社会的发展,汽车越来越普及,随着汽车拥有量的增加,发生交通事故的概率也随之增加,发生事故后用传统的方法进行分析、判断、维修有一定的困难。这样,就给人们提出了一个问题,怎样及时、准备地分析故障的存在,客观地分析事故的责任。汽车行驶记录仪作为一种降低交通事故的发生率,规范和保障驾驶人员的行为和权益, 方便交通管理部门执法检查和事故责任认定, 提高运营单位对司乘人员和车辆的监督管理的一种重要手段,越来越得到人们的关注和重视。设计一种能满足车辆管理,事故认定及疲劳驾驶提醒的车载仪器迫在眉睫。本文介绍一种价格低,功能较齐全且能扩展的采用AT89C51ED2 作为MCU 的汽车行驶记录系统设计与实现。

1 系统的硬件总体设计

图1 汽车行驶记录仪系统框图

本记录仪采用Atmel 公司AT89C51ED2 单片机作为主控机,并行接口铁电存储器FM1808 作为大容量闪速存储器,选用DS12C887 时钟电路,利用高精度A/D 转换器采集汽车传感器转换的模拟量,并直接记录各种汽车信号的开关量。同时利用USB 口、IC 卡或串口实现与微机的数据通信,把汽车行驶记录数据信息存储到计算机上。汽车行驶记录仪工作时,由单片机通过前端接口电路拾取汽车行驶状态的各种信息, 包括车速、发动机转速和车辆各种开关信号等。汽车行驶记录仪以实时时钟为基准, 把车辆信息按类别分别存入FRAM 和FLASH。需要从汽车行驶记录仪中获取汽车记录状态信息时,用户插入优盘,单片机自动识别优盘并加载驱动程序,当完成设备枚举和Bulk_Only 传输协议后,单片机就可以把汽车行驶记录仪中记录的状态信息以文件的形式传输到优盘,也可以通过协议将信息以文件的形式传输到大容量的24C64 的IC 卡上。系统框架如图1 所示。AT89C51ED2 单片机是汽车行驶记录仪的核心,整个系统由数据采集模块、信息处理、存储模块、时钟模块、通信模块、显示模块和电源模块组成。

考虑到汽车的复杂工况以及记录仪的性价比,单片机至少为工业级产品,AT89C51ED2 是美国ATMEL 公司生产的低电压,高性能CMOS 8 位单片机,片内含4k byte 的可反复擦写的只读程序存储器(PEROM) 和128 bytes 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统,片内置通用8 位中央处理器(CPU)和16KB 的Flash 存储单元,2KB 的EEPROM,3 个16 位定时器,有看门狗和ISP 功能,同时具有封装小、功耗低等优点,非常适合作为汽车行驶记录仪的主控MCU 。

2 主控单元实现信息采集和数据处理设计

汽车行驶记录仪要求实时记录车辆行驶的各种状态信息,MCU 主控单元把从外围设备传来的数据进行分析、处理并作出相应的指令。而其外围设备主要包括开关量数据采集模块、时钟数据采集模块、速度数据采集模块、信息处理及存储模块设计、模拟量数据采集模块。

2.1 开关量数据采集

如图2 所示开关量数据采集示意图。汽车行驶记录仪要求实时记录车辆行驶的各种状态信息,如图所示各种车辆开关量数据状态信息,都必须经过光耦的隔离,并行输入74HC573 中,然后经过74HC573 转换成CPU 能接收的“0”或“1” 状态信号,再由AT89C51ED2 进行接收,按一定的时间间隔传送到存储器相应的地址位。

2.2 速度数据采集设计

汽车速度的测量是通过计数速度传感器产生的脉冲信号,脉冲信号经过抗扰度大于50% 施密特触发器电路CD40106 传送到AT89C51ED2 型单片机的P3.2 口,该单片机可设定一个守量器来计数速度脉冲信号, 并将其转换成汽车的实际行程, 同时根据行程和时间可计算汽车行驶的速度,按一定的时间间隔传送到存储器相应的地址位。速度计算运行部分程序如下

2.3 信息处理及存储设计

由于要求系统具有实时时间、日期及驾驶时间的采集、记录、存储功能;车辆行驶速度的测量、记录、存储功能;车辆行驶里程的测量、记录、存储功能;记录仪应能以不大于0.2 s 的时间间隔,持续记录并存储停车前20 s 实时时间对应的车辆行驶速度值,及车辆制动状态信号,记录次数至少为10 次的功能。因此要有既满足了数据存储擦写次数的要求,也有存储量大和成本比较低的功能。RAMTRON 公司生产的并行接口高性能铁电存储器FM1808 是比较理想选择产品,FM1808 具有100 亿次的读写寿命,几乎可以像RAM 那样无限次写入;广泛应用于在系统掉电后需要可靠保存程序及数据的应用领域;

数据存储模块FM1808 的引脚如图3 所示,AT89C51ED2 通过AD0~AD7 八位数据总线和FM1808 相连,AT89C51ED2 通过八位数据总线把记录下来的整度、汽车的实时行驶状态定时地传送到存储器的相应地址位置上(程序略)。

    2.4 时钟数据采集
    本系统选用DS12887 时钟电路。DS12887 是跨越 2000 年的时钟电路,采用4 位数表示年度的日历系统。DS12887 能够自动存取并更新当前的时间,AT89C51ED2 通过读DS12887 的内部时标寄存器得到当前的时间和日历,也可通过选择二进制码或BCD 码初始化电路的10 个时标寄存器。由于 图3 FM1808 封装及引脚排列数据采集以固定的秒间隔来进行,因此,系统只是在刚开始运行时和每个扇区的起始位置采集并存储时钟信号作为时间标记, 而后面数据的采集时间则以这些时间标记为参照。在本系统重新上电运行时, 需要记录开始采集的时间信息。由于系统电源是由汽车电源提供的, 所以开始采集的时间也就是汽车启动的时间, 以此作为汽车开始行驶的时间标记。在程序运行中, 由主程序设定一个汽车启动标志, 在第一次写数据之前汽车启动标志有效, 然后首先判断当前存储地址是否有某个扇区的首地址, 如果是, 则根据写扇区的要求在第七个字节开始处存储当前的时钟信号, 否则, 在当前存储地址处开始用10 个字节存储当前的时钟信号,记录汽车开始运行的起始时间,然后清除汽车启动标志。扇区开始地址处记录的时间信息是否是汽车开始运行的起始时间, 可根据前一个扇区记录的时间信息进行判断。若前后两个扇区记录的数据是连续的, 则后一个扇区头记录的时间信息不是表示汽车开始运行的起始时间,否则情况相反。

2.5 串口通信和USB 存储设计

计算机可以通过串口读取行驶记录仪存储的数据。行驶记录仪与计算机之间的串口通信遵循RS232 协议。串行通信时,CPU 依次将Flash 中存储的数据读出并经P3.0(OUT) 串口发出,然后经过MAX232 电平转换器送给计算机,再由计算机通过串口接收该数据。接收数据时, 计算机通过串口发送数据给MAX232 电平转换器, MCU 经P3.1(IN) 串口接收。
用USB 进行数据的采集,目前市场上的USB 设备芯片比较多,而HOST 要少一些,选择USB HOST 接口芯片主要考虑两点:一是在硬件上比较容易和51 单片机相连接,二是软件开发难度不太大,因此选择SL811HST 比较合适。SL811HST 通过D0~D7 和AT89C51DE2 的P0.0~P0.7 来进行数据的交换。存储器上存储的数据也可以通过AT89C51DE2 的P3.4 和P3.5 口直接写到24C64 的IC 卡上。
3 管理软件的设计
由于国家对行驶记录仪通信协议有具体的要求,因此行驶记录仪和管理软件的通信协议满足国家规定要求。它将从记录仪上传来的各种信息进行归类整理。利用Visual C++ 6.0 作为开发工具,编写微机数据分析处理程序, 模拟显示汽车运行时的状态; 利用图形显示各分量的波形, 如前向灯开关情况、左右方向灯开关情况、开门信息、刹车信号、水温变化情况(范围为0℃~100℃) 等,并能实现文档保存,也可以进行打印。4 结束语
本车辆充分发挥了AT89C51ED2 微控制器强大的功能、简化了外围电路设计,同时采用嵌入式USB 数据管理机制加上通过串口或IC 卡接收汽车行驶的数据,并对数据进行分析处理;不仅解决了以往车辆行驶记录仪中数据难以管理的问题, 而且大大降低了硬件成本。采用本设计的车辆行驶记录仪已应用到企事业单位的车辆管理中,实现了对车辆运营的透明化管理,节约了运营费用

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:164,984.40000 毫秒