毕业设计《基于单片的监控系统研究》.docx

上传人:b****8 文档编号:9372145 上传时间:2023-05-18 格式:DOCX 页数:27 大小:602.45KB
下载 相关 举报
毕业设计《基于单片的监控系统研究》.docx_第1页
第1页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第2页
第2页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第3页
第3页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第4页
第4页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第5页
第5页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第6页
第6页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第7页
第7页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第8页
第8页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第9页
第9页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第10页
第10页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第11页
第11页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第12页
第12页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第13页
第13页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第14页
第14页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第15页
第15页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第16页
第16页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第17页
第17页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第18页
第18页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第19页
第19页 / 共27页
毕业设计《基于单片的监控系统研究》.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计《基于单片的监控系统研究》.docx

《毕业设计《基于单片的监控系统研究》.docx》由会员分享,可在线阅读,更多相关《毕业设计《基于单片的监控系统研究》.docx(27页珍藏版)》请在冰点文库上搜索。

毕业设计《基于单片的监控系统研究》.docx

毕业设计《基于单片的监控系统研究》

毕业论文

 

题目基于单片的监控系统研究

 

姓名学号

系(院)班级

指导教师职称

二O一二年五月十三日

 

目录

1引言1

2汽车行驶状态记录仪系统的设计方案1

2.1功能和技术指标1

2.2系统总体结构1

3系统硬件设计2

3.1记录仪的供电2

3.2信号采集模块3

3.3单片机模块4

3.4可编程逻辑器件7

3.5日历时钟芯片9

3.6液晶显示模块13

3.7信息的存储15

4系统软件设计17

5分析与总结18

参考文献19

谢辞24

 

摘要

汽车行驶状态记录仪是一种安装在汽车上实现类似于飞机“黑匣子”功能的设备,它可以全程记录汽车行驶数据,并通过对所记录的行驶信息数据进行分析,从而对车辆的各种状况予以精确的掌控。

本课题主要研究基于单片机的汽车行驶状态记录仪系统设计,实现对汽车行驶过程中实时信息的采集、处理、传送和存储。

首先,汽车内部霍尔传感器传过来的一对分差信号经过适当的变换变成一个脉冲信号提供给单片机系统,然后单片机系统将采集到的信息经过适当的运算处理之后存储起来并进行处理。

另外,当汽车超速时,系统会发出警报,以提醒司机减速。

本课题设计的汽车行驶状态记录仪可有效预防驾驶员违章驾驶、遏制重大交通事故,具有准确性、高效性和易用性等。

关键词:

单片机;记录仪;数据采集;可编程逻辑控制

 

Abstract

Vehicletravelingdatarecorderisakindoffacilitythatinstallatthevehiclerealizingthefunctionthatsimilartoairplane’s“blackbox”.Itcanwritedownthevehicletravelingdataalltheway,andanalyzethedataenteredaswell,therebytohandleallkindsofcircumstancespreciselythatvehiclemayhappen.

Thistopicismostlyresearchingthesystemdesignofthevehicletravelingdatarecorder,whichisbasedonthemicrocontrolunit(MCU),realizethecollection,treatment,transmissionandstoragetothevehicle’sreal-timeinformationwhiledriving.First,adifferentialsignalpassingfromtheinternalHallsensorofthevehiclethroughpropertransformintoapulsesignalprovidingtotheMCUsystem.ThentheSCMsystemwillgetthecollectedinformationpropercomputingandthenstoreupaswellasconducting.Inaddition,thesystemwillalarmwhenthevehicleisspeeding,toremindthedrivertoslowdown.Thevehicletravelingdatarecorderdesignedthistopiccaneffectivelypreventthedriverfromillegaldriving,containmajortrafficaccident,whichisaccuracy,efficiencyandease-of-use,etc.

 

Keywords:

MCU;Recorder;Dataacquisition;Programmablelogic

 

1引言

汽车行驶状态记录仪是能够记录和再现汽车行驶状态的一种数字式电子记录装置,它可以全程记录汽车的行驶数据,并通过对所记录的行驶信息数据的分析,对车辆的行驶状况予以精确的掌控。

汽车行驶状态记录仪可有效预防驾驶员的违章驾驶,降低车辆的交通事故。

早在20世纪70年代,欧共体就开始全面强制使用机电模拟式汽车行驶记录仪并使得交通事故率降低了30%~50%。

90年代以来,美国、日本、马来西亚、新加坡等国家也纷纷制定汽车行驶记录仪的法规。

我国从20世纪80年代开始进行汽车行驶记录仪的研制。

