网络层数据处理方法

文档序号:7596676阅读:190来源:国知局
专利名称:网络层数据处理方法
技术领域
本发明涉及数据处理方法,尤其涉及一种适用于家庭网络系统的网络层数据处理方法(DATA PROCESSING METHOD FOR NETWORK LAYER)。
背景技术
家庭网络(home Network)是一种把各数字化家庭联接的网络。通过家庭网络,可以随时随地很方便地对家中的家庭进行控制,可以带来生活上的乐趣。随着数字消息处理技术的发展,冰箱或洗衣机等家庭,正在逐渐发展成数字化家庭设备;随着家庭使用体系技术和高速数字通信技术的快速发展,正在出现综合利用上述技术的消息家庭。在上述背景下,出现了家庭网络系统。
这种家庭网络如下表1,根据所提供的服务类型可分为数据网络,娱乐网及互动网络。
表1

这里,数据网络(data network)属于在PC及周边设备之间,为了数据交换或提供网络服务等建立的网络类型。娱乐网(entertainment network)属于处理ODO、VDO等消息的家庭网络类型。另外,互动网络(Living network)是指以家庭自动化或远程控制等单纯控制为目的的网络。
这种用于家庭的家庭网络系统由作为电器设备的主控(master)设备和从属设备形成。作为电器设备,主控设备对其他电器设备进行控制或显示其他电器设备的状态。作为电器设备,从属设备按电器设备的特性或其他要素,对主控设备的要求进行应答,并输出自身的状态变化消息。本发明的说明书中使用的电器设备(或新装置)不仅包括洗衣机、冰箱等用于上述互动网络服务的家庭,还包括用于数据网络服务的家庭以及用于娱乐网络服务的家庭。另外,还包括煤气自动空设备及自动门,电灯等电器。
这种传统技术,不能提供对家庭网络系统中的电器设备履行控制及监视等功能的泛用(广义)通信规范。

发明内容
本发明的主要目的在于克服现有产品存在的上述缺点,而提供一种网络层数据处理方法(DATA PROCESSING METHOD FOR NETWORK LAYER),其是一种适用泛用通信规范——控制通信协议的家庭网络系统的网络层数据处理方法,该泛用通信规范具有控制并监视家庭网络系统内各电器设备的功能,家庭网络系统采用互动网络控制通信协议。
本发明的另一目的在于提供一种采用作为泛用通信规范,即互动网络控制通信协议(Living network Control ProtocolLnCP)的网络层数据处理方法。
本发明的又一目的在于提供一种可以从主控设备的数据链路层,向应用层传送应答数据包或通知数据包的网络层数据处理方法。
本发明的再一目的在于提供一种可以从从属设备的数据链路层,向应用层传送请求数据包的网络层数据处理方法。
本发明的还一目的在于提供一种对通信循环明细进行检索,检测出重复数据包的网络层数据处理方法;该通信循环明细是对应接收到的数据包的通信循环明细。
本发明的目的是由以下技术方案实现的。
本发明网络层数据处理方法,其特征在于,包括在至少由物理层、网络层及应用层形成的通信协议中,从数据链路层,接收包括网络层通信协议数据单位(NPDU)的数据包收信(PktRcv)原语的阶段;检测网络层通信协议数据单位(NPDU)错误的阶段;在网络层通信协议数据单位(NPDU),读取应用层通信协议数据单位(APDU)的阶段;把读取的应用层通信协议数据单位(APDU)传向应用层的阶段。
前述的网络层数据处理方法,其中检测错误的阶段还包括以下各阶段确认接收到的网络层通信协议数据单位(NPDU)的数据包启始(SLP)域值与数据包终止(ELP)域值的阶段及/或计算循环余量检查(CRC)域值的阶段。
前述的网络层数据处理方法,其中确认阶段确认数据包启始(SLP)域值与数据包终了(ELP)域值,是否分别包括特定的值。
前述的网络层数据处理方法,其中错误检测阶段还包括对上述接收到的网络层通信协议数据单位(NPDU)数据包长度(PL)域值与上述接收到的网络层通信协议数据单位(NPDU)大小进行比较的阶段。
前述的网络层数据处理方法,其中处理方法还包括确认接收到的网络层通信协议数据单位(NPDU)数据包类型的阶段。
前述的网络层数据处理方法,其中接收到的网络层通信协议数据单位(NPDU)数据包是应答数据包或通知数据包时,处理上述接收到的网络层通信协议数据单位(NPDU)。
前述的网络层数据处理方法,其中通信协议适用于主控设备。
前述的网络层数据处理方法,其中处理方法还包括对主控设备的地址与包括在接收到的网络层通信协议数据单位(NPDU)中的地址进行比较的阶段。
前述的网络层数据处理方法,其中主控设备的地址及/或包括在接收到的网络层通信协议数据单位(NPDU)中的地址,包括表示多个收信方的地址。
前述的网络层数据处理方法,其中接收到的网络层通信协议数据单位(NPDU)为应答数据包时,上述处理方法还包括检索已储存通信循环明细的阶段;该已储存通信循环明细是对应上述接收到的网络层通信协议数据单位(NPDU)的通信循环明细。
前述的网络层数据处理方法,其中通信循环明细的通信循环类型为第1编码时,上述检索阶段包括以下各阶段判断上述接收到的网络层通信协议数据单位(NPDU)的收信方地址与通信循环明细的联接器地址是否一致的阶段;判断上述接收到的网络层通信协议数据单位(NPDU)的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段;所述通信循环明细的通信循环类型为第2编码时,上述检索阶段包括以下各阶段判断通信循环明细的联接器地址是否表示多个收信方的地址,以及判断上述接收到的网络层通信协议数据单位(NPDU)的收信方地址是否是属于表示多个收信方的地址的阶段;以及判断上述接收到的网络层通信协议数据单位(NPDU)的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段。
前述的网络层数据处理方法,其中第1编码表示1-请求、1-应答通信循环;第2编码表示1-请求、多个-应答的通信循环。
前述的网络层数据处理方法,其中被检索的通信循环明细时,上述处理方法还包括把上述通信循环明细的应答收信状态(ResRcvState)设定为应答收信(RES_RECEIVED)的阶段。
前述的网络层数据处理方法,其中通信循环明细没被检索时,上述处理方法还包括把上述接收的应答数据包认知为重复数据包,并忽略的阶段。
前述的网络层数据处理方法,其中通信协议适用于从属设备。
前述的网络层数据处理方法,其中处理方法还包括对上述从属设备的地址与包括在上述接收到的网络层通信协议数据单位(NPDU)中的地址进行比较的阶段。
前述的网络层数据处理方法,其中从属设备的地址及/或包括在上述接收到的网络层通信协议数据单位(NPDU)中的地址,包括表示多个收信方的地址。
前述的网络层数据处理方法,其中接收到的数据包收信(PktRcv)原语是请求数据包时,上述处理方法还包括根据上述网络层通信协议数据单位(NPDU)生成通信循环明细的阶段。
前述的网络层数据处理方法,其中通信循环明细包括根据上述数据包收信(PktRcv)原语所包含的收信方地址(DA)域值,设定通信循环类型(CycleType)的阶段。
前述的网络层数据处理方法,其中收信方地址(DA)域值是单一收信方,则上述通信循环类型包括第1编码;所述收信方地址(DA)域值表示多个收信方的地址,则上述通信循环类型包括第2编码。
前述的网络层数据处理方法,其中第1编码表示1-请求,1-应答的通信循环;第2编码表示1-请求,多个-应答的通信循环。
前述的网络层数据处理方法,其中通信循环明细包括联接器地址;该联接器地址包括收信方地址,该收信方地址包括在上述数据包收信(PktRcv)原语中。
前述的网络层数据处理方法,其中通信循环明细包括数据包编号(PacketNo);该数据包编号(PacketNo)包括在数据包收信(PktRcv)原语中。
前述的网络层数据处理方法,其中通信循环明细包括网络层服务(NLService);该网络层服务(NLService)包括在数据包收信(PktRcv)原语中。
前述的网络层数据处理方法,其中通信循环明细包括服务优先次序(SvcPriority);该服务优先次序(SvcPriority)包括在数据包收信(PktRcv)原语中。
前述的网络层数据处理方法,其中通信循环明细包括传送同样APDU的传送次数(TransmissionNo)。
前述的网络层数据处理方法,其中传送次数(TransmissionNo)的初始值是“1”。
前述的网络层数据处理方法,其中通信循环明细包括经过时间(ElapsedTime),经过时间表示从上述应用层接收新通信循环标识符(CycleID)后所经过的时间,其初始值为‘0’。
前述的网络层数据处理方法,其中经过时间(ElapsedTime)初始值为‘0’。
前述的网络层数据处理方法,其中通信循环明细包括应答收信状态(ResRcvState),该应答收信状态表示有没有接收到相应于上述数据包收信(PktRcv)原语的应答数据包。
前述的网络层数据处理方法,其中通信循环明细包括通信标识符(CycleID)。
前述的网络层数据处理方法,其中处理方法还包括以下各阶段接收应答消息传送(ResMsgSend)原语的阶段,该应答消息传送(ResMsgSend)原语是对传送到上述应用层中的APDU的应答消息传送(ResMsgSend)原语;把包括在上述应答消息传送(ResMsgSend)原语的通信循环标识符(CycleID),记入到上述通信循环标识符的阶段。
前述的网络层数据处理方法,其中处理方法还包括确认当前是否存在处理中的通信循环明细的阶段,并根据上述确认阶段实行上述生成阶段。
前述的网络层数据处理方法,其中通信协议是互动网络控制通信协议(LnCP)。


