前言
汽车倒车防碰撞系统是一种辅助汽车泊车装置。低配的由超声波收发电路、回波放大电路、语音提示电路、数码显示、报警及温度补偿电路组成,高配的有时会带有后视视频系统。[1]
一、工作原理
如下图在汽车的尾部安装4个超声波探头,倒车时,采用往返时间测量法测量汽车尾部到障碍物的距离,通过数码管实时显示距离,当车尾部的超声波探头与障碍物的距离小于设定值的安全值时,通过蜂鸣器报警提示驾驶员。
这里测距一般采用4路超声波传感器分时隙工作,采用往返时间测量法测距,测距原理是当汽车进行倒车时,防碰撞系统开始工作,单片机产生一串40KHz的矩形波,经4选1模拟开关按时序分别向4路超声波探头传给发射电路,通过超声波换能器发射超声波,同时开启计数器计数,超声波传至障碍物后反射,反射回来部分超声波被超声波换能器接收并转换成电信号,再经过接收电路滤波、放大、整形后,触发单片机外部中断,产生中断,计数器停止计数,测出超声波发射脉冲串到接收回波信号的时间差 t,并根据超声波在空气中传播的速度v,得出被测距离:
S=vt/2
由于声速会受到环境温度的影响,温度与声速的关系为:
v≈v0+0.607T
式中:v0=332m/s为0℃时的声波速度;T为当前的环境温度。因此只需要通过温度传感器测出T即可得到S的修正值。通过比较选取的4路信号中的最短距离进行显示,当显示值小于设定警报值时,单片机控制蜂鸣器发出报警声音,随着距离越来越近,报警声音频率越大,同时显示部分两侧的条形数码管显示条数量增加以表示危险级别。最大测量距离与超声波传感器性能、驱动电路、回波放大电路等因素相关。
二、主要模块介绍
系统主要模块包括:显示模块、语音报警和四探头测距模块(MCU负责整体逻辑协调、温度测量可采用数字式也可采用热敏电阻、蜂鸣器报警可以直接由MCU控制)。此外显示模块设计没有难点,如果为了追求绚丽可以考虑采用TFT屏;语音模块这里引入一个API8108A语音芯片介绍、测距先简单介绍几种方案(后面会细讲)。
三、具体模块详解
API8108A、API8108A(一次性编程语音系列)[2]
>_<: (介绍)10、20秒多功能可编程语音电路是采用大规模CMOS芯片技术制造的最新ASIC专用语音电路。它们内部包含语音处理器、EPROM存储器、A/D、D/A数模转换器、逻辑接口控制器、音频放大器、时钟振荡器等大量部件,能完成从语音数据写入固化到语音高保真重放的全过程工作,外围秩序几只元件即可。过去这种电路常采用8031、2764、DA0832等IC组合完成,体积大、耗电大、成本高,现在API8108A、API8208A比常规语音处理电路设计要结构简单、体积微小的多,而成本只是过去的五分之一。
API8108A、API8208A可根据需要分为一至八段录放,其语音可以最大不重复时间分别为10秒和20秒,重复部分可不计算时间。其语音录入需要专门的计算机编程器上进行,一旦录入即成为固定数据,不能再更改或抹掉,永久保存。固化了语音之后的API8108A、API8208A在放音使用上和普通的音乐集成片一样简单,只是发出的不是单调的音符曲调,而是极其逼真的话语模拟声响,其效果经计算机软件处理可与磁带、CD媲美。
>_<: (工作要求)其电源电压为:2.6~6V,静态耗电<5uA,工作温度:-10度~60度,储存温度:-55度~125度,发光管驱动电路:8mA。
>_<: (引脚说明)1、5、6编程选择脚;2、3电压放大推挽输出,外接蜂鸣器或喇叭;4电源接地端;7电流放大输出,外接三极管放大推动喇叭;8外接振荡电阻,决定放音速度;9编程电源端;12电源接正端;10、11、13、14发音触发器,高电平有效,组合控制8段;15单键触发端,高有效使所有的段顺序放音;16放音停止端,高电平使放音中断停止。
编程引脚OUT1、OUT2、OUT3功能选择:
※STP指OUT输出15ms的停止脉冲,(也可推另一片语音IC,以增加语音长度)
※BUSY指OUT输出忙信号,推动马达或其它
语音分段控制选择:(L表示接正触发,N表示不接)
放音频率、振荡电阻(ROSC)与放音时间选择:
>_<: (基础应用)基础电路应用:
① COUT输出驱动喇叭 && VOUT输出驱动蜂鸣偏或喇叭
② 八段触发控制(见上表)
③ 两片串联加长语音长度
④ 带LED的电路
>_<: (时序波形)时序波形示意图:
1. Level, Unholdable, Non-retriggerable(电平的、非保持的、非触发的)
展示了两种情况:触发的时长小于一个Group的播放时长和触发时长超过一个Group的播放时长。可见小于的情况在一个Group的时间内多个触发只起单个作用,当大于Group时长的触发会导致Group再次启动。
2. Level Holdable(电平保持)
展示了两种情况:(和上面一样。当小于时,播放会直接停止;当大于时,播放会重新开始同样也会戛然而止。
3. Single Button Trigger (SBT), Sequential(这是一个按钮的控制情况)
这是Level Unholdable情况的长短两种情况,可见:SBT每次触发会进行一次Group的切换,直到第8个又重新从第1个开始,如果某一个SBT信号持续时间超过当前播放一组的时长,会导致该组重复播放,直至SBT切换。
这是Level Holdable情况的长短两种情况,可见:类似与上面的Level Unholdable情况,只是会出现截止情况。
4. Edge,Unholdable,Non-retritggerable(边缘触发的、非保持的、非触发的)
和上面1的电平触发的比较可以看出当触发时长保持超过Group的时长时,仍然播放一次。
5. Edge Holdable
和上面2的电平保持比较可以发现当触发时长保持超过Group的时长时,仍然播放一次。
6. Single Button Trigger (SBT), Sequential(这是一个按钮控制的情况)
这是Edge Unholdable应和3的Level Unholdable比较发现这仍然是Edge触发的特点:当时长超过时,仍然只播放一次。
同样的Edge Holdable不再说明。
>_<: (使用注意事项)
编程烧写语音芯片时注意:语音芯片型号要与软件相对应,不可互相混淆。
烧写时注意:首先检测是否空片,是空片再开始烧写;OPT芯片不可多次烧写不用的内容。
API8108A、840N语音芯片烧写采用6V供电,API8208A语音芯片采用5V供电(可以采用ADAPTOR转换烧写电压)。
>_<: (具体应用)[3]
AT89C205除了在外部引脚上少了两个并口外,其他资源与AT89C52完全相同,且内部的2KFLASHROM能够很方便的进行擦写。该单片机的P1口是一个8位双向I/O口,其中P1.2~P1.7口内部提供上拉电阻,P1.0和P1.1需要外接上拉电阻。P1.0和P1.1同时也是片内精确模拟比较器的正输入端(AIN0)和负输入端(AIN1)。P3口是7个带有内部上拉电阻的双向口(P3.6除外)。
为了提高音量,在该设计中加入了音频放大芯片LM386。LM386是美国国家半导体公司生产的音频放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20,如果在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅仅为24mW,所以它是一种低电压小功率的音频功放集成电路,采用8脚双列直插式封装,第6脚为电源正极,第4脚接地,第2、3脚为选择输入端,第5脚为输出端,第1、8脚为增益控制端,第7脚为旁路端。它具有共组电压宽(4~12V)、静态耗电少、电压增益可调(20~200)、外接元件少、频带宽(300KHz)、低失真度。
整个电路图如上图:单片机的P3口控制API8108A的TG1~TG4,用来控制语音的分段输出。R4为语音模块的振荡电阻,其余放音时间的关系见上面的表格。在本设计中选用200千欧,放音时间为9s左右。由于U3的1脚和8脚之间只连接10微法的电容,此音频放大倍数为200倍。通过R2还可以调节音量大小,如果想降低音量,只需在U3的3脚连接一个电位器和R2进行分压即可。
播放语音已经预先录制好,存放在API8108A语音芯片的各单元中,语音播放程序首先完成语音地址计算,将语音地址存放在缓冲区中,待全部算完,建立结束标志,然后启动定时器,每隔0.3s输出一个地址信号,完成语音输出,如要播放“欢迎光临”,根据该数据,调用语音地址计算子程序,将“欢”“迎”语音地址存入缓冲区30H和31H中。依次类推,直至结束,再在缓冲区依次间隔0.3s时间取出语音地址,直至遇到结束标志。
四、小结
最近一直没有写东西了,三四月份忙着导师的项目、五月份忙着找工作、六月份忙着复习考试(其实明天还有考试,复习烦了遂来写点东西,嘻嘻)。翻来覆去发现还是把这个有趣的汽车倒车雷达的设计同大家分享吧,本部分将倒车雷达电路系统中的语音模块大致讲述了一下,接下来还要对其测距电路进行分析设计(其实以前我已经对超声波测距进行了比较细致的研究啦4个哦:点这看看)。
链接
[1] 一种倒车防碰撞系统的设计与实现(张安然):http://pan.baidu.com/s/1dDGrGbR
[2] API8108A的datasheet:http://pan.baidu.com/s/1bn2i7UJ
[3] 简易智能语音模块的设计与实现(李世红)(蒋海潮):http://pan.baidu.com/s/1o6GFrK2
其他资料(私用):http://pan.baidu.com/s/1o6HvpJO