您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

智能家居控制系统的设计与实现

时间:2007-1-20栏目:电子通信论文

掉电保护功能的时间寄存器内,以便CPU根据需要对其进行读出或写入。由于单片机AT89C52没有I2C总线接口,因此,要驱动DS1307,就必须采用单主机方式下的I2C总线虚拟技术。在此方式下,以单片机为主节点(主器件),主器件永远占有总线而不出现总线竞争,且可以用两根I/O口线来虚拟I2C总线接口。I2C总

线上的主器件(单片机)可在时钟线(SDL)上产生时钟脉冲,在数据线(SDA)上产生寻址信号、开始条件、停止条件以及建立数据传输的器件。任何被选中的器件都将被主器件看成是从器件。在这里,DS1307作为I2C总线的从器件。I2C总线为同步串行数据传输总线,其内部为双向传输电路,端口输出为开漏结构,因此,需加上拉电阻。

2.4 MT8880C双音频编解码电路

由于单片机是通过MT8880C芯片得到PSTN网络的双音频信号解码输出,也就是说,单片机可以识别来自PSTN网络的控制信号,用户可以根据系统的语音提示进行按键选择以实现用户身份的识别与远程控制。因此,利用MT8880C的双音频编码功能,系统可以在紧急时刻将用户预置的紧急电话打到PSTN网络,从而把损失减少到最低。

2.5 ISD4004语音录放电路

ISD4004是美国ISD公司生产的一种语音录放芯片。它可录制8~16分钟的语音信号。该芯片可提供SPI标准接口和单片机进行接口,其语音的录放控制均通过单片机来实现。该芯片的一个最大特点是可以按地址编程录放,因而可由ISD4004和单片机编程控制来构成本系统与PSTN网络用户的语音平台。由于ISD4004的INT和RAC脚输出为开漏结构,因此需要加上拉电阻。智能家居控制系统的设计与实现

2.6 MAX202串行通讯电路

通讯电路可由串行通讯专用芯片MAX202组成,通过此电路可以方便地与PC机进行串行通讯。

2.7 铃流检测与摘挂机控制电路

当系统被呼叫时,电话交换机发出铃流信号。振铃为25±3V的正弦波,失真小于10%,电压有效值为90±15V。振铃信号以5秒为周期,即1秒送,4秒断。由于振铃信号电压比较高,所以先要通过高压稳压二极管进行降压,然后输入至光耦。再经光耦隔离转换后,从光耦输出时通时断的正弦波,最后经RC回路进行滤波以输出标准的方波。该方波信号可以直接输出至单片机的定时器1进行计数,以实现对铃流的检测。

由于程控电话交换机在电话摘机时电话线回路电流会突然变大(约30mA),因此,交换机检测到回路电流变大就认为电话机已经摘机。自动摘挂机电路可以通过单片机的P1.7来控制一个固态继电器,固态继电器的控制端应连接一个大约300Ω的电阻后再接入电话线两端,从而完成模拟摘挂机。

3 系统软件编制

本系统软件主要由系统主机和系统分机的C51程序和系统与Internet网络通讯程序组成。

3.1 系统主机程序的编制

系统主机程序主要用于实现系统的总体功能。包括无线数据传输程序、看门狗程序、时间戳程序、双音频编解码程序、语音录放程序、串行通讯程序、铃流检测与摘挂机控制程序、系统初始化程序、意外事件处理程序等。程序编制以消息驱动为主导思想。消息由计数器中断1、外部中断0和串行中断产生,在中断服务程序中,应将相应的状态位置位,而在消息循环中则应按相应的状态位调用功能函数,然后由功能函数将相应的状态位清0并完成所需功能,并最后返回到消息循环中。其程序流程如图5所示。该系统的分机程序和主机类似,故此不再详述。智能家居控制系统的设计与实现

3.2 系统与Internet网络通讯程序的编制

这部分通讯程序分为服务器和客户端两个程序,主要通过Internet网络完成用户的控制功能。

服务器程序主要完成客户端与系统主机通讯的中转,即将客户端发来的控制或者查询命令翻译成系统主机能识别的格式,或者将系统主机收到的报警等信息上传到客户端。服务器程序使用Socket与客户端进行Internet通讯。

客户端程序是运行在远端用户的控制界面,主要用于完成家居内状态的显示以及对家居内电器的远程控制,同时使客户端

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页