原创 由W3100A构成嵌入式网关的家庭智能系统【转】

2008-4-1 09:35 2682 6 6 分类: 通信

www.dxsdz.cn
  2007-4-23
  
转贴






    摘要:主要从嵌入式系统自身的特点出发,介绍一种新型的基于嵌入式网关的家庭智能系统。系统以以太网为通信媒介,利用嵌入式网关进行家庭内外信息交换,通过浏览器对家庭的各种信息进行实时、有效的管理和调度,为现代家庭生活提供智能服务。

    关键词:W3100A 嵌入式网关 DNS DHCP

引言

当今社会逐渐入网络时代,因特网已成为重要的基础信息设施。目前,大部分网络终端仍以PC的形式出现,但是从计算机应用普及的情况看,嵌入式系
统更为普及,过去大量的浩如烟海的8位/16位单片机的嵌入式设备,已经到了享受网络方便的时候了。近来的统计证明:PC机CPU的产量仅是MCU产量的
1/100,并且由于MCU的成本低廉,应用非常普及。在工业测控、智能仪器、智能家庭领域,MCU应用系统已无处不在。在这些场合中,以MCU为核心的
设备同样也需要解决接入因特网的问题。本文在分析嵌入式系统与常规计算机系统研发不同点的基础上,介绍一种新型家庭智能系统。
14a.gif
1 家庭智能系统的体系结构

家庭智能系统体系结构的总体框图如图1所示。从大的方面看,家庭智能系统可由三部分组成:家庭自动化外部接口模块、家庭自动化图像模块、家庭智
能化内部无线收发与控制模块。未来的家庭中,多件家用电器与各种报警器将组成一个家庭的内部网,并通过内部网的网关接入因特网。一方面,内部网中的家电可
以通过网关访问因特网上资源。如网络电视机每天早晨自动访问用户喜欢的某个电视台的网站,自动下载晚上的节目表。另一方面,用户可以在因特网任务一点通过
浏览器对家里的家用电器与报警器进行远程控制。如用户出门在外,可以在外地上网,通过浏览器,启动家里的摄像机实时监察家里的安全。家庭自动化内部无线网
模块要由消息处理模块和基于工频的无线收模块(NRF401)构成。它将成为Internet网的发展沃土,顺应“网络服务”向“网络应用”扩展的大潮。
本文主要介绍嵌入式网关,以及如何在远程访问具有静态或动态IP地址嵌入式网关的技术。

2 嵌入式网关

目前,国内外嵌入式网关的设计有二种方案:第一种方案,是基于软件来实现TCP/IP协议栈;第二种是直接利用TCP/IP协议栈芯片。本文介绍的嵌入式网关采用第二种方案,它由W3100A、RTL8201、MCU组成,如图2所示。14b.gif

图2中,DLC为数据链路控制,MAC为媒体访问控制,IP为网际协议,ICMP为因特网控制报文协议,TCP为传输控制协议,UDP为用户数据摄协议,DPRAM为双端口存储器。

第一种方案在大批量生产时,具有成本低的优点,因为用软件设计的TCP/IP协议栈,是一次投交多次使用;但开始投次比较大且设计复杂,因为需
要实时操作系统的支持,而第二种方案,尽管在大指生产时成本高,因为每个智能设备都要嵌入TCP/IP协议栈芯片;但是在非大批量生产时具有投次比较大,
设计简单、灵活的特点,因为不需要实时操作系统的支持。本文采用的TCP/IP协议栈芯片是W3100A.它有如下特点:首先,它自带TCP/IP协议栈
(如TCP、UDP、Ipver.4、ICMP、ARP、DLC、MAC协议);其次,它能同时支持四个独立的连接通道,具有高速传输速率(如网关的
MCU用Atmel
8951,那么网关的传输速率是200b/s;若用Intel386,那么网关的传输速率是3Mb/s)同时,它具有与MCU和物理层电路接口。从图2可
以看到;W3100A除了具有上述特点外,还提供了Socket应用程序编程接口,为那种需要进行因特网连接的智能设备,提供了一种简便、廉价、高效的方
案,只要将W3100嵌入智能设备就可以了。这样,大大减少了软件研发费用,减轻了MCU的工作量,同时便利该产品具有竞争力,并符合嵌入式系统设计原
则:①价格。由于嵌入式设备对价格非常敏感,通常要求价廉质优,故在设计产品时,在满足功能要求的情况下尽量降低成本。②环境。在功能要求满足的同时,要
考虑到该产品在恶劣环境下,能否正常工作,比如温度、电源功耗等等。③使用。用户在使用时,操作应尽量简单。

