嵌入式智能家庭网关的研究与设计
0 概述
家庭网络接入Internet目前主要通过PC机接入Internet和采用嵌入式产品通过以太网控制器接入Internet两种方式。前者优点是明显的,如灵活性、大量现有的可用的软件环境和高级的用户接口及软件工具。但是对于智能家庭网络来说,网络的使用者希望能方便快捷地获得服务,所需熟悉的操作要尽可能地少,并且在任何地方都能对家中设备进行监控;而PC不能随意移动,对设备的控制就会受到局限。因此,目前在智能家庭网络中,网关产品的设计主要采用嵌入式系统。
一个智能家庭网关可以看成是一个信息处理系统,组成系统的各单元就是连接在网络各节点的设备。控制平台一方面辅助不具备信息化条件的设备实现信息化,即提供信息处理的能力;另一方面又提供统一的信息交换接口及控制规则,从而实现从内部家庭网络到Internet信息的互通。目前实现信息管理和协议转换的方式有两种:一种是:浏览器+WEB Server+CGI技术;另一种是:监控软件十应用服务器+现场总线驱动技术[1]。以浏览器+WEB Server+CGI为主的技术手段只能获取单个家庭网络中的节点信息。而以监控软件+应用服务器十现场总线驱动为主的技术手段却可以同时获取多个家庭网络的节点信息,有助于实现多个家庭网络的同类节点的实时监控[2](如上网流量监控)。近几年来国内许多高校和一些知名企业所研制的智能家庭网络系统的协议转换主要以:浏览器+WEB Server+CGI技术为主,有应用范围的局限性。鉴于现有网关产品的种种缺陷,本文主要致力于:以监控软件+应用服务器+现场总线驱动技术为核心技术,而浏览器+WEB Server+CGI为辅助技术设计并实现家庭网关。
图1 网络控制系统模型
1 总体设计分析
1.1智能家庭网关的设计要求
家庭网关类似于一个庞大的计算机系统,所有的家庭设备都连接在上面,受它的集中控制。总体而言,网关要起到三个功能:
1)Internet接入功能,包括路由、NAT(地址转换)等等;
2)家庭网络中各种不同通信协议之间的转换,以及家庭网络系统与TCP/IP协议之间的转换;
3)运行家电管理软件,将使用不同通信协议的家用电器都接入到家庭网络中,并统一管理起来;
可以看出,网关是家庭网络中的物理上和逻辑上的核心。
1.2 家庭网关网络控制模型分析
根据系统的体系结构将家庭网关抽象为站点[3],将家庭内部的被控对象(智能电冰箱、智能微波炉等等)抽象为节点。其网络控制模型如图1所示。
站点:站点是通过Internet访问家庭内部网络的驿站,它可以将来自互联网络的各种信息通过协议转换的方法传递到家庭内部网络,同时提取家庭内部网络的各种信息增加TCP/IP协议报头、报尾使之可以在广域网甚至Internet上发布并向远端监控机传递,使远端监控机可以对其控制,而具备此项功能的站点我们通常称其为家庭网关。
节点:节点负责对单个家用电器实施控制使其按照使用者的要求正常运行,同时以特定的通讯协议将本地信息传送到家庭网关或者接收来自家庭网关的指令以改变现在的运行状况。所以可以把它理解为以单片机为核心的智能家用电器,由于不同的家用电器要连接到同一个网关上,要使它们相互连接又互不影响,采用现场总线是个很好的办法,所以节点还应该支持现场总线协议。
2 硬件结构
根据前面的分析,可以确定硬件系统应具备的功能特征,图2给出了智能家庭网关的硬件结构。
图2 系统硬件结构
为保证家庭网关的实用性和可扩展性,网关平台需要选用高性能的微处理器,廉价的8位处理器己经无法满足设计的要求,考虑到以后系统的升级以及32位处理器的价格不断下降,设计中决定采用32位的MPU(S3C2410)[4]作为整个系统的核心。
由于网关要实现服务器的功能,因而需要文件系统的支持,同时需要操作系统来支持多任务,这些都决定了硬件平台中需要有扩展的SDRAM和Flash(或者EEPROM )等存储芯片。Flash中存储操作系统和文件系统,系统启动后将复制到SDRAM中运行。通用I/O接口的设计,用于完成外部信号的接入。为完成与外部信号线的连接,MPU需要支持一定数量的通用I/O口。
家庭网关要实现与Internet的连接,需要有相应的连接模块。Ethernet模块就是为了完成与外部网络的物理连接。
同时,家庭网关还要连接内部轻量级网络[5] (家庭网络中一般使用485. 232等轻量级网络互联)。一般这些网络都可以通过UART口与网关相连。而家庭网关的一些控制或调试信息也需要通过UART口输出到宿主机的虚拟平台。
JTAG接口用于实现MPU中程序的实时监控,绝大多数的32位MCU都支持JTAG格式的在线调试功能。
X10系统[6]与网关的接口是整个家庭网络控制方面至关重要的一个接口。网关通过一个普通I/0口进行过零点信号检测,通过另一个普通I/O口向电力线载波系统发出控制命令,最后达到控制大多数家电的目的(照明,空调,热水器等等)。目前所实现的控制是单向的,由于控制命令数据量少,而受控电器的状态数据可以根据控制命令进行判断,所以这种控制在目前是可以满足使用要求的。
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)