




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC90C51的汽车行驶状态记录仪的设计摘要:随着汽车制造模块化、平台化技术的飞速发展,汽车普及率逐年升高,汽车在人们的整个社会生活中扮演着越来越重要的角色。然而随着汽车保有量的逐年升高,道路交通事故的数量也随之上涨,因此汽车的主动及被动安全装置倍受人们重视。本毕业设计主要通过NEO-6M芯片收集GPS卫星的数据来获取车辆的行驶状态信息,采用STC90C51作为主芯片解析数据并处理所获取的信息,通过LCD1602液晶屏显示状态信息,通过LED灯和蜂鸣器来传达警告信息。 本设计被称为汽车行驶状态记录仪,可以让汽车驾驶员获取实时行驶状态信息,如实时时间、地理坐标、实时速率、行驶方向等。于此同时,能够将这些信息实时循环存储到EEPROM芯片AT24C02中,方便随时调用。这些信息在发生事故后可以调取出来,作为证据保障受害人权益。汽车行驶状态记录仪,又被称为汽车黑匣子,也是一个主动安全装置,当汽车超速时可以通过LED灯和蜂鸣器向驾驶员发出警告。关键词:STC90C51;汽车行驶状态记录仪;GPS;NEO-6M;汽车黑匣子Design of Driving State Recorder Based on STC90C51Abstract: Withtherapiddevelopmentof modularization of automobile manufacturing,prevalence of automobiles has been increased year by year. In the whole human social life automobile plays a more and more important role. However, the quantity of road traffic accident has been risen larger and larger along with the increase of the number of vehicle holdings. For this reason,active and passive safety devices of car have been attached great importance。Collecting data from GPS satellites by the chip called NEO-6M, this graduation design with the MCU called STC90C51 which can analyze and process data, can get the driving state information of the car. It displays driving state information by LCD1602 and conveys warning information by LED light and buzzer.Drivers can get real-time driving state information by this graduation design called driving state recorder,such as the real time, geographical coordinate, real-time speed, driving direction and so on. At the same time, it can store these information into EEPROM chip called AT24C02 in time, which makes it convenient to call at any time. In the event of traffic accidents, it can also get recording information obtaining from the recorder for traffic accidents evidence, safeguard the rights of the victims. Giving a warning to the driver by LED light and buzzer when it is overspeed, driving state recorder also known as automobile black box is also an active safety device.Key words: STC90C51;Driving State Recorder;GPS;NEO-6M;Automobile Black Box引 言汽车是人类现代化文明发展的标志之一,自从1886年第一辆内燃机汽车问世以来,经过一百余年的发展,汽车已经成为现代化运输的重要工具之一,是各类高科技产业争相应用的强大载体,是科学技术水平和工业制造水平的重要标志。随着汽车制造平台化、模块化技术的飞速发展,汽车的生产周期和生产成本大幅度地降低,同时售价也变得更加亲民化,这使得汽车保有量呈现出长期大幅度的增长趋势。然而随着汽车保有量的逐年升高,道路交通事故的数量也随之上涨,交通事故中因为缺乏汽车行驶状态等证据而引起的纠纷更是层出不穷。因此,汽车的主动及被动安全装置备受人们的重视。所谓主动安全装置就是指在汽车行驶中,能够主动预防交通事故的发生,比如超速提醒装置。本人也是一名持有C1驾驶执照的司机,在这几年的驾驶经历中,发现大部分小轿车的仪表盘只有实时的速率而并没有超速提醒功能,在国内大部分高速公路的最高限速都是120km/h,然而在开车过程中不可能一直盯着仪表盘看有没有超速,此时超速提醒装置显得就尤为重要。这一装置可以通过灯光和声音的警告,提醒驾驶员减速慢行,同时又可以不让驾驶员分神。被动安全装置是指在汽车发生不可避免的交通事故后,能够尽可能地减少受害者的损失或者能够及时保障受害者权益的安全配置。近年来,通过电视报道我们经常看到有一些交通事故的纠纷完全就是因为缺乏有力的证据造成的。在没有证据的情况下,受害者更是百口莫辩。因此,汽车上也需要一款类似飞机黑匣子的装置,能够记录汽车行驶的状态信息,并保存下来以便随时调用,这些信息在发生交通事故后能够作为有力的证据来保障受害者的权益,尽可能地减少受害者的损失。汽车行驶状态记录仪,又被形象地称为汽车黑匣子,既是一款主动安全装置又是一款被动安全设备,到目前为止并没有被广大汽车生产厂家作为一项标准配置安装到汽车上。因此,研究和设计一款实用且性价比高的汽车行驶状态记录仪是十分必要的。第一章 绪论 随着我国经济和科技水平不断提高,我国的汽车普及率呈现出长期高速的增长趋势。然而由于法律法规不健全和人们安全意识薄弱等各方面原因使得汽车行驶状态记录仪在我国没有得到大面积的普及,使得道路交通事故纠纷案件频发,特别是一些营运车辆比如长途大巴和大型载货车辆。行车状态记录仪的推广和普及可以从源头遏制一些交通违章行为,同时也可以为道路交通事故的分析鉴定提供依据,为解决事故纠纷提供有力证据,有效保障人民生命财产安全。1.1汽车行驶状态记录仪的简介汽车行驶状态记录仪,又被称为汽车工作信息记录仪、汽车黑匣子、汽车综合信息记录仪,它能够通过显示屏实时显示汽车的行驶速率,行驶方向,实时地理坐标等状态信息,并且能够将这些信息以时间先后顺序为基准储存起来,实现全程记录和监控汽车的行驶状态。这些状态信息通过计算机处理后,计算机软件可将汽车的行驶的轨迹准确且完整地再现。同时它还是一个主动的安全装置,当汽车超速时,它能够通过LED灯和蜂鸣器来提醒驾驶员减速慢行。汽车黑匣子主要由硬件和软件两部分组成,硬件部分包括电路板,主控芯片,定位模块芯片,存储模块芯片,液晶显示屏等,软件部分则是硬件部分的驱动,包括了数据接收部分,数据处理部分,数显部分和存储部分等。由于汽车黑匣子要保证在发生任何类型的交通事故后数据的完整,因此汽车行驶状态记录仪往往需要一个坚固的外壳保护,故它又被称为Black Box。同时,为了能够更有效地接收定位数据,GPS汽车行驶状态记录仪一般设有外置天线。1.2 研究背景及意义在汽车工业起步早发展快的日本、欧美等西方国家,行车状态记录仪的使用可以追溯到20世纪70年代,主要以立法的形式强制汽车生产厂家将其设置为汽车出厂的标准装置。国内的汽车业从20世纪80年代开始蓬勃发展,当时由于国内相关法律法规不严格以及人们的安全意识薄弱,造成部分合资车企为了降低成本而直接删减了汽车黑匣子这项标准配置。近年来,我国经济水平不断提升,人民生活质量随之提高,私家车开始走进家家户户,乘坐长途大巴出行也变得十分便捷。然而随之而来的却是交通事故频发,事故纠纷案件数量逐年增加等问题。着其中不乏长途客运大巴与大货车所发生的特别重大道路交通事故,给国家和人民生命财产带来了巨大的损失。如果所有汽车上都装有行驶状态记录仪的话,不仅可以预防一些因为超速等违章行为造成的灾难,而且还能够通过事故数据分析事故原因,再通过“大数据”进一步分析某些典型的事故原因,反馈给汽车生产厂家或者公路管理部门,这样一来将会形成一个良性的循环,从最大程度上减少道路交通事故的发生。1.3 发展现状和研究方向1.3.1国外汽车行驶状态记录仪的发展状况20世纪20年代,在汽车产业的发祥地欧洲,第一台车载行驶状态记录仪诞生了,当时还只能记录速度这一个状态信息。随着汽车工业的大发展,第一台纸盘式行车记录仪于1934年在德国诞生。纸盘式行车记录仪在经过近20年的发展后,在1953年德国通过立法强制载重8吨以上的运输车辆安装盘式行车记录仪。1970年,欧盟的更多国家包括法国、卢森堡、意大利、比利时都通过立法强制推行使用纸盘式行车记录仪。纸盘式行驶记录仪,通过机械指针将车载速度传感器所测得的车辆速度、行驶里程等数据记录在圆形坐标记录纸上,装置以机械结构为主,使用方便,但不太精确1。随着电子技术的发展,和数字集成模块技术的成熟,以及一些电子设备的相继引入,20世纪70年代形成了电子行车记录仪的初级样式。出于之前的使用习惯、产品的成本控制、技术安全性等方面的考虑,初级样式的电子式行车记录仪仍旧使用纸盘作为记录媒介2。随着电子存储技术的逐步完善,欧盟积极研发并推行全数字式电子行车记录仪。20世纪90年代初,德国首先研发出了全数字式汽车行驶状态记录仪,并率先通过立法强制规定自2006年5月起新生产的汽车必须安装数字式行驶状态记录仪3。1.3.2国内汽车行驶状态记录仪的发展状况 我国于1984年就开始了对汽车行驶状态记录仪的设计和生产,但是由于当时没有相关的法律强制推行,也没有相关的技术标准,还有生产技术的限制,以及成本的控制等制约因素导致了国内行驶状态记录仪的发展相对缓慢。进入21世纪,我国经济发展迅速,人民生活水平日益提高,人们的安全意识也有所加强,同时频发的交通事故特别是重大交通事故所带来的损失,这些都极大地促使着汽车行驶状态记录仪的发展。2001年,公安部联合交通部和国家安全生产监督管理局下发了“关于长途客运车辆逐部安装行车记录仪的通告” 4,“通告”要求长途客运车辆应逐步安装行车状态记录仪,否则禁止营运。为了规范行车状态记录仪的生产标准,2003年4月,由公安部、国家标准化管理委员会、国家经贸委起草审定,国家质量监督检查检疫总局发布了汽车行驶记录仪国家标准(GBT190562003)5,于2003年9月1日正式实施。此标准实施以后,国内的行车状态记录仪的研发和生产进入了新的标准化时代。1.3.3研究方向随着信息技术的发展,GPS定位技术日益成熟,GPS下游产业如雨后春笋般迅速发展。本次设计的研究方向是,以GPS定位数据为基准的汽车行驶状态记录仪。GPS提供了精确的授时、定位、导向等数据,通过这些数据获取汽车的行驶状态信息,不仅得到的信息丰富,而且数据都十分得精确。因此由GPS数据支持的汽车行驶状态记录仪将会是发展的趋势。1.4 论文结构本文运用了时下比较成熟的GPS技术,基于STC90C51单片机设计了一个汽车行驶状态记录仪。本文共分5章,具体结构如下。第一章 绪论第二章 系统的总体方案设计第三章 行驶状态记录仪的硬件设计第四章 行驶状态记录仪的软件设计第五章系统调试与精度检测第二章 系统的总体方案设计 本文设计的行驶状态记录仪具有的主要功能是:使用信息采集模块采集汽车行驶状态数据,通过串口通讯将数据传输至具有数据解析和处理功能的MCU芯片6,MCU将数据解析后,把汽车状态信息显示到液晶屏上,通过按键控制可以分屏显示这些信息,同时处理过的信息通过MCU的I/O口传输到存储芯片中,做到实时记录车辆的行驶状态信息7。在正常行车过程中,可以设置最高时速,一旦汽车超速,可以通过LED灯光和蜂鸣器提醒驾驶员减速慢行。当改变MCU中的驱动程序后,能够读取出存储芯片中的汽车行驶状态信息。2.1系统整体结构以运行可靠,成本低廉,易于开发和调试为设计理念,根据行驶状态记录仪的功能要求,汽车行驶状态记录仪主要由以下几个模块组成。结构框图如图2.1所示。1.电源模块:是整个系统的基础模块,将汽车供电系统所提供的+12V电压转变为其它各个模块的电子芯片所适应的电压。2.信息采集模块:是整个行驶状态记录仪最重要的模块之一,是所有状态信息的源泉,用来采集汽车行驶状态的数据,并将数据转换为特殊格式以便处理器做进一步解析和处理。信息采集模块中央处理模块液晶显示模块存储模块电源模块键盘模块警报模块图2.1 系统结构框图3.中央处理模块:是整个系统核心的模块,接收信息采集模块的数据,并将数据进行解析和处理,将处理过的信息通过I/O分别传输至液晶显示模块、存储模块和警报模块。4.液晶显示模块:将汽车行驶状态的信息可视化,以数字的方式显示出来,直观明了。5.键盘模块:用于控制液晶显示模块的翻页操作,显示出不同的状态信息。6.存储模块:将处理过的汽车行驶状态信息存储起来,方便调用。7.警报模块:当车辆超速时,用于提醒驾驶员减速慢行。2.2设计方案2.2.1主控芯片方案论证与选择方案一:采用意法半导体(ST)公司推出的内核为Cortex-M3的STM32F1系列32位ARM微控制器作为硬件核心,该芯片一次可以处理32位二进制数,拥有多达112个快速I/O口,并且所有I/O口可以映像到16个外部中断。最高工作频率可达72MHz,该系列的闪存存储器从32K到512K字节不等,选择范围大,与之匹配的是64K字节的快速SRAM。同时拥有多达11个定时器,其中4个16位定时器有多达4个用于PWM、输出比较、输入捕获、或脉冲计数的通道。它的3个12位模数转换器(ADC),1s转换时间,多达21个输入通道。还拥有多达13个通信接口,包括2个I2C接口、5个USART接口、3个18M位每秒的SPI接口、CAN接口等。作为一款32位微处理器,它的处理能力非常高。方案二:采用STC90C51芯片,该芯片能够工作在3V的超低压环境下,抗干扰能力强,同时也与C51系列单片机完全兼容。该系列芯片内部存储器为4KB到64KB不等,可根据需要更换不同ROM的芯片,且具有在线编程可擦除技术,当对程序和系统匹配调试的时候,若多次烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成不可逆的机械损坏。该芯片片内有专用的复位电路MAX810,当外部时钟频率在12MHz以下时,复位引脚直接接地即可,可简化外部电路设计。以上两种方案中,很明显方案一中的32位芯片功能更加强大,运算能力更强,速度更快,但是结合本次设计的行驶状态记录仪的功能要求考虑,使用32位芯片作为微控制器完全是一种资源的浪费,因为8位的单片机已经能够满足我们的设计需求,选用方案一也会增加产品的成本,有悖于高性价比的设计理念。8位单片机的种类又是极其繁多,比如PIC系列、AVR系列、51系列等,这种情况下应结合自己对芯片的了解情况来选择适合的芯片。大学四年的学习,单片机原理和C语言程序设计是电子信息类专业的必修课,因此,51系列单片机和C语言编程是两个比较熟悉容易上手的东西8。8位的51系列单片机完全可以满足本次设计的需求,同时价格低廉,符合高性价比的设计理念,因此选择方案二的STC90C51作为主控芯片。2.2.2信息采集模块方案论证与选择方案一:使用DS1302作为时钟芯片,为整个行车记录仪提供时间基准,速度信号可从汽车自身的霍尔传感器获得数据,再将数据提供给行驶状态记录仪系统。霍尔传感器获得行驶速度的基本原理是:汽车行驶的过程中,车轮每转动一圈,便会触发车辆的霍尔传感器,使之发出一对差分信号,这对差分信号经过信号采集模块的解析和处理后可以被转变成一个计数脉冲,当单片机的T0口收到这个脉冲后,便进行脉冲计数,单片机的T1定时器于此开始进行计时,一旦定时器发出中断请求,那么由计数器得到的脉冲个数乘以汽车轮胎的周长再除以定时器的时间后便得到汽车的行驶速率。方案二:使用u-blox公司推出的NEO-6M芯片作为信息采集模块的主芯片。该芯片能够通过接收来自GPS卫星的数据,获取汽车的各种行驶状态信息,比如实时位置坐标、实时速率、实时航向等,同时它还提供精确的授时服务。以上两个方案均能够获取汽车的速度信息和时间信息,但是方案二一个芯片便能够获取更加丰富的信息,并且不需要与汽车上的器件进行数据交换,不仅降低了外部电路设计的难度,而且又获取了更多关于汽车行驶状态信息的数据,因此数据采集模块采用方案二的设计。2.2.3存储模块方案论证与选择方案一:采用IIC接口方式的EEPROM芯片AT24C02,其内部含有256个字节,可以按字节存储,也可以按页存储,方便调用。还有一个专门的写保护功能。方案二:采用并行接口方式的Flash芯片作为存储介质,存储速度快,擦写次数多,数据保存时间长。由于本次设计的主控芯片8位单片机的I/O口紧张,同时Flash芯片价格远高于EPPROM芯片,因此选用方案一的AT24C02芯片。2.2.4显示模块方案论证与选择方案一:采用LED数码管作为显示模块,LED数码管价格低廉,对于显示数字最为合适,使用74HC573锁存芯片与单片机连接作为驱动,采用动态扫描法显示。方案二:采用LCD1602工业字符型液晶显示屏作为显示模块,它是由若干个点阵组成的32字符显示器。其内部的CGROM已经存储了160个不同的字符,其中包含大小写英文字母、阿拉伯数字、常用符号等,显示信息较为丰富。方案三:采用12864液晶作为显示模块,它由128*64个点阵数,每屏可显示4行8列共32个1616点阵的汉字。它可以显示汉字,英语字母,各种符号等。由于本次设计中需要显示的行驶状态信息以数字为主,但是LED数码管却不能够满足显示需求,12864液晶浪费了资源,拉高了设计成本,故均不能选用。因此,显示模块应选择方案二,选用价格适中的LCD1602工业字符型液晶显示屏。2.2.5键盘模块方案论证与选择方案一:独立按键:一个按键占用单独的一个I/O口。方案二:矩阵键盘:为了节省I/O口,通常将按键按照矩阵形式排列,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接10。这样一来16个按键只占用8个I/O口。 本设计中键盘模块只需要一个独立按键来切换LCD的页码即可,因此选用方案一的独立按键。第三章行驶状态记录仪的硬件设计本章以模块为单位逐一介绍了行车状态记录仪系统的硬件设计思路。详细介绍了从各个模块的电路设计,到最终制出整个系统的PCB板的整个过程。3.1电源模块汽车行驶状态记录仪系统作为一台车载仪器,应能够使用车载电网稳定供电为其供电。由于系统内部电子芯片的工作电压均为3V-5V直流电,因此需要将汽车电网进行降压才可以用于记录仪系统。汽车蓄电池能够提供+12V直流稳压电源,这就要求系统供电单元能够将+12V的直流电降压为稳定的+5V直流电,供系统使用。电源模块原理图如图3.1所示。图3.1 电源模块原理图本次设计采用输出平稳,纹波和噪声小的线性集成稳压器LM7805,它是常见的三端集成稳压电路,外部电路设计简单,体积小,输出电压稳定。电源模块仿真结果如图3.2所示。图3.2 电源模块仿真结果3.2主控模块3.2.1主控芯片简介STC90C516RD+系列单片机是宏晶科技推出的一款高速、低功耗的单片机,内部的指令代码与传统的51系列单片机完全兼容,该单片机,内部带有专用的复位电路MAX810,当外部时钟频率在12MHz以下时,复位引脚可以直接接地。正常工作电压为3.7V-5.5V或2.4V-3.8V,工作温度范围为 -40至+90摄氏度。由于其内部有两种时钟周期模式可选6 时钟每机器周期和12时钟每机器周期,因此其工作频率0-40MHz相当于普通51系列单片机的0-80MHz的工作频率。内置看门狗定时器,同时拥有3个16位定时器/计数器,可以通过把定时器0设置为2个8位定时器的方法,将定时器个数扩展至4个。片内拥有4路分别由下降沿出发和低电平出发的外部中断。片上配有一个UART通用异步串行口,可通过程序设定定时器来实现多个UART。STC90C51系列单片机的内部结构如图3.3所示。3.2.2单片机引脚说明如图3.3所示为单片机STC90C51的引脚图,各个引脚的功能如下:图3.3 STC90C51引脚图VCC:电源输入引脚,接+5V电源。GND:接地引脚。I/O口:实现对单片机的控制本质上就是要实现对单片机I/O口的控制,因为无论单片机控制外设,还是外设控制单片机都是需要通过单片机的I/O口来进行操作的。STC90C51单片机有4个8位准双向输入输出的I/O口,分别是P0、P1、P2、P3,又可表示为P0.0-P0.7、P1.0-P1.7、 P2.0-P2.7 、P3.0-P3.7这4个端口都拥有各自的锁存器、输出驱动器和输入缓冲器。若系统无片外扩展存储器,这4个端口的每一位都可以单独作为准双向通用I/O使用。若系统有片外扩展存储器,此时需P0口分时作为双向数据总线和低8位地址线,P2口则作为高8位地址线12。当P0口作为普通I/O口时,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P3口除了上面提到的功能外,还可以作为STC90C51的一些特殊的功能接口,例如有以下备选功能:P3.0 (RXD口)和P3.1 (TXD口)相照应,它们分别作为通用异步串行口的输入和输出引脚;P3.2 和P3.3相照应,它们分别作为外部中断INT0和外部中断INT1的触发接口;P3.4 和P3.5是一组相照应的接口,它们可以分别做为外部定时器T0和定时器T1的输入端口;P3.6 和P3.7相照应,它们分别被用来作为外部数据存储器的读写选通接口,其中P3.6的/WR表示写选通,P3.7的/RD表示读选通;P3口的另外一种功能就是可以为闪烁编程和编程校验接收一些控制信号。RST:单片机的复位输入引脚。ALE/PROG:当访问外部存储器时,地址锁存对低位的地址字节有效。在FLASH进行编程的时候,这个引脚为脉冲的输入引脚。/PSEN:外部程序存储器选通信号。在外部程序存储器取地址的时候,每个机器周期该引脚有效两次。/EA/VPP:该引脚为低电平时,不管内部是否有程序存储器,都是外部程序存储器(低值范围从0000H到FFFFH)工做。只有当该引脚为高电平时,内部程序存储器才开始工做。XTAL1、XTAL2:分别作为反向振荡放大器的输入端和输出端,XTAL1可作为内部时钟工作电路的输入端口。3.2.3时钟电路设计时钟电路是一个单片机系统最重要的外围电路,它就像单片机的心脏一样,它的起振会给单片机一个工作的“节拍”,单片机会严格地按照这个“节拍”工作,一旦缺少这个“节拍”单片机就会停止工作,“节拍”的速度即时钟频率会直接影响单片机的运行速度。单片机系统运行的稳定性跟时钟电路的质量有着密切的联系,外部时钟电路原理图如图3.4所示。STC90C51单片机内置一个高增益反相放大器,它被用于构成内部振荡器,它的输入输出端分别为引脚XTAL1和XTAL2。外石英晶体作为反馈元件与内置的反相放大器一起构成一个自激振荡器。外接石英晶体及电容C1、C2接在内置反相放大器的反馈回路中构成一个并联振荡电路。外接电容C1、C2虽然没有十分严格的要求,但其容量的大小依然会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。本设计中使用的是11.0592MHz的石英晶振,应选用容量为30pF的电容。 图3.4 外部时钟电路 图3.5 上电复位电路3.2.4复位电路设计 虽然STC90C51内置专用的复位电路MAX810,但是由于它只能在外部晶振小于12MHz的情况下使用。因此,为了不受这个条件的制约,设计了结构紧凑的外部上电复位电路如图3.5所示。3.3 GPS模块3.3.1全球卫星定位系统简介 全球卫星定位系统Global Positioning System简称GPS,主要由卫星部分、地面数据控制部分和用户端组成。均匀分布在6个轨道面上的24颗全球定位卫星,和4颗同步在轨的备份卫星共同组成了GPS系统的卫星部分,它们在距离地球表面约2万米的空间运行13。地面控制站、全球监测站和主控站这三个部分共同构成了全球卫星定位系统的地面数据控制部分。位于美国科罗拉多州的主控站主要任务是负责收集来自距地球2万米高空的全球定位卫星传回地面的信息 14。面部分的监测站配备有极其精密的原子铯钟。监测站的职能是连续监测所有可见卫星,接收卫星所发回的包括电离层信息和气象信息的观测数据,这些数据经过初步解析和处理后将会被发送到主控站15。主控站汇集来自所有监测站的数据,根据这些数据所提供的信息,计算出距地2万米高空的各个定位卫星的轨道参数和时钟信息,然后将这些计算结果传送至地面控制站。当高空的卫星运行至地面控制站的可视上空时,地面控制站将这些导航数据信息及主控站指令信息发送给卫星。这种对卫星定数数据和运行参数修正的工作需每天对每个空间定位卫星执行一次,同时会在卫星离开主控站可视范围之前进行最终的参数修正。用户端其实就是一种卫星信号接收设备GPS信号接收机。它可以捕获到空间定位卫星,并能够一直追踪这些定位卫星在宇宙空间中的运行轨迹。由于每个地方都至少能够在4颗定位卫星的可视范围,因此当它接收到这4个被其追踪的GPS定位卫星的信号之后,就可以得出时间差,由此就可以测量并计算出接收天线至定位卫星之间的伪距离和距离的变化率,通过这些数据来解调出通讯卫星运行的轨道参数等有效数据。接收机将接收到的这些卫星数据输入到该用户所持设备的微处理器中,根据特定的定位数据解析算法进行定位数据解析和处理,由此可以得出出用户所处地理位置的经纬度坐标、高度、海拔、时间等各种状态信息。3.3.2 GPS模块电路设计 NEO-6M芯片是世界知名GPS制造公司u-blox公司推出的第6代集成多功能独立型GPS定位模组芯片。它能够将通过GPS定位卫星获取的定位数据进行初步处理,能够获取3D定位数据。以NEO-6M为主芯片的GPS模块原理图如图3.6所示。NEO-6M芯片是一个拥有50 个通道的u-blox引擎,同时它是一个支持GPS、GALILEO、SBAS的混合引擎,支持 AssistNow Online 和 AssistNow Offline 等 A-GPS 服务,5Hz 定位更新速率,定位精度2.5 m,冷启动首次捕获卫星时间35秒至100秒,热启动和辅助启动的首次定位时间小于 10 秒。NEO-6M芯片配备1 个 UART 接口、1 个 DDC 接口、1 个 SPI 接口和1 个 EXTINT 输入接口。工作电压为2.7-3.3V,外加3.0V电压时功耗约为120Mw。工作温度为-40至+85摄氏度。有效定位最大支持速度为515m/s。通讯协议为NMEA、UBX二进制协议。NMEA通讯协议介绍详见附录B。NEO-6M芯片开机启动方式分为冷启动、温启动和热启动三种。冷启动:初次使用时的启动、电池耗尽导致星历信息丢失时的启动、关机状态下将芯片移动1000千米以上距离时的启动; 温启动:距上次芯片正常工作的时间超过两个小时的启动; 热启动:距上次芯片正常工作的时间小于两个小时的启动。图3.6 GPS模块原理图NEO-6M主要引脚功能:VCC引脚:主电源供电引脚。GPS 接收机对工作电源的纹波较为敏感。最大电源纹波峰峰值不得超过50mV。GND引脚:接地引脚。V_BCKP引脚:备用电池供电引脚。在VCC主电源掉电时可以继续为芯片片内的实时时钟和备用RAM提供电源。这样可以使芯片在温启动、热启动后可以迅速载入卫星数据,恢复定位状态。如果没有使用备用电源,该引脚应接VCC或GND,那么在上电时接收器将执行冷启动操作。 VDD_USB引脚:USB电源引脚,该引脚电压范围为3.0-3.6V,若未使用USB接口,该引脚必须接GND。 EXTINT0引脚:是一个有固定输入电压阀值的中断输入引脚,用于低功耗模式唤醒功能。独立于VCC,如果不使用该引脚可以将之悬空。SDA2、SCL2引脚:IIC协议通讯总线引脚,内置上拉。做为从机模式时则无需上拉。TIMEPULSE引脚:该端口的输出特性可以通过程序设置,在默认情况下,按照如图3.6所示连接一个LED灯,若LED灯常亮表示模块已经开始工作,但是未定位,若LED闪烁表示模块已经成功定位。RF_IN引脚:天线接入引脚,此引脚不直接给天线供电。VCC_RF引脚:天线供电引脚,给天线供电时应在其输出上串连一个适当阻值的电阻限制电流。MOSI/CFG_COM0、MISO/CFG_COM1引脚:配置引脚,用于开机时间配置,芯片启动后立即有效,除非系统掉电或者复位修改后的信息一直保持,否则UBX的配置信息就会被修改。RXD1、TXD1引脚:是默认的UART串行接口引脚,不能直接接RS232电平,可直接接单片机的RXD和TXD引脚进行串口通讯,可通过调整RXD1、TXD1是否串联电阻R1、R2调整通讯波特率,调整信息见表3.1。若不使用串口通讯,即引脚不用,可将引脚悬空。表3.1波特率选择R1R2通讯协议波特率不焊接焊接NMEA4800不焊接不焊接NMEA9600焊接不焊接NMEA38400焊接焊接UBX576003.4 显示模块显示模块的LCD1602液晶显示屏与独立按键配合使用,用于分页显示单片机处理过的行驶状态信息。如表3.2所示为LCD1602引脚编号及功能。根据LCD1602引脚功能,将LCD1602的电源正极引脚和背光正极引脚接入+5V电源,将电源地引脚和背光负极接地,将其D0D7双向数据口与单片机的I/O口P0相连,用单片机的P2.3P2.4口分别控制LCD1602的寄存器选择端、读写信号端和使能端,将一个10K电位器至V0端口,用来控制对比度。如图3.7所示为LCD1602液晶显示模块原理图。表3.2 LCD1602引脚功能引脚编号引脚名称引脚说明1VSS电源地2VCC电源正极3V0对比度调整,可接10K电位器调整对比度4RS高电平1时选择数据寄存器、低电平0时选择指令寄存器5RW读写信号,高电平1进行读操作,低电平0进行写操作6EN使能端,高电平1时读取信息,负跳变时执行指令714D0D7D0D7为8位双向数据端15BLA背光正极16BLK背光负极图3.7 LCD1602液晶显示模块原理图3.5存储模块存储模块的主芯片采用的是由美国ATMEL公司推出的高速、低功耗、CMOS型的EEPROMAT24C02,它内含256字节存储空间,具有2.55.5V超宽的工作电压和大于一百万次的擦写次数,同时拥有稳定的存储性能,数据可以保存100年。AT24C02的数据传输采用的是IIC总线接口方式, IIC总线是一种用于芯片之间连接的二线制总线。它通过串行数据线SDA和串行时钟线SCL两根线连到芯片之间传送信息,并根据地址识别每个器件,这种方式简化了信号传输总线接口。AT24C02的8号引脚和4号引脚分别是VCC和GND,在设计中应分别接电源的正极和负极,它的13号引脚是三条地址线,用于多个器件级联时设置器件地址,在本次毕业设计中并没有用到级联,因此需要将它们都接地。第5号引脚SDA为串行数据输入/输出接口,通过该引脚向IIC总线收发数据,在本设计中将其与单片机的P2.1口相连。第6号引脚SCL为串行时钟线,与单片机的P2.0口相连。需要注意的是在本设计中SCL和SDA都需要各接一个10K的上拉电阻。7号引脚为写保护引脚,当7号引脚输入高电平时,AT24C02进入写保护状态,智能读取数据,本设计中需要将7号引脚接地。设计出的存储模块原理图如图3.8所示。图3.8存储模块原理图3.6警报模块本次设计的行驶状态记录仪的警报主要由光警报和声警报两部分组成,用到的器件是比较简单的LED灯和有源蜂鸣器。直接由单片机的I/O口控制。原理图如图3.9所示。图3.9警报模块原理图第四章行驶状态记录仪的软件设计 本章介绍了软件部分在整个行驶状态记录仪系统中所起的重要作用,以模块为单位介绍了整个系统的编程思路和编程理念。模块化程序设计极大地方便了程序的可读性和降低了调试难度以及后期维护成本。4.1编程语言 汽车行驶状态记录仪系统是一个软硬件相结合,硬件就可以比作人的躯体,那么软件就可以比作人的灵魂,只有在软件驱动的驱动下硬件才能够正常地工作。软件部分主要是通过编程语言,编写程序来实现的,51系列单片机程序部分可以采用的编程语言有汇编语言和C语言等。 汇编语言是一种面向机器的底层语言,也可以称之为低级语言。通常情况下,汇编语言是为特定的处理器设计的,因此,处理器不同,汇编语言语法和编译器也就不同,这就造成汇编语言的可移植性非常差。由于汇编语言是面向机器的,因此想要从汇编代码中理解程序设计的思路是非常困难的,这导致了它的可维护性非常差。编程过程中遇见调试错误是非常常见的事情,对于维护性差的汇编语言,调试工作也会变得十分困难。使用汇编语言必须对某种处理器做到特别的了解,而且只能针对特定的体系结构和处理器进行优化,开发效率特别的低,周期特别长并且特别单调乏味。 C语言是面向过程的高级开发语言,它克服了汇编语言开发效率低,周期长的缺点。C语言运用范围广泛,可移植性好,执行效率高,允许直接访问物理地址、对硬件进行操作、生成目标代码的质量高,可维护性优于汇编语言,因此本次设计中使用C语言编写软件程序。4.2主程序设计主程序是软件部分的“总指挥部”,是软件部分的入口,主程序的开始要对每个模块进行软件的初始化,定义硬件端口,然后将会进入一个无限期的循环之中。每一次循环中都会调用其他每个模块的软件程序,进行数据交流。本设计中每一次主循环都会进行键盘扫描,判断有无正确接收GPS模块的数据,解析这些数据并检测是否需要发出警报信息到警报模块,存储状态信息至存储模块,同时结合键盘扫描所得的信息,将解析出的数据显示到液晶显示屏上。如图4.1所示为主程序的流程图。主程序源代码见附录C。图4.1主程序流程图4.3 GPS模块程序设计GPS模块程序主要任务是要对GPS模块进行初始化,同时要完成GPS模块和主芯片STC90C51单片机串口通讯。首先先设置UART工作方式18位数据收发。然后把REN置1,允许串行口接收数据。由于单片机系统使用的是11.0592MHz的晶振与GPS传输波特率9600相匹配,因此波特率不加倍,应置特殊功能寄存器PCON的第七位SMOD为0。然后需要给串口定时器装入初值,最后打开串口中断。在串口中断服务子程序中,我们将接受到的GPS模块数据存入数组中以待使。GPS模块程序流程图如图4.2。GPS模块程序源代码见附录C。图4.2 GPS模块程序流程图4.4按键和液晶显示模块程序设计 当GPS模块未实现定位时液晶显示模块显示欢迎信息,当GPS模块定位成功后,液晶显示模块自动清屏并显示第一页信息:实时时间、海拔高度、地理坐标,按下按键后清屏显示第二页信息:日期、航向、实时速率。当按键再次按下后清屏并再次显示第一页信息。程序流程图如图4.3所示。源代码详见附录C。图4.3按键和液晶显示模块程序流程图4.5存储模块程序设计 存储模块需要记录汽车行驶的状态信息,首先要对EEPROM芯片AT24C02进行初始化,然后以时间为基准向其存入的数据,然后判断存储区是否已满,然后将地址归零,进行循环存储。AT24C02采用的是IIC总线传输协议,通过两根线来传输数据,一根是时钟线SCL,另一根是数据线SDA。根据IIC协议,存储模块程序流程图如图4.4所示。存储模块程序代码见附录C。图4.4存储模块程序流程图第五章系统调试与精度检测做完系统的硬件和软件的设计工作之后,要使系统能够按照设计的功能正常稳定地运行必须进行硬件调试和系统调试。同时,一件设计是否能够成为一件产品的标准是该设计能否达到该类产品的国家标准,此次行车记录仪的设计中,要求系统的精度能够达到国标要求,因此要进行精度的检测。5.1硬件调试图5.1 系统PCB图根据附录A图1所示的系统总原理图,画出PCB,如图5.1。PCB板制作要求:1.单面板,单位采用公制单位(mm);2.电源线和地线要求采用0.8-1.0mm,如果从两个焊盘中间穿过时用0.4mm或0.3mm;3.信号线采用0.5mm。如果从两个焊盘中间穿过时用0.4mm或0.3mm;4.焊盘的内径用0.9mm。外径根据需要进行修改。由于PCB板大小的限制,以及单面布线的局限性,并不能把所有电气连线全部打印至PCB板上。遂将LCD1602的RS、RW和EN三个引脚连接到了排针上,调试的时候可以使用杜邦线与单片机的I/O口连接。在认真检查了PCB的连线与元器件的封装类型后,将PCB打印到转印纸上,然后将其转印到电路板的铜板面,认真检查转印结果,是否出现漏印。检查完后,对电路版进行腐蚀,制板完成。用万用表进行检测,是否有断路现象并及时修正。下一步检查所需要的元器件的质量,按照自己设计的电路,将元器件焊接到电路板上,焊接完毕后检查有没有错接、漏接、虚焊的现象。完成硬件调试。5.2系统调试系统调试主要任务是检测PCB制版后,电路板的布线的电气连通性以及焊盘和各个引脚的连通性。通过万用表检测,本次设计的硬件连通性完好。然后将程序烧录入主芯片STC90C51中,接通电源后,系统的运行状况如图5.2所示。图5.2 系统上电未定位当系统上电未实现定位时,LCD1602液晶屏上将显示“Welcome to use!”,此时GPS模块指示灯处于常亮状态。当系统上电后实现定位,系统的运行状态如图5.3所示。系统实现定位后,GPS模块指示灯进入闪烁状态,LCD1602自动显示第一页状态信息:时间、海拔、经纬度,若此时按下页码切换按键,显示模块则显示第二页状态信息:日期、速度,如图5.4所示。当速度大于5km/h时,显示航向和速度信息,如图5.5所示。经过系统调试,系统可以实现预期设计的各项功能。图5.3时间、海拔、坐标信息图5.4日期、速率信息图5.5方向、速率信息5.3精度测试调试完成后,说明系统能够正常地工作,但是系统的所测得的行车状态是否准确,是否具有参考价值,系统测量数据的精度等都还是未知数,因此,需要通过精度的检测来测试系统能否稳定地提供精确的行车状态信息。首先进行定位精度的检测,定位精度指的是行车记录仪系统测得的实体位置坐标与真实位置坐标的接近程度。此次的检测方法是,以Google地图中所示的位置信息为基准,系统测得的坐标数据与Google地图中提供的坐标数据进行比对,计算定位误差,获得谷歌地图坐标信息的方法如图5.6所示。由于此次设计的记录仪系统的LCD位数限制,系统并没有将定位的精确信息显示到LCD1602上,而只显示到位置坐标的“分”。然而要想测精度,必须能够得到系统定位信息的精确数据,因此在做此测试时,需对程序部分进行调整,将整个定位坐标的所有位都显示到LCD1602上。通过两点之间距离公式,使用软件计算出误差值,即定位精度测得的对比数据如表5.1所示。 图5.6获取Google地图坐标数据表5.1定位精度检测测试位置Google坐标信息系统测得坐标误差安阳工学院南门N36034569E114205960N36034578E11420556925米安阳站售票厅N36061673E114202791N36061691E11420278312米安阳文峰塔N36055359E114205449N36055368E11420542817米安阳三里屯公交站N36041699E114210910N36041732E11421088016米安阳东站售票厅N36053027E114270991N36053100E11427110018米其次需要进行速率精度测试,速率精度指的是,本次设计的行车记录仪所测得的汽车行驶速率与汽车实际行驶速率的接近程度。测试方法是,通过汽车仪表盘获取汽车实时速率,行车记录仪系统测得的速率与汽车仪表盘的实时速率进行比对,计算速率误差。此时应注意,此次进行测试所使用的是雪佛兰品牌的汽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版旅游产业三方借款协议范本
- 2025年高速公路冲孔桩加固工程劳务合同
- 2025年度文化娱乐合伙人合同范本标准
- 2025年专用发电机组买卖及电力工程设计合同
- 2025年度范文定制化服务与版权保护介绍费合同
- 2025版通信器材智能电网设备供应合同
- 2025版石油化工产品营销代理及推广服务合同范本
- 2025年度房地产开发商短期借款合同范本
- 2025大理石石材进出口代理协议范本
- 2025年度网络安全防护软件升级变更协议书
- 2025年新钢铁安全员考试题库及答案
- 2025版电子购销合同模板
- 护理中医小讲课课件
- 2025年中煤电力有限公司招聘笔试参考题库含答案解析
- 动词教学课件
- 盐雾测试报告
- 外科学教案-腹外疝
- 寺院电路改造方案(3篇)
- 监理公司财务管理制度
- NBT 11551-2024 煤矿巷道TBM法施工及验收标准
- 生产环境条件管理制度
评论
0/150
提交评论