图1为本发明家庭网络框图。
图2为本发明互动网络控制通信协议框图。
图3a及图3b为图2所示的各层间的接口框图。
图4a至4f为图3a及3b所示的接口详细框图。
图5a,图5b为包括用于各层之间交换的原语(primitive)的框图。
图6为本发明的数据处理方法第一实施例流程图。
图7为本发明的数据处理方法第二实施例流程图。
图8为本发明的数据处理方法第三实施例流程图。
图9a及图9b为一个主控设备与多个从属设备进行通信,网络层处理连续通信循环情况示意图。
图10为本发明的数据处理方法第四实施例流程图。
图中主要标号说明1家庭网络系统、2因特网、3为LnCP服务器、4客户设备、10网关、20至23网络管理器、30,31为LnCP路由器、40至49电器设备。
具体实施例方式
在至少由物理层、网络层及应用层形成的通信协议中,本发明提供的家庭网络系统的网络层数据处理方法包括以下各阶段即,从数据链路层,接收包括网络层通信协议数据单位(NPDU)的数据包收信(PktRcv)原语的阶段;检测NPDU的阶段;在NPDU读取应用层通信协议数据单位(APDU)的阶段以及把上述读取的APDU传向应用层的阶段。
这时,上述检测错误的阶段还包括以下各阶段即,确认接收到的NPDU的数据包启始(SLP)域值与数据包终了(ELP)域值的阶段;计算循环余量检查(CRC)域值的阶段。
在上述确认阶段,确认数据包启始(SLP)域值及数据包终了(ELP)域值,是否分别包括特定的值。
上述错误检测阶段,还包括对接收到的NPDU数据包长度(PL)域值与接收到的NPDU大小进行比较的阶段。
上述处理方法,还包括确认接收到的NPDU数据包类型的阶段。
上述处理方法,在接收到的NPDU数据包是应答数据包或通知数据包时,处理接收到的NPDU。
上述通信协议适用于主控设备。
上述处理方法,还包括对主控设备的地址与包括在上述接收到的NPDU中的地址进行比较的阶段。
上述主控设备的地址及/或包括在接收到的NPDU中的地址,包括表示多个收信方的地址。
上述处理方法,在上述接收到的NPDU为应答数据包时,还包括检索己储存通信循环明细的阶段。这里的已储存通信循环明细与接收到的NPDU相对应。
上述通信循环明细的通信循环类型为第1编码时,所述检索阶段包括以下各阶段即,判断接收到的NPDU的收信方地址与通信循环明细的联接器地址是否一致的阶段;判断接收到的NPDU的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段。该通信循环明细的通信循环类型为第2编码时,所述检索阶段包括以下各阶段即,判断通信循环明细的联接器地址是否表示多个收信方的地址,以及判断接收到的NPDU的收信方地址是否是属于表示多个收信方的地址的阶段;判断接收到的NPDU的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段。
上述第1编码表示1-请求,1-应答的通信循环。第2编码表示1-请求,多个-应答的通信循环。
存在上述被检索的通信循环明细时,所述处理方法还包括把通信循环明细的应答收信状态(ResRcvState)设定为应答收信(RES_RECEIVED)的阶段。
上述通信循环明细没被检索时,该处理方法还包括把接收的应答数据包认知为重复数据包,并忽略的阶段。
上述通信协议适用于从属设备。
上述处理方法还包括对从属设备的地址与包括在接收到的NPDU中的地址进行比较的阶段。
上述从属设备的地址及/或包括在接收到的NPDU中的地址,还包括表示多个收信方的地址。
上述接收到的数据包收信(PktRcv)原语是请求数据包时,该处理方法还包括按上述NPDU,生成通信循环明细的阶段。
上述通信循环明细,包括根据上述数据包收信(PktRcv)原语所包含的收信方地址(DA)域值,设定通信循环类型(CycleType)的阶段。
如上述收信方地址(DA)域值是单一收信方,则上述通信循环类型包括第1编码;上述收信方地址(DA)域值表示多个收信方的地址,则上述通信循环类型包括第2编码。
上述第1编码表示1-请求,1-应答的通信循环。第2编码表示1-请求,多个-应答的通信循环。
上述通信循环明细,包括联接器地址。该联接器地址包括收信方地址,该收信方地址包括在上述数据包收信(PktRcv)原语中。
上述通信循环明细包括上述数据包编号(PacketNo)。上述数据包编号(PacketNo)包括在上述数据包收信(PktRcv)原语中。
上述通信循环明细包括网络层服务(NLService)。上述网络层服务(NLService)包括在上述数据包收信(PktRcv)原语中。
上述通信循环明细包括服务优先次序(SvcPriority)。上述服务优先次序(SvcPriority)包括在上述数据包收信(PktRcv)原语中。
上述通信循环明细包括传送同样APDU的传送次数(TransmissionNo)。上述传送次数(TransmissionNo)的初始值为“1”。
上述通信循环明细包括经过时间(ElapsedTime),经过时间表示从上述应用层接收新通信循环标识符(CycleID)后所经过的时间,其初始值为‘0’。
上述通信循环明细包括应答收信状态(ResRcvState),上述应答收信状态表示有没有接收到相应于上述数据包收信(PktRcv)原语的应答数据包。
上述通信循环明细包括通信标识符(CycleID)。
上述处理方法还包括以下各阶段;即,接收作为对传送到上述应用层中APDU的应答消息传送(ResMsgSend)原语的阶段;把包括在上述ResMsgSend原语的通信循环标识符(CycleID)记入到上述通信循环标识符的阶段。
上述处理方法,还包括确认当前是否存在处理中的通信循环明细的阶段,并根据上述确认阶段实行上述生成阶段。
上述通信协议是互动网络控制通信协议(LnCP)。
下面,通过本发明的实施例及附图,对本发明的家庭网络系统进行详细说明。不容置疑,本发明的范围不受限于以下的实施例及附图。本发明的权利范围,应以后附的权利请求范围为基础,进行解释。
图1为本发明的家庭网络系统的框图。
如图1所示,家庭网络系统1通过因特网络2联接到LnCP服务器3。另外客户设备4通过因特网络2联接到LnCP服务器3。即,家庭网络系统1把LnCP服务器3及/或客户设备4联接成可以互相传递消息。
家庭网络系统1的外部网络包括因特网络2,上述外部网络根据客户设备4的种类还可具备其它设备。即,以该因特网络2为例,客户设备4为计算机时具备Web服务器(Websever)(未图示),客户设备4为网络电话时具备通信服务器(Wap sever)(未图示)。
LnCP服务器3通过特定的注册及注销程序,分别联接到家庭网络系统1及客户设备4,从客户设备4接收监视及控制命令等,再通过因特网络2用特定形式的消息传送到家庭网络系统1。另外,LnCP服务器3从家庭网络系统1接收并储存特定形式的消息或把它传送到客户设备4。另外,LnCP服务器3把自身储存或生成的消息传送到上述家庭网络系统1。即,家庭网络系统1联接在LnCP服务器3,可下载LnCP服务器3所提供的服务内容。
家庭网络系统1包括网关10,网络管理器20~23,LnCP路由器30,31,LnCP适配器(adapter)35,36及多个电器设备40~49。网关10具有联接因特网的功能。网络管理器20~23履行对电器设备40~49的环境设定及管理功能。LnCP路由器30、31负责传输媒体之间的联接。LnCP适配器35,36可以使网络管理器22及电器设备46联接到传输媒体。
家庭网络系统1内的网络由各电器设备40~49共用的传输媒体相互联接组成。该传输媒体可利用RS-485或低功率的RF等数据链路层非规格化的传输媒体(non-standardized transmission medium),或可以利用电力线或IEEE802.11等规格化的传输媒体(standardized transmission medium)。
家庭网络系统1内的网络由与因特网络2是相互分离的网络。即,上述家庭网络系统1内的网络构成由有线或无线传输媒体联接的独立网络。这里,独立网络包括虽然处于物理上的联接状态但理论上分离的网络。
家庭网络系统1包括主控(Master)设备,从属(Slave)设备。主控设备可以控制电器设备40~49或监视其工作状态。从属设备可以回应主控设备的请求及通知自身状态的变化情报。该主控设备包括网络管理器20~23,从属设备包括电器设备40~49。该网络管理器20~23包括所要控制的电器设备40~49的消息及控制码,按程序化的方式进行控制作业,或接收从LnCP服务器及/或客户设备4输入的消息后,进行控制作业。另外,如图所示,联接有多个网络管理器20~23时,为了进行与其它网络管理器20~23之间的交换消息,也为了消息的同步化以及进行控制,这些网络管理器20~23即可以是主控设备又可以是从属设备。即应该是一种,从物理意义上只是一个设备,但理论上是同时具有主控及从属功能的设备(即兼容设备)。
另外,这些网络管理器20~23及电器设备40~49可以直接联接到网络(如图示的电力线网络,RS-485网络,RF网络)上。另外,还可以通过LnCP路由器30、31及/或LnCP网络适配器35,36联接。
另外,电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36注册在网络管理器20~23上,并根据产品情报,接收唯一的理论地址(例如0x00,0x01等)。这个理论地址与产品码(例如空调为‘0x02’,洗衣机为’0x01’)结合后,作为节点地址(Node Address)使用。例如,通过0x02009(空调1)及0x0201(空调2)的相同的节点地址被电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36识别。另外,还可以使用按特定的基准(同种产品,产品的设置位置,使用者等)设置的群地址,使用群地址时可以一次性识别一个以上的电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36。在这个群地址中,显性群地址把地址选择值(下述为标记flag)设定为“1”时该显性群地址为指定多个的客户设备的集团(cluster)地址。默示群地址把理论地址及/或产品码的所有比特(byte)值添加为“1”,进而可以指定多个客户设备。这里,特别要指出的是把明示群地址通常称为集团码。
图2为本发明的互动网络控制通信协议(LnCP)框图。家庭网络系统1通过图2中的互动网络控制通信协议(LnCP)可以使网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间互相传送消息。进而,网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49通过这种LnCP实行网络通信。
如图2所示,LnCP包括应用软件50,应用层60,网络层70,数据链路层80,物理层90及媒介变量管理层100。应用软件50发挥网络管理器20~23、LnCP路由器30、31、LnCP网络适配器35,36、及电器设备40~49的固有功能。并提供与应用层60联接的功能,以便在网络上进行远程操作及监视。应用层60向使用者提供服务,并具有把使用者提供的消息或命令组成消息后传达到低层的功能。网络层70可以把网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间联接为可靠的网络。数据链路层80提供联接控制功能,用于联接共用传输媒体。物理层90提供网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间的物理接口及要传送的比特(byte)的规则。媒介变量管理层100管理设定各层中使用的节点的媒介变量(node parameter)。
详细的说,应用软件50还包括网络管理附属层51。网络管理附属层51具有管理节点媒介变量,及管理联接在网络上的网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49的功能。即,该网络管理附属层51具有一种功能,可以通过媒介变量管理层100,设定媒介变量数值或利用媒介变量对媒介变量进行管理。适用于LnCP的设备为主控设备时,该网络管理附属层51还具有履行构成网络或管理网络的功能。
另外,网络层70还包括家庭码控制附属层71。网络联接有网络管理器20~23、LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49。当利用电力线或IEEE 802.11、无线等非独立形传输媒体(例如LnCP包括电力线通信(PLC)协议/或无线(wireless)通信协议时)构成上述网络时,为了在理论上划分各网络,家庭码控制附属层71发挥设定家庭码及管理家庭码的功能。该家庭码控制附属层71通过像RS-485等独立形传输媒体,从物理意义上分离个别网络时,不包括在LnCP中。该家庭码以4字节(byte)组成,设定为随机(random)值或使用者设定值。
图3a及图3b为图2所示的层间的接口的框图。
图3a所示为物理层90联接到非独立形传输媒体时的层间的接口示意图。
图3b所示的是物理层90联接到独立形传输媒体时的层间的接口示意图。
家庭网络系统1把各层需要的头(header)及尾(trailer)消息加到从高层接收的网络通信协议消息单位(Protocol Data UnitPDU)中,在传达到低层。
如图所示,APDU(Application layer PDU)是应用层60和网络层70之间传送的数据值(data)。NPDU(Network Layer PDU)是网络层70与数据链路层80或家庭码附属层71之间传送的数据值。HCNPDU(Home Code ControlSublayer PDU)是网络层70(确切的说是家庭码附属层71)与数据链路层80或家庭码附属层71之间传送的数据值。数据链路层80与物理层90之间按数据值(data),数据帧单位形成接口。
图4a至4f为图3a及3b所示的接口的详细框图。
图4a所示为在应用层60中的APDU结构。
AL(APDU Length)域为表示APDU的长度(AL到数据帧组的长度)的域,最小值为4最大值为77。
AHL(APDU Header Length)域是表示APDU头(header)的长度(AL到ALO的长度),的域,没有扩展时为3字节,可以扩展到7字节。LnCP网络通信协议中为了数据帧组的密码化,为了变更应用协议等APDU头(header)可以扩展到7字节。
ALO(Application Layer Option)域是用于扩展消息3的域,例如该域被设定为“0”时,装有其它值时消息处理被忽视。
数据帧组为处理使用者的控制消息或事件消息的域,其结构随着ALO所含值的变化发生变化。
图4b所示为网络层70中的NPDU的结构,图4c所示为NPDU中的NLC的详细结构示意图。
SLP(Start of LnCP Packet)域为表示数据包的起始域,其值为0x02。
DA(Destination Address)及SA(Source Address)的域为要传送的数据包的收信方及送信方的节点地址,各由16比特构成。这里最高1比特为显示群地址的标记(flag),接下来的7比特为产品的种类(产品码),低8比特包括分得的理论地址。具有多个同一种类的网络管理器20~23或电器设备40~49时,上述低8比特用于划分上述各网络管理器20~23或电器设备40~49。
PL(Packet Length)域为显示要传送的NPDU总长的域,其最小值为12字节,最大值为100字节。
SP(Service Priority)域为给予传送消息传送优先位的域,由3比特构成。各传送消息的优先顺位如表2。
从属客户设备应答主控客户设备的请求时,随从主控客户设备接收到的请求消息的优先顺位。
表2

