徐娟娟,赵建平
(曲阜师范大学 物理工程学院,山东 曲阜 273165)
近几年,盗车团伙、汽车偷盗案件越来越多,给人们带来巨大的经济损失。市面上随之出现了各种各样的汽车防盗器,语音提醒应用在汽车远程防盗系统上充分体现了产品的人性化。语音芯片U6295已经形成了一定的市场规模,但编程和应用方面较为复杂,寻找这一芯片的替代品已经迫在眉睫。广州唯创电子开发的WT588D语音模块在硬件上兼容U6295语音芯片产品,使用电压范围广,体积小,静态电流低,外围电路简洁,有更大的应用价值。
防盗系统控制器采用意法半导体公司生产的STM32F103R8T6单片机,其功能强大,实时性好。系统可以实现以下功能:如果有异常情况(车剧烈震动、车门或者前后备箱被非法打开、有人进入车内)发生时,汽车在声光报警的同时进行相应的语音提醒,并发送短信告知车主;如果有人盗车,车主可以通过手机发送指令让汽车断油断电。语音模块中可以录入自己或者家人的语言,这样听起来更加形象逼真。
汽车远程防盗系统主要包括单片机最小系统、信息采集模块、语音模块、GSM模块、控制电路和电源模块几个部分。一旦有偷盗汽车的行为,多路传感器(红外线传感器、震动传感器、薄型压力开关)采集到信号,送入到STM32F103R8T6。单片机根据送入的信号,启动语音模块进行语音提醒[1],并将信息通过GSM模块发送到车主手机。单片机如果接收到车主发送的断油断电指令,则启动控制模块进行断油断电。系统总体框图如图1所示。
单片机最小系统由STM32F103R8T6单片机,晶振,JTAG接口和复位电 路 组 成。STM32F103R8T6增强型单片机使用高性能的ARM Cortex-M3,32位的RISC内核,工作频率为72 MHz,内置64 K字节的闪存和20 K字节的 SRAM,64个增强 IO端口,3个通用16位定时器。多达两个 I2C和 SPI、3个 USART,方便GSM模块和GPS模块的接入。STM32F103R8T6采用64管脚的LQFP封装,供电电压在2.0 V到3.6 V,省电模式保证低功耗的要求,性价比高。单片机采用8 MHz和32.768 KHz的外部晶振,复位电路设计成按键复位和上电自动复位的方式。电路图如图2所示。
图1 防盗系统总体框图
WT588D语音模块采用WT588D-20SS作为核心控制电路,内部包含WT588D-20SS外围所需的SPI-FLASH、震荡电路、复位电路。支持2M-32Mbit的SPI-Flash存储器,系统语音提醒有DAC/PWM两种输出方式,PWM输出可直接推动0.5 W/8 Ω扬声器,推挽电流充沛。模块可设置为按键控制模式、一线串口控制模式或者三线串口控制模式,外围电路简单。完全支持6~20 kHz的音频加载[2],并且可以将加载的音频音质完整无损的播放出来,对于同样容量的存储器,采样率越大,录音时间越短。语音模块的内部电路如图3所示。
图2 单片机最小系统硬件电路
图3 WT588D模块内部电路图
本系统选用容量为32 Mbit存储器容量的语音模块,用8 kHz(音频常用的采样率)采样时,录音时间长达790 s,满足语音提醒的要求。报警系统中,语音提醒需要较高分贝,为了驱动大功率的扬声器,输出用DAC接功放的形式,电路图如图4所示,R21和C18并联到地接功放。功率放大器选用TDA2030,额定功率达14 W,价格实惠,应用广泛。语音模块与单片机的连接采用三线串口控制模式,和标准的四线SPI不同,WT588D只接收单片机发送来的数据、指令和时钟信号,而不需要发送数据。在这种三线串口模式下,P01为 DATA数据口,P02为片选 CS,P03为 CLK时钟,分别与单片机的 SPI1_MOSI、SPI1_NSS、SPI1_SCK连接。WT588D语音模块占用单片机的一个SPI端口,丰富的其他端口可以控制其他外设。模块供电电压2.8 V-3.6 V,选用3.3 V,此时,短接VCC和VDD。BUSY忙信号输出端,当输出低电平时,发光二极管亮,此时为放音状态。WT588D模块应用范围广,几乎可以涉及到所有的语音场所,如报站器、报警器、闹钟、智能家
电等各种自动控制场所,工艺上达到工业应用的要求。
图4 WT588D的外围电路图
信息采集部分采用6路薄型压力开关采集车门和前后备箱的状态分别送入单片机的PC0~PC3、PA0和PA1口。用振动传感器来感知车是否发生了剧烈震动,若有异常情况,震动传感器输出低电平信号,送入单片机PC5口。将采集的信息传入单片机进行处理。若有人进入了车内,红外线传感器能够检测到这一信息,经过处理,送进单片机PB0管脚。
GSM模块选用华为的EM310,EM310 GSM支持串行接口,通过UART接口与外界进行串行通信,和 STM32F103单片机的RXD0和TXD0连接,AT指令输入[3]。UART支持可编程的数据宽度、可编程的数据停止位、可编程的奇偶校验或者没有校验。最高支持115.2 kbit/s波特率,最低支持 300 bit/s的波特率,默认支持9 600 bit/s的速率,支持波特率掉电保存。GSM模块有标准的SIM卡接口(3 V,1.8 V),GSM 模块连接电路图如图5。
图5 GSM模块的连接框图
系统检测到异常情况,由单片机处理后,通过 GSM模块发送到车主手机,车主发送指令控制汽车发动机停止转动从而实现了被盗。在汽油喷射系统的电源线上加装常闭型汽车断电继电器,控制汽油喷射系统的供电电源[4]。电路图如图6所示,R43、R44起到限流的作用,当 CONT2为高电平时,Q5导通,继电器打开,从而实现了断油断电。正常情况下,CONT2输出低电平,Q5截止,继电器闭合,汽车可以供油供电。继电器线圈由导通变截止时,会感生出较大的自感电动势,容易击穿三极管,因此在继电器两端反向并联二极管IN4007,吸收该电动势,保护三极管。
汽车由发动机供电,供电电压为12 V,单片机、语音模块和GSM模块所需电压为3.3 V,需要设计由12 V电压转为3.3 V的电源电路,选用LM2596固定输出稳压芯片,输出电流达3 A,满足系统设计要求,电源电路设计可参考LM2596数据手册。
图6 控制断油电路
防盗系统中的软件部分主要包括单片机初始化、对GSM模块的控制、继电器的驱动和语音模块的控制几个部分,此处介绍语音模块的软件设计。
表1 语音文件在WT588D模块中对应的地址
图7 控制时序图
首先,将语音写进语音模块。在电脑上的WT588D VioceChip软件上新建一个工程文档,在工程文档里加载语音提醒语句,WT588D语音模块有220个可控地址位,每个地址加载一段语音,如果想重复播放可以加载两遍同样的语音,也可以通过编写程序设置重复播放。表1是部分语音文件对应在语音模块中的地址。把软件上相应的选项设置为三线串口控制方式,DAC音频输出,BUSY端设置为高(无语音播放时BUSY为高,发光二极管不亮)。然后将装有语音的工程文档编译成 BIN文件后,使用WT588D Mini Download下载器,通过USB数据线,将工程信息下载到WT588D模块中。
然后,由程序控制单片机发送地址数据。按照SPI通信标准,复位信号在发码前先拉低5 ms,然后拉高等待17 ms,工作时RESET一直高电平。片选信号CS拉低5 ms以唤醒WT588D语音芯片。单片机从EEPROM中读取要发送数据的地址送到语音芯片。语音模块接收数据低位在先,上升沿触发。时钟周期为 300 us。数据成功接收后,语音播放忙信号BUSY输出在1 ms后做出响应。
00H~DBH为地址指令,D0~D7表示一个地址。比如有人打开了车门,单片机检测到这一信息后,就把第2段语音的地址00000001发送到语音芯片,00000001即对应时序图中的D0~D7。接收到语音地址,语音芯片就可以进行相应的语音提醒。另外,E0H~E7H为音量调节命令,F2H为循环播放命令,FEH为停止播放命令。控制时序图如图7所示。
使用IAR MDK软件编写程序,控制器根据检测到的情况向语音芯片发送地址数据。单片机控制语音模块的程序流程如图8所示。
图8 单片机控制语音模块的程序流程图
在实验室环境下测试,以按键代替异常情况发生。系统在检测到有不同按键按下时,能够准确实时的进行语音提醒,并且能够将这一情况发送到用户手机,使整个防盗系统更加人性化、智能化。
[1]余皓,苏全.语音控制机器人的设计与实现[J].电气自动化,2007,29(5):129-131.
[2]李琳,王茂海.基于AT89C2051单片机和WT588D-U语音模块的语音报价系统设计[J].科技信息,2011,28(15):525 -526.
[3]刘成岩,孙晶华.EM310无线模块与PIC单片机的接口设计[J].单片机与嵌入式系统应用,2011,11(9):46-48.
[4]尹东至.基于GSM/GPS的汽车防盗系统设计[D].武汉.武汉理工大学.2007.