基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 绪论
本章首先对汽车行驶状态记录仪进行了简单的介绍,然后分析了汽车行驶记录仪的研究背景及意义,紧接着说明了国内外的研究水平和发展趋势,最后指出了本设计的研究内容及特点。
1.1 汽车行驶记录仪简介
汽车行驶记录仪是一种安装在车辆上且对车辆行驶速度、时间、里程以及有关车辆行驶的其它状态信息进行记录、存储并可通过接口实现数据输出的数字式电子记录装置。
它又称汽车工作信息记录仪、汽车综合信息记录仪,也有人将其形象地称为汽车电子警察,它能全程同步记录、监控车辆运行状态。
利用汽车行驶状态记录仪,通过专用软件可以将汽车行驶轨迹在电脑上完整、准确的再现。
汽车行驶记录仪在汽车上已经得到广泛的开发应用,它由硬件和软件两部分组成。
硬件部分包括面板、单片机及辅助电器元件;软件部分包括控制、处理各种数据的仪表功能程序系统[1]。
该仪器可实现多种信息处理,显示汽车状况,进行自我诊断,对车速、发动机转速、水温、油压、燃油量、油耗和蓄电池电压等一系列参数进行有效监控。
并通过控制发光二极管、液晶显示、蜂鸣器等报警手段,为司乘人员提供直接的汽车状况信息和发出各种超限情况的报警等,可有效防范和化解车辆事故的发生。
1.2 汽车行驶记录仪的应用背景
汽车行驶状态记录仪的使用,欧盟、日本等国家早在二十世纪70年代就开始以立法的形式在部分客运车辆及货车上强制安装使用记录仪,我国从二十世纪80年代后期开始,在少数地区也曾试用过由国内一些科研机构及企业自主研制的数字式记录仪[2]。
目前我国各地正在积极推进汽车行驶记录仪安装使用和监管工作,上海、广州、深圳、西安、哈尔滨等地还将GPS卫星定位系统与汽车行驶记录仪组合使用,在网络的强大支持下,实现实时跟踪监控,使道路交通事故逐年下降。
汽车行驶记录仪由于其便携性、实时性、可靠性、通用性,在行驶安全、交通执法、运输管理等方面有着重要的实际作用和现实意义。
1.3 国内外汽车行驶记录仪的发展状况
1.3.1 国外汽车行驶记录仪的发展状况
欧洲是最早制造也是最早强行推行使用汽车行驶记录仪的地区,同时也是目前使用记录仪最多的地区。
早在20世纪20年代,行驶记录仪便伴随着汽车里程表而诞生,当时是和汽车速度、里程表结合在一起的。
1934年,德国发明了世界上第一台纸盘式行驶记录仪,并于1953年开始对载重超过7吨的车辆强制推行纸盘式行驶记录仪。
1970年欧共体通过立法方式在德国、法国、意大利、比利时、卢森堡6个成员国强制推行使用纸盘式记录仪[3]。
这种纸盘式行驶记录仪它通过速度传感器测量车辆速度,以机械指针在圆形坐标记录纸上记录车辆的行驶速度、时间、行驶里程,记录结果直观,装置结构相对简单、使用方便。
20 世纪70年代后,随着电子和集成模块技术、数据总线和一些电子设备(如显示屏、打印机等)的相继引入,汽车行驶记录仪基本形成了电子记录仪样式。
但是出于使用习惯和技术安全性方面的考虑,最初的电子式记录仪仍使用纸盘作为记录媒介,甚至直到现在欧盟普遍使用的还是电子式纸盘记录仪。
随着电子存储(磁卡或优盘)和安全保障技术的逐步完善,欧盟积极准备更换和推行数字式电子记录仪。
20世纪90年代初,德国首先开发了数字式汽车行驶记录仪,且率先规定自2006年5月起新车必须安装使用数字式汽车行驶记录仪。
1.3.2 国内汽车行驶记录仪的发展状况
我国从1984年就开始了汽车行驶记录仪的研究,并于80年代后期,在少数地区试用国内一些科研机构及企业自主研制的数字式记录仪。
以后国内一度出现汽车行驶记录仪热,全国有十几个省市下达了安装汽车行驶记录仪的通知,同时也出现了近百家记录仪生产企业。
但由于当时技术水平的制约,特别是当时没有出台相应的技术标准和配套法规,记录仪在使用过程中出现了许多问题,并没有充分发挥它应有的作用,这一热潮很快就冷却下去了[4]。
随着我国经济的快速发展,我国道路交通事故也呈上升趋势,尤其是长途客运车辆的重、特大交通事故频发,给国家财产和人民生命财产带来了巨大损失。
为了规范我国汽车行驶记录仪产品的生产和标准,落实公安部、交通部、国家安全生产监督管理局关于长途客运车辆逐部安装行车记录仪的通告,保障车辆运行安全,到2003年4月,由公安部、国家标准化管理委员会、国家经贸委起草审定,国家质量监督检查检疫总局发布了《汽车行驶记录仪国家标准(GB/T19056.2003》,于2003年9月1日正式实施。
从此我国汽车行驶记录仪的研发生产进入了标准化的时代。
此
后,全国各地也相应出台安装汽车行驶记录仪的文件,记录仪市场掀起了新的热潮。
到2004年7月底,全国生产汽车行驶记录仪的企业已达80多家,经公安部交通安全产品质量监督检测中心检测、通过国家标准检测的68家。
据不完全统计,全国有广东、四川、吉林、湖南、上海、浙江、广西、江西、河南、新疆、黑龙江等20多个省、自治区、直辖市汽车行驶记录的应用工作取得进展,已安装使用行驶记录仪的客运、货运企业约350多家,车辆约4万辆。
近些年来,汽车行驶记录仪的功能已经不仅限于单纯的事故记录,逐渐与汽车的其它电子系统相结合,例如GPS定位系统、故障诊断及报警系统、测重测温系统等。
同时,许多公司已经开发了具备无线传输、智能射频识别技术等技术,使记录仪的数据更快速、实时地传送到各有关部门[5]。
随着我国开始建设智能交通系统的进程,汽车行驶记录仪将成为确保现代交通运输安全和高效物流动态运营管理的不可或缺的记录处理、显示和数据传输的综合装置,不久的将来将真正地融入城市智能交通网络,并成为这一网络中不可替代的一环。
1.4 本设计的研究内容及特点
本设计针对国内目前的情况,在充分理解国家标准,学习和借鉴国内外车载电子领域已有的成熟经验的基础上,设计开发了一个完整的汽车行驶记录仪统。
记录仪模块的处理器选用STM32F103,它具有强大的性能、良好的稳定性、方便的扩展性及丰富的通信接口,它通过与外围电路进行合理的配合主要来完成如下功能:
1、自检功能;
2、实时时间及驾驶时间的采集、记录、存储功能;
3、车辆行驶速度、行驶里程的测量、记录、存储功能;
4、驾驶员身份记录功能;
5、数据显示;
6、操作功能;
7、数据打印输出功能;
8、数据通信功能;
9、实时报警功能;
10、掉电保护功能。
1.5 论文结构
结合课题研究期间的具体工作及对系统结构的分析研究,论文共分5章撰写,具体如下:
第一章绪论
第二章系统总体方案设计
第三章汽车行驶记录仪硬件电路设计
第四章软件设计
第五章结论
2 系统总体方案设计
2.1 系统总体框图
本课题的目的是制作一个现实中操作性强、价格低廉、运行可靠、能够使学习
者直接开发或调试的独立式汽车行驶状态记录仪,使它能够实时监控并记录汽车行驶的各种状态信息,对汽车的运营状况进行全程监控并记录。
汽车行驶状态记录仪主要由11个模块组成:供电单元、信号采集模块、键盘输入模块、单片机模块、液晶显示模块、驾驶员信息记录模块(IC卡)、打印模块、通信模块、存储模块、时钟模块、报警模块等。
系统总体结构框图如图2.1。
图2.1 系统总体结构框图
2.2 各模块功能需求
1、自检功能:
记录仪通电工作后,应启动开机自动检测程序,如果有故障,应有信号提示;如果没有故障,则进入默认显示状态,并以信号提示工作正常。
2、实时时间及驾驶时间的采集、记录、存储功能:
记录仪要求能够提供北京时间日期和时钟,该日期和时钟被用于为记录仪实现所有功能(记录、输出、显示、数据通信等)标注日期和时间。
记录仪应能对连续驾驶时间进行记录,连续记录24h数据,记录时间允许误差在±5s以内。
3、车辆行驶速度、行驶里程的测量、记录、存储功能:
记录仪应当能够以不大于O.2s的时间间隔持续记录并储存停车前20s实时时
间对应的车辆行驶速度值及车辆制动状态信号、记录次数至少是10次。
速度记录单位是km/h,测量范围为Okm/h~220km/h,测量分辨率等于或优于lkm/h。
无论车辆在行驶状态还是在停止状态,记录仪均应当能够提供实时时间对应的车辆行驶
速度信息。
记录仪应能以不大于lmin的时间间隔持续记录并储存车辆在最近360个小时内的行驶状态数据,即车辆在行驶过程中与实时时间相对应的每分钟间隔内的平均行驶速度值。
记录仪应能持续记录车辆从指定统计时间开始的累计行驶里程。
车辆行驶里程的记录单位是km,行驶里程的测量范围是0~999999.9km,分辨率应等于或优于0.1km。
4、驾驶员身份记录功能:
记录仪应能实现驾驶人员身份记录功能,应能记录驾驶员代码和公安交通部门核发的机动车驾驶证证号。
驾驶员代码为阿拉伯数字,最大长度不超过7位,代码设置方法由使用者根据需要自定;在同一记录仪的数据记录中,某一驾驶员的代码应与机动车驾驶证证号唯一相对应。
在每次开车前,驾驶人员应首先确认自己的代码,确认方式由制造商自定。
5、数据显示:
当无按键操作时,可默认显示车辆的实时行驶速度、实时时钟或驾驶员代码。
通过操作按键应能实现如下显示:
(1)最近15min内每分钟的平均车速记录;
(2)最近2个日历天内同一驾驶员连续驾驶时间超过3h的所有数据记录;
(3)车辆特征系数。
6、操作功能:
操作按键设置应能满足使用要求,并且应在对应的位置标出各按键名称。
仅使用面板按键应不能对速度、时间、里程等原始数据进行修改和删除。
7、数据打印输出功能:
数据打印只能在停车状态下进行;记录仪至少应能打印输出车牌号码、车牌分类、驾驶员代码、驾驶证号码、打印实时时间、停车时刻前15min内每分钟的平均车速、疲劳驾驶记录。
8、数据通信功能:
记录仪应同时配置以下两种标准接口实现数据的上传下载:
(1)USB(通用串行总线)标准接口,建议采用主结构式USB接口;
(2)标准RS232CD型9针接口。
9、实时报警功能:
对车辆行驶数据进行计算处理,判断是否超速、是否疲劳驾驶、是否紧急刹车,如果出现上述异常情况,则进行报警。
10、掉电保护功能:
数据对记录仪至关重要,如果由于某些意外情况导致记录仪掉电,系统应能及时检测,并做好当前数据的保存工作[6]。
3 汽车行驶记录仪硬件电路设计
3.1 电源模块的设计
记录仪作为车载设备使用汽车上的电源。
汽车上的电源有两个:汽车发电机和蓄电池。
记录仪的电源直接取自蓄电池,在发电机转速和用电负载发生较大变化时,可保持汽车电网电压的相对稳定。
车辆使用的车载蓄电池标称值有两种12V的和
24V的。
小型车电源一般为直流12V(不同车型可能有所不同),如大型的货车是直流电24V的。
此设计采用12V车载蓄电池。
记录仪本身需要的是+5V的供电,所以系统需要供电模块来实现+12V-+5V的电源变换。
仪表系统对电源要求较高,只有稳定的电源系统才能保证系统的可靠性。
目前汽车采用的12伏电源系统并不稳定,其电压可能从几伏变化到二十伏左右,而且可能还存在电压很高的干扰脉冲,因此,必须设计良好的电源电路将汽车电源转换为仪表系统需要的稳定电源。
由于汽车上各种电气设备很多,各种元件动作频繁,因此会有电压不稳及瞬间电干扰、电磁干扰等问题。
所以要考虑电源的适应性、过压冲击和短路保护等因素,采用具体电路来消除及处理。
3.1.1 设计方案的选择
方案一:采用线性集成稳压器,优点是简单,易于实现;缺点是效率低(30%一60%),散热器面积大,用作输出电压平滑滤波的电容器及其电容值也很大。
方案二:采用由DC—DC直流变换器组成的小型开关电源,它不但具有重量轻、体积小的优点而且具有效率(功率损耗的角度)高(70%一85%)的优点。
根据汽车电子特殊性,在设计中采用由DC-DC直流变换器组成的小型开关电源为整个系统供电。
3.1.2 电路设计
本系统对电源的需求有:CPU、数据存储模块等需要3.3V电源;其它模块需要5V电源,同时各种芯片的最大输入电流不尽相同,所以要求系统电源必须要有较宽的输入范围和较大输出电流。
LM2596电源芯片是降压型电源管理单片集成电路,最大输入电压可达+40V,最大输出电流高达3A;同时该芯片属于第二代开关电压调节器,功耗小、效率高,具有很好的线性和负载调节特性,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;而且它具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。
可以输出3.3V、5V、12V的固定电压和可调节的小于32V的各种电压。
该器件只需4 个外接元件,内集频率补偿和一个固定频率发生器,所以使用非常简便。
该器件有固定输出3.3V和5V的版本,只需4个基本外接元件就可以使用,即输入电容(C)、电感(L)、输出电容(C)及续流二极管(D),这使LM2596的使用
简便,电路简单。
因此,本系统选用LM2596-5.0和LM2596-3.3为电源芯片,将汽车的直流电源转化成系统电路正常工作所需要的+5.0V和+3.3V两种直流电压。
但是由于本系统对电源的特殊要求,还须设计抗干扰电路,LM2596的稳压电源电路如图3.1所示。
本图为输出电压为5V的电路,使用LM2596-5.0芯片,而输出3.3V的电路与输出5V的电路相同,只需使用LM2596-3.3芯片,其它元件相同。
图3.1 LM2596-5.0的稳压电源电路
表3.1 LM2596管脚功能
引脚符号功能介绍
IN 正输入端
GND 接地端
OUTPUT 输出端
FEEDBACK 反馈端
ON/OFF 这个管脚可以利用逻辑电平把LM2596切断记录仪系统的电源设计一定要考虑到环境因素,预防干扰并采取相应的防范措施[7]。
本系统做了一些预防措施:
(1)为了防止在输入端出现大的瞬态电压,在输入端和地之间要加输入电容C 作为旁路电容,即C1、C2、C3,去除纹波和高频噪声;
(2)在输入端接了一个二极管D1,在输入端和地之前反接了一个续流二极管D2。
如果电源极性正确,则记录仪能够正常工作,但如果极性接反,将会有反向电动势,续流二极管D2的接入正好和反向电动势方向一致,它把反向电动势以电流的形式中和掉,从而保护了其他电路元件,保护了记录仪的安全;
(3)在输出端接电感器L1,它可以抑制纹波,使LM2596输出稳定的电压,最好使用磁屏蔽结构的电感器;
(4)在输出端和地之间接一个续流二极管D3,续流二极管D3用来为电感电流提供通路,但续流二极管必须是快恢复的;
(5)在输出端和地之间接输出电容C,用来实现输出滤波以及提高环路的稳定性,即C6、C7。
3.1.3 掉电保护
仪表系统记录的数据必须保证数据的真实性与完整性,汽车由于行驶工况比较复杂,可能由于各种不确定因素导致系统断电,而且断电时刻极可能是事故发生的时候,记录此刻数据对事故分析有重要意义[8]。
为了解决系统断电的问题,本设计采用如图3.2所示的解决方案,系统安装备用充电电池,当车载电源掉电时,二极管导通,通过电池供电,INT连接单片机的外部中断输入INT0,此时INT输出脚从高点位变化到低点位,系统检测到掉电中断,保存当前数据。
硬件电路图如图3.2:
图3.2 掉电保护电路
3.2 信号采集模块
本系统需采集的数据较多,大致可以分成三类:车速信号、开关量信号,对不同种类的信号采用不同的采集方式。
3.2.1 车速信号的采集
速度信号检测模块的原理是:主要应用汽车内部自身的传感器,也就是将现成的信号提供给记录仪。
汽车行驶过程中,轮子每转一周,会通过汽车内部的霍尔传感器送出一对差分信号,此差分信号经过信号采集模块变成满足要求的计数脉冲,此脉冲送到单片机的T0端口进行脉冲计数,与此同时单片机的T1进行计时开始待到定时器产生中断请求后,由计数器得到的脉冲数经过速度计算的公式和里程的计算后得到汽车行驶的速度和里程且存储于单片机的RAM数据存储区。
为了防止汽车周围环境的干扰,切断输入和输出通道间直接的电信号联系,此处采用了光电隔离电路。
车速脉冲采集模块电路如图3.3:
图3.3 车速脉冲采集电路
表3.2 LM311管脚介绍
引脚符号功能介绍引脚符号功能介绍
GROUND/GND 接地BALANCE 平衡
INPUT + 正向输入端BALANCE/STROBE 平衡/选通
INPUT - 反向输入端V+ 电源正
OUTPUT 输出端V- 电源负
光电耦合器件通过光信号的传递,使输入输出没有直接的电信号联系,因而没有公共地,也就隔离了干扰的直接传导。
经滤波后的车速脉冲信号实际上并不是规则的矩形波,使车速测量的精度达到一定要求,本系统选用集成施密特触发器LM311来完成这一功能。
施密特触发器是脉冲波形变换中经常使用的一种电路。
利用它不仅可以将边沿变化缓慢的信号波形整形为边沿陡峭的矩形波,而且可以将叠加在矩形脉冲信号高、低电平上的噪声有效地消除。
车速脉冲信号经上图的电路处理后,由单片机的T0捕捉此脉冲进行采集。
另外用定时器记录脉冲的输出间隔,从而计算出里程、车速等实时数据,用以保存和输出。
3.2.2 开关量信号的采集
开关量信号包括车门、左灯、右灯、倒车灯、远光灯、近光灯、刹车等共八路信号。
开关量信号采集模块电路如图3.4:
图3.4 开关量信号采集电路
上图给出的是一路开关信号的采集电路图,其它开关量信号的采集与此相同,这里不一一画出[9]。
开关信号经过光电隔离处理后直接输入到单片机的PE口。
系统每隔0.2秒对八路开关量信号和一路脉冲信号采集一次,处理器只要将PE口的状态直接读入就可以了。
3.3单片机模块
3.3.1 单片机选型
图3.5 STM32F103管脚图
STM32F103是中等容量增强型,32位基于ARM核心的带64或128K字节闪存的微控制器USB、CAN、7个定时器、2个ADC 、9个通信接口。
功能:内核:ARM 32位的CPU;最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHZ。
存储器:从64K或128K字节的闪存程序存储器;高达20K字节的SRAM。
时钟、复位和电源管理:2.0~3.6伏供电和I/O引脚;上电/断电复位(POR/PDR)、可编程电压监测器(PVD);4~16MHz晶体振荡器;内嵌经出厂调校的8MHz的RC振荡器;内嵌带校准的40kHz的RC振荡器;产生CPU时钟的PLL;带校准功能的32kHz RTC振荡器。
低功耗:睡眠、停机和待机模式;VBAT为RTC和后备寄存器供电。
多达80个快速I/O端口:26/37/51/80个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号。
调试模式:串行单线调试(SWD)和JTAG接口。
多达7个定时器:3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入;1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器;2个看门狗定时器(独立的和窗口型的);系统时间定时器:24位自减型计数器。
多达9个通信接口:多达2个I2C接口;多达3个USART接口;多达2个SPI 接口(18M位/秒);CAN接口;USB 2.0全速接口。
3.3.2 时钟电路设计
时钟电路是单片机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。
单片机的外部晶振电路如图3.6:
图3.6 外部晶振连接图
3.3.3 复位电路设计
复位是单片机的重新初始化操作。
单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作,因此复位是一个很重要的操作方式,但单片机本身不能自动进行复位,必须配合相应的外部电路才能实现。
单片机的上电自动复位电路如图3.7:
图3.7 上电自动复位电路
3.4键盘模块
汽车行驶记录仪现行国家标准要求操作按键设置应能满足使用要求,并且应在对应的位置标出各按键名称。
3.4.1 设计方案的选择
键盘分为编码键盘和非编码键盘。
编码键盘有检测键闭合、去抖动及产生相应键编码的硬件电路和一个选通脉冲。
选通脉冲可作为CPU的中断请求信号,以通知CPU以中断方式接收所按键的编码。
此种键盘使用方便,但硬件开销大、电路复杂、成本高,常不被单片机系统所采用,而是用非编码键盘代替。
非编码键盘用一些按键排成行列矩阵,按键的作用只是使相应点接通或断开,在相应程序配合下产生被按键的编码。
这种结构的特点是按键较少,硬件设计简单且相应的键扫描软件实现也比较简单。
本设计考虑到仪表系统的简单与美观,在满足功能的基础上沿用大部分记录仪的四键设计方式,即上键、下键、取消键、确定键。
3.4.2 电路设计
传统的键盘解决方案电路连接比较复杂,不管是独立式键盘还是矩阵式键盘,都会浪费微控制器的端口资源,要占用多根I/O端口线,这严重浪费系统的端口资源。
而且都需要人为进行去抖动处理,且抗干扰性差。
ZLG7290可完全克服上述弊端。
它采用I2C总线接口,与微控制器的连接仅需两根信号线,硬件电路比较简单[10]。
而且可以驱动8位共阴数码管或64只独立LED、64只独立按键,并可提供自动消除抖动、连击键计数等功能。
ZLG7290B的电路简单,使用也很方便。
用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。
正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。
按键实现的方式是通过12C总线与ZLG7920链接实现信息通信。
ZLG7290是12C 接口键盘及LED驱动器,方便键盘中断信号与处理器接口相连,按键或者传感器检测可实现键盘去抖动处理、双键互锁处理、连击键处理、功能键处理,简化辅助电路的设计、方便功能扩展。
硬件电路图如下:
图3.8 键盘模块接口电路设计
表3.3 ZLG7290引脚功能介绍
引脚符号功能介绍引脚符号功能介绍
Dig0-Dig7 LED显示位驱动及键盘扫描线/RES 复位输入端,低电平有效SegA-SegH LED显示段驱动及键盘扫描线OSC1 连接晶体以产生内部时钟SDA I2C总线接口数据/地址线0SC2 连接晶体以产生内部时钟SCL I2C总线接口始终线VCC 电源正(3.3-5.5V)
/INT 中断输出端,低电平有效GND 电源地
3.5 存储器模块
根据国家标准规定,汽车行驶记录仪中的数据应该包括2个部分:汽车实时数据(存放汽车发生事故前后的20S时间内数据);汽车历史数据(存放360h内汽车和司机的行驶状况)。