NHL(NPDU Header Length)域是用于扩展NPDU头(header)(SLP中的NLC域)使用的域,没扩展时是9字节,最大可扩展到16字节。
PV(Protocol Version)域是显示所采用的网络通信协议版本的1字节的域,由高4比特及低4比特构成。高4比特为版本(version)域,低4比特为服务器版本(sub-version)域。版本(version)及服务器版本(sub-version)分别以16进制标法显示版本。
NPT(Network layer Packet Type)域是在网络层中划分数据包种类的4比特域。LnCP包括请求数据包(Request Packet),应答数据包(ResponsePacket),通知数据包(Notification Packet)。主控客户设备的NPL域应设定为请求数据包或通知数据包,从属设备的NPL域应设定为应答数据包或通知数据包。数据包种类的NPT值如下表3所示。
表3

TC(Transmission Counter)域是网络层发生通信故障,不能成功发送请求数据包或应答数据包时,为了提高传送请求数据包或应答数据包的成功率,再传送或反复传送的2比特域。收信方可以利用TC域的数值,检测出重复消息。随NPT值的TC域值的范围同下表4。
表4

PN(Packet Number)域由2比特构成。在从属设备中为了检测出重复数据包PN(Packet Number)域与TC-起被使用。在主控客户设备中为了处理多个的通信循环被使用。随NPT值的PN域的范围如下表5所示。
表5


