1 系统总体设计:该无线防盗报警系统主要由传感器和报警器组成。图1为报警器电路组成框图。
若某个传感器检测到相应的报警信号后,将该报警信号传送给无线编码芯片PT2262,PT2262将自身的地址码和数据码进行编码后通过射频发射电路发射出去。当报警器上的射频接收模块接收到该无线信号后,将其进行放大后送入无线解码芯片PT2272,PT2272将自身的地址码和接收信号中的地址进行比较,只有两者连续两次比较相同时,PT2272向外输出VT信号将CPU中断,并将接收到的数据进行锁存。CPU在收到该中断信号后,对接收到的数据进行判断,如果该数据是遥控器上的撤防键,则CPU进入撤防状态,此时。报警器对除烟雾传感器、可燃气体传感器外的报警信号均不予理睬;如果接收到的是红外传感器的报警信号.则报警器向用户播放家里有小偷的提示语音。以便用户进行适当的处理。当用户挂断电话后.报警器将此传感器报警时间进行记录,如果同一个传感器的下一次报警距此次报警的时间间隔大于用户设定的报警间隔,则报警器进行报警,否则报警器不进行响应。
2 系统的硬件电路设计
2.1 无线接收及其解码电路
超再生无线电接收器可以用简单的电路完成无线电信号的接收和检波,同时他还具有很强的信号放大能力,在无线电遥控电路中有着广泛的应用。我们采用了超再生无线电接收器电路来实现,如图2所示。
无线接收模块WRX将PT2262发出的无线信号接收并解调后送入PT2272的输入端,PT2272将接收到的信号中的地址码和本身的地址码进行比较,如果连续两次比较正确后向外输出VT信号,并将接收到的数据码进行锁存,从D3~D0口输出。
连接在OSC1和OSC2中间的电阻是用来调整PT2272的时钟频率的,他必须和PT2262的时钟频率相匹配,常用的有270 kHz/1.5 MHz,680 kHz/3.3 MHz,820 kHz/4.7 MHz。
2.2 DTMF收发电路
电话机的拨号信息是通过DTMF(双音多频)信号传送的,报警器的指令输入需要由电话机按键输入,所以报警器内置DTMF接收电路。DTMF部分接收电路如图3所示。
当有警情发生时,报警器需要自动拨打预设的电话号码,因此增加了DTMF发送电路,见图3。HT9200A是串行输入的DTMF产生芯片。当需要进行拨号时,CPU将CE信号设置为低电平,此时HT9200A时钟开始起振,准备工作。然后CPU在时钟的下降沿,将要拨打的电话号码的5个比特的二进制码送入HT9200A。当HT9200A接收到5个比特之后,就根据其对应的数据向外部送出DTMF信号。例如要拨"1",则需要依次送出"10000",要让HT9200A停止向外发送DTMF信号,可向其送出"11111"的数据。在拨号时,一个号码的持续时间必须在50 ms以上,号码之间的间隔也必须保持50 ms以上。
2.3 自动摘机及断线检测电路
当报警器接收到报警信号时,需要拨打预先设定的电话号码,因此必须进行电话机的控制。自动摘挂机及电话线断线检测电路如图4所示。
当电话线连接正常时,电话线上的电压约为40 V左右,此信号经整流后送入Q6的基极,使得Q6导通,此时line_break信号一直为低电平,当电话线断开时,Q6基极电平下降为O V,此时Q6截至,Line_break信号变为高电平。
2.4 jianting电路
jianting电路由音频放大电路和高通滤波器组成,如图5所示。在监听时,由麦克风收集到的声音信息通过电容C1耦合到运放U1A的反向输入端,U1A为负反馈运放电路,R3为反馈电阻,其放大倍数为-R3/R2,R4和R5组成分压电路,使得U1A虚地电压为Vcc/2。C4将U1A的输出耦合到U1B。U1B为带有放大功能的高通滤波器,其放大倍数为1+R8/R7。我们选择合适的电阻,使得U1A的放大倍数为100倍,U1B的放大倍数为50倍。经实际测试,在选择监听时,很微小的声音都可以很清楚地听见。
报警器里可能会混有市电50 Hz干扰,为了滤除这种干扰,在电路中增加了由U1B组成的高通滤波器。滤除掉的低频部分不会对监听到的声音信号产生影响。经过实际测试,该电路效果非常好。
2.5 微控制器电路
由于报警器要求有报警时不可漏报,没有报警时不能误报,因此要求该报警器工作非常稳定可靠,而且断电后信息不丢失。我们选用了飞利浦公司的P89LPC932A1芯片作为主控芯片。其主要特性包括:
8 kB可擦除FLASH程序存储器;256BRAM数据存储器,512 B附加片内RAM,可省去外部RAM;512 B用户数据E2PROM存储器,可用来存放器件序列码及设置参数;2个16位定时/计数器;在同一时钟频率下,其速度为标准80C51器件的6倍,只需要较低的时钟频率即可达到同样的性能,降低了功耗和EMI;内部包括看门狗电路,其具有独立的振荡器。
3 系统的软件设计
在软件设计中,选用SmallRTOS操作系统。他是一种源代码开放的、对硬件系统要求较低的、可应用在5l系列单片机上的小型实时操作系统。其最多可管理16个任务,按照任务的优先级执行任务,总是执行优先级最高的就绪任务,允许中断嵌套,最多可嵌套255层中断。并且SmallRTOS的RAM需求很小,在不需要外部RAM的情况下也可使用。
软件采用定时器0作为系统时钟,每隔10ms进行任务切换,执行优先级最高的就绪任务,该软件系统共有5个任务,按其任务优先级高低分别是:
FeedDog:喂狗程序,每隔1.5s运行一次,看门狗溢出时间设置为2.62s;
RadioProc:遥控器或者探头发出的无线电信号时的程序,他根据接收到的数据码进行相应的判断,并根据需要向Dial任务发送信号,通知其下一步的操作。
Dial:当接收到报警信号时,拨打用户设置的电话号码,当用户接通电话后,向用户播放用户预先录制的录音,当用户未接听电话时,重复多次进行拨打。
MonitorLine:对电话线进行检测的任务,每隔1s进行电话线的检测,当处于设防状态并且电话线断开时,打开警笛进行现场报警。