RTL8201是单口10/100Mb/s以太网收发器,超低耗和少于180mA/3.3V操作电压,支持全双工和半双工操作,提供一个LED
显示器指示一个网络回环存在。由于上述的优点,该嵌入式网关可以用在IP电话、网络MP3、网络相机和工业控制总线上。图3是嵌入式网关的原理图。

3 软件设计思想

为了适应分组到达的随机性,系统必须具有能够从网络接口读取分组的能力,故本系统采用“软件中断”的机制。当一个分组到达时,产生一个硬件中
断,设备驱动程序接收分组重置接口设备。在中断返回之前,设备驱动程序会通知硬件安排下一个较低优先级的中断;在此次硬件中断结束后,低优先级的中断会继
续执行。下面结合“软件中断”的机制、动态主机配置协议(DHCP)和域名系统(DNS),来说明如何在远程访问具有静态或动态IP地址嵌入式网关的技术
(主要说明如何在远程访问具有动态IP地址嵌入式网关的技术)。在介绍该技术前,先介绍几个概念。
点击看大图
    (1)DHCP原理

当一台设置为自动获取IP地址的计算机在登录网络时,会向网络上发送“租”一个IP地址的请求,专门负责提供IP地址的DHCP服务器回应这个
请求,为这台计算机提供一个空闲的IP地址。DHCP的主要用途是:通过服务器的伺服进程协助来控管各个主机(执行中的用户端)上不可缺少的网络连线参
数。

(2)DNS

DNS(Domain Name
System,域名系统)是一种组织成域层次结构的计算机和网络服务命名系统,用于TCP/IP网络。它主要是通过用户亲切而友好的名称代替枯燥而难记的
IP地址,以定位相应的计算机和相应服务。DNS就是完成在名称和IP地址之间的映射。对于动态分配IP,做一个DHCP程序来绑定用户网关的MAC地址
和IP地址,然后再根据不同IP设定权限,防止IP地址盗用。

(3)HTTP协议的作用原理

WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网络。WWW的工作基于客户机/服务器计算模型,
由Web浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基础TCP/IP协议之上的协
议,是Web浏览器来Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。

图4 基于嵌入式网关的服务器与远程浏览器的请求与应答示意图

   
根据上述HTTP协议的作用原理,本文实现了基于浏览器/嵌入式Web服务器模式的家庭智能系统。首先初始化W3100ATRTL8201,通过UDP传
输DHCP报文,获取动态IP地址,再得到DNS服务器支持,由DNS服务器负责建立IP地址与域名(别名)映射;同时,创建进程负责IP地址与域名(别
名)映射更新,确保通过别名就可以访问该嵌入式设备。初始化完成后,远程浏览器就可以进行TCP链接了。建立TCP链接后,服务器等待远程浏览器的请求,
是一个被动的设备。当接收到建立TCP链接的请求后,来识别随后收到的来自远程客户机浏览器的数据包。通过软件中断,监听W3100A、等待、接受客户机
连接到RTL8201后,在W3100A体现出来的标志;创建与Socket字相关联的输入流和输出流;然后读取客户机的请求信息。在用户登录前,远程浏
览器必须获得存储在Flash内部的网页,由此才能进行登录和控制。GET为其请求数据包中的第一个词,14e.gif
示这个请求是用来接收Web资源的。该服务器仅对HTTP请求的第一行Get/home.html/HTTP.1进行检查和解释。因为除了数据外,所有响
应信息数据都是常量。服务器的响应数据包已经由程序定制好,存放在服务器中。响应的HTTP数据头和资源一起存放在Flash中。服务器与浏览器链接建立
后,服务器检查接收的请求数据,然后调用8051内部的程序模块,将相应的home.html发送给远程浏览器。Web页的存储范围为
0000H~7FF0H,大约32KB,而8字节的用户名和8字节的密码可以存放在外围Flash存储区未端。在处理浏览器提交的数据信息时,按照两个步
骤进行程序设计。首先,服务器根据远程浏览器传送过来的数据信息,决定服务器的HTTP服务的方式。其实,将Web资源发送给远程浏览器或使用函数来处理
浏览器提交的数据,并将此数据传递给消息处理模块。该消息处理模块根据所要控制设备类型查表,然后启动无线收发模块将表中的消息发送出去。每个智能设备根
据此消息启动相应的操作,并借助于设计合理的数据结构和函数实现软件设计。上述过程可用图4和图5形象地说明。

结语

本文介绍的嵌入式网关有很大的发展前途,它以以太网为通信媒介,利用嵌入式网关进行家庭内外信息交换;通过浏览器对家庭的各种信息进行实时、有效的管理和调度,为现代家庭生活提供智能服务。







文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条