APDU域是应用层60与网络层70之间传送的应用层的网络通信协议数据值(data)的单位。APDU最小值为0字节,最大值为88字节。
CRC(Cyclic Redundancy Check)域是为了检测出已接收数据包(SLP到APDU域)的错误的16比特域。
ELP(End of LnCP Packet)域是显示数据包未端的域,其值为0x03。如果接收与数据包长度域中的与长度相应的数据值(data),也不能检测出ELP域,则示为数据包错误。
图4d所示为家庭码控制附属层71中的HCNPDU结构图。
如图所示,NPDU的高部分还包含HC(Home Code)域。
该家庭码的数值由4字节构成。该家庭码在数据包可传播的线路的距离内具有唯一的值。
图4e所示为数据链路层中的数据帧的结构。
LnCP的数据链路层的数据帧的头(header)及尾(trailer)根据传输媒体形成不同的结构。数据链路层80使用非规格化的传输媒体时,数据帧的头(header)及尾应具有Nu11域(Null Field)。如使用规格化的传输媒体,则随网络通信协议的规定。NPDU域是从高网络层70传送的数据值的单位。HCNPDU是物理层90为电力线或IEEE 802.11等非独立形传输媒体时使用的数据值单位,是在NPDU前端追加4字节家庭码的数据值单位。数据链路层80不划分NPDU及HCNPDU的处理。
图4f所示为物理层90中的数据帧结构。
LnCP的物理层90具有把物理信号传送到传输媒体的功能。作为LnCP网络通信协议的物理层90,可以使用与RS-485或低功率RF等同的非规格化数据链路层80的传输媒体。还可以使用如电力线或IEEE 802.11等同的规格化传输媒体。适用LnCP网络的家庭网络系统1中,为了网络管理器20~23及电器设备40~49与RS-485或LnCP路由器30,31,及LnCP适配器35,36联接,利用了UART(Universal Asynchronous Receiver and Transmitter)数据帧结构及RS-232的信号标准(level)。各设备之间利用网线(serial bus)联接时,UART在通信线路控制比特信号流。如图4f所示,在LnCP中,把高层送来的数据包,变换成10比特大小的UART数据帧单位后,通过传输媒体传送。UART数据帧由1比特的起始位(Start Bit)、8比特的数据值(data)及1比特的停止位(Stop Bit)构成。上述UART数据帧不使用效验位(ParityBit)。UART数据帧从起始位传达,最后传达停止位。适用LnCP的家庭网络系统1利用UART时,不使用追加的数据帧头(frame header)及帧尾(frametrailer)。
以下是对使用在上述层中的节点媒介变量的说明。
下述的节点媒介变量的数据值的类型(type)与表6所示的多个形式中的一种相对应。
表6

该网络层70具有如下功能。
第1为地址管理功能,地址管理功能为储存自身地址及目的地的网络管理器20~23或电器设备40~49的地址的功能。这时,使用地址所含的各网络管理器20~23或各电器设备40~49的消息及位置消息,可以指定集团地址,并可支持立体声调频广播(multicasting)及广播(broadcasting)通信。
第2为流动控制功能,流动控制功能为通过通信循环(cycle)控制数据包流动的功能。
第3为错误控制功能,错误控制功能为在规定的时间内没能接收应答数据包时,重新传输域值的功能。重新传输次数最大限制为3回。
第4为事务控制(Transaction Control)功能,事务控制功能为通过检测出重复数据包,防止重复履行同样的消息,并控制同时多发的通信循环的功能。
第5为路由控制功能,路由控制功能为在两个以上独立的传输媒体间,传输数据包,并为了防止各LnCP路由器30~31以及LnCP适配器35~36之间的无限循环(loop),控制数据包的流动的功能。
这种网络层70以通信循环为单位提供服务。这种通信循环有{1-Request,1-Response},{1-Request,Multi-Responses},{1-Notification},{Repeated-Notification}等四种。
{1-Request,1-Response}通信循环为一个主控设备向一个从属设备传输一个请求数据包(Request Packet),从属设备传输对应上述请求的一个应答数据包(Request Packet)的通信循环。
{1-Request,Multi-Responses}通信循环为一个主控设备向多个从属设备传输一个请求数据包,各从属设备并依次传输应答请求数据包的应答数据包的通信循环。
{1-Notification}通信循环为设备(主控或从属)以一个或多个设备(主控或从属)为对象,传输一个通知数据包后,即刻结束通信的通信循环。
{Repeated-Notification}通信循环为在{1-Notification}通信循环为了确保传输可靠性,反复传输同样的数据包后,结束通信的通信循环。
上述通信循环与数据包类型及传输服务(或网络层服务)(NLservice)同表7a。
表7a

网络层70使用的节点媒介变量(Node Parameter)的值同表7b。
表7b


图5a,图5b为包括用于各层之间交换的原语(primitive)的框图。
图5a为主控设备各层之间的原语传送示意图。
如图所示,用于应用软件50和应用层60之间的原语,使用UserReq、UserDLReq、UserULReq、ALCompleted、UserRes、UserEventRcv。这里,省略上述内容的相关说明。
如图所示,用于应用阶层60和网络层70之间的原语,包括ReqMsgSend、NLCompleted以及MsgRev。
请求消息送信(ReqMsgSend)原语是,用于把消息从主控设备应用层60传向网络层70的原语,包括表8a所示的构成要素。
表8a


这里,通信循环标识符(CycleID)是由上述应用服务编码(ALSvcCode)和收信设备节点地址(node Address)组合形成。
消息收信(MsgRcv)原语是用于把数据包从主控设备网络层70传向应用层60的原语,包括表8b的构成要素。
表8b


上述通信循环标识符(CycleID)的构成,将在下面进行说明。网络层完了(NLCompleted)原语是用于从网络层70向应用层通知数据包处理状态的原语,包括表8c的构成要素。
表8c

如图所示,用于网络层70和数据链路层80之间的原语,包括PktSend、PktRcv、以及DLLCompleted。
数据包送信(PktSend)原语是用于把数据包从网络层70传向数据链路层80的原语,包括表9a的构成要素。
表9a

数据包收信(PktRcv)原语是用于把数据包从数据链路层80传向网络层70的原语,包括表9b的构成要素。
表9b

数据链路层完了(DLLCompleted)原语是用于通知从数据链路层80向网络层70传送的数据包传送结果的原语,包括表9c的构成要素。
表9c

如图所示,用于数据链路层80和物理层90之间的原语包括FrameSend、FrameRcv、RptLineStatus。这里省略其说明。
图5b为从属设备层之间的原语传送状态示意图。
如图所示,用于软件50a和应用层60a之间的原语包括UserResSend、UserEventSend、UserReqRcv、ALCompleted,这里省略其说明。
如图所示,用于应用层60a和网络层70a之间的原语包括ReqMsgRcv、ResMsgSend

EventMsgSend、NLCompleted。
请求消息收信(ReqMsgRcv)原语是从网络层70a向应用层60a传送请求消息的原语,包括表10a的构成要素。
表10a


应答消息送信(ResMsgSend)原语是用于从应用层60a向网络层70a传送应答消息的原语,包括表10b的构成要素。
表10b

事件消息送信(EventMsgSend)原语是从应用层60a向网络层70a传送事件消息的原语,包括表10c的构成要素。
表10c


网络层完了(NLCompleted)原语是从网络层70a向应用层60a通报数据包处理状态的原语,包括表10d的构成要素。
表10d