2003年4月15日,由公安部有关部门起草、国家标准化管理委员会、国家经贸委审定通过,国家质量监督检查检疫总局发布了汽车行驶记录仪的国家标准(GB/T19056-2003),于2003年9月1日起正式实施。

实施对象包括所有的在用车和新车,将逐步由点到面,分批分时的展开[1]。

2汽车行驶状态记录仪系统的设计方案

2.1功能和技术指标

汽车行驶状态记录仪包括汽车行驶记录仪的主机和计算机端的数据分析软件这两部分组成。

本课题中重点设计汽车行驶记录仪的主机部分。

参照汽车行驶状态记录仪的国家标准(GB/T19056-2003)的要求,本课题所设计的汽车行驶记录仪主要实现如下功能:

自检功能;实时时间、日期及驾驶时间的采集、记录、存储功能;车辆行驶速度的测量、记录、存储功能;车辆行驶里程的测量、记录、存储功能;驾驶员身份记录功能;键盘操作功能;数据显示;数据通信功能[2]。

2.2系统总体结构

根据记录仪功能要求和工作特点,在设计时主要从运行可靠性、记录数据准确性及数据存储容量三方面考虑。

系统的总体设计如图1所示。

在图1中,单片机系统是整个系统的核心,通过硬件和内部软件的配合控制整个系统的运行。

供电单元的作用是将汽车内部配电模块提供的电压转换成记录仪可以正常工作的电压,这其中为了避免汽车内部电机的干扰,需要进行屏蔽。

信号采集模块是指将汽车内部霍尔传感器传过来的一对差分信号经过适当的变换变成一个脉冲信号提供给单片机系统,这其中需要用光耦模块进行隔离,来避免强脉冲信号对电路板的干扰。

图1汽车行驶状态记录仪系统结构框图

信息存储是指单片机系统将采集到的信息经过适当的运算处理后存储到IC

智能卡中,IC卡中的信息可以长时间保存,可以用读卡设备读出其中的信息,然后进行分析。

键盘输入和液晶显示是常用的单片机输入/输出模块,用户可以输入特定的信息,也可以看到实时的速度、里程及时间等信息,可以做出实时判断。

设计这样的单片机系统还要用到可编程逻辑器件,它可以灵活方便地产生译码、控制等信息。

3系统硬件设计

在确定了系统的总体结构之后,下面开始进行整个系统的硬件设计。

3.1记录仪的供电

记录仪需要的是+5V供电,而汽车内部产生的供电是+12V,所以系统需要供电模块来实现+12V~+5V的电源变换,其工作原理如图2

(1)所示。

电压为3~30V范围之内,内部有1.6A的峰值电流切换电路,它的工作频率在100Hz~100KHz,器件内部具有比较器、温度补偿电路,以及周期振荡器,它是带有有效电流限制电路的受控周期振荡器。

MC34063主要应用于DC-DC转换模块,它内部的工作原理如图3所示。

图中第五脚是反馈脚,通过电压的反馈控制以确保输出稳定的+5V电压[3]。

3.2信号采集模块

对于整个系统来说,获取行驶状态信息是所有的工作前提,系统的首要任务是采集汽车的行驶状态信息,包括速度、里程等。

汽车内部有自己的传感器,也就是有现成的信号提供给记录仪。

汽车轮子每转一周,会通过车子内部的霍尔传感器送出一对差分信号,此差分信号经过信号采集模块获得一个对应的脉冲信号,通过对脉冲信号计数,以及已知的轮子直径信息计算,得到车子的运行速度,然后根据速度和计时信息就可算出里程[4]。

图4信号采集模块原理图

信号采集模块的电路原理图如图4所示。

图中U8是东芝公司的单光耦芯片TLP521-2,实际上它的内部就是两组光敏三极管,如图5所示。

图5单光耦芯片TLP521内部工作框图

光敏三极管是利用硅PN结的光电效应制成的,使用过程中,其基极通常开路,基极-集电极产生的光感生电流直接反馈入基极,并被光敏三极管自己所放大,因此光敏三极管的灵敏度比光敏二极管通常要大100多倍。

光敏三极管的最大工作频率只有几百KHz[5]。

记录仪上的+5V工作系统是弱点电路,因此汽车内部提供的脉冲信号在送入记录仪之前必须经过光耦隔离的处理。

光耦模块主要就是通过电-光-电的变换将电信号隔离开来的,它可以避免一侧对另一侧产生的干扰。

图4中HP和FP是汽车轮子转一周内部提供的分差信号,它在通过信号采集模块后产生SIG信号,以达到状态记录仪系统可以使用的信号;PB为屏蔽线,由它构成了屏蔽网络,有效地屏蔽了汽车电动机等对硬件电路的干扰。

