基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计-2_第1页
基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计-2_第2页
基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计-2_第3页
基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计-2_第4页
基于单片机的汽车行驶状态记录仪(黑匣子)毕业设计-2_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1汽车行驶记录仪简介汽车行驶记录仪是一种安装在车辆上且对车辆行驶速度、时间、里程以及有关车辆行驶的其它状态信息进行记录、存储并可通过接口实现数据输出的数字式电子记录装置。它又称汽车工作信息记录仪、汽车综合信息记录仪,也有人将其形象地称为汽车电子警察,它能全程同步记录、监控车辆运行状态。利用汽车行驶状态记录仪,通过专用软件可以将汽车行驶轨迹在电脑上完整、准确的再现。汽车行驶记录仪在汽车上已经得到广泛的开发应用,它由硬件和软件两局部组成。硬件局部包括面板、单片机及辅助电器元件;软件局部包括控制、处理各种数据的仪表功能程序系统[1]。该仪器可实现多种信息处理,显示汽车状况,进行自我诊断,对车速、发动机转速、水温、油压、燃油量、油耗和蓄电池电压等一系列参数进行有效监控。并通过控制发光二极管、液晶显示、蜂鸣器等报警手段,为司乘人员提供直接的汽车状况信息和发出各种超限情况的报警等,可有效防范和化解车辆事故的发生。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.1LM2596-5.0的稳压电源电路表3.1LM2596管脚功能引脚符号功能介绍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.2LM311管脚介绍引脚符号功能介绍引脚符号功能介绍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.1单片机选型图3.5STM32F103管脚图STM32F103是中等容量增强型,32位基于ARM核心的带64或128K字节闪存的微控制器USB、CAN、7个定时器、2个ADC、9个通信接口。功能:内核:ARM32位的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;带校准功能的32kHzRTC振荡器。低功耗:睡眠、停机和待机模式;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接口;USB2.0全速接口。3.3.2时钟电路设计时钟电路是单片机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。单片机的外部晶振电路如图3.6:图3.6外部晶振连接图3.3.3复位电路设计复位是单片机的重新初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作,因此复位是一个很重要的操作方式,但单片机本身不能自动进行复位,必须配合相应的外部电路才能实现。单片机的上电自动复位电路如图3.7:图3.7上电自动复位电路键盘模块汽车行驶记录仪现行国家标准要求操作按键设置应能满足使用要求,并且应在对应的位置标出各按键名称。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.3ZLG7290引脚功能介绍引脚符号功能介绍引脚符号功能介绍Dig0-Dig7LED显示位驱动及键盘扫描线/RES复位输入端,低电平有效SegA-SegHLED显示段驱动及键盘扫描线OSC1连接晶体以产生内部时钟SDAI2C总线接口数据/地址线0SC2连接晶体以产生内部时钟SCLI2C总线接口始终线VCC电源正〔3.3-5.5V〕/INT中断输出端,低电平有效GND电源地3.5存储器模块根据国家标准规定,汽车行驶记录仪中的数据应该包括2个局部:汽车实时数据(存放汽车发生事故前后的20S时间内数据);汽车历史数据(存放360h内汽车和司机的行驶状况)。3.5.1存储需求分析国标要求记录仪具备车辆行驶速度的测量、记录、存储功能。车辆行驶速度数据主要由事故疑点数据和行驶状态数据两局部组成。(1)事故疑点数据的存储需求国标要求记录仪应能以不大于0.2s的时间间隔持续记录并存储停车前20秒实时时间对应的车辆行驶速度及车辆制动状态信号、记录次数至少为10次。速度记录单位为km/h,测量范围为0km/h~220km/h,测量分辨率等于或优于lkm/h。需要存储的实时数据至少应该包含以下信息:驾驶员代码,单独存储,十六进制,占用3个字节的存储空间。时间(年、月、日、时、分、秒),8421BCD码,占用6个字节。速度,十六进制,占用1个字节。车辆行驶状态数据,十六进制,占用1个字节。考虑到时间仅能精确到秒,所以时间不需要每200ms记录一次,每5次(1秒)记录一次时间[11]。由此得出事故疑点数据的逻辑格式如表3.4所示。表3.4疑点数据的格式序号123合计工程名称时间速度车辆状态数据长度〔字节〕61×51×516根据疑点数据的逻辑格式,可以计算出每秒事故疑点数据占用16个字节存储空间。20秒实时数据所需要的数据空间:20×16=320(字节)(2)行驶状态数据的存储需求国标规定无论车辆在行驶状态还是停驶状态,记录仪均应能提供实时时间对应的车辆行驶速度信息。记录仪应能以不大于1分钟的时间间隔持续记录并存储车辆在最近360小时内的行驶状态数据,该行驶状态数据为车辆在行驶过程中与实时时间相对应的每分钟间隔内的平均行驶速度。速度的单位为km/h,测量范围为:0km/h-220km/h,分辨率等于或优于lkm/h。需要存储的行驶数据包含以下几组信息:驾驶员代码,单独存储,十六进制,3字节。时间(年、月、日、时、分),8421BCD码,5字节;速度,十六进制,1字节;里程,8421BCD码,3字节。从而可得每一分钟需要记录的历史数据为9字节。本记录仪中,总共存储最近360小时内的行驶状态数据,因此需要的存储空间为:360×60×9=194400(字节)=189.84375k(字节)。另外,还要存储数据的索引、车辆特征系数(十六进制,3字节)、车辆识别代号VIN(ASII码,17字节)、车牌号码(ASII码,12字节)、车牌分类(ASII码,12字节)、驾驶员代码(十六进制,3字节)、机动车驾驶证号码(ASII码字符,18字节)、记录仪主机可识别的唯一性编号及初次安装同期(8421BCD码,5字节)、记录仪每一次下传的日期及时间8421BCD码,5字节)、每一次上载的日期和时间(8421BCD码,5字节)、每一次车辆特征系数的设定时间(8421BCD码,5字节)等信息。预计总的数据量将会有200k字节。3.5.2存储方案选择为方便表达,事故疑点数据、行驶状态数据分别采用实时数据和历史数据术语。实时数据存放汽车发生事故前后的数据,主要用于分析事故发生的原因和事故的责任;历史数据存放汽车和司机的行驶状况,作为事故分析的参考依据和对汽车、司机的运行状况考核[12]。本记录仪需要存储的数据量较大,记录仪对存储的实时性和可靠性要求较高。本文设计的记录仪实时数据存储在铁电存储器中,历史数据存储在数据闪存中。将实时数据暂存起来,满一页时,再将实时数据传送到历史数据存储系统中,存满360h数据,然后将其重新覆盖。(1)实时数据的存储记录仪不仅要有较大的存储空间,并且要求能够有较快的存取速度,掉电情况下能够对数据进行保存。为了保证所有采集的数据能够及时的存储,仅使用Flash存储器是不行的,因为它的擦写速度比拟慢,不能按字节进行擦写操作。在记录仪掉电或单片机任务繁忙的情况下,会造成车辆行驶信息不能及时的存储。因此,需要扩展一个快速的RAM器件作为数据缓存。单片机可以将采集的数据及时保存在缓存中,在空闲周期内,将成页或成块的车辆行驶数据转存到Flash存储器中,充分保证记录仪的可靠性。目前可满足实时数据存储方案的非易失性RAM主要有普通静态RAM加电池供电、内部带锂电的非易失性RAM和新型的非易失性FRAM铁电存储器三种实现方式。第一种方案要考虑电池充放电电路、同时要保证电池电量可靠、安装稳定牢固等因素,使得系统复杂度增大、可靠性降低;第二种方案RAM价格昂贵,1K字节需要15元左右;第三种方案FRAM兼具RAM的快速写入特性和ROM的非易失性,没有电池产生的不良因素[13]。鉴于上述要求,本系统选用非易失性串行外围接口FRAM铁电存储器FM25L256,它具有以下显著特点:·工作频率最高可达25MHz,存储空间为32K×8bit;·无限次的读写次数;·快速SPI串行协议,读写数据无延时;·掉电保护,且掉电数据可保持45年;·先进的高可靠性铁电制造工艺,体积小、抗干扰性强;·完善的软、硬件双重写保护;(2)历史数据的存储历史数据存储器的选择主要满足存储空间较大、存放数据平安、保存时间较长等特点即可。嵌入式系统一般不使用硬盘或者软盘作为存储设备,大局部嵌入式系统使用FLASH存储器来存放数据和代码。对于大容量的非易失性存储器,通常采用EEPROM或Flash型存储器,它们不仅可以在掉电的情况下不会丧失所保存的数据,并且可改写的次数也很大,价格低廉,其中Flash型器件的擦写速度更快,可擦写次数也比EEPROM高。因此本记录仪中用Flash型存储器。Flash存储器有并行接口方式、SPI接口方式和12C接口方式三种。并行接口方式的Flash占用过多的单片机I/O引脚,本文设计的记录仪I/O资源紧张;12C接口的Flash只需要两个I/O引脚就可以实现访问但是其访问速度比拟慢(400Kbps);SPI总线接口的Flash,需要4个I/O引脚,其访问的速度可达20Mbps。综上所述,FM25L256很适合应用在汽车行驶记录仪这种要求快速频繁写操作的非易失性应用场合;SPI接口的闪存AT45DB081B适合本记录仪的应用[14]。采用铁电存储器与SPI接口的闪存兼顾按字节快速写入速度、较大数据存储空间及掉电不丧失数据的需求。3.5.3存储器选型(1)铁电存储器FM25L256通过SPI接口与主控芯片通信,在SCK的上升沿接收数据,在SCK的下降沿发送数据。将FM25L256的WP脚接高电平、状态存放器设置为O×O,不采用硬件写保护,这样就可以对所有存储空间进行写操作。而且对FM25L256进行操作之前,必须向其传递一个操作代码,以指示FM25L256现在进行的是什么操作。汽车行驶记录仪实时数据存储模块的电路连接如图3.9所示。图3.9实时数据存储电路表3.5FM25L256引脚功能介绍引脚符号功能介绍引脚符号功能介绍/CS芯片选择输入端SI串行输入端SCK串行时钟输入端SO串行输出端/HOLD保持输入端VDD电源〔2.7V-3.6V〕/WP写保护输入端VSS接地端(2)闪速存储器AT45DB08lB是ATMEL公司推出的一款基于Flash技术的大容量数据存储器,采用2.7V-3.6V供电,管脚(SI、SCK、/CS、/RESET、/WP)支持5V输入,允许直接5VTTL或COMS电平信号相联接,并且与之兼容;AT45DB081B的最大时钟频率可达20MHz;在系统编程比拟简单,不需要高电压。AT45DB081B的存储结构分为主存储区、两个缓存区及一个状态存放器。主存储区容量为8,650,752位,被分成10段、512块和4096页三个等级,每页264字节。AT45DB081B有段、块和页三种操作方式,相关操作包括读操作指令、编程擦出指令两局部。编程操作是基于页的,可实现对字节的读操作,不支持单字节的写操作:支持页写、页擦除操作,擦除操作那么可以按块或页进行。由于MC9S12D64内嵌1个SPI模块,所以AT45DB081B的硬件电路容易实现,只需将二者对应管脚相连即可。WP为写保护引脚,如果将其置低,那么AT45DB081B中存储器的前256页被写保护。如果要对其执行写操作,必须使WP为高。WP引脚在芯片内部拉高,如果不使用写保护功能该引脚可以悬空。为了提高AT45DB081B的可靠性,/WP端接电源,允许写。当AT45DB081B的CS由高变低时,芯片启动一次操作,而当CS由低变高时,终止操作。这时SI上的任何数据都被忽略,SO处于高阻态[15]。AT45DB081B的接口电路如图3.10所示。图3.10历史数据存储电路表3.6AT45DB081B引脚介绍引脚符号功能介绍引脚符号功能介绍/CS片选端/WP写保护输入端SI串行输入端/RES复位端SO串行输出端/RDY/BUSY就绪/忙SCK串行时钟输入端VCC电源GND接地3.6驾驶员身份识别国标规定记录仪应能实现驾驶人员身份记录功能,应能记录驾驶员代码和公安交通管理部门核发的机动车驾驶证证号。lC卡是汽车行驶记录仪的重要组成局部,主要用于驾驶员身份识别和存储汽车的根本数据,例如放驾驶员代码和驾驶证号码[16]。驾驶员在开车之前插入IC卡,直到离开时将IC卡拔出,在此期间存储的驾驶记录均由该驾驶员产生。3.6.1设计方案的选择目前汽车行驶记录仪采用的驾驶员身份识别方式主要有:直接输入识别、非接触式IC卡识别以及接触式IC卡识别。方案一:直接输入式识别。顾名思义就是直接通过按键,输入驾驶员的信息资料来确认身份。最常见的是输入与驾驶证号码唯一对应的驾驶员代码和密码,从而实现驾驶员身份的识别。直接输入识别方式开发简单,可靠性较高,但也存在着占用CPU引脚多,增大记录仪体积等缺点。方案二:非接触式IC卡识别。其读写过程通常由非接触式IC片和读写设备间的无线电波来完成。非接触式IC卡识别方式操作过程简单,但是抗干扰能力相对较弱,且本钱较高。方案三:接触式IC卡识别。CPU一旦探测到有IC卡插入那么通过卡的I/O口读取数据,接着进行程序的判断处理。当确定为合法的IC驾驶员卡后,再按照协议读取驾驶员信息。接触式IC卡存储量大,读写机构造价廉价,维护方便[17]。综合考虑,此设计采用方案三IC卡的方式作为记录仪主机的驾驶员身份识别方案。IC卡(IntegratedCircuitcard)又叫智能卡(smartcard)。根据不同的应用领域IC卡可分为金融IC卡和非金融IC卡;从IC卡的读/写方法上来分类有接触型和非接触型两种;根据IC卡内部结构可分为存储卡(memorycard)、逻辑加密IC卡和CPU卡3种。为了保证驾驶员的信息不被随意更改,选用西门子公司生产的接触式逻辑加密卡SLE4442.3.6.2电路设计SLE4442提供最小10万次的擦写次数,数据保存10年,具备12C总线接口。SLE4442存储器主要由256字节E2pROM型主存储器、32位PROM型保护存储器和4字节E2PROM型加密存储器组成。SLE4442卡读卡器电路如图3.11所示:3.11IC卡接口电路表3.7SLE4442引脚功能介绍引脚符号功能介绍引脚符号功能介绍VCC工作电压GND地线RST复位信号SCL串行时钟输入SDA串行数据输入/输出SW2/SW1卡插入测试端单片机内嵌一个12C模块,硬件实现较为简单,只需把SLE4442的两线(SCL和SDA)和单片机对应的引脚相连即可,由于SCL和SDA是开漏输出,所以要加上拉电阻。RST引脚与单片机l/O脚相连。接触推拔式IC卡卡座有常开、常闭两种类型,本文采用常开卡座。IC卡插入方向为IC卡触点面向上,并且触点端朝前。ICSW脚与单片机I/O引脚相连,有IC卡插入时,ICSW为高电平;反之,无IC卡插入。3.7车载主机和上位机之间的数据传输方式国家标准规定汽车行驶记录仪应同时配置以下两种标准接口:USB(通用串行总线)标准接口,建议采用主结构式USB接口;标准RS232CD型9针接口。在具备上述通信接口的根底上,可以同时使用其它通信方式。USB技术的优势以及USB接口在此设计中的应用通用串行总线USB技术具备很多优点:设备自动被系统识别,自动安装驱动程序,系统自行进行配置;USB支持热插拔和即插即用;占用的系统资源少,无总线竞争;速度快:USBl.1支持1.5Mbps和12Mbps两种传输速率,而USB2.0可达480Mbps,比串口快了整整4000倍,比并口也快了400多倍;USB端口支持多个不同设备的串联,一个USB口理论上可连接127个USB设备;USB事务处理包括错误检测机制,用以确保数据无错误的发送;设备能够直接由USB总线进行供电;支持四种传输方式:控制传输、中断传输、块传输和同步传输[18]。在此设计中USB接口实现了单片机通过USB2.0接口与主机交互数据的功能,具体如下:〔1〕驾驶员身份码设置,公司管理人员用计算机通过专用软件,进行驾驶员信息数据设置,再输入移动优盘,驾驶人员在开车时将已储存驾驶员信息的移动优盘,插入USB接口,优盘能由记录仪自动读取、分辨驾驶员身份码。〔2〕对记录仪进行初始设置,在汽车行驶记录仪采集设置软件中进行数据设置,保存至移动优盘,通过权限命令,记录仪自动执行初始化设置。〔3〕实现数据采集和转移,行车后,通过权限命令可用移动优盘采集数据,导入桌面管理系统,进行分析修正。其数据采集过程如下:将汽车行驶记录仪上位机目录中的相关管理命令复制到空白优盘中,记录仪将会自动执行采集数据的命令,把行驶数据输入优盘。3.7.2USB接口的硬件电路设计STM32F103芯片内部集成了USB外设,大大减轻了USB电路的设计负担,只需设计USB接口电路,就可以实现基于STM32F103芯片的电路板的USB通信设计。USB接口电路很简单,只需要连接好USB接口的4根线就根本可以了。如图3.12所示,左边是一个标准的USB接头。USB-和USB+两根信号线连接到STM32F103芯片的DPLUS和DMINUS引脚。图3.12USB接口电路在图3.12中,2、3端点对应与B型口的两个差分数据引脚,1和4端点分别对应B型口的电源和接地引脚。由于B型口直接与USB电缆连接,由上面分析可得出USB电缆组成情况,具体连接定义可见表3.8。表3.8USB电缆连接定义连接序号信号名称典型连接线1VBUS〔电源正〕红2USB-(负差分信号〕白3USB+(正差分信号)绿4GND〔电源地〕黑外层屏蔽层-如表3.8所示,USB电缆也包含了两根电源线VBUS和GND,其电压标称值为+5V,但实际上这个电压可能会偏高或偏低一些。对于高功率集线器端口,该电压范围是4.75V~5.25V,而对于低功率集线器端口,该电压范围是4.4V~5.25V。另外,由于电缆和其他损失,USB设备最后得到的电压可能会更低一些[20]。3.7.3RS232接口记录仪通过RS232C接口和上位机串行通信,实现与上位机的数据交换。通信接口使用标准RS232C9针接口,通信过程符合RS-232C标准。此标准中的电平采用负逻辑,规定+3V-+15之间的任意电平为逻辑“0〞电平,-3V~-15V之间的任意电平为逻辑“1"电平,与一般微处理器、单片机的TTL或CMOS逻辑电平是不一致的。在实际使用中,必须进行电平转换,以便与RS-232C标准的电平匹配。MAX232是一种把电脑的串行口RS232信号电平〔-10,+10〕转换为单片机所用到的TTL信号点平〔0,+5〕的芯片。MAX232芯片是MAXIM公司生产的低功耗、单电源、双RS232发送/接收器。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232C输出电平所需的+-10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。电脑通过串口RS232和单片机RXD和TXD相连,即可将用户程序下载到单片机。异步串口通信电路如图3.13所示[21]。引脚介绍:C1+,C1-,C2+,C2-,V+,V-等引脚各和一个电容组合,功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要;R1IN,R1OUT,T1IN,TIOUT为第一数据通道;R2IN,R2OUT,T2IN,T2OUT为第二数据通道。TTL/CMOS数据从T1IN,T2IN输入转换成RS-232数据从T1OUT,T2OUT送到电脑,电脑的RS-232数据从R1IN,R2IN输入转换成TTL/CMOS数据后从R1OUT,R2OUT输出。图3.13RS232接口电路3.8显示模块显示模块的主要功能是同键盘相配合,起到帮助使用者更直观、简便地操作记录仪主机系统的作用。显示电路结合键盘电路,可以实现数据上传、下载、显示状态等功能。3.8.1设计方案的选择在单片机系统中,常用的显示器有:发光二极管,简称LED;液晶显示器简称LCD;荧光管显示器。嵌入式应用领域中LED、LCD的显示技术都比拟成熟,本系统显示的信息量大、数据多、界面较复杂,采用LCD的显示方案。液晶显示器有数码液晶显示器、字符液晶显示器、图形液晶显示器和专业液晶显示器〔如、PDA等〕。本系统要求能够进行字符、数字和汉字的显示,因此本文选用了可以显示图形和汉字的图形液晶显示器。显示器主要是为人机交互提供即时的信息,能让人们与机器进行很好的交流。在众多种类的显示器中,越来越多的仪器仪表及人机交互界面采用液晶显示器[22]。LCD可分为段位式LCD、字符式LCD和点阵式LCD。其中段位式和字符式只能用于数字和字符的简单的显示,不能满足图形曲线和汉字显示的要求:而点阵式不仅能够显示字符和数字,还可以显示各种图形、曲线及汉字,可以实现屏幕的上下左右滚动等功能。3.8.2电路的设计本系统选用了台湾矽创电子公司生产的中文图形液晶控制器ST7920(128*64),它与驱动器ST7921组成的模块最多可驱动256×32点阵液晶,主要用于显示汉字及图形,并内置了2MB的中文字型ROM(提供8192个16×16点阵的中文字型)和16KB半宽字型ROM(提供126个16×8点阵的西文字型)。此外,为了适应多种微处理器与单片机接口需求,该模块还可提供4位并行、8位并行、2线串行以及3线串行等多种接口。利用上述特性可以方便地实现文字与图形混合显示、画面去除、显示开/关、显示字体闪烁等很多功能。表3.9ST7920的引脚及功能介绍引脚符号功能介绍引脚符号功能介绍VDD(VCC)电源输入5VLED(+)背光电压正VSS〔GND〕电源地LED〔-〕背光电压负PSB并行/串行选择,H为并口,L为串口RS(CS)存放器选择,H数据L指令〔串行片选信号端〕RST复位信号V0LCD驱动电压R/W(SID)读/写选择端〔串行数据输入端〕,H读L写E〔CLK〕使能信号〔串行时钟输入端〕DB0-DB7显示数据ST7920是台湾矽创电子公司生产的中文图形液晶控制器,它是一种内置128x64汉字图形点阵的液晶显示模块,用于显示汉字及图形。该芯片共内置8192个汉字(16x16点阵),128个字符ASCII字符库(8x16点阵)及64x256点阵显示RAM(GDRAM)[23]。可作为控制器和驱动器提供32路com输出和64路seg输出。ST7920的接口连接的方式非常灵活,分为并行和串行两种方法。使用并行接口电路复杂,但编程简单,访问速度也快,而使用串行接口电路简单,但编程复杂。由于本系统使用的显示数据量不大,并且要尽量简化电路,因此采用串行接口电路,注意电源和几条控制线均要加5V上拉,否那么汉字可能不能正常显示。如图3.14所示:图3.14显示模块电路设计3.9时钟模块由于系统产生的各种数据和记录都与时间密切相关,对时钟的实时性要求很高,同时记录仪本身存在着断电的危险,为了准确记录车辆行驶状态,并对异常情况进行记录,因此选择实时时钟芯片来提供日期和时间[24]。实时时钟芯片是一种不仅能支持每天时间〔时、分、秒〕的更新,而且能够进行日期〔世纪、年、月、日〕更新的永久时钟电路。时钟芯片可以提供北京时间。通过它可以获得汽车在每一个车速下所对应的时间。它和显示模块配合实现报警功能。3.9.1设计方案的选择近年来应用较多的日历时钟芯片有美国DALLAS公司研制的DSl2887和DSl302芯片以及PHILIPS公司生产的I2C实时时钟芯片PCF8563。其中DSl2887是CMOS实时时钟日历芯片,可通过并行接口方便地与微处理器相连,该芯片可产生秒、分、时、星期、日、月、年这七个日历时钟以及秒、分、时三个警报时钟。DSl302是串行,涓流充电时钟芯片,使用简单,通过一个简单的串行接口I/O与微处理器通信,还可以通过其备份电源充电[25]。PCF8563是低功耗的CMOS实时时钟日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。3.9.2电路的设计本文采用DALLAS公司的DSl302芯片,DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1.RST复位,2.I/O数据线,3.SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1MW。DS1302是由DS1202改良而来,增加了以下的特性:双电源管脚用于主电源和备份电源供给VCC1,为可编程涓流充电电源附加七个字节存储器。它性能高、功耗低,时钟校准也较为容易,通过3V锂电池和车内蓄电池两种方式供电,这样可以保证当蓄电池在出现故障的情况下,该时钟芯片仍然能够正常工作,从而使记录仪的数据同样准确、可靠[26]。其内部自带3l字节的静态RAM,存储容量满足实用的需要。数据在CLK的上升沿串行输入,在进行单字节或多字节传送时,开始的第一个字节为命令字节,用于指定31个字节中哪个将被访问。当进行任何数据传送时,其最高有效位MSB(位7)必须为逻辑l,如果它是零,那么禁止写DSl302。其时钟电路如图3.15,VCC1与3V锂电池相连,VCC2与主电源相连,5,6,7引脚分别接主控制器的时钟端,数据端和复位端,通过主控制器对时钟模块进行统一管理。电路图如图3.15:图3.15时钟芯片接口电路设计DS1302的引脚排列:VCC1为后备电源;VCC2为主电源〔在主电源关闭的情况下,也能保持时钟的连续运行,DS1302由VCC1或VCC2两者中的较大者供电,当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电〕;X1和X2是振荡源,外接32.768kHz晶振;RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送〔RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位存放器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,那么会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平〕;I/O为串行数据输入输出端(双向);SCLK为串行时钟输入端,控制数据的输入和输出;GND是接地端。3.10热敏打印单元国标要求:记录仪至少应能打印输出车牌号码、车牌分类、驾驶员代码、驾驶证号码、打印实时时间、停车时刻前15min内每分钟的平均车速、疲劳驾驶记录。3.10.1设计方案的选择微型打印机具有响应快、功耗低、价格低和体积小携带方便等优点,能够在打印数据量不大的情况下满足打印需求[27]。微型打印机按数据传输方式,可分为无线微型打印机和有线微型打印机,前者利用红外或蓝牙进行数据通信,不仅需要特殊的硬件支持,而且价格昂贵;后者通过串行或并行方式进行数据通信,由于串口打印机存在速度慢、不能反映当前打印机状态等缺点,因此采用具有多线控制精确、数据传输快和高性价比等优点的并口微型打印机。3.10.2接口电路的设计微型打印机控制接口电路如图3.16所示,包括8位并行数据口〔D0-D7〕。由系统地址译码信号CS和系统写信号WR经过逻辑与之后提供数据锁存控制信号〔/STB〕。打印机忙检测信号〔BUSY〕由PD11进行检测。SEL和/ERR控制端由上拉电阻置为高电平。因为已经检测了BUSY信号,所以打印机应答信号ACK可不必检测。图3.16打印机接口电路3.11报警模块报警显示局部是操作人员掌握了解行车信息的重要通道,本记录仪模块的开发不仅要满足记载重要行车数据的要求,而且还必须在发生危险情况或者非法操作时及时提醒驾驶员,以尽量防止事故的发生。当某个参数的测量值超过预定的期限值时,置零相对应的引脚,将启动闪光报警。闪光报警电路设计如图3.17:图3.17闪光报警器电路设计当PD12输出为0电平时,LED开始闪烁;当PD12输出为1电平时,LED熄灭。LED选用红色。4软件设计汽车行驶记录仪软件局部主要是结合硬件系统来实现整个记录仪的各项功能。该章介绍整个系统中几个重要局部的程序,它们是:主程序、信号采集程序、RS-232通信程序、USB通信程序、数据存储程序、液晶显示程序、停车预处理程序的设计。4.1编写程序使用的语言的选择当设计一个小的嵌入式系统时,一般都用汇编语言但是使用汇编的麻烦在于它的可读性和可维护性特别当程序没有很好的标注的时候代码的可重用性也比拟低。用C编写的程序有很好的结构性和模块化更容易阅读和维护,由于模块化用C语言编写的程序有很好的可移植性功能化的代码能够很方便的从一个工程移植到另一个工程从而减少了开发时间。用C编写程序比汇编更符合人们的思考习惯开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。使用C语言程序员不必十分熟系处理器的运算过程这意味着对新的处理器也能很快上手,不必知道处理器的具体内部结构,使得用C编写的程序比汇编程序有更好的可移植性。C的特点就是可以使你尽量少地对硬件进行操作,是一种功能性和结构性很强的语言[28]。4.2设计方案4.2.1主程序 主程序的名称是main0,它主要完成系统上电自检,芯片的初始化等工作,然后进入一个无限循环的过程,等待中断产生,并根据中断来进行一系列的后继处理,其流程图如图4.1:图4.1主程序流程图4.2.2信号采集模块子程序设计信号采集子程序主要完成的功能是对车速信号的采集,开关量的采集只需要定时读单片机的P1口的状态即可,而时钟信号是与采集的车速信号和开关信号所形成的数据一起形成各种记录,无需单独采集。车速信号的采集主要是脉冲送到单片机的T0端口进行脉冲计数,与此同时单片机的T1进行计时开始待到定时器产生中断请求后,由计数器得到的脉冲数经过速度计算的公式和里程的计算后得到汽车行驶的速度和里程。等待定时中断,每隔0.125s产生一次定时中断,读取脉冲计数器中记录的脉冲数和开关量信号,并通过脉冲数计算出0.125秒内的速度。每隔20s将采集的汽车车速数据及开关量信号并存储在实时数据存储器中,这组数据在数据处理程序中进行处理后将按标准格式转存至历史数据存储器中。在数据采集过程结束后,程序将进入数据处理子程序。把实时数据存储器中的数据进行处理,按格式标准存储于历史数据存储器中。经过处理后会更新时间、速度、里程、汽车状态信息数据,同时还会存储15天内累记行驶里程、15天内行驶速度等数据,为同后将数据上传到上位机或者PC时进行更详细、全面的处理提供源记录[29]。测速程序的流程图如图即定时中断流程图:图4.2测速流程图数据采集流程图:图4.3数据采集流程图数据处理流程图:按照汽车行驶记录仪国家标准规定,当同一位驾驶员连续两次开车时,如果两次开车之间休息时间大于20分钟,那么开车时长从后一次车辆启动开始计算;但如果休息时间小于20分钟,那么开车时长从前一次车辆启动开始计算,并且加上休息时长。因此,根据驾驶员信息及休息时长的不同,分别用不同的方式计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论