用于从属设备的各网络层70a、数据层80a以及物理层90a之间的原语,其使用状况与主控设备的各原语相同。
图6为本发明的数据处理方法实施例流程图。该流程图展示的是为了把主控设备的请求数据包和从属设备的通知数据包,从应用层60、60a传向数据链路层80、80a,在网络层中处理上述各数据包的过程。即,对网络层70,70a与应用层60、60a之间的APDU收信以及,网络层70、70a与数据链路层80、80a之间的NPDU送信,进行说明。
阶段(S61)中,主控设备网络层70从应用层60接收请求消息送信(ReqMsgSend)原语(即,请求消息或数据包)。另外,从属设备网络层70a从应用层60a接收事件消息送信(EventMsgSend)原语(即,通信消息或数据包)。网络层70、70a计算从收信起始点开始的经过时间(ElapsedTime)。
阶段(S62)中,主控设备的网络层70根据从应用层60接收的请求消息送信(ReqMsgSend)原语,生成具有表11所示结构的通信循环明细(CycleDescription)。对通信循环明细的变数,进行如下设定。
首先,通信循环标识符(CycleID)是包括在请求消息送信(ReqMsgSend)原语中的通信循环标识符(CycleID)。如果包括在请求消息送信(ReqMsgSend)原语中的网络层服务(NLService)为不需要应答(Non-acknowledged)或反复通知(Repeated-notification)服务,则通信循环类型(CycleType)被设定为{1-notification}(2)或{Repeated-notification}(3)。如果网络层服务(NLService)是需要应答(Acknowledged)服务,而且服务目的地址(DstAddress)值所指的是单一收信者,则通信循环类型(CycleType)被设定为{1-request,l-response}(0)。如果网络层服务(NLService)是需要应答(Acknowledged)服务,而且服务目的地址(DstAddress)值是群地址,则通信循环类型(CycleType)被设定为{1-request,multi-response}(1)。连接器地址(Connector Addr)是包括在请求消息送信(ReqMsgSend)原语中的目的地址(DstAddress),在传送时是收信方地址,而在接收时是送信方地址。数据包编号(PacketNo)是在最近刚结束的通信循环中的编号值上加“1”后得到的值,如果得到的值为“4”则归“0”。网络层服务(NLService)是包括在请求消息送信(ReqMsgSend)原语中的网络层服务(NLService)。服务优先次序(SvcPriority)(与上述传送优先次序相同)是包括在请求消息送信(ReqMsgSend)原语的优先次序(SvcPriority)。暂停时间(TimeOut)是包括在请求消息送信(ReqMsgSend)原语中的暂停时间(Time Out),该暂停时间应大于传送暂停时间(SendTimeOut)(1000ms),上述传送暂停时间是用于数据链路层完了(DLLCompleted)原语的等待时间。通信循环为{1-request,1-response}或{Repeated-notification}通信循环时,传送次数(TransmissionNo)是指传送同一APPU的次数,其初始值为“1”,可以进行的再传送次数为最大再传送次数(SendRetries)所定义的3次,上述最大再传送次数是网络层70的媒介变量。经过时间(ElapsedTime)是应用层60接收到新通信循环标识符(CycleID)时的时间点之后所经过的时间,其初始值为“0”,后续值为通信循环所耗时间,其值一直被更新,直到当前通信循环结束为止。应答收信状态(ResRcvState)用于表示发送请求数据包后有没有接收到应答数据包,其初始值为应答未收信(NOT_RECEIVED),接收到应答数据包后的值为应答收信(RES_RECEIVED)。
表11


这里,可以有所选择地包括传送次数(TransmissionNo)、经过时间(ElapsedTime)、以及应答收信状态(ResRcvState)。暂停时间(TimeOut)是根据包括它的原语性质,表示应答暂停时间(ResponseTimeOut)或反复通知消息传送间隔(RepNotiInt)。
从属设备网络层70a从应用层60a接收事件消息通信(EventMsgSend)原语后,按下述方式生成通信循环明细。
通信循环标识符(CycleID)是包括在事件消息送信(EventMsgSend)原语中的通信循环标识符(CycleID)。如果包括在事件消息送信(EventMsgSend)原语中的网络层服务(NLService)为不需要应答(Non-acknowledged)或反复通知(Repeated-notification)服务,则通信循环类型(CycleType)被设定为{1-notification}(2)或{Repeated-notification}(3)。连接器地址(Connector Addr)是包括在事件消息送信(EventMsgSend)原语中的目的地址(DstAddress),数据包编号(PacketNo)是在最近刚结束的通信循环中的编号值上加“1”后得到的值,如果得到的值为“3”则归“0”。网络层服务(NLService)是包括在事件消息送信(EventMsgSend)原语中的网络层服务(NLService)。服务优先次序(SvcPriority)是包括在事件消息送信(EventMsgSend)原语的优先次序(SvcPriority)。暂停时间(TimeOut)是包括在事件消息送信(EventMsgSend)原语中的暂停时间(Time Out),这里表示的是反复通知消息传送间隔(RepNotiInt)。通信循环为{1-notification}(2)或{Repeated-notification}(3)通信循环时,传送次数(TransmissionNo)是指传送同一APPU的次数,其初始值为“1”。经过时间(ElapsedTime)是应用层60a接收到新通信循环标识符(CycleID)时的时间点之后所经过的时间,其初始值为“0”,后续值为当前通信循环所耗时间,其值一直被更新,直到当前通信循环结束为止。应答收信状态(ResRcvState)用于表示发送通知数据包后有没有接收到通知数据包,其值为应答未收信(NOT_RECEIVED)。
表12为通信循环、数据包类型、网络层服务之间的关系示意图。

