青岛广盛源安装集团有限公司
不断超越,追求完美
效率成就品牌,诚信铸就未来
只有更好的服务,才有更多的用户
供应智能家居控制系统中家庭网关的设计
-
- 智能家居控制系统中家庭网关的设计 1895322**** 家庭网关的设计是智能家居控制系统的设计一个重要组成部分,它是连接家庭网络与外界网络的桥梁,是家庭内外信息交流的枢纽。
它的主要功能是支持家庭内部设备与互联网之间的通信工作。
家庭网关既是家庭网络中的一个节点,也是互联网进入家庭的入口节点。
所以它在家庭网络中的位置是很重要的。
它完成的工作有以下几点: (1)运行支持TCP/IP协议,提供HTIT服务,可以通过网络浏览器为远程访问的用户提供服务;(2)Intemet接入功能包括路由、地址转换等等;(3)家庭网络中各种不同通信协议之间的协议转换,以及家庭网络系统与,I℃P/Ⅲ协议之间的转换;(4)运行家电管理软件,以将使用不同通信协议的家用电器都接入到家庭网络中,并统一管理起来。
考虑到家庭网络通信需要的协议简单,而嵌入式系统具有体积小、专业化强、配置要求低、使用简单、实时性强、成本低廉等特点,提出一种用嵌入式网关来实现家庭网络与Intemet互联的方案,采用的是89C-5l单片机和网卡TE-2008的主芯片舢19AS来研究单片机在以太网卡数据通信中的应用。
1原理分析 由于家庭网关解决家庭局域网络和互联网的通信问题,而互联网是按照TCP/IP协议来进行数问题就是实现TCP/IP协议,并解决数据的封装、编码及发送等问题。
嵌入式网关就是把rI℃P/IP协议栈固化在单片机内,使单片机具有以太网接人功能的一种廉价的网络接入装置。
只要微控制器对网络接口芯片进行控制和通信,并通过自主开发TCP/IP协议栈,把标准网络技术(TCP/IP)运用到嵌入设备中,就能在网络环境下在任何时间从任何地点对它进行监控,利用传统的Web和因特网机制对远程监视数据和运行情况控制。
2家庭网关的硬件设计 家庭网关的微处理器采用16位89C-51单片机,负责承载网络层以上的协议及提供网络访问服务;以太网控制器芯片采用台湾Realtek公司生产的RT璐019As,负责物理层和链路层的协议和进行互联网的数据传输工作;和家用计算机的连接采用RS232接口有线连接,和家庭网关及各个智能控制节点的连接采用无线收发模块进行无线连接。
3软件设计与实现软件部分主要包括以太网控制器接口软件的设计和嵌入式TCP/IP协议栈的开发。
3.1 以太网控制器软件设计 以太网控制器RTLS019AS接口软件的设计部分是主要用来实现以太网控制器的数据发送和数据接收。
程序主要分三大部分: 3.1.1初始化过程 网络接口控制芯片RTLS019AS有两种复位方法,一是可以通过把其复位引脚RSTDRV置高为电平进行冷复位;--是可以通过读写其复位端口RSTPORI进行热复位。
复位后,中断状态寄存器的RST标志位为l,此时为离线工作状态,即不能发送或接收数据帧。
为了使接口控制芯片启动并处于准备接收或发送数据的状态,需要进行一系列初始化工作。
3.1.2接收过程 将RTL8019AS内置存储空间的一部分*为缓冲环的地址空间。
页起始地址由PSTART寄存器*,页终止地址由PSTOP寄存器来*,页起始地址与页终止地址相邻,构成循环队列式的缓冲环结构。
CURB寄存器指向新接收到的帧存放的起始页,作为本地DMA的写指针;BNRY寄存器指向未读的帧的起始页,作为远程DMA的读指针。
当CURB寄存器追上BNRY寄存器,表示接收缓冲环已满,后续接收到的帧会被丢弃;当BNRY寄存器追上CURB寄存器,表示接收缓冲环已空。
接收帧时。
首先RTLS019AS接收网络上的数据帧,然后通过本地DMA通道将接收到的数据帧放在接收缓冲环中。
当无错误的接收到一帧数据后,RTLS019AS将中断状态寄存器ISR中的RDC位置为0,通过此标志位的状态可判断远程DMA读操作是否结束。
数据帧的接收可采用中断或查询方式进行,采用查询式接收帧的程序流程。
CR寄存器中的RD2,RDI,RDO这3个位组合起来设定DMA的有关操作。
001则启动远程读操作;010则启动远程写操作:011则发送网卡数据包;1奉宰则终止或结束DMA的读写操作。
3.1.3发送过程发送帧时,发送方将待发送的数据按帧格式要求封装成帧,再通过处理器的I/O通道和网络接口控制器的远程DMA通道将数据写入本地发送缓冲。
当远程DMA写操作完成后,RTLS019AS将中断状态寄存器ISR中的RDC位置0,通过此标志位的状态可判断远程DMA写操作是否结束。
然后网络接口控制器将数据帧发送到网络的传输线上,由接收方接收。
在发送完毕,测试发送状态寄存器TSR中的各标志位来检验是否数据帧已经无错发送完成。
发送帧的程序流程如图4所示。
RsARO和RSARI寄存器是用来*远程DMA写操作时数据存放的缓冲区首地址。
远程字节计数寄存器RBCRO和RBCRI用来指明本次远程DMA操作时传输数据的字节数。
3.2 TCP/IP协议栈 由于在家庭网络中应用嵌入式设备功能比较单一,在上述网络接口控制芯片接口程序的基础上只需要使用简化的嵌入式协议栈,即可满足大部分情况下的应用要求。
针对单片机设备的实用性、存储能力、处理能力的局限性,在实现TCP/IP协议时包括以下方面:地址识别协议一ARP/RARP协议,基本数据传输协议一IP协议,差错控制协议一ICMP协议,可靠数据传输控制协议TOP协议,超文本文件传输协议HrItrP协议。
3.2.1 IP协议 IP(Intemet Protoc01)协议是网络层TCP/IP协议的基础。
不同网络的主机之间在进行发送数据包操作时,都是在数据前添加IP协议头,使每个数据报具有了寻址能力。
在接收到IP包后,微处理器检验IP头部的版本、目的地址、校验和正确,就解析出协议类型字段,然后交给相应的高层协议处理。
发送IP包时,将缓冲区内的源地址与目的地址互换,设置校验和,然后交给下层协议处理。
不符合要求,则将此包丢弃。
IP数据包*为65K,可以分段传输,而在嵌入式系统里根本无法容纳如此大的数据包,因此一般是不支持分段的。
限制MCU发送数据包的方式和接收的有效数据分组地格式以避免分段,从而减少程序复杂度。
3.2.2 TCP协议 TCP协议是传输层面向连接的、端对端的可靠 通信协议。
它采用了许多机制来保证传输可靠性,例如:通过序列号来解决通信时的丢失、重复、失序问题;通过校验和来解决数据误码问题等等。
在设计嵌入式WEB服务时,系统中TCP协议上只支持H11甲协议,嵌入式系统把数据采集、运行参数等当前实时数据存人存储器中网页相关的位置。
对任何TCP连接,每次只是支持HTTP协议发送网页服务,并且把每个网页大小限制在一个数据包内,而不要出现IP包的分拆。
对依靠TCP连接的HTTP服务来说,嵌入式服务仅仅在服务器端响应客户端请求,所接收的报文一个数据包即可传输完成,故不需考虑失序问题。
在三次握手建立连接的过程中,嵌入式系统作为*状态的服务端,始终为被动方,相当于被动打开后的LISTEN状态,等待对方发起连接。
嵌入式TCP设计中没有记忆TCP 连接所处的当前状态,也没有分开建立多个TCP连接,同时不记忆TCP连接的序列号,不能识别重复报文,把此重复报文的处理工作交给对方处理。
3.2.3 HTTP协议 应用层的超文本传输协议mⅥ,每一次的交互是由一个ASCII码请求跟着一个MIME的应答组成。
协议包括从浏览器到服务器的请求集和从另一方向来的应答集。
其中GET方法请求服务器发送一页面,因为本嵌入式系统中的WEB页面中的相关数据总是实时更新的,因此每次解析出的GET方法,都是发送当前网页。
从TCP协议传人HrI’I甲请求时,解析出GET命令和目的网页,根据目的网页的名字,确定要发送的数据,文件名字错误,则为index.htm,将数据传人网络接口控制器的发送缓冲区,同时计算当前校验和:装配H1TP协议包头部,根据TCP的当前状态,装配TCP协议头部,确定校验和等字段,将TCP协议头部传人发送缓冲区;再装配IP协议包头部和以太包头部传入发送缓冲区,**将数据帧发出,完成H11甲回应。
4结束语 家庭网关在智能家居网络中具有重要地位,本文从硬件和软件两个方面对家庭网关进行了设计,并对其原理、对其软件流程、通信协议进行了分析。
随着家庭网关技术的逐步发展和完善,智能家居必将成为未来家庭的主流和趋势。
标签: 青岛市智能家居 青岛市智能家居厂家
山东 青岛市青岛市智能家居厂家
供应智能家居控制系统中家庭网关的设计
- 联系方式
- 联系人:---
- 座机:---
- 手机:---
- 地址:---