通过屏蔽和光耦隔离,得到波形干净的SIG信号,则完成信号采集功能。

采集到的SIG信号需要送到可编程逻辑器件中进一步处理,再由单片机系统对处理后的结果进行相应的运算,可以得到速度、里程等状态信息[6]。

3.3单片机模块

对于整个汽车行驶状态记录仪系统而言,单片机模块起到控制和枢纽作用,是其中最重要的部分,其工作原理如图6所示。

图中U4为12M晶振,它为单片机提供稳定的12MHz工作时钟。

图6单片机模块原理图

图6中U1为AT89S8252,是Atmel公司的带有8KBFlash的8位微控制器单片机芯片,它完全与MCS-51系列单片机兼容(从指令集到引脚)。

和51单片机相比AT89S8252还具有一些增强型的功能,例如它的某些P1口可以配置成特殊的功能来使用。

在本课题中将P14、P15、P16和P17配置成SPI(SerialProgrammingInterface)接口,因为记录仪最终需要将记录的车辆行驶状态信息存入IC卡,而IC卡是通过SPI口存储的,这也是选用单片机芯片AT89S8252的重要原因之一。

SPI接口可以配置成主模式或从模式,配置方法可参照表3-1。

表3-1P1口配置成SPI接口

端口

增强功能

P14

~SS(主/从模式选择输入)

P15

MOSI(主模式数据输出/从模式数据输入)

P16

MISO(主模式数据输入/从模式数据输出)

P17

SCK(主时钟输出/从时钟输入)

由表3-1可知,主从模式的选取是通过P14脚输入信号的高低来决定的,低电平为从模式,高电平为主模式。

在此选用主模式,P1口的5~7脚作为SPI接口使用,和后文将介绍的IC卡芯片相连[7]。

图7单片机模块键盘部分原理图

AT89S8252的P1口剩下的4个引脚用于键盘的设计,原理如图7所示。

记录仪的键盘设计比较简单,只用了4个按键,S2表示“+”键,用于输入数字;S3表示“->”键,用于移位操作;S4表示“CLR”键,用于清除操作;S5表示“ENT”键,用于确认操作[8]。

单片机的复位信号HRST由单片机监控

图8单片机监控电路原理图

电路产生,如图8所示。

监控芯片采用美信公司的MAX707,其1脚MR为手动复位脚,低电平有效,当1脚电压低于0.8V时,芯片的8脚HRESET(高电平有效)和7脚LRESET(低电平有效)产生复位指示信号。

MAX707的PFI和PFO脚是用于检测上电失败(Power-Fail)的,在此将PFI接VCC,不作使用。

MAX707是一款较为简单的单片机监控芯片,不具有看门狗的功能。

选用它是因为AT89S8252内部带有看门狗的设计,其内部寄存器WMCON专门用于看门狗和内存的控制,该寄存器的高3位PS2、PS1和PS0用于设置看门狗定时器周期;位0是看门狗使能位;位1用于看门狗定时器的复位。

通过AT89S8252内部的看门狗可以防止程序跑飞或进入死锁状态[9]。

单片机的外部中断0由外部按键“FUN”产生,“FUN”是系统的功能键,在汽车到站停车的时候按下此键,然后主屏会显示提示信息,这时可以输入到站站号。

单片机的定时中断0由日历时钟芯片DS12877产生,DS12877的23脚是频率可控的方波信号输出脚,方波信号如同时钟信号,它直接和单片机的INT0脚(外部中断0)相连,这样可在单片机程序中定时产生中断,并且定时时间可自行设定。

同时此“CLK”信号还提供给可编程逻辑器件作为它内部模块需要的时钟信号。

AT89S8252的P0口用做地址数据复用总线AD0~AD7,和30脚的ALE输出配合使用,这和普通51单片机的使用方法相同,在此不作详细说明。

AT89S8252的P2口用做其他功能。

P20脚CSB和P21脚CSA和液晶显示模块接口相连,由单片机控制产生液晶显示模块内部的芯片选择信号;P23脚OE是单片机输出给可编程逻辑器件的,此信号作为可编程器件内部实现的一个计数模块的输出使能脚;P24脚“SPEED”设置为超速信号输出脚,单片机程序根据采集的脉冲信号计算出实时的速度并与设定的速度门限比较,超出就置高,然后超速报警红灯亮;P25脚R/W和P26脚D/I也是提供给液晶显示模块使用的,前者为读/写控制,后者为液晶显示模块内部移位寄存器的数据输入/输出控制信号;P27脚和可编程逻辑器件相连,它主要用于地址译码[10]。

