基于单片机的汽车多功能语音报警系统的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的汽车多功能语音报警系统的研究
提要:介绍了一套基于单片机控制的汽车多功能语音报警系统,报警项目包括油箱油量、冷却水温、机油压力、车辆防盗等,阐述了系统的工作原理、硬件电路组成和软件设计。
系统在已有的89C51-ISD4004语音单片机通用开发板采用ISD4004语音芯片可以根据需要重复录音和增加相应地报警项目,应用灵活.
关键词:单片机;语音报警;ISD4004。
引言
随着汽车数量的不断增加和汽车档次的提高,人们对汽车的安全性能和工作效率也提出了更高的要求。
报警系统作为关系到汽车安全性能和工作效率的重要组成部分,逐步受到人们的重视。
目前汽车上报警系统除倒车为语音报警外,其它项目一般为灯光或铃声报警。
市场上已经出现了一些汽车语音报警装置,比较常见的例如倒车语音报警装置等。
虽然这种报警方式具有相对简单易行的优点,但也存在着报警内容不够清晰明确,报警内容不可调整以及不易引起注意等缺点[1],同时能够将汽车行驶过程中常见的故障和安全隐患进行检测并以语音报警的形式表达出来的产品并不多见。
本文设计的目的是改进汽车报警系统,使汽车上已有的报警项目实现真人真声语音报警并可以增加相应项目的报警内容。
1.基本工作原理
系统是在已有的89C51-ISD4004(语音单片机)通用开发板上进行的二次开发,使其能在已有的语音录放功能的基础之上实现指定地址的录音和播放语音提示的功能。
使用AT89C51单片机、ISD4004语音芯片、ADC0809转换器(Analogue to Digital Converter)、机油压力传感器、油量传感器、水温传感器、汽车电路等设备。
报警项目包括油量、水温过高、车门未关、机油压力过高、安全带未系好及汽车有可能被盗。
通过对语音芯片进行编程来实现语音报警功能。
信号采集电路在工作过程中,对于信号量的采集分模拟量和开关量,模拟量包括油量、水温;其它是开关量。
由ADC0809转换器把采集到的模拟信号转换成数字信号,利用光耦调理和传输开关信号,所有信号由单片机采集并进行运算判断后控制ISD4004语音芯片完成语音播报。
系统功能框图如图1所示。
2.硬件电路设计
2.1油量报警信号采集电路
电路是由ADC0809信号采集电路、AT89C51与ADC0809接口电路组成。
ADC0809由于价格适中,与单片机的接口、软件操作均比较简单,目前在8位
单片机系统中有着广泛的使用。
它是一个典型的逐次逼近型8位A/D转换器, 允许8路模拟量分时输入,转化后的数字量输出是三态的(总线输出型),可以直接与单片机数据总线连接。
ADC0809采用+5V电源供电,外接工作时钟。
由8路模拟开关、地址锁存与译码器、8位A/D转换器和三态输出锁存缓冲器组成[2]。
ADC0809采集信号电路采用浮子式液位传感器监测油量,传感器检测到的电压信号送到ADC0809转换器的模拟信号输入端的引脚IN1,转换器把这个信号转换成对应电压的数字信号并输出到单片机上,设某一时刻固定电阻两端的电压为a,转换器输出的数值为s, 那么它们之间的对应关系如下式。
设计时把所剩油量分三种情况报警提示:“油量占1/2”、“油量占1/5请及时加油”、“油量过少请加油”;那么这三种情况对应的数值我们可以通过上式计算,a分别取2.5、1、0,对应s的值计算得127.5(四舍五入取128)、51、0,即当单片机检测到以上数值时就会控制语音芯片播放相应的报警内容。
2.2冷却水温信号采集系统
冷却水温度的检测, 使用模拟型传感器,采用负温度系数热敏电阻NTC[3],ADC0809的IN0模拟信号通道采集到的是热敏电阻两端的模拟电压信号,由A/D 转换器输入单片机AT89C51的P0口。
当发动机工作时,检测到数据与单片机中数据存储器中参考值进行比较,若大于参考值,单片机驱动报警电路进行报警。
2.3安全带未系好、机油压力过高
安全带未系好的检测使用开关电路,根据安全带开关的开闭来判别安全带是否系好。
设定发动机启动后,当安全带系好时开关闭合,安全带未系好时开关断开并产生低电平的报警信号。
机油压力语音报警子系统的信号采集电路由机油压力传感器、74HC04非门、下拉电阻和AT89C51单片机组成。
74HC04非门和下拉电阻的作用是在故障出现时使单片机引脚检测到的报警信号为低电平而在正常工作时接收到的信号为高电平;机油压力传感器中有一个常开的压力开关;当油压超出规定值时,油压开关闭合,信号经74HC04作用输出低电平。
2.4车辆可能被盗信号采集电路
报警电路的原理框图如图2所示,它由振动传感电路、延时开关电路和发动机自动熄火电路三部分组成。
其中A1选用微震动传感器,A2选用大功率驱动开关集成电路。
报警电路无电不工作。
停车后,闭合SA报警电路即进入防盗状态。
当盗车者启动汽车时,发动机产生的震动波被微震动传感器Al拾取,经Al内部电路一系列放大与比较后,使输出端OUT输出高电平。
此高电平通过隔离二极管VDI,给电容C0迅速充上直流电,并通过电阻R0和震动器A2的第3引脚形成放电回
路,使A2内部电子开关受控制而导通,导通后一方面A2的第2引脚送高电平到光耦电路,这时非门得到0V的信号输出+5V到单片机的P2.0引脚,单片机根据检测到的信号控制语音芯片报警:“车辆可能被盗”;同时,电磁继电器K亦得电吸合,由其转换触点K切断汽车点火电路,便发动机自行熄火,车辆无法行驶。
只有主人切断暗开关SA,方可解除该信号的语音报警状态。
2.5 ADC0809与AT89C51接口电路设计
单片机读取AD转换结果的方法——中断法EOC必须经过非门接到AT89C51的中断请求输入线INT0或INT1上,AT89C51的中断触发方式为下降沿触发。
单片机启动AD转换后可以做其它工作,当AD转换结束时,EOC由0—1经过非门传到INT端,AT89C51收到中断请求信号,若AT89C5开着中断,则进入中断服务程序,在中断服务程序中单片机读取AD转换的结果[4]。
2.6 语音录放电路设计
美国ISD公司生产ISD4004系列工作电压3V,内含大量的闪速存储器(2840KB),单片录放时间8至16分钟(本系统录放时间为16分钟),音质好。
芯片采用CMOS技术,芯片设计是基于所有操作必须由微控制器控制。
芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪速存贮器中,避免了一般固体录音电路因量化和压缩造成的量化噪声和”金属声”。
片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次[5]。
89C51-ISD4004语音单片机通用开发板的语音录放电路可以分为:录音电路、放音电路、单片机与语音芯片的接口电路以及语音录放控制电路。
整个电路是以AT89C51单片机和ISD4004语音芯片为核心部件,录音时单片机接收录音控制信号,并控制语音芯片进行录音;放音时,单片机接收报警信号,并根据编写好的程序控制ISD4004语音芯片从指定地址播放相应的报警内容。
语音录放控制图如图3所示。
VCCD与VCCA引脚通过一个发光二极管与+5V的电源相连,为语音芯片提供电源,发光二极管LED2指示电源连接情况。
三极管N1和电阻R2,R3,R6组成放大电路,其中电阻R5,R2,R3组成放大电路的直流偏置电路[6]。
自动静噪端AMCAP对地接1μF电容,构成内部信号电平峰值检测电路的一部分。
检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。
录音时,麦克风将语音转化成交流电信号,经耦合电容C3连接到三极管的基极,该信号经放大电路放大后通过耦合电容C4输入到语音芯片的IN-引脚。
耦合电容C1与R5组成滤波电路,用于滤除电源中的杂波。
放音电路主要由ISD4004语音芯片、电源以及LM386语音功率放大器组成。
LM386是美国国家半导体公司生产的音频功率放大器。
在放音电路中,语音芯片的输出端AUDOUT引脚向功率放大器LM386提供音频输出,输出的音频经耦合电容C5传到可调电阻Rp,Rp将音频调整至合适的值后输入到LM386的正输入端IN+。
功率放大器LM386的反相输入IN-与
接地端GND一起接地。
电源端(VSS)接+5V电源,用于为功率放大器LM386提供电源[7]。
为使外围元件最少,电压增益内置为20。
但在增益引脚1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
正相输入引脚和反相输入引脚3、2以地位参考,同时输出端被自动偏置到电源电压的一半[8]。
3.软件设计
开发板上跳线插在REC一侧时为录音状态,按住AN键(执行键)不放,指示灯亮即可录音,松开键时录音停止并形成一段。
再按下则录下一段。
按STOP 键(复位键)复位,再录音时从第一段开始。
跳线插在PLAY一侧时为放音状态,按住AN键(执行键)不放,指示灯亮即播放一段,一段结束后自动停止放音。
再按下则播放下一段。
按STOP键(复位键)复位,再放音时从第一段开始。
AN键(执行键)每按下一次,地址指针自动加1,即自动指向下一地址,以使下一报警项目的语音提示的录音在下一指定地址录音。
当单片机在检测到报警信号时将从录音时指定的地址调用程序播报报警内容。
至于地址的计算,ISD4004语音芯片的地址分为2400行,一行能够录音的时间为400ms,以录音内容所占时间来估计本次录音所占的行数。
依次从起始地址算将得到每个录音内容的地址,以便单片机在检测到报警信号时调用。
报警项目可以实现循环检测报警。
在检测完最后一项后,则跳回检测第一项报警项目的报警信号。
录音放音的流程图如图4、5。
4.结论
系统是以89C51-ISD4004语音单片机通用开发板为基础进行的二次开发,设计的硬件电路实现了对汽车停车时防盗状态的设定、汽车行驶过程中常见的故障和安全隐患进行检测,在已有的语音录放功能的基础之上对ISD4004语音芯片进行编程来实现真人真声录音和播放语音提示的功能,而且录音内容可修改。
验证了单片机控制ISD4004语音电路在汽车语音报警系统上应用的可行性。
系统可以重复录音和根据需要增加相应地报警项目,可进行多次重复开发,这是其区别于传统汽车语音报警系统的最大特点。
参考文献:
[1]王启瑞.汽车电器与电子设备[M].合肥:安徽科学技术出版社,2003:20-45.
[2]严天峰.A/D转换器及其在单片机中的应用[J].电子世界,2003,5(1):18~20.
[3]董辉.汽车用传感器[M].北京:北京理工大学出版社,2000:179-240.
[4]刘焕平,韩树新.ADC0809与AT89C51的一种接口方法[J].石家庄师范专科学校学报,2002,4(2):52~53.
[5]万光毅,严义.单片机实验与实践[M].北京:北京航空航天大学出版社,2003.
[6]秦曾煌.电工学(下册)电子技术.北京:高等教育出版社,2000:178.
[7]AtmelCorporation.8-bit Microcontroller With 4K Bytes In-System Programmable Flash [ M ],Atmel Corporation,2001,356~371.
[8]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,2001:253.。