阶段S63中,利用通信循环明细的各变量,在APDU上追加NPDU头和尾后生成NPDU。这里,头的各域值设定过程如下。首先,SA域包括送信方节点地址(Node Address),PL域(NPDU长度)包括有在APDULength上加13后的值。这里APDULength包括在从应用层60,60a传送的原语中。另外,PV域(原语版本)中,比如包括有0x20(版本2.0)。其他域使用包括在通信循环明细中的值。然后,在头上追加APDU,并追加NPDU尾,上述APDU包括在从应用层60、60a传送的原语中。即,ELP域中包括有0x03,而CRC域中比如包括利用CCITT-16标准生成多项式算出的值。
阶段S64中,主控设备的网络层70生成NPDU后,利用包括上述NPDU的数据包传送(PktSend)原语,按通信循环明细中设定的网络层服务(NLService),把上述NPDU即可传向上述数据链路层80。这里,为了进行再传送,储存上述将要传送的NPDU。
另外,从属设备的网络层70a生成NPDU后,利用包括NPDU的数据包传送(PktSend)原语,按通信循环明细中设定的通信循环类型(CycleType)值,把NPDU传向数据链路层80a。即,通信循环类型(CycleType)如果是{1-request,multi-response}通信循环,则按应答迟延时间(ResDelayTime),迟延后把NPDU传向数据链路层80a。如果是其他通信循环,则即刻传送。另外,如果是{Repeated-notification}通信循环,则为了能够进行再传送,储存NPDU。
传送NPDU后,进入结束当前通信循环的过程。
阶段S65中,网络层70,70a对通信循环控制的结束,进行判断,如果判定为结束,则与成功和失败无关,进行阶段S67,如果不是则进行阶段S66。
更详细的说,主控设备的网络层70中,在下述4种情况下,把通信循环判断为成功。
*{1-request,1-response}通信循环中,应答收信状态(ResRcvState)值为,应答收信(RES_RECEIVED)时;*{1-request,multi-response}通信循环中,应答收信状态(ResRcvState)值为,应答收信(RES_RECEIVED),经过时间(ElapsedTime)值大于暂停时间(TimeOut)值时;*{1-notification}通信循环中,从数据链路层(80)接收到包括意味着传送结束的SEND_OK值的数据链路层完了(DLLCompleted)原语时;*进行{Repeated-notification}通信循环的期间内,从数据链路层(80)接收到包括意味着传送结束的SEND_OK值的数据链路层完了(DLLCompleted)原语时。
另外,主控设备网络层70中,在下述6种情况下,把通信循环判断为失败。
*{1-request,1-response}通信循环中,通信循环明细的传送次数(TransmissionNo)值大于作为网络层70媒介变量的最大再传送次数3次时;*{1-request,multi-response}通信循环中,应答收信状态(ResRcvState)值为应答未收信(NOT_RECEIVED),而且经过时间(ElapsedTime)值大于暂停时间(TimeOut)值时;*{1-notification}通信循环中,从数据链路层(80)接收包括意味着传送失败的SEND_FAILED的数据链路层完了(DLLCompleted)原语时;*{1-notification}通信循环中,在作为网络层(70)媒介变量的传送暂停时间(SendTimeOut)内,没能从数据链路层(80)接收到数据链路层完了(DLLCompleted)原语时;*在进行{Repeated-notification}通信循环的期间内,在传送所有的数据包时,从数据链路层80只接收到包括意味着传送失败的SEND_FAILED的数据链路层完了(DLLCompleted)原语时;*进行{Repeated-notification}通信循环的期间内,在传送所有的数据包时,在作为网络层(70)媒介变量的传送暂停时间(SendTimeOut)内,没能从数据链路层(80)接收到数据链路层完了(DLLCompleted)原语时。
从属设备的网络层70a把通知数据包传送到数据链路结成80a后,如果从数据链路层80a接收到包括SEND_OK值的数据链路层完了(DLLCompleted)原语,则成功结束通信循环。
另外,从属设备网络层70a向数据链路层80a传送通知数据包后,如果从数据链路层80a接收到包括SEND_FAILED值的数据链路层完了(DLLCompleted)原语,或在传送暂停时间(SendTimeOut)内没能从数据链路层80a接收数据链路层完了(DLLCompleted)原语,则以失败结束通信循环。
阶段S66中,在通信循环没有结束的情况下,网络层70,70a对是不是需要进行再传送,进行判断。如果符合再传送条件,则进行阶段S67,如果不是则进行阶段S65,重新判断通信循环是否结束。
更详细的说,主控设备在发送请求数据包后,所进行的通信循环是{1-request,1-response}或{Repeated-notification},并仅限2次可以进入NPDU再传送过程。下面,展示主控设备进入再传送的条件。
*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并经过时间(ElapsedTime)的值大于暂停时间(TimeOut)值时;
*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并从数据链路层80接收到包括SEND_FAILED的数据链路层完了(DLLCompeted)原语时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并在传送暂停时间(SendTimeOut)内,没能从数据链路层80接收到数据链路层完了(DLLCompeted)原语时。
从属设备在发送通知数据包后,如果进行的通信循环为{Repeated-notification},传送次数(TransMissionNo)值大于1,则可以限于2次进入NPDU的再传送过程。下面,展示从属设备进入再传送的条件。
*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并经过时间(ElapsedTime)的值大于暂停时间(TimeOut)值时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并从数据链路层80a接收到包括SEND_FAILED的数据链路层完了(DLLCompeted)原语时;*作为通信循环明细变量的传送次数(TransMissionNo)值小于3,并在传送暂停时间(SendTimeOut)内,没能从数据链路层80a接收到数据链路层完了(DLLCompeted)原语时。
阶段S67中,如果进入到再传送阶段,则主控设备和从属设备修改通信循环明细内容后,重新进行NPDU生成过程和通信循环结束过程。这里,通信循环明细进行如下修改。
*传送次数(TransMissionNo)增加‘1’;*经过时间(ElapsedTime)设定成‘0’;应答收信状态(ResRcvState)设定成应答未收信(NOT_RECEIVED)。
阶段S68中,主控设备和从属设备在以成功或失败结束通信循环时,删除相应的通信循环明细。阶段S69中,把包括失败原因编码值的网络层完了(NLCompleted)原语,传送到应用层60,60a中。这里,如果成功结束通信循环,则包括的编码值为CYCLE_OK,如果以失败结束通信循环,则包括的编码值为CYCLE_FAILED。
上述数据处理方法在开始阶段中,按一定的方法检测出主控设备网络层接收的应答数据包中的重复数据包,并把上述重复数据包进行处理。同时,可以利用通信循环标识符(CycleID),进行通信循环的控制、错误控制等作业。
本发明提供提供的实用例附图和方法,只是为了具体表述本发明技术思想而举的一例。不容置疑,在本发明基本技术思想范围内,还会存在很多位置,形状,材料等方面的改进方法。
图7为本发明的数据处理方法第2实施例流程图。第2实施例是网络层70a中,处理从属设备的应答数据包过程的说明。上述处理是为了从属设备的应答数据包,从应用层60a传送到数据链路层80a,而进行的。即,网络层70a中进行与应用层60a的APDU收信及网络层70a中进行与应用层80a的APDU送信。
阶段(S71)中,从属设备的网络层70a,从应用层60a接收应答消息送信(ResMsgSend)原语(即,应答消息或数据包)。网络层70a,从该收信起点开始,对经过时间(ElapsedTime)计时。
阶段(S72)中,从属设备的网络层70a,从应用层60a接收到应答消息送信(ResMsgSend)原语,就在已生成的通信循环明细上,只记录通信循环标识符(CycleID)值。这里,从数据链路层,接收请求数据包收信(ReqPktRcv)原语时,生成上述通信循环明细(参考下述)。
阶段(S73)中,利用已完成的通信循环明细各变量,把NPDU头和尾追加到APDU,生成NPDU。这时,头的各域值设定如下。首先,SA域包括送信方的节点地址(Node Address),PL域(NPDU长度)包括APDULength值加上13的值。APDULength值包括在从应用层传送的原语中。另外,PV域值(通信协议版本),例如包括0x209(版本2.0),其它各域值利用包括在通信循环明细的值。然后,把APDU追加到头上,这里追加到头上的APDU包括在从应用层传到的原语中。追加NPDU的尾方式如下。即,ELP域包括0x03,CRC域,例如包括利用CCITT-16标准生成多项式的值。
阶段(S74)中,从属设备的网络层70a,在生成NPDU后,利用包括该NPDU的数据包传送(PktSend)原语,根据通信循环明细中,已设定的通信循环类型(CycleType)值,把NPDU传送到数据链路层80a。即,如通信循环类型(CycleType)为{1-request,multi-response}的通信循环,则迟延应答迟延时间(ResDelayedTime)后,再传向数据链路层80a。如是除此以外的通信循环时,则即刻传送。
传送NPDU后,进入结束当前通信循环的过程。
阶段(S75)中,在网络层70a,判断通信循环控制的“完了”,如判定为“完了”,则不管成功或失败,都进行阶段(S76)。反之,则进行从新判断。
从属设备的网络层70a,在向数据链路层80a传达应答数据包后,从数据链路层80a接收包括SEND_OK值的数据链路层完了(DLLCompleted)原语时,表示成功结束通信循环。
另外,从属设备的网络层70a,在向数据链路层80a传达应答数据包后,从数据链路层80a接收包括SEND_FAILED值的数据链路层完了(DLLCompleted)原语时,或在传送暂停(SendTimeOut)时间内,从数据链路层80a,没能接收数据链路层完了(DLLCompleted)原语时,表示以失败结束通信循环。
阶段(S76)中,成功结束或以失败结束通信循环时,从属设备删除相应的通信循环明细。阶段(S77)中,把网络层完了(NLCompleted)原语传向应用层60a,这里,网络层完了(NLCompleted)原语,包括含有成功原因或失败原因的编码值。成功结束通信循环时,上述原语所包括的编码值是CYCLE_OK,如果以失败结束通信循环,则所包括的编码是CYCLE_FAILED。
从属设备的网络层70a,在接收的请求数据包中,可以按特定的方法,检测处理重复数据包。
图8为本发明的数据处理方法的第3实施例流程图。该第3实施例,展示的是从从属设备的数据链路层80a,接收到处理数据包收信(PktRcv)原语后,再把它传向应用层60a的过程。
阶段(S81)中,主控设备的网络层70,从数据链路层80接收数据包收信(PktRcv)原语(即,NPDU)。
阶段(S82)中,主控设备的网络层70,从数据链路层80接收到NPDU,就对作为数据包第1位域的SLP域值和作为最后域的ELP域值进行确认。即,在阶段(S82),判断SLP域值和ELP域值是否包括特定的值(例如,,‘0x02’,’0x03’)。如两个域值都包括特定的值,则处理数据包。反之,即,至少有一个域值不包括特定的值,则进行阶段(S87),忽略己接收的数据包。
另外,处理NPDU的SLP域和最后域ELP域后,计算CRC域值,如有错误,则进行阶段(S87),忽略已接收的数据包。
即使,CRC域值正常,但PL域值与NPDU的大小不同,则进行阶段(S87),忽略己接收的数据包。
阶段(S83)中,网络层70a,通过确认主控设备收信地址及已接收数据包的收信方地址,确认正常的收信方是否是该主控设备。即,接收到NPDU时,利用产品码(Product Code)、理论地址(LogicalAddress)、以及集团码(Cluster Code),确认是否是数据包头的DA域值,可认知的值。如接收数据包的从属设备不是正常收信方,则进行阶段(S87),忽略数据包。
例如,产品码为0bXXX XXXX,理论地址为0bYYYY YYYYY,以及集团码为0bZZZZ ZZZZ时的从属设备,应该能认知8种类的地址。
*对所有的设备的地址指定由0b1111 1111 1111 1111或0b0111 1111 11111111(0xFFFF或0x7FFF)形成;*按产品码的地址指定由0b1XXX XXXX 1111 1111或0b0XXX XXXX 1111 1111形成;*按集团码的地址指定由0b1111 1111 ZZZZ ZZZZ形成;*按理论地址的地址指定由0b0111 1111 YYYY YYYY形成;*按产品码地址和理论地址的地址指定由0b0XXX XXXX YYYY YYYY形成;*按产品码和集团码的地址指定由0b1XXX XXXX ZZZZ ZZZZ形成。
另外,物理意义上,一个产品上体现多个LnCP设备时,对各设备,需要能认知8种类的地址。
各网络管理器20~23,与自身的节点地址无关,需要能认知表示所有网络管理器的0x00FF地址。另外,各网络管理器20~23,在已接收通信数据包时,需要能认知指定为各网络管理器20~23的初始地址或网关10的节点地址的0x0000地址。
另外,从数据链路层80,接收的NPDU头SA域值,同如下情况时,网络层70忽略己接收的NPDU。
*群地址情况下,产品码是0x7F或理论地址是0xFF时;*以及地址属性(Address Option)位是1时。
阶段(S84)中,各设备判断接收的数据包是否是对应自身特性的数据包。即,如从数据链路层80接收到的NPDU,不是应答数据包或不是通知数据包,则主控设备的网络层70,进行阶段(S87),并忽略接收的NPDU。
阶段(S85)中,主控设备的网络层70,判断接收的NPDU是否是请求数据包。如是请求数据包,则进行阶段(S86)。反之是通知数据包,则进行阶段(S86)。
阶段(S86)中,主控设备的网络层70,对已接收的应答数据包与已储存通信循环明细进行比较。
如是在传送请求数据包后,接收到所需数据包,则进行阶段(S88),把应答收信状态(ResRcvState)设定为应答收信(RES_RECEIVED)。接收到应答数据包时,如用于比较的通信循环明细不存在,则认知成重复数据包,进行阶段(S87),并忽略接收的数据包。
更详细的说,主控设备的网络层70接收到的应答数据包与已储存的通信循环明细的相对应性的判断标准,可以通过下例设定。
图9a及9b所示为一个主控设备与多个从属设备进行通信,网络界70层处理连续的通信循环的情况。
图9a所示表示一个主控设备与多个从属设备的多个通信循环。随然,主控设备的网络层70,依次传送了请求数据包1(Req1)和请求数据包2(Req2),但,因应答数据包1(Res1)的错误,按应答数据包2,应答数据包1的顺序,逆顺接收。这时,网络层70利用对应各请求数据包的储存在通信循环明细的联接器地址(ConnectorAddr)和应答数据包的SA域值,可以使请求数据包2和1与应答数据包1和2相对应。
图9b所示为表示,一个主控设备与多个从属设备,通过复选形式(multicast)和单一形式(uni cast)结合的多个通信循环。虽然,请求数据包1,按复选形式传送后,请求数据包2,按单一形式传送。但是,按应答数据包11(Res11),应答数据包12,应答数据包2,以及应答数据包13的顺序,接收应答数据包。这时,网络层70,从同一个从设备,接收多个应答数据包,所以通过对各请求数据包通信循环明细的联接器地址(ConnectorAddr)及数据包编号(PacketNo)值与应答数据包的SA域值及PN域值进行比较,可以使请求数据包与应答数据包对应。
更详细的说,{1-request,1-response}通信循环中,如满足以下两个条件,则网络层判断为应答数据包与已储存的通信循环明细相对应。
*传送过的请求数据包的收信方地址与接收请求数据包的应答数据包送信方地址以一致;*传送过的请求数据包与接收的应答数据包的PN域值相同。
另外,{1-request,multi-response}通信循环中,如满足以下两个条件,则网络层判断为应答数据包与已储存的通信循环明细相对应。
*传送过的请求数据包的收信方地址为群地址,应答数据包的送信方地址属于该群地址;*传送过的请求数据包与接收的应答数据包PN域值相同。
阶段(S89)中,网络层70,读取请求消息收信(ReqMsgRcv),并让它包含到原语,并传送到应用层60。利用NHL域值,从NPDU读取该APDU。在接收的NPDU中,即使,本明细中没被定义的域被追加到头,也能通过头,认知指定在NHL域上的字节数的量,并读取APDU。
图10为本发明的数据处理方法的第4实施例流程图。该第4实施例表现的是从属设备的数据链路层80a,接收处理数据包收信(PktRcv)原语,再传送到应用层60a的过程。
阶段(S91到S93)、(S55)、(S97)及(S99)与图8的阶段(S81到S83),(S85),(S87)及(S89)相同。
阶段(S94)中,如从数据链路层80a,接收的NPDU不是请求数据包或不是通知数据包,则从属设备的网络层70a,进行阶段(S97),并忽略该接收的NPDU。
阶段(S96)中,如从数据链路层80a,接收请求数据包,则从属设备的网络层70a,确认当前是否存在处理中的通信循环明细。如存在处理中的通信循环明细,则进行阶段(S97),忽略接收的请求数据包。如不存在,则进行阶段(S98)。
阶段(S98)中,从属设备的网络层70a,生成构成上述NPDU所需的通信循环明细。
接收请求数据包时,生成的通信循环明细,其生成过程如下。首先,不设定通信循环标识符(CycleID)值(在图7的阶段(S72)设定),如包括在请求数据包的SA域值,指定单一的收信方,则通信循环类型(CycleType)设定为{1-request,1-response},如指定群地址,则设定为{1-request,multi-response}。然后,联接器地址(ConnectorAddr)设定为包括在请求数据包的SA域值,数据包编号(PacketNo)设定为包括在请求数据包的PN域值,网络层服务(NLService)设定为“0”(Acknowledged服务),传送优先次序(SvcPriority)设定为包括在请求数据包的SP域值,暂停时间(TimeOut)是包括在已接收数据包的暂停时间(TimeOut)。后续的经过时间(ElapsedTime)值为“0”。后续的应答收信状态(ResRcvState)用于表示发送通知数据包后有没有接收到通知数据包,其值为应答未收信(NOT_RECEIVED)。
该数据处理方法,在阶段(S98)生成通信循环明细后,经过检测特定的重复数据包的阶段,读取APDU,并可以传向应用层60a。从属设备接收通知数据包时,不生成通信循环明细,经过检测特定的重复数据包的阶段,读取APDU,并可以传向应用层60a。
综上所述,本发明的有益效果是本发明可以提供适用泛用通信规范——控制通信协议的家庭网络系统的网络层数据处理方法,上述泛用通信规范具有控制并监视家庭网络系统内各电器设备的功能。
本发明的网络层数据处理方法,采用作为泛用通信规范,即互动网络控制通信协议(Living network Control ProtocolLnCP)。
本发明的网络层数据处理方法,可以从主控设备的数据链路层,向应用层传送应答数据包或通知数据包。
本发明的网络层数据处理方法,可以从从属设备的数据链路层,向应用层传送请求数据包。
本发明还具有对与接收到的数据包对应的通信循环明细进行检索,检测出重复数据包的效果。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种网络层数据处理方法,其特征在于,包括在至少由物理层、网络层及应用层形成的通信协议中,从数据链路层,接收包括网络层通信协议数据单位(NPDU)的数据包收信(PktRcv)原语的阶段;检测网络层通信协议数据单位(NPDU)错误的阶段;在网络层通信协议数据单位(NPDU),读取应用层通信协议数据单位(APDU)的阶段;把读取的应用层通信协议数据单位(APDU)传向应用层的阶段。
2.根据权利要求1所述的网络层数据处理方法,其特征在于,所述检测错误的阶段还包括以下各阶段确认接收到的网络层通信协议数据单位(NPDU)的数据包启始(SLP)域值与数据包终止(ELP)域值的阶段及/或计算循环余量检查(CRC)域值的阶段。
3.根据权利要求2所述的网络层数据处理方法,其特征在于,所述确认阶段确认数据包启始(SLP)域值与数据包终了(ELP)域值,是否分别包括特定的值。
4.根据权利要求1所述的网络层数据处理方法,其特征在于,所述错误检测阶段还包括对上述接收到的网络层通信协议数据单位(NPDU)数据包长度(PL)域值与上述接收到的网络层通信协议数据单位(NPDU)大小进行比较的阶段。
5.根据权利要求1所述的网络层数据处理方法,其特征在于,所述处理方法还包括确认接收到的网络层通信协议数据单位(NPDU)数据包类型的阶段。
6.根据权利要求5所述的网络层数据处理方法,其特征在于,所述接收到的网络层通信协议数据单位(NPDU)数据包是应答数据包或通知数据包时,处理上述接收到的网络层通信协议数据单位(NPDU)。
7.根据权利要求1至6的任意一项中所述的网络层数据处理方法,其特征在于,所述通信协议适用于主控设备。
8.根据权利要求7所述的网络层数据处理方法,其特征在于,所述处理方法还包括对主控设备的地址与包括在接收到的网络层通信协议数据单位(NPDU)中的地址进行比较的阶段。
9.根据权利要求8所述的网络层数据处理方法,其特征在于,所述主控设备的地址及/或包括在接收到的网络层通信协议数据单位(NPDU)中的地址,包括表示多个收信方的地址。
10.根据权利要求7所述的网络层数据处理方法,其特征在于,所述接收到的网络层通信协议数据单位(NPDU)为应答数据包时,上述处理方法还包括检索已储存通信循环明细的阶段;该已储存通信循环明细是对应上述接收到的网络层通信协议数据单位(NPDU)的通信循环明细。
11.根据权利要求10所述的网络层数据处理方法,其特征在于,所述通信循环明细的通信循环类型为第1编码时,上述检索阶段包括以下各阶段判断上述接收到的网络层通信协议数据单位(NPDU)的收信方地址与通信循环明细的联接器地址是否一致的阶段;判断上述接收到的网络层通信协议数据单位(NPDU)的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段;所述通信循环明细的通信循环类型为第2编码时,上述检索阶段包括以下各阶段判断通信循环明细的联接器地址是否表示多个收信方的地址,以及判断上述接收到的网络层通信协议数据单位(NPDU)的收信方地址是否是属于表示多个收信方的地址的阶段;以及判断上述接收到的网络层通信协议数据单位(NPDU)的数据包编号(PN)与通信循环明细的数据包编号(PN)是否一致的阶段。
12.根据权利要求11所述的网络层数据处理方法,其特征在于,所述第1编码表示1-请求、1-应答通信循环;第2编码表示1-请求、多个-应答的通信循环。
13.根据权利要求10所述的网络层数据处理方法,其特征在于,所述被检索的通信循环明细时,上述处理方法还包括把上述通信循环明细的应答收信状态(ResRcvState)设定为应答收信(RES_RECEIVED)的阶段。
14.根据权利要求13所述的网络层数据处理方法,其特征在于,所述通信循环明细没被检索时,上述处理方法还包括把上述接收的应答数据包认知为重复数据包,并忽略的阶段。
15.根据权利要求1至6的任意一项中所述的网络层数据处理方法,其特征在于,所述通信协议适用于从属设备。
16.根据权利要求15所述的网络层数据处理方法,其特征在于,所述处理方法还包括对上述从属设备的地址与包括在上述接收到的网络层通信协议数据单位(NPDU)中的地址进行比较的阶段。
17.根据权利要求16所述的网络层数据处理方法,其特征在于,所述从属设备的地址及/或包括在上述接收到的网络层通信协议数据单位(NPDU)中的地址,包括表示多个收信方的地址。
18.根据权利要求15所述的网络层数据处理方法,其特征在于,所述接收到的数据包收信(PktRcv)原语是请求数据包时,上述处理方法还包括根据上述网络层通信协议数据单位(NPDU)生成通信循环明细的阶段。
19.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括根据上述数据包收信(PktRcv)原语所包含的收信方地址(DA)域值,设定通信循环类型(CycleType)的阶段。
20.根据权利要求19所述的网络层数据处理方法,其特征在于,所述收信方地址(DA)域值是单一收信方,则上述通信循环类型包括第1编码;所述收信方地址(DA)域值表示多个收信方的地址,则上述通信循环类型包括第2编码。
21.根据权利要求20所述的网络层数据处理方法,其特征在于,所述第1编码表示1-请求,1-应答的通信循环;第2编码表示1-请求,多个-应答的通信循环。
22.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括联接器地址;该联接器地址包括收信方地址,该收信方地址包括在上述数据包收信(PktRcv)原语中。
23.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括数据包编号(PacketNo);该数据包编号(PacketNo)包括在数据包收信(PktRcv)原语中。
24.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括网络层服务(NLService);该网络层服务(NLService)包括在数据包收信(PktRcv)原语中。
25.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括服务优先次序(SvcPriority);该服务优先次序(SvcPriority)包括在数据包收信(PktRcv)原语中。
26.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括传送同样APDU的传送次数(TransmissionNo)。
27.根据权利要求26所述的网络层数据处理方法,其特征在于,所述传送次数(TransmissionNo)的初始值是“1”。
28.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括经过时间(ElapsedTime),经过时间表示从上述应用层接收新通信循环标识符(CycleID)后所经过的时间,其初始值为‘0’。
29.根据权利要求28所述的网络层数据处理方法,其特征在于,所述经过时间(ElapsedTime)初始值为‘0’。
30.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括应答收信状态(ResRcvState),该应答收信状态表示有没有接收到相应于上述数据包收信(PktRcv)原语的应答数据包。
31.根据权利要求18所述的网络层数据处理方法,其特征在于,所述通信循环明细包括通信标识符(CycleID)。
32.根据权利要求31所述的网络层数据处理方法,其特征在于,所述处理方法还包括以下各阶段接收应答消息传送(ResMsgSend)原语的阶段,该应答消息传送(ResMsgSend)原语是对传送到上述应用层中的APDU的应答消息传送(ResMsgSend)原语;把包括在上述应答消息传送(ResMsgSend)原语的通信循环标识符(CycleID),记入到上述通信循环标识符的阶段。
33.根据权利要求18所述的网络层数据处理方法,其特征在于,所述处理方法还包括确认当前是否存在处理中的通信循环明细的阶段,并根据上述确认阶段实行上述生成阶段。
34.根据权利要求1所述的网络层数据处理方法,其特征在于,所述通信协议是互动网络控制通信协议(LnCP)。
全文摘要
本发明涉及数据处理方法,更详细的说是有关适用于家庭网络系统的网络层数据处理方法的发明;本发明中家庭网络系统采用互动网络控制通信协议,至少由物理层、网络层及应用层形成的通信协议中,本发明提供的家庭网络系统的网络层数据处理方法包括以下各阶段即,从数据链路层,接收包括网络层通信协议数据单位(NPDU)的数据包收信(PktRcv)原语的阶段;检测NPDU的阶段;在NPDU读取应用层通信协议数据单位(APDU)的阶段以及把读取的APDU传向应用层的阶段。
文档编号H04L29/08GK1747477SQ20041007182
公开日2006年3月15日 申请日期2004年9月6日 优先权日2004年9月6日
发明者白承冕, 李军石, 金勇泰 申请人:乐金电子(天津)电器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1