首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于TCP/IP协议的全自动电饭煲远程控制系统设计
来源:本站整理  作者:佚名  2011-09-10 07:34:07



  近年来,随着控制技术、计算机技术和宽带网络技术的快速发展,测控技术和通信领域的结合应用已经成为大势所趋。传统的控制系统都是专用网络,控制设备及软件也是专用的,开放程度不够,给系统维护及升级带来不便[1]。在因特网遍布全球,各种先进网络技术日新月异的今天,使用网络技术实现远程控制自然成为首选。

  本文以全自动电饭煲为例,设计一种基于TCP/IP协议的全自动电饭煲远程控制系统,该系统分为三个部分:一是利用网卡芯片实现网络通信接口与因特网服务器之间的通信;二是红外通信电路的设计,实现网卡芯片与电饭煲微控制器的通信;三是电饭煲的改造,利用微控制器实现电饭煲机电一体化。该系统的实现,为家用电器全面接入因特网进行远程控制奠定了基础。

  1设计方案

  本文设计的全自动电饭煲远程控制系统参照物联网模型将系统分为三层:感知层、网络层和应用层[2],每层执行特定的任务。该系统的整体结构如图1所示。应用层包含网站应用程序和网络应用程序,其功能是用户利用计算机或手机通过因特网远程控制电饭煲或扩展的其他电器[3]。其中,网站应用程序主要实现人机接口,是用户进行账户管理和电饭煲控制的综合系统。网络应用程序使用线程池处理来自网络层通信芯片的TCP/IP数据包,同时将用户请求通过TCP协议发送给网络层的网卡芯片ENC28J60。这种分层结构将大量用户的控制请求转由服务器CPU进行处理,从而大大降低了网络层MCU的负荷。网络层处理来自应用层的TCP/IP数据包和来自感知层的红外数据包。该层以单片机STC89C58RD+为核心处理芯片,构建TCP/IP协议栈,并用网卡芯片ENC28J60收发来自应用层的TCP/IP数据包,最后将此数据进行调制解调。感知层的功能是对电饭煲进行状态监控,并将其实时监控数据传送到网络层。具体地说,该层是以AT89S52单片机作为微控制器,用红外一体化接收头接收网络层的红外载波信号,并对该信号解调以控制电饭煲,同时将电饭煲的状态信息调制后通过红外一体化的发送头传送给网络层;感知层还可以连接多个扩展电器,从而实现多用户控制多电器的方案。

  2 硬件设计

  全自动电饭煲远程控制系统的核心是网络层接口电路和电饭煲机械系统的设计。网卡芯片与现场控制单片机AT89S52的数据通信利用红外传输,采用NEC编码方式[4],接收端通过一体化红外接收头HS0038,对信号进行放大、检波、整形和解调等,得到TTL电平的编码信号。HS0038将此编码信号传送至AT89S52的P3.2(INT0)引脚,经AT89S52解码后依据指令执行相关的控制程序。全自动电饭煲系统包括控制系统和机械系统[5]。以AT89S52单片机为核心构建全自动电饭煲的控制系统。用户通过网站用户程序输入控制命令,通过网络传输到现场,现场控制单片机AT89S52接收到这些指令后,判断指令的具体需求,再调用相关程序以控制机械装置及电饭煲执行相应动作。

  2.1 接口电路设计

  网络层选用增强型的STC89C58RD+单片机作为微控芯片。STC89C58RD+内部仅有1.28 KB的存储空间,不能满足处理TCP/IP数据包所需的10 KB左右的存储空间。因此使用数据存储器62256将其外部存储器外扩至32 KB,这样也有利于提高数据的接收与发送速度。

  在网络层中,红外信号的接收、发送与感知层的设计类似,其不同点在于采用STC89C58RD+的INT1引脚的中断方式处理来自外部的红外信号,见图2。网卡芯片ENC28J60是由MICroChip推出的以太网控制器,使用串行外设接口(SPI)的引脚(SO、SI、SCK、CS)和两个中断引脚(INT和WOL)与主控制器进行通信,最高速度可达到10 Mb/s。该芯片内部有一个DMA模块,可以实现数据的快速吞吐和硬件支持IP校验和的计算。该芯片的两个引脚LEDA、LEAB用于连接LED,用于显示连接、发送、接收、冲突和全/半双工等状态。STC89C58RD+内部不带SPI接口,使用4个I/O引脚模拟SPI输入输出时序与ENC28J60进行通信。ENC28J60的SPI有7条指令集用以实现读控制寄存器、写控制寄存器、读缓冲器、写缓冲器、位域置1、位域清零和软件复位。ENC28J60中有控制寄存器、以太网缓冲器和PHY寄存器。SPI接口是STC89C58RD+与ENC28J60的通信通道,由总线接口对其接收的数据和命令进行解析,可以直接对控制寄存器进行读写,并对ENC28J60进行配置、控制和状态获取。以太网缓冲器包含供以太网控制器使用的发送和接收存储器,该缓冲器大小为 8 KB,分成独立的接收和发送缓冲空间。PHY寄存器用于对 PHY模块进行配置、控制和状态获取。ENC28J60需要通过MCU的中断处理来控制事件中断INT和LAN,触发中断时会占用STC89C58RD+的外部中断口INT0。ENC28J60的差分输入、输出引脚(TPIN+/-和TPOUT+/-)在以太网变压器作用下经RJ45接口与因特网通信,以实现网络层以太网控制器与应用层服务器物理线路的联通。

  2.2 电饭煲机械系统设计

  为了实现电饭煲机电一体化,在传统电饭煲的基础上,增加设计了电饭煲机械系统,包括储米装置、取米装置、淘米装置、放米装置以及加水装置。机械系统总体设计如图3所示。储米装置为框架顶端的储米漏斗,直径30 cm,高10 cm,可一次性存放7.5 kg大米。取米装置由储米漏斗底端的电磁铁实现,电磁铁选用直流电磁铁HCNE1-1039,由于卡槽采用45°倾斜设计,大大减小了电磁铁启闭时米粒的摩擦阻力。淘米装置由搅拌电机和淘米漏斗构成。其中搅拌电机选用TN-40.180/HC685G100618。放米装置由电磁铁和旋转臂构成,电磁铁同样选用HCNE1-1039。旋转臂由两个可逆电机控制,可以升降和旋转,采用行程开关限位,实现电饭煲锅盖的开闭。加水装置由电磁阀和进水管构成,电磁阀选用2W160-15。

  3 软件设计

  系统软件设计包括应用层的网站程序和网络程序、网络层的TCP/IP数据包收发程序和红外通信程序,以及感知层的红外收发程序和全自动电饭煲控制程序。在应用层,系统采用MVC模式[6]进行软件设计。控制器的Servlet程序分为两部分:一部分与网站程序一起处理来自浏览器的业务逻辑,包括用户注册、登录和控制电器等操作;另外一部分构建一个独立的线程池,以便监听到指定端口,等待来自网络层中各个设备的TCP连接,完成与网络层的会话。在感知层,考虑到红外通信的不稳定性, 服务器和微控制器之间的通信数据采用自定义的特殊格式,以避免因数据丢失或冗余而造成的系统错误[7]。因此在对电饭煲进行控制时,采用自定义协议对电饭煲信息进行封包解包。此协议的设计包括两方面:电饭煲数据包和通信会话流程。全自动电饭煲控制程序按照取米、淘米、放米、加水、煮饭的流程进行,实现电饭煲工作全自动化。

  本文重点阐述网络层的软件设计。如图4所示,微控制器首先进行系统初始化,包括ARP、TCP、内存、定时器和网卡芯片初始化。初始化完成后,设置网卡芯片ENC28J60的IP地址、子网掩码、默认网关和本地监听的端口。接着开启中断,以便主动连接服务器,其中外部中断0处理来自ENC28J60的请求,以便收发来自因特网的数据包;外部中断1则处理来自HS0038的请求以便接收来自感知层的红外信号,若中断没有发生则进入节电模式。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:43,750.00000 毫秒