汽车倒车雷达电路设计毕业作品Word文档下载推荐.docx
《汽车倒车雷达电路设计毕业作品Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《汽车倒车雷达电路设计毕业作品Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
![汽车倒车雷达电路设计毕业作品Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/5/0bb6804e-4924-400a-816e-6e8b0444cb03/0bb6804e-4924-400a-816e-6e8b0444cb031.gif)
ultrasonicranging;
SPCE061A;
voiceprompts
1引言
随着人民生活水平的提高,汽车走进了千家万户。
倒车雷达逐渐成为购车时的必要参考,因此设计一款性价比出众的倒车雷达将对汽车行业的发展起到一定的推动作用。
倒车雷达由超声波传感器、控制器和显示器等部分组成。
它能以声音或者更为直观的显示告知驾驶员周围障碍物的情况。
由显示器显示距离并发出其他警示信号,得到及时警示,使倒车变得更加轻松安全。
液晶、语言和声音是倒车雷达的三种提示方式,接收方式有无线传输和有线传输等[1]。
本方案采用语音提示的方式,利用SPCE061A单片机自带的语音芯片,外接三个超声波测距模组,可具备以下功能:
1.用三个LED发光二极管表示三个传感器探测范围内是否有障碍物,当在探测范围内有障碍物出现时,发光二极管会以一定频率闪烁,闪烁的频率由距离而定,距离越近则闪烁的频率越高。
2.语音提示模组探测范围内(0.37m~1.5m)的障碍物,并指明障碍物在哪一个方位。
本方案所有的语音资源、程序代码都存放在SPCE061A片内Flash当中;
当检测到中间的传感器探测范围内有障碍物时,语音播放:
“后方”。
若检测到左后方有障碍物,则会用语音播放:
“左后方”,如右后方有障碍物,则语音播放“右后方”,连续播放提示的间隔,大于或等于3秒,以免产生频繁播报。
2核心元件简介
本系统采用SPCE061A单片机作为主控制器,传感器模块采用凌阳的超声波测距模组。
为了使这三个传感器模块能够组合在一起,并且有效的工作,还需要连接一快转接板(利用CD4052模拟开关器件制作),并外接三个发光二极管。
下面具体介绍这些模块的特性。
2.1SPCE061A芯片特性
2.1.1SPCE061A简介
图2.1为SPCE061A内部结构图,SPCE061A是凌阳科技研发生产的一款十六位单片机,具有一套易学易用、效率高的指令系统和集成开发环境。
支持C语言,可以实现C语言与凌阳汇编语言的相互调用,并且,提供了语音录放和语音识别的库函数,只要了解库函数的使用,就可以很容易完成语音录放,这些都为软件的开发提供了有利的条件:
SPCE061A片内还集成了一个ICE,即在线仿真电路接口,使得对该芯片的编程、仿真都变得非常方便,而ICE接口不占用芯片上的硬件资源,在集成开发环境下,用户可以利用它对芯片进行仿真,同时程序的下载也是通过该接口实现[2]。
2.2SPCE061A精简开发板
SPCE061A精简开发板,是以凌阳16位单片机SPCE061A为核心的精简开发仿真实验板,61板除了具备单片机最小系统电路外,还包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便随身携带。
61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器,简易下载线,可方便地在板上实现程序的下载、在线仿真调试。
图2.1SPCE061A内部结构图
61板上的主要功能模块如下:
SPCE061A单片机最小系统外围电路模块;
电源输入模块;
音频电路(包含MIC输入、DAC音频功放输出)模块;
按键模块;
I/O端口接口模块;
调试、下载接口模块。
图2.2为61板的实物图:
图2.261板实物图
2.3超声波测距模组
超声波测距模组可以方便地和61板连接,可应用于短距离测距、障碍物检测等方面,可用在验证汽车倒车雷达的应用方案。
图2.3为超声波测距模组的结构图:
图2.3超声波测距模组结构图
实现功能:
三种测距模式选择跳线J1(短距、中距、可调距):
1.短距:
10cm~80cm左右。
2.中距:
80cm~400cm左右。
3.可调:
范围由可调节参数确定。
使用方法:
应用时,用10PIN排线把J5与SPCE061A的IOB低八位接口接起,J4与高八位端口连接,同时设置好J1、J2跳线就可完成硬件的连接。
不同测距模式的选择只需改变测距模式跳线J1的连接方法即可。
提供给模组的电源电压必须在4.5V以上,并且保持电压的稳定。
模组工作性能的好坏与被测物材料有很大关系,如布料、毛料对超声波的反射率很小,会严重影响测量结果。
电源输入:
模组提供了两种电源输入方式,一种是61板通过10PIN排线为模组供电(61板上J5选择5V),此时把J2跳到5V的一端;
另一种是直接为模组供电,通过模组上的电源输入口J3引入,把J2跳线跳到IN的一端。
外接电源仅是为了给模组提高超声波发射功率、提高后级运放性能用,最高不要超过12V。
模组外接电源接口(J3)以及供电方式选择跳线(J2)如图2.4所示:
测距模式选择:
超声波测距时,存在余波干扰问题,针对不同测距范围有不同的处理方法。
模组提供了测距模式选择跳线(J1),可以选择短距测量模式、中距测量模式,或距离可调模式。
而针对前两种测量模式,提供了不同参数的范例程序,跳线选择不同模式时,会选用相对应的程序进行测量;
跳线选择LOW时为近距测量模式,选择HIGH时为中距测量模式,选择SET时为距离可调模式;
如果用户对超声波测量原理有较深的了解,可以选用距离可调模式。
模组测距模式(测量距离范围)选择跳线J1如图2.5所示。
使用时,把前面的电源输入跳线J2,模式选择跳线J1设置好后,然后利用排线把J4与SPCE061A的IOB口高八位端口相接,J5与低八位端口连接即可使用。
J4和J5的接口定义如图2.6所示。
图2.4模组外接电源接口及供电方式选择跳线
2.4转接板
为了更加可靠的实现硬件的连接,本方案需要使用一块CD4052模拟开关制作的转接板。
超声波测距模组在使用时,只需要两个端口就可以测距,一个控制超声波的发射,一个检测超声波的接收信号;
而在超声波测距模组中,这两个信号都为数字信号,对模拟开关的要求并不严格,因此选用CD4052作为模拟开关器件。
CD4052相当于一个双刀四掷开关,开关接通哪一通道,由输入的2位地址码A1、A0来决定(真值表见下表)[3]。
其中“/E”是禁止端,当“/E”=1时,各通道均不接通。
此外,CD4052还设有另一个电源端VEE,可作为电平位移时使用,从而使得在单组电源供电工作下的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰峰值达15V的交流信号。
例如当模拟开关的供电电源VDD=+5V,VSS=0V,VEE=-5V时,只要对此模拟开关施加0~5V的数字控制信号,就可控制幅度范围为-5V~+5V的模拟信号。
表2.1为CD4052的真值表,图2.7为CD4052的引脚图。
图2.5模组测距模式选择跳线
图2.6J4和J5接口示意图
表2.1CD4052的真值表
INPUTS
CHANNEL
ON
A1
A0
L
H
X
Y0A-ZA:
Y0B-ZB
Y1A-ZA:
Y1B-ZB
Y2A-ZA:
Y2B-ZB
Y3A-ZA:
Y3B-ZB
none
图2.7CD4052的引脚图
3总体设计方案
本系统以SPCE061A为核心,三个超声波测距模组依次排布,组成线阵的传感器阵列;
另外,接有转接板、发光二极管的显示模块。
系统组成以图3.1所示:
图3.1系统硬件结构图
SPCE061A单片机作为主控芯片,通过I/O端口来控制CD4052,以选择不同的传感器通道。
其中IOB0和IOB1控制CD4052的A0和A1,IOB2作为检测超声波模组返回的信号,IOB3作为控制超声波模组发射超声波信号的控制端口。
这样通过CD4052的通道切换,就可以利用较少的端口来完成多个模组的切换使用。
另外,超声波测距模组采用的是脉冲测量法,实质是测量发射超声波的时刻与接收到反射回波信号的时刻之间的时差,利用超声波在空气中传播速度已知的条件,计算出被测目标与传感器之间的距离。
为了保证测量的可靠性,检测回波信号时,采用SPCE061A的外部中断对回波的上升沿进行检测,而且利用定时器进行计时。
在显示控制方面,系统分别利用IOA8、IOA9、IOA10三个端口控制三个发光二极管[4]。
4硬件设计
4.1SPCE061A精简开发板电路原理
4.1.1SPCE061A最小系统
SPCE061A最小系统包括SPCE061A芯片及其外围基本模块,其中外围基本模块有:
晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图4.1所示:
图4.1SPCEA061A最小系统
4.1.2电源模块
SPCE061A的内核供电为3.3V,I/O端口可接3.3V也可以接5V,所以在电源模块(61板上)中有一个端口电平选择跳线,如图4.2中的J5,为了系统可靠的工作,需要给61板外接5V的电源,并将61板的端口电平选择为5V,即J5用跳线帽将V5和VDDH短接。
下图为61板上的电源模块图。
图4.2电源模块
由于本系统需要的端口高电平为5V,所以图4.2当中的J5跳线需要跳到1和2上。
4.1.3放音模块
即语音提示,放音利用的是SPCE061A内部的DAC,电路如图4.3所示。
图中的SPY0030是凌阳公司的产品。
图中的SPY0030仅需2.4V(两颗电池)即可工作,输出功率约700mw。
图4.3放音模块电路图
4.2超声波测距模组电路原理
4.2.1超声波谐振频率调理电路
由单片机产生40KHZ的方波,并通过模组接口(J4)送至模组的CD4049,CD4049对40KHZ的频率进行调理,使超声波传感器产生谐振[5]。
电路如图4.4所示:
图4.4超声波谐振频率调理电路
4.2.2超声波回波接受处理电路
超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大。
后级采用LM311比较器对接收信号进行调整,比较电压在LM311的3管脚处,可由J1跳线选择不同的比较电压以选择不同的测距模式。
在放大器与比较器之间用PNP三极管作为通路选择,将此通路选择跳线短接上,即把J2短接,使三极管导通即可[6]。
图4.5超声波回波接受处理电路
4.2.3超声波测距模组电源接口
J3为超声波测距模组的外部电源接口,最高电压不能超过12V,J2为电源选择跳线,VCC_5即61板通过10PIN排线引入模组的电源;
VCC为模组的放大器、调谐电路供电电源。
当使用61板为其供电时,要把VCC与VCC_5V短接,而使用外部电源时要把VCC与VCC_IN进行短接。
图4.6外部单独电源输入接口及选择跳线
4.2.4超声波测距模式选择跳线
模组提供了测距模式选择跳线J1,可供选择短距测量模式、中距测量模式,以及距离可调模式。
跳线选择LOW时为近距测量模式,选择HIGH时为中距测量模式;
选择SET时为距离可调模式。
本方案采用可调方式,即选择SET的模式,并将调节模组上的电位器,将比较电压调至3.2~3.5V(保证模组测距能在0.35~1.5M的范围都能正常工作即可)。
图4.7测距模式选择跳线
4.2.5超声波测距模组接口
本方案采用的三个超声波测距模组都是利用接口J4、J5,每个模组接出两个控制、检测端口,然后通过CD4052模拟开关进行选通,在实际使用过程中,是分时地对每一个模组进行操作。
超声波测距模组的J4、J5接口如所图4.8示。
图中的VCC_5在本方案当中由61板供电,电压5V。
图4.8超声波测距模组接口
4.3转接板电路
前面已经简单介绍了转接板的作用,下面介绍一下它的原理图,如图4.9所示。
图4.9转接板电路原理
图中J1直接与61板的J6相接,即与61板的IOB口低八位接口相接,可知图中的VDD为61板供电,电压为5V。
而A0和A1分别接SPCE061A的IOB0和IOB1,以控制CD4052的两个地址位,即控制通道的选通。
IOB2接PLUS_B,作为回波信号的检测输入,不过经过CD4052的选通,接到哪一个模组,由IOB0和IOB1的输出决定。
同样COM_EN为超声波测距模组的信号发射控制,接到SPCE061A的IOB3。
CD4052的另外一端,接出COM_EN1/2/3,可分别接三个模组的发射使能,另外还用三个10K的电阻接地,以保证未选通的模组不会发射超声波信号。
J3、J4为一组,接一个超声波模组板上的J4、J5接口;
而转接板上的J5、J6、J7、J8分别对应另外两个模组[7]。
4.4显示电路
本设计采用发光二极管显示,发光二极管简称LED,其内部结构为一个PN结,具有单向导电性。
显示电路采用三个I/O口控制三个发光二极管。
如图4.10所示:
图4.10显示电路
5软件设计
5.1超声波测距原理
超声波测距原理一般采用渡越时间法即:
D=ct/2。
式中,D为待测距离,c为超声波在空气中的传播速度,t为超声波从发射到接收到回波的时间间隔,可由单片机计脉冲个数的方法实现。
c可视为常数(通常取c=340m/s),从而就可计算出超声波探头与障碍物的距离[8]。
单片机控制产生40kHz的脉冲串送到驱动电路以驱动超声波探头发送超声波,回波信号经接收电路、放大滤波整形电路后再送入单片机,由单片机计算的数据用于显示和声音警示。
超声波测距模组信号:
图5.1为超声波模组上三极管Q1的集电极处测量的波形图,此时J2跳线短接,使Q1始终导通,而传感器距目标面的距离为2米。
图5.1超声波信号测量图
图中的波形为示波器抓拍图,其中通道1为Q1集电极测得的波形,即上方的波形,通道2为发射端测得的波形。
从图中可知,接收回路中测得的超声波信号共有两个波束,第一个波束为余波信号,即超声波接收头在发射头发射信号(一组40KHz的脉冲)后,马上就接收到了超声波信号,并持续了一段时间。
另一个波束为有效信号,即经过被测物表面反射的回波信号。
超声波测距时,需要测的是从开始发射到接收到信号的时间差,在上图中就可看出,需要检测的有效信号为反射物反射的回波信号,所以要尽量避免检测到余波信号。
软件控制脉冲发射、检测回波信号:
程序设计时采用脉冲测量法,由SPCE061A控制模组发生40KHz的脉冲信号,每次测量发射的脉冲数至少为12个完整的40KHz脉冲。
发射信号前要打开计数器,进行计时。
等计时到达一定值后再开启检测回波信号,以避免余波信号的干扰。
采用外部中断对回波信号进行检测(回波信号送到单片机的为一序列方波脉冲)。
接收到回波信号后,马上读取计数器中的数值,此数据即为要测量的时间差数据。
为避免测量数据的误差,程序中对测距数据的处理方法是:
每进行一次测距,利用时基中断测量4次,即取得4组数据,经过处理后得到此次测距值。
5.2软件结构
本方案的软件系统主要包括以下几个模块:
1.主程序:
主控程序负责控制整个系统的工作流程。
2.超声波测距程序:
负责超声波测距的控制、结果计算等,另外有部分代码在中断服务程序中,主要码在UserFunction.c和IntDocument.c文件。
3.语音播放程序:
语音播放控制,主要代码在Speech.h,而语音中断服务程序在isr.asm文件中,为了使语音播放程序在初始化时不影响用户的其它中断,在isr.asm中还有一个中断初始化程序。
4.中断程序:
主要指IntDocument.c文件,包括超声波测距的中断服务代码,以及用于显示刷新的IRQ4中断服务程序。
5.系统程序:
主要指system.c文件,包含系统端口初始化、测量结果处理、以及显示刷新程序。
5.3各模块程序说明
5.3.1超声波测距程序
测距控制程序Demo程序中,超声波测距的功能函数流程图详见图5.3。
用户需要先调用测距初始化函数InitMeasure(),再调用该函数BeginMeasure()就可进行一次测距操作,函数返回值为测量结果。
每一次测距要进行四次测量,四次的测量结果经过处理后才可得到最终的返回值,而四次测量的控制以及测量结果的处理都是在这个函数中完成的,具体的处理方法如下:
每一次测距中的四次测量的间隔时间用16Hz的时基中断来控制;
每一次测量,先发射20个40KHz脉冲,然后使能测量时间基准计数器,当计数到4ms时,打开EXTI外部中断,等待回波反射到接收头。
四次测量全部完成后,再对测量的结果进行处理,用户可以根据不同的应用对数据处理部分的程序作适当的调整[9]。
其中等待4ms的原因:
压电式的电声传感器存在余波干扰,有部份声波会沿电路板直接传到接收头,经接收电路的放大后,系统就有可能把它误认为是反射回来的回波信号。
16Hz时基中断处理程序:
16Hz的时基中断处理程序里,主要进行检查上次测量是否超时,若超时便会转到超时处理程序,然后进行下一次的测量启动,即再次发送20个40KHz方波脉冲,流程图见图5.4所示:
图5.3超声波测距子函数流程图
图5.416Hz中断流程图
外部中断程序:
当回波触发控制器的外部中断后,程序会转到EXTI外部中断服务子程序中,读取测量结果,并作数据的初步处理,流程图见图5.5EXTI外部中断流程图[10]。
5.3.2语音播放程序
全方案采用A2000的语音压缩算法,播放A2000格式的语音资源,作为语音提示的功能;
为了让系统在语音播放期间,其它的中断依旧能照常工作;
因此在每一次语音播放前,进行中断的初始化操作,实际上是利用了SACM语音库当中使用到的一个中断设置变量,即R_InterruptStatus。
该变量在语音库支持文件hardware.asm当中定义;
每次进行语音播放的初始化操作时,语音库当中会从该变量读取之前用户设置的中断,并以此为基础设置语音库进行语音播放所需要打开的中断。
所以,中断的初始化操作,也就是将当前中户的中断设置情况写入变量:
R_InterruptStatus当中即可。
图5.5EXTI外部中断流程图
为了防止语音播报过于频繁,本方案采用2Hz时基进行计数,每次播放语音提示前,先判断距离上一次语音提示的播放是否超过3秒(即2Hz中断当中计数6次以上)如超过则可以进行这次的播放,如果为符合要求,则退出操作。
图5.6为语音播放程序的流程图。
5.3.3显示刷新程序
本方案使用IOA8、IOA9、IOA10三个端口控制三个发光二极管(LED)作为显示,每一个LED对应一个超声波测距模组,当探测到0.37m~1.5m的范围内没有障碍物时,对应的LED是灭的。
当探测到0.37m~1.5的范围内有障碍物时,对应的LED会以一定的频率闪烁,距离越近闪烁的频率越高。
系统以IRQ4的1KHz中断对显示进行扫描,并设置有三个变量保存对应传感器模组的频率设置数据,即Show_Freq_Set[0]、Show_Freq_Set[1]、Show_Freq_Set[2]。
当频率设置数据的值为0时,系统不对对应的LED进行显示翻转,对应的LED不会闪烁;
此外,系统还定义有三个变量(Show_Counter_1KHz[x],x=0~2)作为1KHz的计数器,对应每个LED,而当频率设置数据不为0时,计数器会不断地计数(以1KHz),当计数器的计数值累加到与频率设置数据一样时,则会使对应的LED显示状态进行输出翻转,并对计数器进行清零,周而复始。
由此可知,当频率设置数据非零时,该数据越小,则对应LED的闪烁频率越高。
图5.7为在IRQ4的1KHz中断程序当中调用的显示刷新程序流程图。
图5.6语音播放程序流程图
图5.7显示刷新程序
5.3.4主程序
由于很多处理操作在中断当中完成了,所以本方案的主程序并不复杂,图5.8为本方案的