已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长春工程学院毕业设计(论文) 摘 要 本文研究了一种汽车倒车雷达预警系统。该系统在常见的汽车倒车预警装置的基础上采用计算机控制技术和超声波测距技术,通过显示障碍物与汽车的距离并根据其距离远近发出报警,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,提高了驾驶安全性。本设计阐述了如何利用超声波检测技术来实现汽车的倒车雷达的可行性和技术路线。设计采用凌阳公司SPCE061A单片机、三个V2.0版本的超声波测距模组实现超声波倒车雷达。系统主要实现语音提示模组探测范围内的障碍物,并提示障碍物方向,利用三个LED发光二极管表示三个传感器探测范围内是否有障碍物,当有障碍物时,发光二极管以一定频率闪烁。关键词超声波 单片机 倒车雷达 Abstract: The thesis introduces a kind of Car Reversing Aid-System in detail. The system adopted the technology of computer control and Ultrasonic Distanee-Measurment based on the currently Car Reversing Aid-System.The system alarmed in time through displaying the distances between obstacles and cars. It soluted the puzzle problem because the drivers looked around through the mirrors when they stopped or started the vehicle.The system would greatly solve the difficulties and meanwhile improve the driving safety;The design on the use of ultrasonic testing techniques to achieve the reversing of vehicles and technical feasibility of the radar line. Sunplus SPCE061A design single-chip companies, three V2.0 version of the ultrasonic ranging modules to achieve ultrasonic parking sensor. System to achieve voice prompts within the module to detect obstacles and obstructions prompted directions, the use of three LED light-emitting diodes, said the scope of the three sensors to detect whether there are obstacles, when there are obstacles when a certain frequency of light-emitting diode flashes .Keywords: Ultrasonic MCU Backup radar 52目 录1 引言11.1 研究背景11.2 研究意义12 实现功能33 方案论证43.1 方案设计43.2 方案论证54 总体方案及模块特性简介74.1 总体设计方案74.2 SPCE061A简介94.3 芯片特性105 系统硬件设计125.1 SPCE061A最小系统135.2 复位电路设计125.3 晶振电路设计135.4 锁相环外围电路设计135.5 电源模块145.6 放音模块155.7 超声波测距模组155.8 显示电路185.9 转接板电路186 系统软件设计206.1 软件实现原理206.2 超声波测距原理206.3软件架构216.4 各模块程序设计与说明227 系统测试与仿真328 总结33参考文献34附录一:SPCE061A最小系统原理图36附录二:超声波测距模组原理图37附录三:SPCE061A的超声波测距源程序381 引言1.1 研究背景着中国经济的持续增长和汽车价格的持续下降,越来越多的家庭拥有自己的汽车。在享受汽车给我们带来的便利的同时,由于倒车而产生的问题也日益突出。在2002年汽车事故的发生比例中,倒车引起的事故占21%,倒车成为令人们头痛的一项任务,即使是经验丰富的司机也在抱怨倒车是件费力费神的事。公路、街道、停车场、车库的拥挤不堪,车辆之间、车辆与人、车辆与墙壁等障碍物之间的碰撞时有发生,针对这一情况,人们对汽车操纵的便捷性提出了更高的要求,希望有种装置能够解决汽车倒车给人们带来的不便,消除驾驶中的不安全因素,可将车快速准确地停放到指定的位置1。德国大众公司已经将超声波测距技术应用在倒车雷达上,并且具有前视和后视功能,采用自举升压的方式驱动8路超声波传感器,目前国内引进车型对这一技术尚不能国产化,超声的研究和发展,与媒质中超声的产生和接收的研究密切相关。1883年Galton首次制成超声气哨,其原理是将压缩气体经过狭缝喷嘴形成气流,吹动圆形刀口振动形成共振腔,从而产生超声。此后又出现了各种形式的汽笛和液哨等机械型超声换能器。由于这类换能器成本低,所以经过不断改进,至今仍广泛地用于超声处理技术中。 仍需要引进德国原厂成品安装。因此,实用性也相当有限4。倒车雷达系统经历了三个阶段,六代的技术改良,从早期的倒车防撞仪,只能测试车后有限范围的障碍物,并发出警报,发展到根据距离远近程度分段报警,前两个阶段的倒车雷达一般采用专用集成电路,功能较简单。随着人们对汽车驾驶辅助系统易用性要求的提高,以及单片机价格不断下降和汽车电子系统网络化发展的要求,新型的倒车雷达都是以单片机为核心的智能测距传感系统。要求倒车雷达连续测距并显示障碍物距离,并采用不同间歇鸣叫频率的声音报警提示距离,让驾驶员全神贯注地注视场景。汽车电子系统网络化发展还要求作为驾驶辅助系统子系统的倒车雷达具有通信功能,能够把数据发送到汽车总线上。如最为先进的倒车雷达系统为“智能可视倒车雷达系统”,它在车尾部撞上针孔摄像头,倒车时可以在DVD显示屏上显示车后的广角真实图像。1.2 研究意义 随着中国经济的持续增长和汽车价格的持续下降,越来越多的家庭拥有自己的汽车。在享受汽车给我们带来的便利同时,由于倒车而产生的问题也日益突出。一方面汽车的数量逐年增加,公路、街道、停车场和车库拥挤不堪,可转动的空间越来越少;另一方面,新司机及非专职司机越来越多,因倒车引起的纠纷越来越多,车辆之间、车辆与人、车辆与墙壁等障碍物之间的碰撞时有发生。在2006年汽车事故的发生比例中,倒车引起的事故占28%,倒车己成为令人们头痛的一项任务,即使是经验丰富的司机也在抱怨倒车是件费力费神的事。据统计危险境况时,如果能给驾驶员半秒钟的预处理时间,则可分别减少追尾事故的30%,路面相关事故的50%,迎面撞车事故的60%。改善倒车遇到的窘境被越来越多的人所关注,人们对汽车操纵的便捷性提出了更高的要求,希望有种装置能够解决汽车倒车给人们带来的不便,消除驾驶中的不安全因素,可将车快速准确地停放到指定的位置。2 实现功能本设计利用了凌阳SPCE061A单片机,三个版本的超声波测距模组9实现超声波倒车雷达,具体功能为:(1)可以语音提示模组探测范围内(0.35m1.5m)的障碍物;(2)语音提示可指明哪一个方向(或区域)有障碍物在探测范围内;(3)利用三个LED发光二极管表示三个传感器探测范围内是否有障碍物,当在探测范围内有障碍物时,发光二极管以一定频率闪烁,闪烁的频率以距离定,距离越近频率越高。本方案要求所有的语音资源,程序代码都存放在一颗SPCE061A片内Flash当中;当语音播报时,如检测到左后方有障碍物,则用语音播放:“左后方”;如右后方有障碍物,则语音播放:“右后方”;当检查到中间的传感器探测范围内有障碍物时,语音播放:“后方”。而连续播放提示的间隔,要大于或等于3秒,以免过于频繁的播报语音。3 方案论证3.1 方案设计方案一:系统以单片机AT89C2051为核心,外接显示模块、语音电路、驱动模块、超声波模块等。系统结构框图如图3-1所示7。超声波发送模块超声波接收模块 驱动电路放大AT89C2051倒车档显示模块语音电路比较图3-1 AT89C2051系统结构框图本系统为驾驶员将手柄转到倒车档后,系统将自动启动,超声波发送模块向后发射40KHz的超声波信号,经障碍物反射,由超声波接收模块进行收集,进行放大和比较,单片机AT89C2051将此信号送入显示模块,同时触发语音电路,发出同步语音提示,进行语音播报。当汽车与障碍物之间距离小于1m、0.5m、0.25m时,发出不同的报警声音,用来提醒驾驶员及时停车。方案二:系统以SPCE061A为核心,使用凌阳科技公司生产的61板,三个超声波测距模组依次排布,组成线阵的传感器阵列;另外,接有转接板、发光二极管显示模块。系统结构框图如图3-2所示。SPCE061A精简开发板 KEKEY1(61板) KEKEY2 KEKEY3转接板(4052模拟开关) LED1 LED2 LED3传感器1传感器2传感器3图3-2 SPCE061A系统结构框图本设计采用CD4052模拟开关对超声波测距模组进行选通,三个LED显示模块分别对汽车左后方、正后方和右后方有无障碍物进行显示,并进行语音播报。离障碍物越近,LED显示灯的闪烁频率越快。超声波发送器包括超声波产生电路和超声波发射控制电路两个部分,可采用软件发生法和硬件发生法产生超声波。前者利用软件产生40kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好,但需要设计一个驱动电流在100mA以上的驱动电路。第二种方法是利用超声波专用发生电路或通用发生电路产生超声波信号,并直接驱动换能器产生超声波。这种方法的优点是无须驱动电路,但缺乏灵活性。本设计采用第二种方法产生超声波。3.2 方案论证我选用的设计方案为第二套方案,选用凌阳SPCE061A单片机来设计3,是因为89C51需要外接模数转换器来满足数据采样,如果系统中增加语音播放功能,还需要外接语音芯片,对外围电路来说,比较复杂,而且软件实现也比较麻烦。另外,51单片机需要用仿真器来实现软硬件调试,较为繁琐,占用空间也相对较大。而凌阳SPCE061A实现语音播放是极为方便的,该芯片内置在线仿真、编程接口,可以方便实现在线调试,这样也就大大加快了系统的开发和调试。当然AT89C2051也具有自身独特的功能。虽然能完成这个设计,但AT89C2051的接口太少,未来的扩展性相对凌阳芯片差太多,而且很多外接模块,如:语音模块、显示模块、驱动模块等,都需要单独设计,集成度和安全性都不好。所以我最终选用凌阳SPCE061A芯片的方案设计。4 总体方案及模块特性简介4.1 总体设计方案本设计采用的SPCE061A精简开发板6(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发仿真实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的精简开发板,当然,它也可作为单片机项目初期研发使用。61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池电源供电,方便学生随身携带,可以使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会。61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。超声波测距模组:超声波测距模组可以方便的和61板连接,可应用在小距离测距、机器人检测、障碍物检测等方面,可用于验证方车辆倒车雷达以及家居安防系统等应用方案验证,图4-1为超声波测距模组结构图。模组接口J8超声波谐振载波调理电路超声波发射探头超声波接收探头超声波回波接收处理电路外部电源接口及电源选择跳线J7、J9测量模式选择跳线J1图4-1 超声波测距模组结构图超声波测距模组主要功能:(1)短距:20cm100cm左右(根据被测物表面材料决定);(2)中距:70cm400cm左右(根据被测物表面材料决定);(3)可调:范围由可调节参数确定,当调节在合适的值时,最远测距700cm左右。超声波测距模组使用方法: 一般应用时,只需要用 10PIN 排线把 J8与 SPCE061A 的 IOB 低八位接口接起来,同时设置好 J7、J1、J9 跳线就完成硬件的连接了。不同测距模式的选择只需改变测距模式跳线 J1 的连接方法即可。 提供给模组的电源必须在 4.5V以上,而且尽量保持电源电压的稳定。 模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果。电源输入 :模组提供了两种电源输入方式,一为用 61 板通过 10PIN 排线为模组供电(61 板上 J5 选择 5V,要求最好不要低于 4.5V),此时要把 J9 跳到 5V的一端;另一为直接为模组供电,通过模组上的电源输入口 J7引入,此时需要把 J9 跳线跳到 IN的一端。外接电源仅是为了给模组提高超声波发射功率、提高后级运放性能用,最高不要超过 12V。转接板:本方案设计,会涉及到多路传感器选通控制,所以为了可靠地实现硬件的连接,需要制作一个利用模拟开关设计的转接板。超声波测距模组在使用时,只需要两个端口就可完成测距,一个控制超声波的发射,一个是检测超声波信号的接收信号;而在超声波测距模组中,这两个信号都为数字信号,对模拟开关的要求并不严格,所以选用CD4052作为模拟开关器件,CD4052的引脚如表4-1所示。表4-1 CD4052引脚INPUTSCHANNELONEA0A1LLLY0AZAY0BZBLLHY1AZAY1BZBLHLY2AZAY2BZBLHHY3AZAY3BZBHXXnoneCD4052 相当于一个双刀四掷开关,开关接通哪一通道,由输入的2 位地址码A0、A1 来决定。其真值表见下表。“/E”是禁止端,当“/E”=1 时,各通道均不接通。此外,CD4052还设有另外一个电源端VEE,以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15V的交流信号。例如,若模拟开关的供电电源VDD=5V,VSS=0V,当VEE=5V时,只要对此模拟开关施加05V的数字控制信号,就可控制幅度范围为5V5V的模拟信号。图4-2为CD4052引脚图。图4-2 CD4052引脚图SPCE061A单片机作为主控芯片,通过I/O端口来控制CD4052,以选择不同的传感器通道;本方案采用IOB0和IOB1控制CD4052的A0和A1,而IOB2作为检测超声波模组返回的信号,IOB9将会由SPCE061A的TimerB产生40KHz的信号为超声波测距模组的提供超声波信号。这样通过CD4052的通道切换,就可以利用较少的端口来完成多个模组的切换使用了。另外,超声波测距模组采用的是脉冲测量法5,其实是测量发射超声波的时刻与接收到反射回波信号的时刻之间的时差,利用超声波在空气中传播速度是已知的条件,计算出被测目标与传感器之间的距离。而为了保证测量的可靠,检测回波信号时,采用SPCE061A的外部中断对回波的上升沿进行检测,而且利用TimerB进行计时。在显示控制方面,系统分别利用SPCE061A的IOA8、IOA9、IOA10 三个端口控制三个发光二极管。4.2 SPCE061A简介SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,主频可以达到49MHz,速度很快,再加上其方便的ADC接口,非常适合对高频信号进行数字调频。SPCE061A具有易学易用、效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放和语音识别的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。 SPCE061A 片内还集成了一个 ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而 ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE),用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口实现。61板主要功能如下:(1)SPCE061A 单片机最小系统外围电路模块(2)电源输入模块(3)音频电路(包含 MIC输入、DAC音频输出)模块(4)按键模块 (5)I/O 端口接口模块(6)调试、下载接口模块下图为 SPCE061A单片机的内部结构框图: 16位微控制器 FLASH RAM锁相环 CPU时钟 实时时钟低电压监制/低电压复位32管脚通用输入输出端口双16位定时器/计数器、时基、中断控制7通道10位ADC单通道ADCAGC双通道10位DAC串行输入输出接口串行异步通讯接口图4-3 SPCE061A单片机内部结构4.3 芯片特性(1)16位nSP微处理器;(2)工作电压:内核工作电压VDD为3.03.6V(CPU),IO口工作电压VDDH为VDD5.5V(I/O);(3)CPU时钟:0.32MHz49.152MHz;(4)内置2K字SRAM;(5)内置32K闪存ROM;(6)可编程音频处理;(7)晶体振荡器;(8)系统处于备用状态下(时钟处于停止状态),耗电小于2A/3.6V;(9)2个16位可编程定时器/计数器(可自动预置初始计数值);(10)2个10位DAC(数-模转换)输出通道;(11)32位通用可编程输入/输出端口;(12)14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;(13)具备触键唤醒的功能;(14)使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;(15)锁相环PLL具有倍频功能;(16)32768Hz实时时钟(RTC);(17)7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;(18)声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;(19)具备串行设备接口;(20)低电压复位(LVR)功和低电压监测(LVD)功能;(21)内置在线仿真(ICE,In- Circuit Emulator)接口。5 系统硬件设计5.1 SPCE061A最小系统SPCE061A最小系统包括SPCE061A芯片及其外围基本模块,外围基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,图5-1为由SPCE061A构成的单片机最小系统。图5-1 SPCE061A最小系统在OSC32O、OSC32I端口接上晶体振荡器及谐振电容,然后在VCP接上相对应的电容电阻后即可工作。在其他不用的VDD端和GND端接上100uF的耦合电容提高抗干扰能力。5.2 复位电路设计SPCE061A可通过编程设置低电压监测和低电压复位功能,目的是为了通过对系统的电源电压进行监控,而使系统运行在一个正常、可靠的工作环境,并在一旦出现电源异常的情况下能立即采取相应的措施,使系统及时恢复正常。SPCE061A具有4级电压监测低限:2.4V、2.8V、3.2V和3.6V,可通过编程来控制,系统默认的电压监测低限为2.4V。当电源电压低于2.2V时,系统会变得不稳定且易出故障。复位是对61板内部的硬件初始化,由阻容电路完成上电复位功能,通电自动复位,另外,还可以按键(S1)复位图5-2 复位电路5.3 晶振电路设计SPCE061A的时钟电路采用晶体振荡器电路。外接晶振采用32768Hz。32768Hz实时时钟通常用于钟表、实时时钟延时以及其他与时间相关类产品。SPCE061A通过对32768Hz实时时钟源分频而提供了多种实时时钟中断源,图5-3为晶振电路图。图5-3 晶振电路5.4 锁相环外围电路设计PLL电路的作用是将系统提供的实时时钟的基频32768Hz进行倍频,调整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。系统默认的PLL自激振荡频率为24.576MHz,图5-4为锁相环外围电路。图5-4 锁相环外围电路5.5 电源模块SPCE061A内核电压要求为3.3V,而I/O端口的电压可以选择3.3V也可以选择5V。所以,开发板上提供两种电压源:3.3V和5V。61板的供电电源系统具有多种供电选择方式:(1)DC5V电池供电。用户可以用3接电池,即4.5 V的直流为实验板进行供电。直流电压直接通过SPY0029稳压到3.3V,为整个实验板提供4.5 V和3.3 V两种电平的电压。(2)DC5V稳压电源供电。用户可以直接外接5V的直流稳压源为实验板进行供电,5V电压通过SPY0029稳压到3.3V。(3)DC3V供电。用户可以提供直流3.3V电压为实验板进行供电,此时,整个实验板只有3.3V电压,I/O端口电压应该通过跳线选择3.3V。电源部分采用的零电阻,目的在于实现单点接地抗干扰技术,另外,在SPY0029的前端和输出端分别并入一个二极管,目的在于防止电源接反,可能会对SPY0029和SPCE061A造成的损坏。在电源模块(61板上)中有个端口电平选择跳线,如图中的J5,但是为了本系统可以可靠的工作,需要给61板外接5V的电源,即选择DC5V稳压电源供电供电方式,将J5 用跳线帽将V5 和VDDH 短接即可给给61板外接5V的电源。下图为61 板上的电源模块图。 图5-5 61板上的电源模块由于本系统需要的端口高电平为5V,所以图 5.5当中的J5 跳线需要跳到1 和2 上。5.6 放音模块语音提示模块主要是利用SPCE061A内部的音频输出电路实现,如图5-6所示,J3是语音输出接口,一个2pin的插针外接喇叭,由DAC输出引脚1或2经语音集成放大器SPY0030放大,电路中SPY0030的放大倍数被固定为20倍,然后输出。图中的SPY0030是凌阳的一款音频放大芯片,相当于LM386,但是比LM386音质好。图5-6 放音模块电路图5.7 超声波测距模组5.7.1 超声波谐振频率调理电路工作过程是由单片机产生40KHz的方波,并通过模组接口(J8)送到模组的CD4049,而后面的CD4049则对40KHz频率信号进行调理;以使超声波传感器产生谐振,其中CD4049为六反相缓冲/变换器,电路如图5-7所示。图5-7 超声波谐振频率调理电路5.7.2 超声波回波接收处理电路超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压为LM311的COM-line管脚处,可由J1跳线选择不同的比较电压以选择不同的测距模式,电路如下图5-8所示。图5-8 超声波回波接收处理电路其中NE5532是高性能低噪声运放,与很多标准运放相似,它具有较好的噪声性能,优良的输出驱动能力以及相当高的小信号与电源带宽。NE5532主要应用再放大电路中,对信号进行放大。5.7.3 超声波测距模组电源接口J9 为超声波测距模组的外部电源接口,最高电压不要超过 12V,J7为电源选择跳线,VCC_5 即为由61 板通过10PIN排线引入模组的电源;VCC 即为模组的放大器、调理电路供电电源。当用户使用61 板为其供电时,要把VCC 与VCC_5V短接(本方案的用法);而使用外部电源时,要把VCC 与VCC_IN 短接。电路如下图5-9 所示。图5-9 超声波测距模组电源接口5.7.4 超声波测距模式选择跳线模组提供了测距模式选择跳线J1,可以选择短距测量模式、中距测量模式,或距离可调模式。跳线选择LOW时,为近距测量模式,选择HIG时,为中距测量模式;选择SET时,为距离可调模式。本方案采用短距的测距模式即可,即将J1跳线跳到LOW端,电路如下图5-10所示。图5-10 超声波测距模式选择跳线5.7.5 超声波测距模组V2.0接口本方案采用的三个超声波测距模组都是利用其J8接口,每个模组接出两个控制、检测端口,然后会通过CD4052模拟开关进行选通,所以在实际使用当中,是分时地对每一个模组进行操作。超声波测距模组的J8接口如图5-11所示,图中的VCC_5在本方案当中由61板供电,即5V。图5-11 超声波测距模组接口5.8 显示电路本方案的显示电路较为简单,直接使用三个I/O口控制三个发光二极管,其中D1指示右后方,D2指示正后方,D3指示左后方,分别由SPCE061A的IOA8,IOA9,IOA10控制,图5-12为显示电路图。 图5-12 显示电路5.9 转接板电路前面已简单介绍了转接板的作用了,这里介绍一下它的原理图,如图5-13所示。图中J1直接与61板的J6相接,即与61板的IOB口低八位接口相接,可知图中的VCC为61板供电,而A0和A1分别接SPCE061A的IOB0和IOB1,以控制CD4052的两个地址位,以控制通道的选通,IOB2接PLUS_B作为回波信号的检测输入,不过,经过CD4052的选通,接到哪一模组,由IOB0和IOB1的输出决定,同样COM_EN为超声波测距模组的信号发射使能控制,接到SPCE061A D的IOB3。图5-13 转接板电路原理图CD4052的另一端,接出COM_EN1/2/3分别接三个模组发射使能,另外还用三个10K的电阻下拉到底,以保证没由选通的模组发射出超声波信号。J2、J3、J4分别接三个超声波测距模组的J8接口。6 系统软件设计6.1 软件实现原理SPCE061单片机及其开发应用系统具有语言简洁、可移植性好、表达能力强、可进行结构化设计的特点以及可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。该系统的主程序处于键控循环的工作方式,当驾驶员将手柄转到倒车档时,主程序开始调用测量子程序、显示子程序和语音提示子程序,完成整个检测的提示过程,其中最为关键的是超声波测距原理。6.2 超声波测距原理6.2.1 超声波脉冲法测距原理12声波在其传播介质中为纵波传播。当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声波到目标的距离。这就是本系统的测量原理。这里声波传播的介质为空气,采用不可见的超声波。假设室温下声波在空气中的传播速度是335.5m/s,测量得到的声波从声源到达目标然后返回声源的时间是t秒,距离d可以由下列公式计算:d=33550(cm/s)t(s)5因为声波经过的距离是声源与目标之间距离的两倍,所以声源与目标之间的距离应该是d/2。6.2.2 超声波测距模组信号图6-1为超声波模组上NE5532的7引脚处和模组的J4的40KHz_SEND引脚上测量的波形图,而传感器距目标面的距离为2米。图6-1 超声波信号测量图图中的波形为示波器抓拍图,1通道为NE5532的7引脚处测得波形,即上方的波形;通道2为J4的40KHz_SEND引脚上测得波形。图中可见,接收回路中测得的超声波信号共有两个波束,第一个波束为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续一段时间。另一个波束为有效信号,即经过被测物表面反射的回波信号。超声波测距时,需要测的是开始发射到接收到信号的时间差,在上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号,这也是超声波检测中存在最小测量盲区的主要原因。6.2.2 软件控制脉冲发射、检测回波信号模组配套的Demo程序采用的是脉冲测量法,由SPCE061A控制模组发生40KHz的脉冲信号,每次测量发射的脉冲数至少要12个完整的40KHz脉冲。同时发射信号前要打开计数器,进行计时;等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲)。接收到回波信号后,马上读取计数器中的数值,此数据即为需要测量的时间差数据。为避免测量数据的误差,Demo程序中对测距数据的处理方法是:每进行一次测距,测量多次,即取得多组数据,经过处理后得到这一次测距值。6.3 软件架构本设计的软件系统主要包含下列模块:主程序:主控程序负责控制整个系统的工作流程。超声波测距程序:负责超声波测距的控制、结果计算等,另外有部分代码在中断服务程序当中,主要代码在ultrasonic_App.c以及IRQ.c文件。语音播放程序:语音播放控制,主要代码在Speech.h,而语音中断服务程序在isr.asm文件中,但为了使语音播放程序在初始化时不影响用户的其它中断,在isr.asm当中还有一个中断初始化程序。中断程序:主要指IRQ.c文件,包括超声波测距的中断服务代码,以及用于显示刷新的IRQ4中断服务程序。系统程序:主要指system.c文件,包含系统端口初始化、测量结果处理、以及显示刷新程序。6.4 各模块程序设计与说明6.4.1 主程序由于很多处理操作在中断当中完成了,所以本方案的主程序并不复杂,图6-2为本设计的主程序流程图。图中,系统使用的中断主要指IRQ4的1KHz中断,而测量通道选择即通过I/O端口选通CD4052的通道,以决定当前的测量是对哪一个超声波测距模组。通过主程序流程图可以看出,系统是在不断的对三种超声波测距模组进行测距操作,并将每次测距的结果进行处理,以更新对应的LED显示频率设置,以及在符合要求的条件下进行语音提示播放。开始初始化超声波测距初始化系统端口延时20ms初始化系统使用的中断测量通道选择(ch)测量通道号数清零ch=0ch2?针对当前通道进行一次测距测距结果处理程序调用测量通道号数自加1 ch+图6-2 主程序流程图6.4.2 测距结果处理程序通过主程序流程图可看出,系统是在不断的对三组超声波测距模组进行测距操作,并将每次测距的结果进行处理,以更新对应的LED显示频率设置,以及在符合要求的条件下进行语音提示播放。在测距结果处理程序当中,系统会针对每一个通道的测距结果进行判断、处理;当某一通道的测距结果大于1.5m时,则让对应的LED保持灭的状态,并将该通道的显示频率设置数据设为0;当测距结果小于1.5m时,则设置对应的显示频率设置数据,数据的大小与测量的结果按一定比例成正比即可。图6-3为测距结果处理程序。图中,后方、左后方以及右后方,表示的是三个不同通道的超声波测距模组所测量的区域。播放:“左后方”开始播放:“后方”将测距结果换算为对应频率设置数据返回当前通道测距结果1.5m?正后方1.5m或左后和右后方1.5m左后方1.5m右后方1.5m处理。当测距结果处理程序会对当前的三组超声波测距模组所探测到的障碍物的距离进行判断,当有某一组或者一组以上的模组探测到障碍物在0.351.5m的范围内时,会进行语音提示的播放。6.4.3 超声波测距程序14用户需要先调用模组接口初始化函数void Initial_ult(void),再调用该函数unsigned int measure_ult(unsigned int type)即可进行一次测距操作,函数返回值为测量结果。在单次测距函数当中,进入该函数进行测距,都会利用TimerB生成近似40KHz的波形,通过IOB9口输出,而这样的波形输出仅会持续0.5毫秒左右(实际上保证发送出去的40KHz脉冲信号超过二十个以上,具体的时长或个数由测距模式定),然后将TimerB设置为计数器模式,用来计量超声波从发射到接收的时间间隔长度,并启动TimerB的计时;当TimerB计时达到一定值时(具体的时间值由测距模式定)打开EXT1外部中断,等待回波反射的接收。当EXT1外部中断检测到回波信号的脉冲时,会在中断服务程序当中读取TimerB的计数值,并通过全局变量通知单次测距函数已接收到回波信号,以及所读取的当次计数值。超声波测距的功能函数流程图为图6-4所示。返回开始接收到回波信号与否?EXT1_IRO_flag=1?测距是否完成?Exit_flag=1?Type=1?本次测距是否超时?取中距测距模式的设置参数设置TimerB产生40KHz波形延时保证发射的脉冲数足够设置TimerB,用于计时等待一定的防余波干扰延时处理测距结果:Exit_flag=0打开EXT1外部中断取短距测距模式的设置参数进行一次补充测距并处理结果;Exit_flag=0图6-4 超声波测距子函数流程图16Hz的实际中断处理程序里,主要检查上次测量是否超时,若超时便会转到超时处理程序,然后进行下一次测量的启动,及再一次发送40KHz方波脉冲。函数返回值为测量结果。每一次测距要进行四次测量,这四次的测量结果需要经过处理后才可得到最终的测距返回值,而四次测量的控制以及测量结果的处理都是在这个函数中完成的,具体的处理方法:每一次测距中的四次测量的间隔时间用 16Hz的时基中断来控制;每一次测量,先发射 20 个 40KHz脉冲(参见 16Hz中断) ,然后使能测量时间基准计数器(本方案当中使用图TimerB) ,当计数到预设延时后,打开EXT1 外部中断,等待回波反射到接收头。四次测量全部完成后,再对测量的结果进行处理、换算。图 6-5为 16Hz中断处理流程图。超时出错处理启动一次新的测量开始返回判断上一次测量是否超时图6-5 16Hz中断处理流程图当回波触发控制器的外部中断后,程序会转到EXT1外部中断服务子程序中,读取测量结果,并作数据的初步处理,其中等待预设延时的原因:压电式的电声传感器存在余波干扰,而有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号,EXT1流程图为图6-6所示。开始关外部中断EXT1部分标识清零读取本次测量值存入缓存,并进行初步数据处理返回图6-6 EXT1外部中断流程图6.4. 4 语音播放程序全方案采用A2000的语音压缩算法11,播放A2000格式的语音资源,作为语音提示的功能;为了让系统在语音播放期间,其它的中断能照常工作;因此在每一次语音播放前,进行中断的初始化操作,实际上是利用了SACM语音库当中使用到的一个中断设置变量:R_InterruptStatus。该变量在语音库支持文件:hardware.asm当中定义;每次进行语音播放的初始化操作时,语音库当中会从该变量读取之前用户设置的中断,并以此为基础设置语音库进行语音播放所需要打开的中断。所以,中断的初始化操作,也就是将当前中户的中断设置情况写入变量:R_InterruptStatus当中即可。另外,为了防止语音播报过于频繁,本方案采用2Hz时基进行计数,每次播放语音提示前,先判断距离上一次语音提示的播放是否超过3秒(即2Hz中断当中计数6次以上)?如超过则可以进行这次的播放,如果不符合要求,则退出。语音播放程序还需要在FIQ的TimerA中断当中,调用语音播放的中断服务程序,由于比较简单,可以查看相关的试验指导书。图6-7为语音播放流程图。开始返回2Hz中断是否大于6?2Hz中断计数器清零打开2Hz时基中断用户中断初始化(即保存当前中断设置)语音播放初始化当前是否播放结束?语音播放服务程序停止语音播放图6-7 语音播放程序流程图IRQ5的2Hz中断服务程序当中,对一个用于计数(时)的变量进行累加,以配合语音播放程序当中对两次播放的时间间隔的判断。为了避免出现不断累加,而溢出清零,在中断服务程序当中加入了限制,即当计数的变量计数值大于6(即超过了3秒),则关闭IRQ5的2Hz中断;等待下次播放语音时再打开2Hz中断,2Hz中断服务程序的流程图如图6-8所示。IRQ5 2Hz中断计数变量自加1计数变量是否大于6?关闭IRQ5的2Hz中断清中断标志位返回图6-8 IRQ5的2Hz中断服务程序另外,语音播放程序还需要在FIQ的TimerA中断当中,调用语音播放的中断服务程序。6.4.5 显示刷新程序本方案使用IOA8、IOA9、IOA10三个端口控制三个发光二极管(LED)作为显示,每一个LED对应一个超声波测距模组,当探测到0.351.5m的范围内没有障碍物时,对应的LED是常灭的;当探测到0.351.5m的范围内有障碍物时,对应的LED则以一定频率闪烁,而且距离越近则闪烁的频率越高。系统以IRQ4的1KHz中断对显示进行扫描,并设置有三个变量保存对应传感器模组的频率设置数据,即Show_Freq_Set0、Show_Freq_Set1、Show_Freq_Set2。当频率设置数据的值为0时,系统则不对对应的LED进行显示翻转,则对应的LED不会闪烁;此外,系统还定义有三个变量(Show_Counter_1KHzx, x=02)作为1KHz的计数器,对应用个LED,而当频率设置数据不为0时,计数器会不断地计数(以1KHz),当计数器的计数值累加到与频率设置数据一样时,则会使对应的LED显示状态进行输出翻转,并对计数器进行清零,周而复始。由此可知,当频率设置数据非零时,该数据越小,则对应LED的闪烁频率越高,图6-9为在IRQ4的1KHz中断程序当中调用的显示刷新程序流程图。开始Show_Freq_Set0=0?Show_Counter_1KHz0+Show_Counter_1KHz0Show_Freq_Set0?对应端口状态翻转Show_Counter_1KHz0=0返回图6-9 显示刷新程序7 系统测试与仿真本设计的所有程序都已经通过了凌阳公司的IDE软件仿真,实现了所有的设计要求。程序的执行效率也比较高。其中包括了主程序、超声波测距程序、语音播放程序、中断程序、系统程序。通过凌阳公司的程序烧录器把程序写入到SPCE061A芯片中执行硬件测试,得到的结果也 基本满足要求。在测试过程中,使用了座椅作为障碍物,当座椅靠近超声波传感器距离为1.4m时语音系统开始播放声音警告,同时相对应方向上的LED发光二极管也开始闪烁。把座椅逐渐靠近超声波传感器时,语音不断反复提示,LED发光二极管也开始加快频率闪烁。当座椅与超声波传感器距离达到0.4m时,语音不再发声提示,LED发光二极管也不再继续闪烁。通过软件和硬件的测试,所有功能都满足要求。但是在测试障碍物距离上与要求有一定的误差,通过比较是元器件的质量问题,属于正常范围。8 总结本课题的主要研究内容是倒车雷达预警系统的设计和实现,倒车雷达预警系统主要是针对汽车倒车时人无法目测到车尾的障碍物体而设计开发的。系统融合应用了计算机技术、超声波测距技术、控制理论等多学科技术和理论,可以有效显示障碍物与汽车的距离,并根据其距离远近
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江五大连池风景区初级中学招聘公益性岗位3人考试笔试备考题库及答案解析
- 2025-2026学年新疆政法学院春季学期授课型兼职教师招聘考试笔试模拟试题及答案解析
- 2025年村居后备干部参考考试题库及参考答案
- 2025年漯河市临颖县辅警招聘考试题库附答案解析
- 2026中国储备粮管理集团有限公司贵州分公司招聘2人考试笔试备考试题及答案解析
- 2025年云南省红河州金平县保安员招聘考试题库附答案解析
- 2025内蒙古呼和浩特迎新路东社区卫生服务中心招聘工作人员2人考试笔试备考试题及答案解析
- 浙江省杭州市西湖区2024-2025学年九年级上学期期末语文试题(含答案)
- 2025浙江台州温岭市人力资源和社会保障局公益性岗位招聘1人考试笔试模拟试题及答案解析
- 2025河南省体育局局属事业单位招聘教练员7人考试笔试模拟试题及答案解析
- 2025年城市污水处理厂智能化改造项目可行性研究报告
- 垂直大模型项目实施方案
- 2025精神麻醉药品处方权考试(试题及答案)
- 装载机安全作业培训课件
- 全国大学生职业规划大赛《新能源汽车技术》专业生涯发展展示【高职(专科)】
- 2023年贵州贵州贵安发展集团有限公司招聘考试真题及答案详解(各地真题)
- 基础水彩画课件
- 全球降龙涎香醚行业供应前景及未来趋势展望报告
- 数学学习障碍干预-洞察及研究
- BOPP项目可行性研究报告
- 监理计划书保修阶段监理规划
评论
0/150
提交评论