3.4可编程逻辑器件

图9可编程逻辑器件工作原理图

本系统中可编程逻辑器件主要完成的功能包括:

脉冲信号的计数、定时器和产生芯片选择信号。

实现的功能较为简单,使用端口不多,故选用Altera公司的EPM7032S44。

可编程逻辑器件电路的工作原理如图9所示。

可编程逻辑器件设计的常用方法有图形输入法和文本输入法,这里采用了图形输入和文本输入结合的方式,开发工具选用Altera公司的开发软件Maxplus,设计的GDF文件如图10所示[11]。

图10可编程逻辑器件顶层图形输入设计

由图10可知,液晶显示模块和日历时钟芯片的片选信号由读、写信号及最高位地址线A15经过简单的逻辑电路搭建而成,这实际上就是一个地址译码电路。

图中另外一部分电路由两个子模块timer和sigcounter构成,它们的作用是对信号采集模块采集到的信号SIG进行计数,结果通过系统的地址/数据复用总线送给单片机处理。

Timer模块用VHDL语言实现,代码如下:

SUBDESIGNtimer

(clk:

INPUT;

suocun:

OUTPUT;)

VARIABLE

f[3..0]:

DFF;

suocun:

DFF;

BEGIN

f[].clk=clk;

suocun.clk=clk;

f[].d=(!

suocun)&(f[]+1);

suocun.d=f[3]&!

f[2]&!

f[1]&!

f[0];

END;

Timer模块的输入信号为日历时钟芯片产生的方波信号,输出为计数模块sigcounter需要的锁存信号“suocun”。

计数模块sigcounter也采用VHDL编程实现,代码如下:

SUBDESIGNsigcounter

(sig,lrst,suocun,oe:

INPUT;

ad[7..0]:

OUTPUT;)

VARIABLE

cnt0[7..0]:

DFF;

cnt1[7..0]:

DFF;

reg[4..0]:

DFF;

tnode[7..0]:

TRI_STATE_NODE;

BEGIN

reg0.clk=suocun;

reg0.d=!

reg0;

reg1.clk=!

oe;

reg1.d=!

reg0;

reg2.clk=!

suocun;

reg2.d=reg0;

reg3.clk=!

oe;

reg3.d=reg0;

reg4.clk=!

suocun;

reg4.d=!

reg0;

cnt0[].clk=sig®0;//计数

cnt1[].clk=sig&!

reg0;

