www.dxsdz.cn
2007-4-23
转贴
摘要:主要从嵌入式系统自身的特点出发,介绍一种新型的基于嵌入式网关的家庭智能系统。系统以以太网为通信媒介,利用嵌入式网关进行家庭内外信息交换,通过浏览器对家庭的各种信息进行实时、有效的管理和调度,为现代家庭生活提供智能服务。 关键词:W3100A 嵌入式网关 DNS DHCP 引言 当今社会逐渐入网络时代,因特网已成为重要的基础信息设施。目前,大部分网络终端仍以PC的形式出现,但是从计算机应用普及的情况看,嵌入式系 统更为普及,过去大量的浩如烟海的8位/16位单片机的嵌入式设备,已经到了享受网络方便的时候了。近来的统计证明:PC机CPU的产量仅是MCU产量的 1/100,并且由于MCU的成本低廉,应用非常普及。在工业测控、智能仪器、智能家庭领域,MCU应用系统已无处不在。在这些场合中,以MCU为核心的 设备同样也需要解决接入因特网的问题。本文在分析嵌入式系统与常规计算机系统研发不同点的基础上,介绍一种新型家庭智能系统。 1 家庭智能系统的体系结构 家庭智能系统体系结构的总体框图如图1所示。从大的方面看,家庭智能系统可由三部分组成:家庭自动化外部接口模块、家庭自动化图像模块、家庭智 能化内部无线收发与控制模块。未来的家庭中,多件家用电器与各种报警器将组成一个家庭的内部网,并通过内部网的网关接入因特网。一方面,内部网中的家电可 以通过网关访问因特网上资源。如网络电视机每天早晨自动访问用户喜欢的某个电视台的网站,自动下载晚上的节目表。另一方面,用户可以在因特网任务一点通过 浏览器对家里的家用电器与报警器进行远程控制。如用户出门在外,可以在外地上网,通过浏览器,启动家里的摄像机实时监察家里的安全。家庭自动化内部无线网 模块要由消息处理模块和基于工频的无线收模块(NRF401)构成。它将成为Internet网的发展沃土,顺应“网络服务”向“网络应用”扩展的大潮。 本文主要介绍嵌入式网关,以及如何在远程访问具有静态或动态IP地址嵌入式网关的技术。 2 嵌入式网关 目前,国内外嵌入式网关的设计有二种方案:第一种方案,是基于软件来实现TCP/IP协议栈;第二种是直接利用TCP/IP协议栈芯片。本文介绍的嵌入式网关采用第二种方案,它由W3100A、RTL8201、MCU组成,如图2所示。 图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为其请求数据包中的第一个词,表 示这个请求是用来接收Web资源的。该服务器仅对HTTP请求的第一行Get/home.html/HTTP.1进行检查和解释。因为除了数据外,所有响 应信息数据都是常量。服务器的响应数据包已经由程序定制好,存放在服务器中。响应的HTTP数据头和资源一起存放在Flash中。服务器与浏览器链接建立 后,服务器检查接收的请求数据,然后调用8051内部的程序模块,将相应的home.html发送给远程浏览器。Web页的存储范围为 0000H~7FF0H,大约32KB,而8字节的用户名和8字节的密码可以存放在外围Flash存储区未端。在处理浏览器提交的数据信息时,按照两个步 骤进行程序设计。首先,服务器根据远程浏览器传送过来的数据信息,决定服务器的HTTP服务的方式。其实,将Web资源发送给远程浏览器或使用函数来处理 浏览器提交的数据,并将此数据传递给消息处理模块。该消息处理模块根据所要控制设备类型查表,然后启动无线收发模块将表中的消息发送出去。每个智能设备根 据此消息启动相应的操作,并借助于设计合理的数据结构和函数实现软件设计。上述过程可用图4和图5形象地说明。 结语 本文介绍的嵌入式网关有很大的发展前途,它以以太网为通信媒介,利用嵌入式网关进行家庭内外信息交换;通过浏览器对家庭的各种信息进行实时、有效的管理和调度,为现代家庭生活提供智能服务。 |
文章评论(0条评论)
登录后参与讨论