本系统的硬件主要有系统主机与系统分机两大部分。系统主机由单片机AT89C52和各种接口电路组成。系统分机由单片机AT89C52和各种接口电路、传感器单元电路、固态继电器控制电路组成,并由固态继电器控制具体设备。
通过系统主机的各种接口电路可将主机CPU从繁忙的计算中解脱出来,以便把主要精力运用在控制和信息传递上。系统主机主要依照各个功能电路的输出结果进行逻辑判断和控制命令的输出。系统分机的各种接口电路和主机相似,只是根据设备的不同(传感器单元)有着细节上的变化。下面主要介绍系统主机的各种接口电路。
2.1nRF401无线数据传输电路
无线数据传输电路由Nordic公司的单片UHF无线数据收发芯片nRF401及其外围电路构成。nRF401采用FSK调制解调技术,其工作效率可达20kbit,且有两个频率通道供选择,并且支持低功耗和待机模式。它不用对数据进行曼彻斯特编码,其天线接口设计为差分天线,因而很容易用PCB来实现。screen.width-400)this.style.width=screen.width-400。
2.2看门狗电路
看门狗电路由MAX813L及其外围元件组成。通常,在单片机的工作现场,可能有各种干扰源。这些干扰源可能导致程序跑飞、造成死机或者程序不能正常运行。如果不及时恢复或使系统复位,就容易造成损失。看门狗电路的作用就是在程序跑飞或者死机时,能有效地使系统复位以使系统恢复正常运转。因此,在程序中定期给P1.5送入看门狗信号,就可以保证在程序运行异常时,由MAX813L使单片机复位。
2.3DS1307时钟接口电路
DS1307时钟芯片是美国DALLAS公司生产的I2C总线接口实时时钟芯片。DS1307可以独立于CPU工作,它不受晶振和电容等的影响,并且计时准确,月积累误差一般小于10秒。此芯片还具有掉电时钟保护功能,可自动切换到后备电源供电。同时还具有闰年自动调整功能,可以产生秒、分、时、日、月、年等数据,并将其保存在具有掉电保护功能的时间寄存器内,以便CPU根据需要对其进行读出或写入。由于单片机AT89C52没有I2C总线接口,因此,要驱动DS1307,就必须采用单主机方式下的I2C总线虚拟技术。在此方式下,以单片机为主节点(主器件),主器件永远占有总线而不出现总线竞争,且可以用两根IO口线来虚拟I2C总线接口。I2C总线上的主器件(单片机)可在时钟线(SDL)上产生时钟脉冲,在数据线(SDA)上产生寻址信号、开始条件、停止条件以及建立数据传输的器件。任何被选中的器件都将被主器件看成是从器件。在这里,DS1307作为I2C总线的从器件。I2C总线为同步串行数据传输总线,其内部为双向传输电路,端口输出为开漏结构,因此,需加上拉电阻。
2.4MT8880C双音频编解码电路
由于单片机是通过MT8880C芯片得到PSTN网络的双音频信号解码输出,也就是说,单片机可以识别来自PSTN网络的控制信号,用户可以根据系统的语音提示进行按键选择以实现用户身份的识别与远程控制。因此,利用MT8880C的双音频编码功能,系统可以在紧急时刻将用户预置的紧急电话打到PSTN网络,从而把损失减少到最低。
2.5ISD4004语音录放电路
ISD4004是美国ISD公司生产的一种语音录放芯片。它可录制8~16分钟的语音信号。该芯片可提供SPI标准接口和单片机进行接口,其语音的录放控制均通过单片机来实现。该芯片的一个最大特点是可以按地址编程录放,因而可由ISD4004和单片机编程控制来构成本系统与PSTN网络用户的语音平台。由于ISD4004的INT和RAC脚输出为开漏结构,因此需要加上拉电阻。screen.width-400)this.style.width=screen.width-400。
2.6MAX202串行通讯电路
通讯电路可由串行通讯专用芯片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所示。该系统的分机程序和主机类似,故此不再详述。screen.width-400)this.style.width=screen.width-400。
3.2系统与Internet网络通讯程序的编制
这部分通讯程序分为服务器和客户端两个程序,主要通过Internet网络完成用户的控制功能。
服务器程序主要完成客户端与系统主机通讯的中转,即将客户端发来的控制或者查询命令翻译成系统主机能识别的格式,或者将系统主机收到的报警等信息上传到客户端。服务器程序使用Socket与客户端进行Internet通讯。
客户端程序是运行在远端用户的控制界面,主要用于完成家居内状态的显示以及对家居内电器的远程控制,同时使客户端直接连接到服务器。
4、结论 本系统充分利用了现有的网络资源。通过在实际电话网络和Internet网络中的试运行证明:该系统能够达到设计初期的各项要求。相信将在信息家电、智能小区等方面得到广泛应用。
信息发布:广州名易软件有限公司 http://www.myidp.net