具体实施方式
首先,介绍数字家庭网络的系统结构。
数字家庭网络由网络控制终端、移动控制终端和多个通讯模块接收发送装置组成,见图1。各个部分的作用如下:
1、网络控制终端
网络控制终端的定义是:一种简单的、智能的、标准化的、灵活的整个家庭网络接口单元,它可以从不同的外部网络接收通讯信号,通过家庭网络传递信号给家庭内部的各种设备。网络控制终端是家庭信息系统结构与网络连接的核心,具有此部分可减少系统其它部分的负担,在实现与广域网的互联、局域网的内部管理均能起主导作用。网络控制终端具备两个主要功能:(1)作为所有外部接入网连接到家庭内部和家庭内部网络连接到外部的一种物理接口;(2)使住宅用户可以获得各种家庭服务(包括现有的服务和未来可能出现的服务)的平台。
网络控制终端的特点是:支持多协议的Internet功能和良好的Web性能,支持网络内部各种设备之间的数据通信、实时传输多媒体数据、多媒体交互式操作和即插即用,具有丰富的用户界面和图形控制功能,可以让用户方便直观地操作和控制各项应用,还可以显示清晰而生动的图形界面。
网络控制终端的功能是:通过Internet网络控制信息家电,也可以通过本地计算机进行家电控制。能够实现家庭内部各种设备的管理,以及远程监控,各种智能管理:远程控制、远程查询、集中管理与监控、家庭安全防卫、故障的自诊断、自反馈、远程维护、家庭能源管理等等。
网络控制终端的操作方式是:用户登到Internet网络后,打开家庭控制网络界面,根据界面上显示出来的各个家电选项,进入某一个家电控制界面,控制此家电。
本系统的网络控制终端具有以下特点:
(1)网络控制终端给出了清晰的人机界面,可以进入任一个电器的控制选项界面,控制各个家电的所有控制功能,操作十分简单,而且是用户一目了然。
(2)网络控制终端还具有管理各种家电的功能,当有一个新的家电加入到家庭网络系统内,网络控制终端有增加选项,可以通过添加由DEVICEFILE协议所制定的设备文件,来添加新的设备。网络控制终端还有删除已经不能使用设备选项的功能。
(3)网络控制终端与各个家电所拥有的通讯模块可以通过无线通讯方式进行数据交换,提高了其本身的通用性。网络控制终端与各个通讯模块之间的通讯协议为数字家庭网络(DHN)通讯协议规范。
2、移动控制终端
移动控制终端的定义是:一种简单的、智能的、标准化的、灵活的整个家庭主要控制单元,它可以通过各种无线通讯方式接收通讯信号,并且传递信号给家庭内部的各种设备。移动控制终端是家庭信息系统结构移动控制的核心,具有此部分可使控制各个组成部分更加灵活,减少系统其它部分的负担,在实现便携控制与家庭内部管理均能起主导作用。移动控制终端应具备两个主要功能:(1)作为所有家庭信息化家电的集中控制,同时将与家庭内部网络控制终端相互通讯,以达到控制一致的目的;(2)使住宅用户可以获得各种家庭服务(包括现有的服务和未来可能出现的服务)的平台。
移动控制终端的特点是:支持无线通讯的功能,支持家庭内部各种设备之间的数据通信、实时传输数据信息、人机交互式操作和具有丰富的用户界面和图形控制功能,可以让用户方便直观地操作和控制各项应用,还可以显示清晰而准确的图形界面。
移动控制终端的作用是通过无线通讯的方式对现在家庭里已有的信息家电进行集中控制。
现在的家庭中如果要对家电进行遥控的话,要一个家电对应一个遥控器,这样会使很多人对各个遥控器发生混淆,以至于相控制一个电器的时候,要去分辨哪一个是这个家电的遥控器,而且没有清晰的显示界面。
本系统的移动控制终端具有以下特点:
(1)移动控制终端有一个清晰的人机界面,通过其上的屏幕可以显示家里所有的电器,通过移动控制终端键盘上的按钮,可以进入任一个电器的控制选项界面,控制选项界面中包括此家电的所有控制功能,选择每一个控制功能选项可以控制此家电的此项功能,操作十分简单,而且是用户一目了然。
(2)移动控制终端是通过无线的通讯方式进行通讯的,可以不受障碍物的限制,在有效距离内可以对每一个移动控制终端上的家电设备进行控制,并且控制更加可靠。
(3)移动控制终端还具有管理各种家电的功能,当有一个新的家电加入到家庭网络系统内,移动控制终端有增加选项,可以通过添加由DEVICEFILE协议所制定的设备文件,来添加新的设备。移动控制终端还有删除已经不能使用设备选项的功能。
(4)移动控制终端与各个家电所拥有的通讯模块可以通过无线通讯方式进行数据交换,移动控制终端与各个通讯模块之间的通讯协议为数字家庭网络(DHN)网络通讯协议规范。
3、通讯模块
通讯模块的定义是:一种简单的、智能的、标准化的、灵活的整个家庭信息家电的通讯接口单元,它可以从不同的通讯方式接收通讯信号,通过不同的通讯方式传递信号给家庭中的控制终端。通讯模块是家庭信息系统结构中信息家电各个控制终端的通讯核心、。通讯模块应具备两个主要功能:(1)作为所有信息家电接入家庭内部网络的接口;(2)储存所接的信息家电的相关信息。
通讯模块的特点是:支持网络内部各个设备之间的数据通信、实时传输体数据信息、即插即用,通讯快捷等功能,可以让用户方便直观地操作和控制各个信息家电。
通讯模块的功能是:能够实现家庭内部各种设备的管理,以及远程监控,各种智能管理:远程控制、远程查询、集中管理与监控、家庭安全防卫、故障的自诊断、自反馈、远程维护、家庭能源管理等等。
各个信息家电设备内设置一个通讯模块,这种通讯模块为有线和无线通讯方式,其主要作用是通过使用数字家庭网络(DHN)通讯协议规范与网络控制终端和移动控制终端进行数据交换,以此来实现对本设备所连接的家电进行控制,在增添设备时传输符合DEVICEFILE协议规范的设备文件。
下面介绍数字家庭网络(DHN)协议体系结构。
数字家庭网络(Digital Home Network)通讯协议规范的目标是允许遵循规范的各个应用层之间能够进行相互操作。为了实现互操作,必须各个应用层相应的应用程序必须以同一协议栈运行,每一个协议栈都是符合数字家庭网络(DHN)通讯协议规范。但并不是所有应用程序都必须全部符合数字家庭网络(DHN)通讯协议规范,而是应用程序只利用协议栈中的某些部分,并且协议栈中的某些附加垂直协议子集恰恰是用于支持主要应用的服务。
数字家庭网络(DHN)通讯协议规范的互操作应用支持的完整协议栈如下表所示:
APPL:应用层(Application Layer);
NETL:网络层(Network Layer);
PHYL:物理层(Physical Layer)。
其中物理层的结构如下表所示:
LPL:有线物理层(Line Physical Layer)
LCFL:有线连接适配层(Line Connector Fit Layer)
WPL:无线物理层(Wireless Physical Layer)
WCFL:无线连接适配层(Wireless Connector Fit Layer)
LLML:逻辑链路管理层(Logic Linker Manager layer)
其中网络层的结构如下表所示:
NCAL |
RCAL |
OCAL |
NCIL |
RCIL |
OCIL |
NCIL:网络端控制接口层(Network Control Interface Layer)
RCIL:移动端控制接口层(Remove Control Interface Layer)
OCIL:其他控制接口层(Others Control Interface Layer)
NCAL:网络端控制网络层(Network Control Application Layer)
RCAL:移动端控制网络层(Remote Control Application Layer)
OCAL:其他控制网络层(Others Control Application Layer)
下面首先介绍物理层的结构:
物理层的结构如下:LPL:有线物理层(Line Physical Layer);LCFL:有线连接适配层(Line Connector Fit Layer);WPL:无线物理层 (Wireless Physical Layer);WCFL:无线连接适配层(Wireless Connector Fit Layer);LLML:逻辑链路管理层(LogicLinker Manager layer)。
有线物理层:
数字家庭网络(DHN)有线通讯可以是任何有线通讯方式,如RS232通讯方式、RS485通讯方式、LAN现场总线方式等等。
采用RS-485串行总线标准,在此通讯方式下所采用的波特率为9.6Kbps,通讯距离可以达到1.5公里,适合在家庭有线通讯,其工作方式为半双工方式。
无线物理层:
本系统无线通讯的工作频点为868~870MHz,整个无线通讯的工作频率范围为850~950MHz频段或者2.4GHz的ISM频段上。数字家庭网络(DHN)无线通讯的各项参数根据不同的通讯要求和组成模块而不同。
无线连接适配层:
是用于建立无线通讯体系结构中的基础适配通讯部分,根据不同的物理层建立不同的适配通讯协议,连接物理层与逻辑链路管理层,实现两层的数据传输,完成无线接收和发送任务,并根据无线连接适配层的通讯协议,对得到的数据信息进行分析处理,将有效的数据信息传输给逻辑链路管理层。
无线连接适配层的通讯格式:
在无线连接适配层里定义分组和消息时,编码应该遵循以下格式:
无线连接适配层的协议体系如下表所示:
类型 |
长度(位数) |
前位码 |
159 |
有效载荷 |
128~800 |
前位码:
其总长度为159bits,分别包括先导码、设置位、同步码、间隔码等,在无线连接适配层中主要用于建立无线通讯的传输通路。
(1)先导码的长度为154bits,是一系列有规律的信号,用于建立无线通讯链路。
(2)设置位的长度为1bit,用于区分先导码和同步码,有利于建立同步码。
(3)同步码的长度为3bits,用于无线通讯中的同步作用。
(4)间隔位的长度为1bit,用于区分同步码和识别码,有利于接收数据。
有效载荷:
长度为128~800bits,其中包括识别码和实际信息数据的长度、所要得到的各种控制命令、状态命令、各种有效数据信息等,为逻辑链路管理层所要的有效数据信息。
无线连接适配层的接收/发送的规则:
为了支持无线通讯(WCOM)的接收和发送,分别定义了以下规则:
接收规则:
如图2所示,当无线连接适配层进行接收时,是先查找先导码,先导码是一系列有规律的信号,可按一定模式来接收检测此信号,当查完先导码后,开始等待同步码,同步码是起到时通讯同步作用的码,一共检查三位的同步码,当同步码检查无误后,等待一个间隔位,间隔位的后面就是开始接收正常的数据,间隔位的后面紧跟的就是识别码、有效载荷和校验和,并按一定的长度来接收这些数据,当接收完毕后,把此数据放到预定的位置,以便逻辑链路管理层的后续处理。
发送规则:
如图3所示,当无线连接适配层进行发送时,是先发送154位的先导码,先导码是一系列有规律的信号,可按一定模式来发送此信号,当发送完先导码后,开始发送1位设置位,设置位是为发送同步码做准备的,发送完设置位后,发送同步码,同步码是作为通讯同步作用的码,一共发送三位的同步码,当同步码发送完毕后,再发送一个间隔位,间隔位的作用是隔离同步位和正常的数据,隔离位发送完毕后,开始发送正常的数据,正常的数据包括识别码、有效载荷和校验和,这些数据都放到一个预定的位置,并按一定的顺序,一定的长度发送出去。
逻辑链路管理层:
逻辑链路管理层的主要作用是对从连接适配层得到的数据信息进行判断与处理,如确认帧ACK功能、数据信息处理功能、重发功能,如果数据正确,则对数据进行分析,并且传输给控制接口层。对从控制接口层得到的数据进行分析和处理,传送给连接适配层。
逻辑链路管理层的通讯格式分为识别码、有效数据信息和校验和,如下表所示:
逻辑链路管理层的有效载荷结构如下表所示:
类型 |
长度(位数) |
识别码 |
112 |
有效数据 |
0~672 |
校验和 |
16 |
1、识别码的长度为112bits,用于定义此数据组的各种信息,可以使从单元对主单元发来的信息加以判别。
2、有效数据信息为0~672bits,是应用层所要得到的有效数据信息,其中包括应用层所要的各项参数、各项设置信息。
3、校验和为16bits,校验此数据帧的正确性。
识别码在逻辑链路管理层中主要用于识别此帧数据各种有效的数据信息,并判断其有效性,识别码的总长度位112bits,分别包括字数反码、字数、目的地址、源地址、帧号等。逻辑链路管理层的识别码格式为:
下表是逻辑链路管理层的识别码格式表:
类型 |
长度(字节数) |
字数反码 |
1 |
字数 |
1 |
目的地址 |
4 |
源地址 |
4 |
帧号 |
2 |
(1)字数反码与字数各为1 Byte,用于通知识别码与有效载荷的总字数。
(2)目的地址为4 Bytes,是数据组所要到达的目标的地址。每一个具有收发功能的通讯单元都有一个32位的ID号,其值在以此标准生产的全部产品中具有唯一性,数据通讯中就以此ID作为寻址的标识。当全“1”的ID号被用于主要控制设备(MCE)向网中全部设备的广播发送。
(3)源地址为4 Bytes,是数据组出发的地址。
(4)帧号为2 Bytes此数据组的序号,用于数据组的队列排序。帧号的作用之一是标识不同的数据传输;帧号的数值在传输中连续递增,如果一个帧号与前一个相同,则表示此帧是重传帧。在分段传送大量数据(如无线下载设备描述文件DEVICEFILE)时帧号用于标识分段数据的顺序。大多数控制命令数据都能容纳在一帧中,此时帧号起到标识不同命令的作用。数据无论是分段传送还是一次传送完,接收端都应将当前的帧号与保存的前一个帧号相比较,以判断此帧包含新数据还是重发数据。
前述有效数据信息包括是应用层所要得到的有效数据信息,其中包括应用层所要的各项参数、各项设置信息。其格式按应用层所要的信息格式来制定,不同应用层所制定的信息格式不尽相同。
前述校验和是控制字和有效数据信息的校验码,判别此数据组的传输正确性。校验和是字校验和,即把识别码和有效载荷的数据按字相加而得到的校验码。
逻辑链路管理层的主要功能包括:确认帧ACK功能;数据信息处理功能;重发功能。
确认帧ACK功能:当接收单元接收到一个数据组后,则立即发送一个ACK数据包给发送此数据组的发送单元,以此确认数据通讯的链路为通路,并通知发送单元等待反馈信息。ACK确认帧的数据包的格式同正常通讯帧的格式相同,也包括前位码、识别码、有效载荷、校验和,其中有效载荷是一组自定义的数据信息,可以是一定长度的相同数据,但必须区别于其他有效数据。
数据信息处理功能包括:对接收数据信息的处理功能、对发送数据信息的处理功能。
对接收数据信息的处理功能:(如图4所示)
当连接适配层接收到一组数据后,把整个数据放到一个预定的位置上后,发送给逻辑链路管理层一个已经接收数据信息完毕的信号,逻辑链路管理层检测到此信号后,就调用此组数据,并对此组数据进行分析处理,首先对字数和字数的反码进行判别,如不符合条件的话,则不做任何处理,继续等待接收新的数据信息。
当符合条件后,对接收到目的地址与本单元的ID地址相比较。如与本单元的ID地址不同,则此组数据不是给本组的数据信息,则不作相应的处理,继续等待接收新的数据信息。
如与本单元的ID地址相同,则进行源地址(即发送主单元的ID地址)与本单元所拥有的相关单元的ID地址号相比较,如本单元不包括此ID地址,则不作相应的处理,继续等待接收新的数据信息。
如果本单元包括此ID地址,则表明此组数据是给本单元的数据信息,下一步检测帧号,如与上一帧的帧号相同,则表明要求重发功能,如与上一帧的帧号不同,则表明新的一帧的数据信息,取出控制字内容,并调用校验和功能来判别此帧的整个帧内容的正确与否,校验和功能是把收到的识别码和有效载荷的数据信息逐个按字相加得到的字校验和与收到的校验和相比较,如校验和不正确,则不作相应的处理,继续等待接收新的数据信息。
如校验和正确,则取出控制字,对控制字进行有效的分析,把分析后的数据与有效载荷放到一起,设置到预定的位置,并给控制接口层发送准备好传输的信号,以便控制接口层进行下一步的数据传输。
对发送数据信息的处理功能:
控制网络层发送信息给逻辑链路管理层,当收到控制网络层的传输完毕的信号时,逻辑链路管理层到预定的位置取得数据信息,信息包括控制字和有效载荷。逻辑链路管理层对数据进行打包,首先得到数据的字数,添入字数的反码,在目的地址中放入要发送的通讯单元的ID地址,在源地址中放入本单元的ID地址,在帧号中放入本帧的帧号,在控制字的位置放入数据传输发送的控制字,在有效载荷的位置中放入控制网络层发送的有效载荷,在调用校验和功能,计算出校验和,放到校验和的位置上,这样组成一帧的数据放到预定的位置上,并给连接适配层一个已经准备好发送数据帧的信号。
重发功能:当本单元检测到此帧得帧号与上一帧等号相等的时候,表明接收单元对上一次收到的信息检测不正确,要求发送单元再发送一次上一帧的数据信息,从而调用重发功能,从上一次所发送的预定位置取出数据,并对其打包放到预定的位置,并给连接适配层一个已经准备好发送数据帧的信号。
网络层:
网络层的结构如下:NCIL:网络端控制接口层(Network Control Interface Layer);RCIL:移动端控制接口层(Remove Control Interface Layer);OCIL:其他控制接口层(Others Control Interface Layer);NCAL:网络端控制网络层(Network ControlApplication Layer);RCAL:移动端控制网络层(Remote Control Application Layer);OCAL:其他控制网络层(Others Control Application Layer)。
控制接口层:
控制接口层是对从逻辑链路管理层分析和处理所得到的有效数据信息通过相应的处理和分析,转变成网络层想要得到的有用数据传输给各个网络层。
控制接口层的协议是对控制网络层想要得到的数据进行相应的数据转换,转换成相应控制网络层所能接受的数据形式,即对逻辑链路管理层所给的控制字和有效数据进行打包,再传输给控制网络层。根据不同的控制网络层有不同的数据转换协议规范。控制接口层的目的是针对在逻辑链路管理层和不同网络层设备之间建立一条完整的通讯路径。
控制网络层:
控制网络层包括网络端控制网络层、移动端控制网络层、其他控制网络层等,网络端控制网络层是建立在网络端控制接口层上,移动端控制网络层是建立在移动端控制接口层上,其他控制网络层是建立各自相应的网络端控制接口层上。
网络层在接收到控制接口层传输的数据后,根据控制字和有效数据中的数据信息来进行相应的处理和反应,当网络层有任何数据信息想要进行传输,则把有效数据传输给控制接口层,控制接口层对有效数据再进行数据转换,把所得到的控制字和有效数据传输出去。
应用层:
应用层是所有用户所面向的应用程序的统称,根据不同的网络层制定不同的应用层,应用层是整个系统与用户进行交流的集中体现。应用层对每个用户的每个动作进行相应的反应,并与网络层进行信息交换,即把命令发送给网络层和接收网络层的返回信息。
应用层在接收到控制网络层传输的数据后,根据有效信息来进行相应的处理和反应,显示相应的用户界面。当应用层有任何数据信息想要进行传输,则把有效数据传输给控制网络层,控制网络层对有效数据再进行数据转换,把所得到的控制字和有效数据传输出去。
网络控制终端的功能与流程:
网络控制终端在系统中作为智能家电上网的一个控制通讯终端,主要功能是把智能家电和Internet网络连接起来,网络控制终端可以是一个符合数字网络家庭通讯协议规范的无线通讯的网关,可以与通讯模块进行数据交换。
当用户登录上Internet网络时,在网络浏览器上键入此网络控制终端在Internet上的IP地址,就可以连接上此网络控制终端,并进入一个数字家庭网络的控制画面,这个画面呈现了当前网络控制终端所在家庭中的所有家电,点击相要控制的家电的图标,可以进入此家电的控制界面。
控制界面上显示了此家电的所有控制选项,点击想要进行相应控制的选项,网络控制终端的应用层程序从所点击的控制选项得到其所对应的控制命令和有效参数,再对这些有效数据进行网络端控制网络层的数据转换,再传输给移动端控制接口层移动端控制接口层接收到网络端控制网络层传来的数据后,将得到的控制命令和有效参数传输给逻辑链路管理层,逻辑链路管理层对这个数据再按照数字家庭网络通讯协议规范进行打包,传输给无线连接适配层,无线连接适配层再对此数据帧进行符合本适配层协议的打包,通过相应的物理层将此数据帧传输出去。
这个网络控制终端所控制的所有家电的通讯模块都接收到这个数据帧,传输到连接适配层,连接适配层对此数据帧进行拆包,得到有效载荷,有效载荷再传输给逻辑链路管理层,逻辑链路管理层对此有效载荷进行拆包,并判断其正确性和有效性,如正确,则得到控制命令和有效数据信息,再将它们传输给此家电的控制接口层。如不正确,则不对此数据进行处理,并且不进入ACK功能。等待网络控制终端发送重发帧。网络控制器因没有得到ACK确认帧,而进入重发功能。
此家电的控制接口层对所得到的控制命令和有效数据进行数据转换,传输给此家电的控制网络层,再传输给应用层,由此应用层得到控制此家电的相应控制命令和有效参数,此家电根据这些数据信息执行相应的动作,在此动作完成后,返回给网络控制终端相应的反馈信息,反馈信息指示了当前此家电的现行状态。
如果网络控制器在一段时间间隔后没有得到相应的反馈信息,则进入重发功能,索取此次控制的反馈信息。
当网络控制终端接收到反馈信息后,更新此家电的网络界面,显示此家电当前的运行状态。
此过程为网络控制终端在符合数字家庭网络通讯协议规范的情况下,进行的一次完整的通讯过程,网络控制终端在整个的家庭网络ID识别号唯一的,以便区别于其他的家庭网络控制终端,避免产生干扰。
移动控制终端的功能与流程:
移动控制终端在系统中作为智能家电上网的一个控制通讯终端,主要功能是通过无线的方式与智能家电进行通讯,移动控制终端可以是一个符合数字网络家庭通讯协议规范的遥控终端,可以与通讯模块进行数据交换。
当用户打开移动控制终端电源的时候,移动控制终端的用户界面就会显示出来,用户界面上显示了当前在移动控制终端所在家庭中的所有家电。当用户界面时显示的同时,移动网络终端会发出一组查询命令,逐个查询网络中所有的智能家电的当前状态,收到返回信息后指各个家电的状态参数。选择用户界面上要控制的家电图表,可以进入此家电的控制界面。
控制界面上显示了此家电的所有控制选项,选择想要进行相应控制的选项,移动控制终端的应用层程序从所选择的控制选项得到其所对应的控制命令和有效参数,再对这些有效数据进行移动端控制网络层的数据转换,再传输给移动端控制接口层,移动端控制接口层接收到移动端控制网络层传来的数据后,将得到的控制命令和有效参数传输给逻辑链路管理层,逻辑链路管理层对这个数据再按照数字家庭网络通讯协议规范进行打包,传输给无线连接适配层,连接适配层再对此数据帧进行符合本适配层协议的打包,通过相应的物理层将此数据帧传输出去。
这个网络控制终端所控制的所有家电的通讯模块都接收到这个数据帧,传输到连接适配层,连接适配层对此数据帧进行拆包,得到有效载荷,有效载荷再传输给逻辑链路管理层,逻辑链路管理层对此有效载荷进行拆包,并判断其正确性和有效性,如正确,则得到控制命令和有效数据信息,再将它们传输给此家电的控制接口层。如不正确,则不对此数据进行处理,并且不进入ACK功能。等待网络控制终端发送重发帧。网络控制器因没有得到ACK确认帧,而进入重发功能。
此家电的控制接口层对所得到的控制命令和有效数据进行数据转换,传输给此家电的控制网络层的程序,再传输给应用层,由此应用层得到控制此家电的相应控制命令和有效参数,此家电根据这些数据信息执行相应的动作,在此动作完成后,返回给移动控制终端相应的反馈信息,反馈信息指示了当前此家电的现行状态。
如果移动控制器在一段时间间隔后没有得到相应的反馈信息,则进入重发功能,索取此次控制的反馈信息。
当移动控制终端接收到反馈信息后,更新此家电的用户界面,显示此家电当前的运行状态。
此过程为移动控制终端在符合数字家庭网络通讯协议规范的情况下,进行的一次完整的通讯过程。移动用户终端有自己的唯一识别ID号码,以便区别于其他的家庭网络控制终端,避免产生干扰。
为了保持移动控制终端和网络控制终端的通用性,并使系统具有添加新设备的能力,采用了被称为设备描述文件(DeviceFile)的数据结构来描述家电设备。这个设备描述文件(DeviceFile)在此简称设备文件或“DeviceFile”。每台信息家电设备都保存一份描述自身功能和命令的设备文件,当新设备加入到系统中时,家电设备接收到移动控制终端或网络控制终端发送的设备文件请求命令后,将自身的设备文件发送给移动控制终端或网络控制终端。移动控制终端或网络控制终端中保存着每个电器设备的设备文件,移动控制终端根据设备文件来显示系统中有哪些电器设备,显示出某个设备具有哪些功能,同时还可以对设备进行控制,并且设备文件还提供了查询并显示设备状态的功能。
移动控制终端所显示的图标和文字、不同功能的控制命令及状态回码信息都是从设备文件中得到。为了能适应不同信息家电,设备文件在保持通用的同时,还要保证完备,能满足不同设备状态显示的多种需求。此外,为了降低电器设备、移动控制终端和网络控制终端的存储器开销,满足设备文件以无线或有线方式使信息家电和移动控制终端或网络控制终端之间传输的要求,设备文件还应该尽可能的简单。因此设备文件在设计中综合考虑了通用性、完备性和简洁性。
在设备文件中不仅包含了设备的厂家信息,还包含了对设备的操作描述、每个操作对应的命令、设备的状态回码结构等信息。因此通过设备文件不但能了解设备具有那些功能,发送命令实现某一功能,而且能从状态回码中得到设备的当前状态,并以图形化的方式显示。正是通过设备文件才使得移动控制终端和网络控制终端摆脱了对设备的依赖,从而显示了设备文件的智能化、个性化和人性化
对于设备厂商,可以利用我们提供的可视化的工具软件来生成设备文件。设备文件保存在设备的存储器中。当用户增添一台新设备时,只要在移动控制终端和网络控制终端上执行一次添加操作,就可以实现对新设备的控制。
系统要求描述:
在整个数字家庭网络系统中,每一个信息家电应有自己的空间来存储本身的设备文件,在网络控制终端和移动控制终端中要有足够的空间来存储当前数字家庭网络中的各个信息家电的设备文件,以便能控制此数字家庭网络中的所有信息家电。
在数字家庭网络系统中,传输设备文件的途径有两种:有线方式和无线方式。网络控制终端和移动控制终端通过这两种方式与各个信息家电的通讯模块之间进行通讯的,并按数字家庭网络传输协议的格式把设备文件传输给各个控制终端。
当网络控制终端和移动控制终端接收到某一个信息家电的设备文件后,对其进行相应的分析与处理,生成此信息家电的控制信息,通过无线方式和有线方式对此信息家电进行相应的控制。
因此,在数字家庭网络系统中至少要有一个控制终端,和信息家电的通讯模块通过有线方式和无线方式进行相互通讯,实现数字家庭网络系统的集中管理和集中控制。
数字家庭网络的通讯格式:
当在数字家庭网络中增添了一个新的信息家电设备,当前数字家庭网络中的各个控制终端如果要控制此信息家电设备,必须先从此信息家电设备中取得此信息家电设备的设备文件,对其进行分析与处理,得到相应的控制信息和数据信息,这个设备描述文件必须符合设备文件的设备描述协议规范,才能被各个控制终端所接受,并解释成想要的数据信息。
设备文件是一种对本单元系统进行描述的信息表格文件,它的内容主要包括系统的主要控制功能的描述信息、系统控制语言的描述信息、系统状态的描述信息,这些描述信息汇成一张表格文件储存在各个信息家电设备的设备文件的固定储存单元中。
当控制终端要此描述信息的时候,就要给家电设备发送一个要设备文件的信息帧,此信息帧必须符合以上所述数字家庭网络系统的通讯格式。
信息家电设备文件的添加:
在数字家庭网络系统中,当网络控制终端或移动控制终端向新增加的信息家电设备要此信息家电的设备文件时,按上面的通讯格式发送一帧索要设备文件的信息帧,此信息帧的内容为:
信息帧的头内容为长度反码和长度,新增加信息家电的唯一ID号,控制终端的唯一ID号,接下来为:
(1)如果帧号为0000数据,命令为FFFF数据,则表示要设备文件总共有多少的信息量。
(2)如果帧号不是为0000数据,命令为FFFF数据,则表示要设备文件中某一数据信息。
当此家电设备接收到此第一种类型的信息帧后,对其进行所发送来的设备帧号(ID号)进行存储,作为自己的网络唯一识别号,因为新增加的信息家电设备本身的硬件信息锁的标志位是打开的,当接收到此设备的帧号并存储后,就关闭硬件信息锁的标志位,然后按此信息帧所包含控制终端的唯一ID号,发送一个设备文件的总量数据帧给此控制终端,并且存储这个控制终端的ID识别号,表示此控制终端可以对此家电设备进行控制。
当控制终端接收到此信息家电返回的设备文件信息总量的数据帧后,然后发送第二种信息帧,因为设备文件的数据量大,而且为了保证传输时准确无误,控制终端在设备文件的传输过程中,按数据总量把设备文件按一定的传输数据量分成若干个数据包,按照帧号的不同向信息家电所要不同段的数据信息,当信息家电接收到控制终端发送的此类型的信息帧后,根据帧号来判断控制终端所要信息位于设备文件固定储存单元的位置,并把此单元的信息取出来,放到预定的位置,并通过通讯模块发送给控制终端。当控制终端接到信息家电传输来的信息数据帧,判断无误后,把此信息帧的有效内容存储到固定的位置,再要下一帧的内容,当所有设备文件传输完毕后,在控制终端的一个存储单元中存放这整个信息家电的设备文件,控制终端对此信息家电的设备文件进行处理分析,在显示界面上显示出此信息家电的图标、名称及各种参数。
当在设备文件的信息帧传输过程中,控制终端对此信息家电传输来的数据进行核对,如果不正确的话,就按上次的帧号进行重传,当重传的次数超过一定的次数后,就认为此次设备传输失败。对信息家电重新置位,进行重新传输。
信息家电设备文件的删除:
当一个信息家电已经不能使用或是不想用某一控制终端控制的时候,需要在此控制终端上删除此信息家电的设备文件,选择控制终端上的删除选项,在删除的菜单栏中找到此信息家电的显示选项,对其进行删除操作,当控制终端接收到此删除命令后,到存储单元中找到此信息家电的设备文件的存储位置,对其所有数据进行删除。并更新显示界面,不再显示此信息家电的图标、名称及各种参数。
为了在家庭网络中实现不同通讯子网互联,使用网络传输协议NTP(NetworkTransport Protocal)提供端到端的无连接不可靠的数据报传送。它用统一分配的网络地址UDS屏蔽了底层物理通讯介质的差异,提供分片和重组功能,并完成寻径。
NTP数据报格式(长度单位:字节)如下表所示。
12 0——242
其中报头区的格式如下表所示。
0 4 8 16 24 25 31
版本号 |
协议类型 |
总长 |
原始报号 |
标志 |
片偏移 |
信宿设备UDS |
信源设备UDS |
版本号:标示本数据报所使用的NTP版本号。目前NTP版本号为0。
协议类型:本数据报数据区采用的协议类型。
总长:本NTP数据报的总长(以字节为单位)。由于总长域为8字节,故一个NTP数据报的最大长度为254字节。
为了将不同的通讯子网互联,首先要解决的是要有全局统一的网络标识。DHN为全网中的每一台设备和网关都分配一个唯一的固定的标识符,以此确定NTP地址,并屏蔽物理层的差异,称为“统一设备序列号(UDS)”。
UDS通过一个统一的标准化组织的协调分配,能够作到全局唯一。
UDS长度为4个字节,其结构如下表(长度:位):
3 10 19
其中版本号值目前为0。
厂商号由标准化组织统一分配。
设备号由各生产厂家自定。
另外,各位全1的UDS(即0XFFFF)在DHN中表示对网中所有设备广播发送。
NTP在家庭网络中相当于网络层协议,它的数据报可以在不同的物理介质中传输,因此就要适应不同的物理层的帧结构。
网络数据报通过物理帧的传输有两种方法:数据报封装和数据报分片。前者要求数据报长度不大于传输路径上所有的物理帧数据区长度。显然,此种方法在本系统中很难适用。
NTP数据报分片:每种物理网络技术,都有由其硬件决定的最大传输单元MTU(Maximum Transfer Unit),即能传输的最大的物理帧长度。为了能使NTP数据报能通过不同大小的物理帧传输,NTP协议提供分片机制,即将一个较大的原始数据报分成若干较小的部分(片)进行分别传输。
下图显示了一个数据区大小为96字节的NTP原始数据报在MTU为52字节的物理网络中分片的情况:
报头(12字节) |
数据1(40字节) |
数据2(40字节) |
数据3(16字节) |
(a)数据区大小为96字节的NTP原始数据报
(b)片1(偏移0)
(c)片2(偏移20)
(d)片3(偏移40)
图中各分片的片头基本是从原始NTP数据报中拷贝而来,只有“标志”和“片偏移”域根据分片后的新数据报重新填写。各片的偏移量按照NTP规范是以2字节为单位的。
当然,作为在信源机处进行的分片的的逆过程,信宿机在收到各片后要根据其携带的信息进行重组。
NTP数据报不但在信源机处进行分片,因为家庭网络由不同物理子网组成,因此在两种不同物理子网的交界处(网关)仍有重新分片的可能。但一个数据报一旦被分片,就作为独立的数据进行传输,在到达信宿机之前可能被再次分片,但决不进行重组。
上述分片和重组的策略不要求中间网关存储和重组,简化了网关协议,减轻了它的负担。
NTP数据报中与分片和重组有关的域有:原始报号、标志、片偏移。
“原始报号”是信源机赋予未分片前的原始数据报的标识符。信宿机根据原始报号和信源ID判断此片属于哪个原始数据报,以便重组。分片时,原始报号必须不加修改地复制到每一个新片头中。原始报号的产生方法是在信源机内保持一个全局计数器,每产生一个新的原始数据报,计数器加1,并将该值分配给此新数据报。
“标志”长度为一位,当其值为0时表示片未完,即本原始数据报还有后续片待传;当其值为1时表示本片是一个原始数据报的最后一片。信宿机一旦收到“标志”置位的片,其“片偏移”加上本片长度即是原始数据报总长。通过将各已到片的长度之和与原始数据报长比较,便可知本数据报各片是否到齐。
“片偏移”表示本片数据在原始数据报数据区中的偏移量,以2个字节为单位。
NTP使用统一分配的UDS屏蔽了底层物理介质的差异,使得跨越不同物理子网间的端到端传输成为可能。
在分组交换系统中的寻径概念指寻找一条将分组从信源机传往信宿机的传输路径的过程。DHN结构如下图所示,分为不同的各个物理子网,各子网间通过网关间接相连,各网关间用以太网相连。
如图15,设备D1要向D5发数据,在物理上必然要经过网关1和网关3的转发。现在的问题是,D1只知道D5的UDS,既不知道D5的物理地址,也不知道其所处的子网,那它如何发送呢?
另外,如D1要向D2发数据,但D1也只知道D2的UDS,即便它们在同一个子网内,彼此有物理连接,D1又如何发送呢?
NTP协议就要解决上述的问题。
在DHN中,各设备的身份有两种大的类型:一般站点与网关。前者只接收发给自己的NTP数据报,而后者对不是给自己的数据报也要进行处理。网关具有一般主机没有的资源,包括处理能力更强、对网络信息了解得更多,以及与其它网关的物理连接,这些都使得它在整个NTP数据报的寻径过程中起了至关重要的作用。NTP层担负屏蔽物理网络细节的任务,提供一种独立于物理网络的寻径机制。如上图,DHN寻径过程分物理子网络内的直接寻径和网关间的间接寻径交替组成。
如我们所知,DHN上的逻辑通路实际是由一段段实际物理连接组成的,要将一个NTP数据报发送给信宿机,只需要知道下一个站点的物理地址NSA(Next StationAddress)即可。为此,NTP中设定了设备定位协议DLP(Device Locate Protol)来解决此问题。
DHN中一个站点要发送一个已知UDS的数据报,如果它不知道NSA,则向网上的DLP服务器发出一个DLP数据报,请求回答“现有目的UDS为XXXX的数据报的NSA为何?”这样一个问题。当得到答复后,此站点利用得到的NSA发送它的NTP数据报。
上述过程中的发送方未必是信源机,接收方也未必是信宿机,它们都可以是进行中间转发的网关。而所谓的“DLP服务器”则一定是网关。DHN中的一般站点对网中的信息(如对方的物理地址、子网情况)知道得是很少的,而网关则知道较多。但网关也不是全知的,这就要引入“自治子网”的概念了。
在DHN中,我们说一个物理子网是自治的,是说在它可以完成内部的UDS和物理地址的解析(即映射)问题,而无须它人过问,但它可能对外界了解较少。
一般网络中的网络地址和物理地址间的地址解析有表格和非表格方式。而非表格方式又分为直接映射和动态联编。DHN中综合了表格和动态联编两种方式。
当一台设备注册入一个物理子网时,它要在其网关上登记其UDS和物理地址,同时自己记下网关上的UDS和物理地址。这样,网关就拥有本物理子网中全部设备的UDS和物理地址,并建立起表格映射。
当子网中一台设备不知道信宿机的NSA时,它向其DLP服务器(网关)发出DLP数据报进行动态联编。
而当信宿机在本物理子网中时,网关可以通过表格映射给出其NSA,否则网关还要再自己进行动态联编解析请求其NSA。如果网关的动态联编能得到结果,则它将向原请求机发DLP回应数据报,但给出的NSA是自己的,待收到NTP数据报后再用自己动态联编的结果将此数据报发往下一站。
DLP数据报是封装在NTP数据报中发送的,NTP数据报的“协议类型”域当取值为3时表示其数据区携带的是DLP数据报。
DLP数据报的具体格式如下:(长度:字节)
1 0——XXXX
当标志区取值为0X5A5A时,表示请求解析NTP数据报中信宿UDS的NSA。此时返回结果区内容无关紧要,长度可为零。
当标志区取值为0XA5A5时,表示请求应答NTP数据报中信宿UDS的下一站点的物理地址。此时返回结果区内容为给出的NSA。
值得一提的是,DLP数据报虽然是封装在NTP数据报中发送的,但它应该还算是NTP协议的一部分,因为它是为NTP与底层接口服务的,没有它NTP将无法正常工作。
总体说来DHN的结构在物理上由各子网(各种不同的物理介质)和主干网(以太网)组成,网关是连接子网间和子网主干间的中介,一个网关可以同时连接几个子网。
处理行为的主体分为一般站点和网关;处理的对象是NTP数据报;NTP数据报的来源可分为来自子网和来自主干;NTP数据报的内容可分为一般数据和DLP报文。数据报处理的具体原则是:
1.一般站点只接收发给自己的NTP数据报(无论是一般数据还是DLP报文)。当它不知道如何在物理层上发送NTP数据报时,向其网关发DLP请求,并将网关返回的NSA作为目的物理地址来发送其NTP数据报。
2.网关当收到从它的一个子网内部发来的DLP请求时,如在该子网内可以找到其目的UDS所对应的物理站点,则网关将该站点的物理地址作为NSA返回DLP应答;否则返回网关自己的物理地址。
3.网关当收到从它的一个子网内部发来的一般NTP数据报时,如在自身管理的任一子网内可以找到其目的UDS所对应的物理站点,则网关将接收的数据报转发至该站点;否则网关将在主干网上广播DLP报文请求解析其NSA。
4.网关当收到从主干网上发来的DLP请求时,如在自身管理的任一子网内可以找到其目的UDS所对应的物理站点,则网关将自己的物理地址作为NSA返回DLP应答;否则抛弃该DLP请求报文。
5.网关当收到从主干网上发来的一般NTP数据报时,如在自身管理的任一子网内可以找到其目的UDS所对应的物理站点,则网关将接收的数据报转发至该站点;否则抛弃该NTP数据报。
下面就举例说明NTP数据报寻径和传送的过程。
子网内传送的过程:
如图中D1要向D2发NTP数据报,它不知道其NSA,此时将有以下过程:
1、D1将以D2的UDS作为目的UDS,以自己记录的本网网关(网关1)的物理地址为物理帧的目的地址发出DLP请求数据报。
2、网关1收到DLP请求数据报根据自己的表格查出D2的物理地址并以DLP应答的方式发给D1。
3、D1得到DLP应答数据报后将结果作为目的物理地址发送自己的NTP数据报给D2。
子网间传送的过程:
如图中D1要向D5发NTP数据报,它不知道其NSA,此时将有以下过程:
1.D1将以D5的UDS作为目的UDS,以自己记录的本网网关(网关1)的物理地址为物理帧的目的地址发出DLP请求数据报。
2.网关1收到DLP请求数据报后在自己的表格中查不出D5的物理地址,则网关1将自己的物理地址为NSA返回DLP应答数据报。
3.D1得到DLP应答数据报后将NSA作为目的物理地址发送自己的NTP数据报给网关1。
4.网关1接到从内部发送的D1的NTP数据报后,因为它的UDS不是自己的,这又不是个DLP数据报,因此需要它转发。则网关1将在连接外部网络的以太网上以广播的方式发送DLP请求数据报。
5.网关2和网关3都收到DLP请求数据报,但只有网关3才在自己的表格中找到D5的物理地址,因此只有网关3向网关1发DLP应答数据报,而以网关3的物理地址为NSA。
6.网关1得到DLP应答数据报后将NSA作为目的物理地址发送自己的NTP数据报给网关3。
7.网关3接到从外部发送的网关1的NTP数据报后,根据自己的表格查出D5的物理地址并将结果作为目的物理地址发送此NTP数据报给D5。
当然,上述过程可以简化,各站点都可以设立一些缓冲区,记录已进行过的动态联编,下一次如有同样的请求,可以从缓冲区直接取出结果而大大加快速度。
对于一个一般站点来说,它只要从它的网关处得到动态联编的结果即可进行物理层的发送,至于其信宿机到底在哪个子网中,中间要不要转发等问题,它一概不用关心,这些都由网关来处理。