《基于STM32智能车设计与实现.doc》由会员分享,可在线阅读,更多相关《基于STM32智能车设计与实现.doc(43页珍藏版)》请在三一办公上搜索。
1、浙江万里学院本科毕业设计(论文)(2013届)论文题目 基于STM32智能车的设计与实现(英文) Design and Implementation of Smart Car Based on STM32所在学院 电子信息学院 专业班级 电子093班 学生姓名 罗志强 学号 2009017254 指导教师 柯博林 职称 副教授 完成日期 2013 年 05 月 06 日基于STM32智能车的设计与实现罗志强(浙江万里学院电信学院电子093班)2013年5月摘 要智能车是一种集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了微处理器、现代传感器、信息融合、通讯、人工智能及自
2、动控制等技术,是典型的高新技术综合体。本论文提出了一种基于STM32嵌入式微处理器的智能车的设计。系统分为两部分:车载主机系统和手持主机系统。车载主机系统主要以履带式车轮为其机械平台,结合主控电路、超声波避障、无线通信、语音播报、GPS数据采集、碰撞保护功能,完成车载主体功能。手持主机系统主要包括无线通信、数据显示模块、体感操控,它主要负责控制智能车的运行姿态,实时车载数据的采集。整个方案的控制器核心为意法半导体公司的STM32F103VCT6处理器,利用其高速的数据处理能力和丰富的集成外设接口资源,充分发挥智能车的性能,也有利于智能车的程序设计和功能扩展。论文首先介绍了智能车领域的国内外研究
3、现状,然后介绍智能车控制系统总体设计框架和整个开发流程,再是介绍了智能车系统硬件电路设计和软件设计流程和思想,最后介绍智能车系统的制作与调试以及对本次毕业设计总结。关键词:STM32F103; GPS定位; 智能控制; uCOS-ii实时操作系统;AbstractThe smart car is a set of situational awareness, planning and decision-making, multi-level driver assistance functions in an integrated system,It is a typical high-tech
4、 complex of focusing on the use of a microprocessor, modern sensors, information fusion, communications, artificial intelligence and automatic control technology.This paper presents a design of smart car based on embedded microprocessor of STM32. The entire system is divided into two parts: Car host
5、 system and Handheld host system. The car host system is major to crawler wheels for its mechanical platform to Complete main function of Vehicle module Combine with The main control circuit module ultrasonic obstacle avoidance, voice broadcast, GPS data collection. Handheld host system mainly inclu
6、des data of receiver module, data of show module, control of intelligent vehicle module and additional entertainment audio and video module. Handheld host system is mainly responsible for running posture control the smart car, real-time data acquisition of vehicle and handheld entertainment of audio
7、 and video. The main controller core is STMicroelectronics processor of STM32,Its high-speed data processing capabilities and a wealth of integrated peripherals interface resources, give full play to the performance of the smart car smart car, but also conducive programming and extensions.The paper
8、introduces the field of smart cars status of research and the control system design framework and the entire development process of smart car, Then it introduces hardware design of the smart cars system and design processes and ideas of software. Finally, the production of the smart car system and d
9、ebugging, as well as the Summary of graduation Design.Key Words:STM32F103;GPS positioning;Intelligent Control;Real-time operating system目 录1 绪论11.1 课题国内外研究现状11.1.1 智能车系统国内研究现状11.1.2 智能车系统国外研究现状21.3 本文研究内容31.3.1 内容分析31.3.2 开发流程32 系统总体设计52.1 系统对象描述52.2 总体方案设计52.3车载主机硬件设计72.3.1 车载主机功能需求描述72.3.2 车载主机硬件设
10、计方案72.3.3 手持主机功能需求描述82.3.4 手持主机硬件设计方案82.4 系统软件设计82.4.1 软件设计思想82.4.2 软件设计流程92.5 系统方案可行性分析93 主机硬件设计与实现113.1 微处理器系统113.1.1 最小系统电路113.2 电源系统设计133.3 NRF24L01无线模块设计与实现143.3.1 NRF24L01无线模块电路143.3.2 NRF24L01无线模块应用电路153.4 GPS定位模块设计与实现153.4.1 主控电路153.4.2 模块电源电路163.5超声波自主避障模块设计与实现173.5.1 超声波发射电路173.5.2 超声波接收电路
11、173.6语音播报模块设计与实现183.6.1语音播报的设计原理183.6.2语音播报实现电路183.7液晶触摸屏模块设计与实现193.7.1液晶触摸屏模块原理193.7.2液晶触摸屏硬件实现193.8陀螺仪模块设计与实现213.8.1陀螺仪体感操作设计213.8.2陀螺仪体感操作硬件实现213.9碰撞保护模块设计与实现223.9.1碰撞保护模块实现原理223.9.2碰撞保护模块硬件实现224 系统软件设计234.1系统软件设计234.1.1 总体程序设计234.1.2 超声波自主避障处理程序244.1.3 GPS信息处理程序254.1.4 NRF24L01无线模块程序设计264.1.5 陀螺
12、仪体感程序设计264.1.6 液晶触摸程序设计275 制作和调试295.1 电源系统调试295.2 液晶触摸屏显示调试295.3 GPS信息数据采集调试296总结与提高31致 谢32参考文献33附录1 系统实物图34附录2 毕业设计作品说明书351 绪论1.1 课题国内外研究现状1.1.1智能车系统国内研究现状我国开展智能车辆技术领域的研究起步较晚,起始于20世纪80年代。而且大多数研究都处于单项技术研究的阶段。虽然在总体上我国智能车辆技术方面落后于发达国家,也存在着一定得技术差距,但是到目前为止也取得了一系列的成果,主要有:(1)我国第一辆自主驾驶轿车由中国第一汽车集团公司和国防科技大学机电
13、工程与自动化学院于2003年研制成功。该自主驾驶轿车在高速公路正常交通情况下,行驶过程中都得最高稳定速度为13km/h和最高峰值速度可达170km/h,并且具有超车能力,其总体技术性能和指标已经达到世界先进水平。(2)7B.8军用室外自主车由南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等国内多所高等院校联合研制,该车配备彩色摄像机、激光雷达、陀螺惯导定位等高端传感器。计算机系统采用两台Sun10工作站,并完成信息融合、路径规划,同时具有两台PC486完成路边抽取识别和激光信息处理,8098单片机主要完成定位计算和车辆自动驾驶。其系统体系结构以水平式结构为主,采用传统的“感知-建
14、模-规划-执行”算法,使其直线跟踪速度达到20km/h,而避障速度达到5-10km/h。智能车辆研究也是智能交通系统ITS的关键技术。目前,国内众多高校和科研院所都在进行ITS关键技术、设备的研究。随着ITS研究的兴起,我国已形成一支对ITS技术有专门研究的技术专业队伍。并且通过越来越多的汽车企业和交通部门对ITS及智能车辆技术研发的投入,整个社会对智能车辆的关注程度在不断提高。相信各方的共同努力,我国ITS及智能车辆的技术水平将会得到很大提高。可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。我们要结合我国国情,对智能车进行深入细致的研究,为它今后的发展及实际应用打下
15、坚实的基础。1.1.2 智能车系统国外研究现状国外智能车辆的研究历史相对与国内较久,始于上世纪50年代。它的发展历程大致可分成三个阶段:第一阶段 20世纪50年代是智能车辆研究的初始阶段。1954年美国Barrett Electronics 公司研究开发出世界上第一台自主引导车系统AGVS(Automated Guided Vehicle System)。该系统只是一个运行在固定线路上的拖车式运货平台,但它却具有了智能车辆最基本得特征即无人驾驶。早期研制AGVS的目的是为了提高仓库运输的自动化水平,应用领域仅局限于仓库内的物品运输。随着计算机的应用和传感技术的发展,智能车辆的研究不断得到新的发
16、展。第二阶段 从80年代中后期开始,世界主要发达国家对智能车辆进行卓有成效的研究。欧洲的普罗米修斯项目于1986年开始了在这个领域的探索。在美洲,美国于1995年成立了国家自动高速公路系统联盟(NAHSC),其目标之一就是研究发展智能车辆的可能性,并促进智能车辆技术进入实用化。在亚洲,日本于1996年成立了高速公路先进巡航/辅助驾驶研究会,主要目的是研究自动车辆导航的方法,促进日本智能车辆技术的整体进步。进入80年代中期,设计和制造智能车辆的浪潮席卷全世界,一大批世界著名的公司开始研制智能车辆平台。第三阶段 从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅
17、隆大学(Carnegie Mellon University)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1Navlab10)的研究,取得了显著的成就。目前,智能车辆的发展正处于第三阶段。这一阶段的研究成果代表了当前国外智能车辆的主要发展方向。在世界科学界和工业设计界中,众多的研究机构研发的智能车辆具有代表性的有:德意志联邦大学的研究 1985年第一辆VaMoRs智能原型车辆在户外高速公路上以100km/h的速度进行了测试,它使用了机器视觉来保证横向和纵向的车辆控制。1988年在都灵的PROMRTHEUS项目第一次委员会会议上,智能车辆维塔(VITA,7t)进行了展示,该
18、车可以自动停车、行进,并可以向后车传送相关驾驶信息。这两种车辆都配备了UBM视觉系统。这是一个双目视觉系统,具有极高的稳定性。荷兰鹿特丹港口的研究 智能车辆的研究主要体现在工厂货物的运输。荷兰的Combi road系统,采用无人驾驶的车辆来往返运输货物,它行驶的路面上采用了磁性导航参照物,并利用一个光阵列传感器去探测障碍。荷兰南部目前正在讨论工业上利用这种系统的问题,政府正考虑已有的高速公路新建一条专用的车道,采用这种系统将货物从鹿特丹运往各地。日本大阪大学的研究 大阪大学的Shirai实验室所研制的智能小车,采用了航位推测系统(Dead Reckoning System),分别利用旋转编码器
19、和电位计来获取智能小车的转向角,从而完成了智能小车的定位。另外,斯特拉斯堡实验中心、英国国防部门的研究、美国卡内基梅隆大学、奔驰公司、美国麻省理工学院、韩国理工大学对智能车辆也有较多的研究。1.3 本文研究内容1.3.1 内容分析本课题开发设计一种基于STM32的智能车系统,实现语音提示,超声波避障,UI界面触控,陀螺仪体感操控,碰撞保 护,液晶数据显示一系列功能。从整个系统的模块划分上来看,主要包括车载主机和手持主机两大主控。车载主机是本系统主要实现功能对象的主体,在手持主机通过NRF34L01无线发送模块发出三种主要指令,当指令为陀螺仪体感操作指令时,智能车的运行受到手持主机中陀螺仪传感器
20、的控制,当指令为超声波自动避障时,智能车车载主机的超声波模块运行,采集环境数据给主控,经过程序代码算法的运行实现超声波自动避障,当指令为UI界面控制时,触控界面的方位按钮可以实现智能车的运行姿态,无线模块发送模块是连接车载主机和手持主机的桥梁,通过一系列的指令实现车载主机的运行状态以及数据的实时采集。根据毕业设计任务要求,本课程主要需完成系统中超声波自主避障、车载GPS定位数据采集、陀螺仪体感操控、UI界面触控、语音提示等基本功能。1.3.2 开发流程整个系统的开发是基于STM32平台搭建的,首先要了解这款ARM Cortex-M3内核的微处理器的架构以及编程的方式和微处理器所用到外设模块的寄
21、存器,智能车的驱动是依靠高电压、大电流电机驱动芯片L298N,需要了解驱动芯片的外围电路原理及电气特性。在功能模块中需要GPS数据的采集,GPS协议也是我们完成本设计的重要模块,GPS模块串口数据的输出以及主机采集GPS的数据的方式。防碰撞功模块在智能车发生意外事件时产生报警信号迫使运行中的智能车停止。以上内容在本文的后续章节有详细介。本系统的完成,有诸多模块需要有外围电路才能正常工作,需要设计相应的外围电路,该内容在本文第3章有详细的电路原理图分析,包括车载主机和手持主机核心板的设计、语音模块的设计、GPS定位模块的设计、陀螺仪体感模块、液晶触摸屏模块及NRF24L01无线模块电路设计。在本
22、文第4章介绍了本系统的软件设计。2 系统总体设计本课题研究基于STM32的智能车的设计与实现,本章描述该智能系统的总体设计。第一节描述智能车的各种模块,第二节是提出智能车的总体设计方案,第三节是简要叙述车载模块的硬件设计,第四节是整个系统的软件设计,第五节对方案中的关键技术进行了讨论,第六节分析整体方案的可行性。2.1 系统对象描述智能车系统采用手持主机和车载主机相结合,车载主机接收手持主机发出的指令实现系统功能,超声波模块实现智能车的自动避障功能,车载GPS定位模块完成智能车经纬度数据的采集,陀螺仪体感模块采用ST公司生产的L3G4200DTR,输出接口方便应用,无线模块使用2.4G频段NR
23、F24L01模块集成SPI接口,语音播报模块是语音解码芯片WT588D,外挂Flash存储语音数据,UI界面图形控制等方式实现智能车的运行轨迹,手持主机接收车载主机上传的数据信息,并在手持主机UI界面上显示实时数据。系统设计上考虑到程序方便移植,主控芯片都为意法半导体公司的STM32F103。2.2 总体方案设计本系统采用手持主机控制系统和车载主机控制系统实现整体的方案,在车载主机控制系统中电机驱动模块为智能车运行的基础平台,利用GPS为定位手段,结合语音播报模块传达智能车运行状态,加速度碰撞保护模块有效的起到保护智能车运行过程中的安全,而手持模块的信息命令主要通过无线短距离收发模块处理和运算
24、。在手持主机控制系统中主要通过无线短距离收发模块与车载主机系统信息的传达与接收,通过液晶屏UI界面切换智能车超声波自主避障、触摸屏触控操作、陀螺仪体感操作三种模式。车载主机系统由如下七大部分组成:(1)加速度碰撞保护系统;(2)车载GPS定位系统;(3)电机驱动系统;(4)无线通信系统;(5)语音播报系统;(6)超声波自主避障;(7)液晶显示模块。手持模块系统由如下三大部分组成:(1)液晶触摸系统;(2)无线通信系统;(3)陀螺仪体感操控系统。车载主机系统和手持主机系统的总体框架图如图2-1所示。图2-1 系统总体连接图智能车系统采用手持主机和车载主机相结合,车载主机接收手持主机发出的指令,实
25、现超声波自动避障、GPS数据的采集和显示、陀螺仪体感操作、UI界面图形控制等方式实现智能车的运行轨迹,手持主机接收车载主机上传的数据信息,并在手持主机UI界面上显示实时数据。系统设计上考虑到程序方便移植,主控芯片都为意法半导体公司的STM32F103。2.3车载主机硬件设计2.3.1 车载主机功能需求描述车载主机应具备的具体功能要求如下:(1)具备四轴电机驱动能力。智能车的平稳运行在于有一个强劲的驱动模块,其余模块功能的实现建立在智能车能平稳运行的前提下。(2)具备GPS全球定位信息采集功能。GPS具有全球任何地点、任何时间、全天候高精度定位的特点。车载主机接收来自GPS卫星的信号,经数据处理
26、,获得智能车的实时经度、纬度位置数据。(3)语音播报功能。智能车语音功能主要通过主控芯片编码,将编码值传给WT588D语音芯片,按照码值地址读取Flash中的数据实现语音播报的功能。(4)具备功能碰撞保护功能。智能车在运行模式中会出现碰撞障碍物,设计系统中具有三轴数字加速度器Lis302D测量运行过程的加速度,检测判断加速度值,断定是否为智能车发生碰撞,根据情况采取是否停车的措施。(5)无线通信功能。手持主机和车载主机的信息通信依靠NRF24L01短距离通信模块,传输手持主机的控制信号和数据采集信号,车载主机接受信号并同时根据信号的类型运行不同设定模式。(6)具有超声波自主避障的功能。选择该模
27、式时,智能车运行时具有自主避障的功能,遇到障碍物时选择最优化的路线行进。2.3.2 车载主机硬件设计方案车载主机系统硬件设计如图2-2所示。图2-2 车载主机硬件设计图2.3.3 手持主机功能需求描述手持主机应具备的具体功能要求如下:(1)液晶显示数据的功能。手持模块液晶实现GPS数据以及智能车度和加速度,通过GUI界面展示在液晶屏上,实现人机交互。(2)液晶屏触摸操控的功能。UI界面操控的主体对象是液晶触摸屏,通过触摸屏的触摸按键选择智能车的运行模式和运行状态。(3)陀螺仪体传感器体感功能。通过陀螺仪传感器数据的采集和分析,判断手运动的方向,从而间接地控制智能车的运行方向。2.3.4 手持主
28、机硬件设计方案手持主机硬件设计如图2-3所示。图2-3 手持主机硬件设计图2.4 系统软件设计本系统实现软件功能主要使用C作为开发语言,而软件开发平台为ARM公司旗下的Keil for ARM。软件的设计主要分为车载主机程序设计和手持主机程序设计两大模块。在开发过程中,利用意德法公司提供的函数库,提高软件代码的编写效率,缩短项目开发周期。2.4.1 软件设计思想程序的设计思想主要是手持主机控制车载主机,两者通过无线通信系统进行信息和指令的传递。手持主机程序主要实现GPS数据的采集、智能车模式的选择、智能车状态信息的采集。为实现系统具有较高的实时性,手持主机和车载主机程序移植C/OS-II实时操
29、作系统,多任务实时操作,任务间同步与通信解决任务时间上的冲突,使程序运行的效率更高,系统的稳定性能更好。2.4.2 软件设计流程程序设计流程大致分为三部分模块系统驱动编写、模块驱动的整合、整体系统调试和优化。本次系统中的所用到的模块较多,软件同时开发有点难度,所以按模块化编写与调试,保证每个模块功能的完整性。然后依次将各部分模块整合到C/OS-II操作系统运行,车载主机和手持主机的调试与功能验证,最终实现整机的功能测试和稳定性检验,大致的流程就是这样,详细的模块流程见第四章。整体程序流程图如图2-4所示。图2-4 程序总体流程图2.5 系统方案可行性分析为了适当加快本科课题的研发进度,采用以自
30、主研发为主、适当引入第三方成熟组件模块的技术路线。通过自主研发实现系统中主要的软硬件模块,包括电机驱动模块、语音播报模块、碰撞保护模块以及车载和手持主机主板模块,而无线通信模块、超声波测距模块、液晶触摸模块将通过引入第三方成熟的组件模块实现。车载主机和手持主机都是基于ARM公司的STM32嵌入式微处理器为核心开发,目前该款芯片的外设资源丰富开源代码充足,且价格适当,符合完成本课题的设计要求。超声波自主避障在C/OS-II下实现动态的采集与分析数据并且完成自主避障,从理论上来说,可以满足采样速率和程序判断任务,但是智能车运行在颠簸状态下,超声波测距会出现误差,以及在快速运行模式下,超声波旋转的舵
31、机平台存在灵敏度小的缺憾,所以要考虑到舵机的选型。3 主机硬件设计与实现本章描述的是车载主机和手持的主控芯片和相关模块硬件设计与实现,整体硬件描述图在上文2.3中已有详细介绍,在此不再赘述,本章采用车载主机和手持主机合二为一方式,介绍了微处理器系统、电源系统、语音播报电路、GPS定位模块电路、超声波自主避障模块、液晶屏触摸电路、陀螺仪数据采集电路等的设计与实现。3.1 微处理器系统为节约开发时间和成本,本系统采用意法半导体公司提供的32位嵌入式ARM微处理器STM32F103,,其基于ARMv7- M体系结构的32位标准RISC (精简指令集)处理器,其性能远高于51系列单片机,并且代码执行效
32、率高,开发过程简洁,工作频率为72MHz,内置高达128K 字节的Flash存储器和20K 字节的SRAM,具有丰富的通用I /O 端口和外设,成本相对于同等性能的微处理器更低。在整个系统的微处理器硬件上都选用同款,方便系统的开发和程序的移植。3.1.1 最小系统电路本节主要介绍一下最小系统的时钟电路及复位电路。由于车载主机系统和手持主机系统所用微处理器为同系列的,所以不另行分开介绍。(1)STM32芯片最高可工作到72MHz,系统主时钟采用无源晶振,频率为8MHz,通过片内锁相环实现倍频,配置芯片内部寄存器,可实现我们所需要的工作频率,作为系统的工作时钟。图3-1 主控电路主时钟(2)RTC
33、时钟,32.768KHZ,用于实时时钟模块提供时钟信号。图3-2 RTC时钟电路(3)复位电路,主控芯片低电平复位,采用经典的电阻加电容的复位电路。图3-3 主控复位电路(4)备份电源电路,输入电压为3.3V,只要保存系统掉电时,备份寄存器的数据。图3-4 备份电源电路(5)微处理器启动方式模式电路,BOOT0和BOOT1的电平高低的不同,微处理器运行程序的地址不同。图3-5 启动模式选择电路3.2 电源系统设计车载主机系统是由电机驱动电路、语音播报模块、超声波自主避障模块、GPS定位模块、碰撞保护模块、液晶显示模块、无线发送模块等七部分组成,设计一个驱动力大、性能稳定的电源是整个车载主机系统
34、稳定、安全运行的前提条件。车载主机系统整体作为车载的一个部分,其电源来自于3节3.7V锂电池。最大能提供的电压为12.6V。满足我们L298N电机驱动芯片的输入范围之内,而且能提供较大的电流,能保障智能车运行的速度,这是我们设计中必须要考虑的,我们都知道,一般芯片的工作电压在3.3V5V左右,所以我们需要设计两个稳压电路,将锂电池的电压稳压输出5V和3.3V,输出电流12A,为了使电源部分电流大和散热性好,我选择TI公司提供该芯片具有良好的稳压性能,输出可调,最高可达3A电流输出,具备过流保护功能,防止烧毁后端器件。所以其电源效率高,最高可达95%,减少其电能损耗。而手持主机部分的电源考虑用手
35、机锂电池,电压为4.2V,经过LM1117稳压芯片供给微处理器和外设模块使用。两个系统的电源都要考虑使用滤波,保证其输出纹波足够小,否则将影响ARM芯片的工作性能。车载主机电源电路如图3-10,手持主机电源如图3-11,图3-6 车载主机电源电路图3-7 手持主机电源电路3.3 NRF24L01无线模块设计与实现无线模块采用NORDIC公司的NRF24L01,工作于2.4GHz-2.5GHz ISM频段,无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。在SPI模式下传输速率最大可以达到10 Mb/s;无线收发数据量大,有利于处理各
36、种复杂的信号数据,运行模式下nRF24L01功耗低,能提高电池的续航能力。具有自动应答和自动再发射功能以及片内自动生成报头和CRC校验码,提高数据传输的稳定性和准确性。本节将介绍NRF24L01无线模块设计电路原理图和与微处理器的接口应用。3.3.1 NRF24L01无线模块电路图3-11的为NORDIC公司开源的产品原理图,通过原理图和硬件电路图我们可以直接通过工厂加工得到这款无线模块,方便了开发和应用。图3-8 NRF24L01原理图 2.4GHz2.5GHz频段的信号干扰大,但是NORDIC公司设计的无线模块具很高的稳定性和安全性,以SPI数字接口的方式提供给用户。STM32丰富的外设接
37、口使得开发应用变得更加灵活和便捷。3.3.2 NRF24L01无线模块应用电路在车载主机和手持主机系统中,无线模块的电源采用板载的3.3V,与STM32微处理器SPI外设接口相连接,SPI外设寄存器模式配置成主模式,传输速率以根据用户实际需求通过软件更改。NRF无线模块的应用接口图如图3-12。图3-9 NRF24L01应用接口电路NRF24L01无线短距离收发模块同时应用在车载主机和手持主机系统上,具备无线收发切换模式,从而组成一座信息交流的桥梁,智能车控制指令在车载主机和手持主机之间顺利的传输,每一帧的数据量可以包含132Byte的数据,信息传输速率高、数据量大,在本系统中将其性能发挥的淋
38、漓精致,该模块还应用于智能运动设备、无线门禁无线数据通讯、遥感勘测等领域、安防系统等领域。3.4 GPS定位模块设计与实现3.4.1 主控电路车载主机系统采用的GPS模块型号为GS-89,采用美国瑟孚SiRF公司所设计的最新单芯片GSC4f卫星定位接收芯片,是一个完整的卫星定位接收器具备全方位功能,采用SiRF高灵敏度、低耗电量芯片GSC4f,内建ARM7TDMI CPU,具备快速定位及追踪20颗卫星的能力,操作温度:-40to + 80,存放温度:-45to + 85,满足本系统所适用的温度范围,满足系统需求。通过查看模块提供的外围接口图,自行设计了该模块的外围电路,通过串口发送GPS定位数
39、据给微处理器。模块连接图如图3-10所示。图3-10 GS-89模块接口图3.4.2模块电源电路GS-89这款GPS模块的工作电压为3.0V-5.0V,工作模式时电流消耗大,所以要专门设计电源模块。通过查阅GS-89模块技术资料,了解到该模块的VBAT脚可接备份电源,以保证内部芯片RTC不停止工作,同时实现RAM保持,以确保下次开启时能快速定位。所以设计该模块的备份电源以提高模块的定位速度很有必要。模块电源电路如图3-11所示。图3-11 GS-89模块电源电路图中采用2个5819二极管,其中D1为防止高电压反串且通过二极管的管压降使备份电源电池不供电。采用二极管5819为肖特基二极管,其管压
40、降较小,普通二极管的管压降有0.7V,而肖特基二极管一般管压降在0.3V左右。电池采用2032纽扣电池,电压为3.0V,通过一个肖特基二极管,电压低于3.0V,使得芯片不工作,仅供RTC时钟工作,以保障电池的持久性能。3.5超声波自主避障模块设计与实现3.5.1 超声波发射电路超声波发射电路中由两部分主成:控制电路和发射电路。控制电路在P51和P52IO口输出两个频率都为40KHZ、相位相反的方波,输入MAX232将TTL电平转化成MAX232电平,驱动超声波发射头。根据手册资料显示,每当J1接插口的Trig检测到20us以上的TTL电平,STC单片机输出8个40KHz的方波。当超声波遇到障碍
41、物会返回回音,下一节具有详细说明。 STC单片机P53口作为MAX232芯片工作启动开关。图3-12 超声波发射电路图3.5.2 超声波接收电路超声波接收电路也包括两部分:控制电路和接收电路。接收电路中,超声波接收头在接收到频率为40KHz的方波回波后,经过一个四路运放芯片TL074,将接收到的小信号四次放大,最终在TL074中的1脚输出,而2脚出的波形是经过解调的,两路信号同时输入到控制电路STC单片机的P60和P61,经过单片机的运算与处理。在Echo引脚输出高电平,而高电平的时间(t)与智能车到障碍物的距离(s)成比列声音在空气中的传播速度c(340m/s)。距离计算公式如下:S=(t*
42、c)/2具体接口如图3-13所示图3-13 超声波接收电路所示3.6语音播报模块设计与实现3.6.1语音播报的设计原理在该模块中我们所用到型号为WT588D 语音芯片,其内嵌 DSP 高速音频处理器,处理速度快,内置 13Bit/DA 转换器,以及 12Bit/PWM 输出,音质好,PWM 输出可直接推动 0.5W/8扬声器,推挽电流充沛,具有DAC/PWM 两种输出方式,本系统中运用的是PWM模式的输出。配套WT588D VoiceChip 上位机操作软件可随意更换 WT588D语音单片机芯片的任何一种控制模式,把语音信息下载到外挂SPI-Flash中即可。 WT588D具有MP3模式、按键
43、模式、并行模式、串行模式等不同模式控制。本课题选用考虑到语音播报的类型数量不多,所以考虑较灵活的并行模式。并行模式下SPI-Flash中下载的语音数据相对应与WT588D VoiceChip 上位机下载时所选择的并行模式,该模式下,语音地址的A0A7在触发信号SBT为低电平时锁存,语音芯片从该地址段读取上位机所下载的语音数据,并经过内部DSP处理,输出PWM,驱动扬声器。3.6.2 语音播报实现电路WT558D-32L模块是将DSP语音芯片WT558D-32L和外挂32Mb的SPIFlash集成在一起。预留IO接口给用户。本次设计选择的是并行模式,P00为地址触发信号,而A0A7为地址输入IO
44、信号,触发信号和地址线都与STM32微处理器的IO口相连,通过给IO一系列的动作,驱动语音芯片正常工作,WT558D-32L语音芯片则通过SPI协议访问Flash,将A0A7所对应的数据将Flash地址中的数据读出。通过PWM-和PWM+两个大电流IO口驱动扬声器。WT558D-32L模块电路图如图3-14所示。图3-14 WT558D-32L模块电路图3.7液晶触摸屏模块设计与实现3.7.1液晶触摸屏模块原理采用262K色带有ILI9320驱动芯片的320X240液晶,并整合TSC2406触摸芯片,提供40pin对外用户接口,液晶提供多种总线,而这里采用i80/16bit 系统总线接口,正好
45、符合STM32的FSMC总线驱动SRAM协议,具有总线速度快,数据量大等优势。触摸控制芯片采用SPI接口输出内部AD采样值给微处理器处理判断触摸点的所在位置。3.7.2液晶触摸屏硬件实现ILI9320液晶具有D0D15数据IO口、LCD_CS片选线、RS控制或状态选择位、RD数据读选择位、RW数据写选择位。分别于与STM32 FSMC总线的FSMC_D0D0、FSMC_ A0、FSMC_NE3、FSMC_NEW、FSMC_NOW相连接。触摸屏采用四线电阻屏,是在表面保护涂层和基层之间覆着两层透明电导层ITO(ITO:氧化铟,弱导电体,特性是当厚度降到1800个埃(埃=10-10米)以下时会突然
46、变得透明,再薄下去透光率反而下降,到300埃厚度时透光率又上升。是所有电阻屏及电容屏的主要材料。),两层分别对应X,Y轴,它门之间用细微透明绝缘颗粒绝缘,当触摸时产生的压力使两导电层接通,由于电阻值的变化而得到触摸的X,Y坐标,触摸芯片连接电路图如图3-15所示。图3-15 触摸芯片连接电路图液晶屏和触摸屏模块整合在一起,通过外部数据接口与微处理器相连,液晶触摸屏电路图如图3-16所示。图3-16 液晶触摸屏电路图3.8陀螺仪模块设计与实现3.8.1陀螺仪体感操作设计陀螺仪体感操作的实现是根据用户的手势动作状态,陀螺仪传感器采集角速度变化值,经过数据融合处理,计算出手势的方向,控制智能车的运行
47、轨迹。在模块中用到ST公司的L3G4200D陀螺仪,I2C / SPI数字输出接口,16比特率值的数据输出,通过STM32微处理器的SPI模式与其通信,获取当前X、Y、Z轴的角速度。根据角速度的正负可以判断手势移动的方向,而角速度的大小对时间求倒数就是手移动的角度,角度的大小可以控制智能车的速度。3.8.2陀螺仪体感操作硬件实现采用STM32微处理器四线SPI接口模式与L3G4200D通信,在片选端口上拉电阻R21,提高芯片工作的稳定性。C29、C30、R22组成一个外部低通滤波器,是内部锁相环环路滤波器,典型的值C29 = 470nf,C30 = 10nf,R22 = 10K。利用STM32的外部SPI2的SCK、MOSI、MISO、CS四线模式,并且输出两个数字线(中断和Dataready),可以通过配置L3G4200D内部的寄存器设置中断模式