cnt0[].clrn=lrst&(reg3.q#reg4.q);

cnt1[].clrn=lrst&(reg1.q#reg2.q);

cnt0[].d=cnt0[]+1;

cnt1[].d=cnt1[]+1;

tnode[7]=TRI(cnt0[7].q,oe&!

reg0);//三态门

tnode[7]=TRI(cnt1[7].q,oe®0);

tnode[6]=TRI(cnt0[6].q,oe&!

reg0);

tnode[6]=TRI(cnt1[6].q,oe®0);

tnode[5]=TRI(cnt0[5].q,oe&!

reg0);

tnode[5]=TRI(cnt1[5].q,oe®0);

tnode[4]=TRI(cnt0[4].q,oe&!

reg0);

tnode[4]=TRI(cnt1[4].q,oe®0);

tnode[3]=TRI(cnt0[3].q,oe&!

reg0);

tnode[3]=TRI(cnt1[3].q,oe®0);

tnode[2]=TRI(cnt0[2].q,oe&!

reg0);

tnode[2]=TRI(cnt1[2].q,oe®0);

tnode[1]=TRI(cnt0[1].q,oe&!

reg0);

tnode[1]=TRI(cnt1[1].q,oe®0);

tnode[0]=TRI(cnt0[0].q,oe&!

reg0);

tnode[0]=TRI(cnt1[0].q,oe®0);

ad[]=tnode[];//输出

END;

3.5日历时钟芯片

汽车行驶状态记录仪需要对状态发生时所对应的时间信息做相应的记录,以便以后的分析使用,所以需要获取详细的时间信息。

文中选用达拉斯半导体公司的芯片DS12887。

图11日历时钟芯片DS12887工作原理图

DS12887是一款实时时钟芯片,内部有锂供电的石英晶振,它可以在无外部供电的情况下将数据保存10年以上。

它内部通过计数可以实现时间的记录,时间信息可以详细到时、分、秒、年、月、日,以及星期;时间显示模式可以选择带有“AM”和“PM”指示的12小时模式及正常的24小时模式;芯片可以提供闹钟的设置,在芯片内部有15个字节的时钟和控制寄存器,以及113个字节的通用RAM空间,另外还提供有关于世纪信息的寄存器。

DS12887采用的是8位地址/数据复用的总线方法,复用的实现方法和51单片机一样,都是通过锁存信号AS实现地址的锁存,然后通过读、写的时钟配合实现数据的输入/输出。

时间和日期等信息存放在芯片内部的固定寄存器中,通过正确的寻址就可以获取需要的时间信息。

日历时钟芯片DS12887的工作原理如图11所示。

图11中AD0~AD7即为8位地址/数据复用总线,它们和单片机AT89S8252的P0口直接相连,AS为锁存输入脚,它和AT89S8252的锁存输出脚ALE直接相连,这样即可实现数据和地址线的时分复用。

DS12887有两种工作时序,即Motorola和Intel时序,由MOT引脚的电平指定。

当MOT接高电平时,芯片工作在Motorola总线定时方式;接GND或者悬空则选择的是Intel总线定时方式。

图中选择后者,也就是MOT引脚接GND。

在Intel总线定时方式下,芯片的17脚DS起的是读使能的作用,15脚R/W起的是写使能(低电平有效)的作用。

是DS12887的片选脚,低电平有效,它由可编程逻辑器件产生,在对DS12887内部空间(如寄存器)操作的时候,可编程逻辑器件会通过所操作的地址产生低电平有效的CS信号输出给芯片DS12887[12]。

图12日历时钟芯片DS12887内部工作原理框图

芯片的23脚是方波输出脚SQW,它可以对芯片内部晶振产生的时钟分频得到方波输出,方波的输出频率可通过设置内部的特定寄存器来改变,方波信号也可作为时钟来使用。

芯片DS12887的内部工作原理如图12所示。

由图12可知,DS12887内部可看成由电源、时间信息、寄存器和存储器,以及总线接口4部分构成,4部分配合工作,共同实现了芯片的功能。

图11中DS12887的方波输出脚SQW用来产生时钟信号。

由图12可知,SQW信号是由芯片内部晶振通过多个分频电路分频产生的,SQWE是方波信号的输出使能控制位;寄存器A的低四位RS0~RS3是方波信号的输出频率选择位。

它们对SQW的操作方法可参见表3-2。

比如要产生频率1MHz的时钟信号,寄存器的设置为:

SQWE=0;RS3=0;RS2=1;RS1=1;RS0=0

表3-2SQW输出频率选择表

SQWE

(RegB的Bit3)

SELECTBITSREGA

SQW输出频率

RS3

RS2

RS1

RS0

0

0

0

0

0

None

0

0

0

0

1

256Hz

0

0

0

1

0

128Hz

0

0

0

1

1

8.192KHz

0

0

1

0

0

4.096KHz

0

0

1

0

1

2.048KHz

0

0

1

1

0

1.024KHz

0

0

1

1

1

512Hz

0

1

0

0

0

256Hz

0

1

0

0

1

128Hz

0

1

0

1

0

64Hz

0

1

0

1

1

32Hz

0

1

1

0

0

16Hz

0

1

1

0

1

8Hz

0

1

1

1

0

4Hz

0

1

1

1

1

2Hz

DS12887的内存空间为128个字节,且这128个字节都是掉电非易失性的,其空间映射图如图13所示。

由图可知DS12887的11个字节专门用于存储实时时间信息,字节0为秒,字节2为分,字节4为时,字节6为星期,字节7为日,字节8为月,字节9为年,字节50为世纪;4个字节0AH~0DH分别为寄存器A、B、C、D,专门用于控制和存放状态信息,剩下的113个字节为用户可以使用的普遍RAM空间。

直接对合适的字节地址操作,就可以设定或获取所需要的时间。

图13日历时钟芯片DS12887工作原理图

DS12887实时时钟芯片可以产生详细的时间和日期信息,可以记录汽车行驶过程中各种状态发生时对应的时间信息,它完全满足系统的功能要求。

3.6液晶显示模块

对于现在流行的嵌入式电子产品,如便携式仪表、智能电器,消费类电子产品等,显示输出模块是必不可少的,而在诸多的显示方式中,液晶显示已经成为首选。

对于汽车行驶状态记录仪来说,需要液晶显示界面来让用户及时了解汽车行驶过程中的重要状态信息。

本文中液晶显示模块LCD(LiquidCrystalDisplay)选用图形液晶显示模块GXM12864,它是一种采用低功耗CMOS技术实现的点阵图形LCD模块,内含KS0108B/HD61202控制器,有8位微处理器接口,通过内部的128×64位映射DD

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2