基于单片机的汽车行驶状态记录仪本科毕业设计(编辑修改稿)内容摘要:
CAN、7个定时器、2个ADC 、9个通信接口。 功能:内核:ARM 32位的CPU;最高72MHz工作频率。 存储器:从64K或128K字节的闪存程序存储器;高达20K字节的SRAM。 时钟、复位和电源管理:~;上电/断电复位(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。 时钟电路设计时钟电路是单片机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。 外部晶振连接图 复位电路设计复位是单片机的重新初始化操作。 单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作,因此复位是一个很重要的操作方式,但单片机本身不能自动进行复位,必须配合相应的外部电路才能实现。 上电自动复位电路 键盘模块 汽车行驶记录仪现行国家标准要求操作按键设置应能满足使用要求,并且应在对应的位置标出各按键名称。 设计方案的选择键盘分为编码键盘和非编码键盘。 编码键盘有检测键闭合、去抖动及产生相应键编码的硬件电路和一个选通脉冲。 选通脉冲可作为CPU的中断请求信号,以通知CPU以中断方式接收所按键的编码。 此种键盘使用方便,但硬件开销大、电路复杂、成本高,常不被单片机系统所采用,而是用非编码键盘代替。 非编码键盘用一些按键排成行列矩阵,按键的作用只是使相应点接通或断开,在相应程序配合下产生被按键的编码。 这种结构的特点是按键较少,硬件设计简单且相应的键扫描软件实现也比较简单。 本设计考虑到仪表系统的简单与美观,在满足功能的基础上沿用大部分记录仪的四键设计方式,即上键、下键、取消键、确定键。 电路设计传统的键盘解决方案电路连接比较复杂,不管是独立式键盘还是矩阵式键盘,都会浪费微控制器的端口资源,要占用多根I/O端口线,这严重浪费系统的端口资源。 而且都需要人为进行去抖动处理,且抗干扰性差。 ZLG7290可完全克服上述弊端。 它采用I2C总线接口,与微控制器的连接仅需两根信号线,硬件电路比较简单。 而且可以驱动8位共阴数码管或64只独立LED、64只独立按键,并可提供自动消除抖动、连击键计数等功能。 ZLG7290B的电路简单,使用也很方便。 用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。 正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。 按键实现的方式是通过12C总线与ZLG7920链接实现信息通信。 ZLG7290是12C接口键盘及LED驱动器,方便键盘中断信号与处理器接口相连,按键或者传感器检测可实现键盘去抖动处理、双键互锁处理、连击键处理、功能键处理,简化辅助电路的设计、方便功能扩展。 键盘模块接口电路设计 ZLG7290引脚功能介绍引脚符号功能介绍引脚符号功能介绍Dig0Dig7LED显示位驱动及键盘扫描线/RES复位输入端,低电平有效SegASegHLED显示段驱动及键盘扫描线OSC1连接晶体以产生内部时钟SDAI2C总线接口数据/地址线0SC2连接晶体以产生内部时钟SCLI2C总线接口始终线VCC电源正()/INT中断输出端,低电平有效GND电源地 存储器模块根据国家标准规定,汽车行驶记录仪中的数据应该包括2个部分:汽车实时数据(存放汽车发生事故前后的20S时间内数据);汽车历史数据(存放360h内汽车和司机的行驶状况)。 存储需求分析国标要求记录仪具备车辆行驶速度的测量、记录、存储功能。 车辆行驶速度数据主要由事故疑点数据和行驶状态数据两部分组成。 (1)事故疑点数据的存储需求、记录次数至少为10次。 速度记录单位为km/h,测量范围为0km/h~220km/h,测量分辨率等于或优于1km/h。 需要存储的实时数据至少应该包含以下信息:驾驶员代码,单独存储,十六进制,占用3个字节的存储空间。 时间(年、月、日、时、分、秒),8421BCD码,占用6个字节。 速度,十六进制,占用1个字节。 车辆行驶状态数据,十六进制,占用1个字节。 考虑到时间仅能精确到秒,所以时间不需要每200ms记录一次,每5次(1秒)记录一次时间。 疑点数据的格式序号123合计项目名称时间速度车辆状态数据长度(字节)6151516根据疑点数据的逻辑格式,可以计算出每秒事故疑点数据占用16个字节存储空间。 20秒实时数据所需要的数据空间:2016=320(字节)(2)行驶状态数据的存储需求国标规定无论车辆在行驶状态还是停驶状态,记录仪均应能提供实时时间对应的车辆行驶速度信息。 记录仪应能以不大于1分钟的时间间隔持续记录并存储车辆在最近360小时内的行驶状态数据,该行驶状态数据为车辆在行驶过程中与实时时间相对应的每分钟间隔内的平均行驶速度。 速度的单位为km/h,测量范围为:0km/h220km/h,分辨率等于或优于1km/h。 需要存储的行驶数据包含以下几组信息:驾驶员代码,单独存储,十六进制,3字节。 时间(年、月、日、时、分),8421BCD码,5字节;速度,十六进制,1字节;里程,8421BCD码,3字节。 从而可得每一分钟需要记录的历史数据为9字节。 本记录仪中,总共存储最近360小时内的行驶状态数据,因此需要的存储空间为:360609=194400(字节)=189.84375k(字节)。 另外,还要存储数据的索引、车辆特征系数(十六进制,3字节)、车辆识别代号VIN(ASII码,17字节)、车牌号码(ASII码,12字节)、车牌分类(ASII码,12字节)、驾驶员代码(十六进制,3字节)、机动车驾驶证号码(ASII码字符,18字节)、记录仪主机可识别的唯一性编号及初次安装同期(8421BCD码,5字节)、记录仪每一次下传的日期及时间8421BCD码,5字节)、每一次上载的日期和时间(8421BCD码,5字节)、每一次车辆特征系数的设定时间(8421BCD码,5字节)等信息。 预计总的数据量将会有200k字节。 存储方案选择为方便叙述,事故疑点数据、行驶状态数据分别采用实时数据和历史数据术语。 实时数据存放汽车发生事故前后的数据,主要用于分析事故发生的原因和事故的责任;历史数据存放汽车和司机的行驶状况,作为事故分析的参考依据和对汽车、司机的运行状况考核。 本记录仪需要存储的数据量较大,记录仪对存储的实时性和可靠性要求较高。 本文设计的记录仪实时数据存储在铁电存储器中,历史数据存储在数据闪存中。 将实时数据暂存起来,满一页时,再将实时数据传送到历史数据存储系统中,存满360h数据,然后将其重新覆盖。 (1)实时数据的存储记录仪不仅要有较大的存储空间,并且要求能够有较快的存取速度,掉电情况下能够对数据进行保存。 为了保证所有采集的数据能够及时的存储,仅使用Flash存储器是不行的,因为它的擦写速度比较慢,不能按字节进行擦写操作。 在记录仪掉电或单片机任务繁忙的情况下,会造成车辆行驶信息不能及时的存储。 因此,需要扩展一个快速的RAM器件作为数据缓存。 单片机可以将采集的数据及时保存在缓存中,在空闲周期内,将成页或成块的车辆行驶数据转存到Flash存储器中,充分保证记录仪的可靠性。 目前可满足实时数据存储方案的非易失性RAM主要有普通静态RAM加电池供电、内部带锂电的非易失性RAM和新型的非易失性FRAM铁电存储器三种实现方式。 第一种方案要考虑电池充放电电路、同时要保证电池电量可靠、安装稳定牢固等因素,使得系统复杂度增大、可靠性降低;第二种方案RAM价格昂贵,1K字节需要15元左右;第三种方案FRAM兼具RAM的快速写入特性和ROM的非易失性,没有电池产生的不良因素。 鉴于上述要求,本系统选用非易失性串行外围接口FRAM铁电存储器FM25L256,它具有以下显著特点:工作频率最高可达25MHz,存储空间为32K8bit;无限次的读写次数;快速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适合本记录仪的应用。 采用铁电存储器与SPI接口的闪存兼顾按字节快速写入速度、较大数据存储空间及掉电不丢失数据的需求。 存储器选型(1)铁电存储器FM25L256通过SPI接口与主控芯片通信,在SCK的上升沿接收数据,在SCK的下降沿发送数据。 将FM25L256的WP脚接高电平、状态寄存器设置为00,不采用硬件写保护,这样就可以对所有存储空间进行写操作。 而且对FM25L256进行操作之前,必须向其传递一个操作代码,以指示FM25L256现在进行的是什么操作。 实时数据存储电路 FM25L256引脚功能介绍引脚符号功能介绍引脚符号功能介绍/CS芯片选择输入端SI串行输入端SCK串行时钟输入端SO串行输出端/HOLD保持输入端VDD电源()/WP写保护输入端VSS接地端(2)闪速存储器AT45DB08lB是ATMEL公司推出的一款基于Flash技术的大容量数据存储器,采用2.,管脚(SI、SCK、/CS、/RESET、/WP)支持5V输入,允许直接5VTTL或COMS电平信号相联接,并且与之兼容;AT45DB081B的最大时钟频率可达20MHz;在系统编程比较简单,不需要高电压。 AT45DB081B的存储结构分为主存储区、两个缓存区及一个状态寄存器。 主存储区容量为8,650,752位,被分成10段、512块和4096页三个等级,每页264字节。 AT45DB081B有段、块和页三种操作方式,相关。基于单片机的汽车行驶状态记录仪本科毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。