一种地址分配方法及装置的制造方法

文档序号:10691226阅读:729来源:国知局
一种地址分配方法及装置的制造方法
【专利摘要】本发明实施例提供了一种地址分配方法及装置,所述方法包括:接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识;根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同;将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。本发明实施例能够保证各节点自动获得互不冲突的地址。
【专利说明】
一种地址分配方法及装置
技术领域
[0001]本发明涉及控制器局域网络技术领域,特别是涉及一种地址分配方法及装置。
【背景技术】
[0002]CAN(ControIIer Area Network,控制器局域网络)是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。
[0003]CAN网络可以包括多个节点,CAN网络的结构为总线型,CAN网络上的各节点都可以侦听到CAN总线上的所有通信。如图1所示,该CAN网络可以包括节点1、节点2、节点3……节点η。其中,各节点通过CAN总线相连,各节点都可以侦听到CAN总线上的所有通信。例如,当节点I发送CAN报文时,其余各节点都可以侦听到CAN总线当前处于忙碌状态。
[0004]CAN报文可以包括帧起始、帧ID、以及数据信息等。CAN协议没有规定帧ID的数据结构,只是规定帧ID需要包含对应节点的地址。并且,CAN协议并没有规定各节点如何确定或获取自身的地址。
[0005]现有的地址分配方法,主要是基于人工设置来为各节点分配其对应的地址。具体地,在节点接入CAN网络之前,就预先为该节点分配其对应的地址。例如,可以采用拨码开关、上下拉电阻以及跳线帽等方式为各节点分配其对应的地址。
[0006]但是,现有的基于人工设置的地址分配方法,可能出现节点地址分配重合、出现地址冲突等情况。

【发明内容】

[0007]本发明实施例的目的在于提供一种地址分配方法及装置,以保证CAN网络中各节点自动获得互不冲突的地址。具体技术方案如下:
[0008]第一方面,本发明实施例提供了一种地址分配方法,所述方法应用于CAN网络中预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,所述方法包括:
[0009]接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识;
[0010]根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同;
[0011 ]将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。
[0012]第二方面,本发明实施例提供了一种地址分配方法,所述方法应用于CAN网络的任一从节点,所述CAN网络还包括预先确定且已分配地址的主节点,所述方法包括:
[0013]在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识;
[0014]接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址;
[0015]将所述正式地址确定为自身的地址。
[0016]第三方面,本发明实施例提供了一种地址分配装置,所述装置应用于CAN网络中预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,所述装置包括:
[0017]接收模块,用于接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识;
[0018]选择模块,用于根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同;
[0019]发送模块,用于将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。
[0020]第四方面,本发明实施例提供了一种地址分配装置,所述装置应用于CAN网络的任一从节点,所述CAN网络还包括预先确定且已分配地址的主节点,所述装置包括:
[0021]处理模块,用于在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识;
[0022]接收模块,用于接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址;
[0023]确定模块,用于将所述正式地址确定为自身的地址。
[0024]本发明实施例提供了一种地址分配方法及装置,从节点可以从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,然后可以根据该临时地址向主节点发送地址请求报文,主节点接收到地址请求报文后,可以从预设的第二地址池中选定一个未占用地址作为从节点的正式地址,并将该正式地址发送给从节点,从节点即可将该正式地址作为自身的地址,因此,能够保证CAN网络中各节点都自动获得互不冲突的地址。
【附图说明】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为CAN网络结构不意图;
[0027]图2为本发明实施例提供的一种地址分配方法的流程图;
[0028]图3为本发明实施例提供的一种地址分配方法的另一流程图;
[0029]图4为本发明实施例提供的一种地址分配装置的结构示意图;
[0030]图5为本发明实施例提供的一种地址分配装置的另一结构示意图;
[0031]图6(a)、6(b)为本发明实施例提供的地址分配过程。
【具体实施方式】
[0032]为了保证CAN网络中各节点自动获得互不冲突的地址,本发明实施例提供了一种地址分配方法及装置。
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0035]为了保证CAN网络中各节点自动获得互不冲突的地址,在本发明实施例中,可以在CAN网络中确定一个主节点,该CAN网络中的其他节点为从节点。
[0036]具体地,可以在构建CAN网络时,由用户在该CAN网络包括的各节点中选定其中的任一个节点为主节点,该CAN网络中的其他节点即为从节点。例如,当CAN网络中各节点配置均相同时,用户可以选择其中的任一个节点为主节点;当CAN网络中各节点的配置不相同时,用户可以根据各节点的配置来选择主节点,如可以将配置较高的节点选定为主节点。
[0037]确定CAN网络中的主节点后,进一步地,可以预先为主节点配置其地址。并且,在本发明实施例中,可以在主节点中保存一个地址池,该地址池中包括多个地址,主节点可以根据本地保存的地址池为各从节点分配其地址,主机所配置的地址不在这个地址池中,以保证从节点的地址不会与主节点的地址冲突。
[0038]为了保证CAN网络中各节点自动获得互不冲突的地址,本发明实施例提供了一种地址分配方法过程,应用于预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,如图2所示,该过程包括以下步骤:
[0039]S201,接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识。
[0040]在本发明实施例中,当从节点接入CAN网络时,其可以请求主节点为自身进行地址分配。具体地,从节点可以向主节点发送地址请求报文,以使主节点为自身分配地址。
[0041]在实际应用中,CAN网络中的任一节点发送报文时,该报文的帧ID中都需要包括该节点的地址。但是,在本发明实施例中,从节点向主节点发送地址请求报文时,从节点还没有其对应的地址。
[0042]因此,在本发明实施例中,从节点可以首先获取一个临时地址,以用于发送地址请求报文。该临时地址仅用于向主节点发送地址请求报文,以向主节点申请正式地址,当主节点为从节点分配正式地址后,从节点就不再使用临时地址,而是使用主节点为自身分配的正式地址来进行正常的通信。
[0043]具体地,从节点可以在预设的第一地址池中,选定任一个地址,作为自身的临时地址,以使用该临时地址,来发送地址请求报文。
[0044]例如,上述预设的第一地址池可以为16-63,从节点在选择自身的临时地址时,可以选择其中的任一个地址,如16、18、23、56等,作为自身的临时地址。
[0045]可以理解,在本发明实施例中,各从节点用于选定临时地址的第一地址池是相同的。因此,对于不同的从节点,其可能同时从第一地址池中选择了相同的地址,作为自身的临时地址。这种情况下,当存在至少两个从节点,同时选择了相同的临时地址,且同时向主节点发送地址请求报文时,该至少两个从节点发送的地址请求报文的帧ID将相同。这将导致这些节点发送的地址请求报文均发送失败。
[0046]因此,在本发明实施例中,为了避免存在至少两个从节点,选择了相同的临时地址时,还同时向主节点发送地址请求报文。各从节点从预设的第一地址池中选定任一个地址,作为自身的临时地址之后,其可以不立即发送地址请求报文。而是等待预设时长后,再发送地址请求报文。
[0047]例如,各从节点可以从多个预设时长中选择其中一个,作为自身的时长。然后,其可以等待该时长后,再向主节点发送地址请求报文。
[0048]其中,预设的时长可以为帧起始的整数倍,各从节点可以从多个可选择的倍数中选择任一个,并等待对应的时间后,再向主节点发送地址请求报文。由于可选择的时长有多个,各从节点可以选择任一时长。因此,各节点各自可以选择不同的时长,从而避免了多个节点选择了相同的临时地址时,还同时向主节点发送地址请求报文。
[0049]在本发明实施例中,从节点向主节点发送地址请求报文时,为了标识该地址请求报文是哪个从节点发送的,从而使主节点可以将地址响应报文发送给对应的从节点,并在本地保存各从节点与地址的对应关系,从节点发送的地址请求报文中可以携带自身的设备标识,如,MAC地址、设备序列号等。
[0050]也就是说,从节点向主节点发送的地址请求报文中可以携带其选择的临时地址,以及该从节点的设备标识。
[0051]S202,根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同根据所述从节点的设备标识,从预设的地址池中选定任一个地址,作为所述从节点的目标地址。
[0052]接收到从节点向自身发送的地址请求报文后,主节点可以为该从节点分配其对应的正式地址,以使该从节点后续使用该正式地址进行正常的通信。具体地,主节点可以根据所述从节点的设备标识和临时地址,从预设的第二地址池中选定一个未占用的地址,作为从节点的正式地址。
[0053]其中,第一地址池中的地址与第二地址池中的地址不同,以使已申请到地址的从节点和待申请地址的从节点使用的帧ID不冲突,进而保证CAN总线仲裁机制的完整性。例如,当第一地址池中包括的地址范围为16-63时,第二地址池中包括的地址范围可以为0-15ο
[0054]主节点在为从节点选择其对应的正式地址时,可以在第二地址池中选定其中的任一个地址,如2、8、13等,作为从节点的真实地址。
[0055]可以理解,在配置第一地址池和/或第二地址池时,地址池中包含的地址的数量可以根据CAN网络中包括的节点的数量而定。例如,当CAN网络中包括的节点的数量较少时,地址池中也可以包含较少数量的地址;当CAN网络中包括的节点的数量较多时,地址池中也可以包含较多数量的地址,以保证CAN网络中每个从节点都可以获取到其对应的地址。
[0056]S203,将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。
[0057]当主节点选定从节点的正式地址后,其可以将该正式地址携带在地址响应报文中发送给从节点,以使从节点将该正式地址确定为自身的地址。
[0058]本发明实施例提供了一种地址分配方法,从节点可以从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,然后可以根据该临时地址向主节点发送地址请求报文,主节点接收到地址请求报文后,可以从预设的第二地址池中选定一个未占用地址作为从节点的正式地址,并将该正式地址发送给从节点,从节点即可将该正式地址作为自身的地址,因此,能够保证CAN网络中各节点都自动获得互不冲突的地址。
[0059]在实际应用中,由于网络故障或其他原因,主节点向从节点发送的地址响应报文,从节点可能收到,也可能没收到。
[0060]在本发明实施例中,为了使主节点得知从节点是否接收到了其发送的地址确认报文,从节点接收到主节点向自身发送的地址响应报文后,其可以向主节点发送地址确认报文。其中,该地址确认报文的帧ID中可以包括主节点为其分配的正式地址,该地址确认报文的数据信息可以包括预设的确认码。
[0061]并且,主节点接收到从节点发送的地址确认报文时,其可以将为该从节点分配的正式地址从第二地址池中删除,以避免将该地址再次分配给其他从节点,从而提高地址分配的准确性。
[0062]进一步地,如图3所示,本发明实施例提供了地址分配方法,应用于CAN网络的任一从节点,该CAN网络还包括预先确定且已分配地址的主节点,该方法包括以下步骤:
[0063]S301,在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识。
[0064]在本发明实施例中,当从节点接入CAN网络时,其可以请求主节点为自身进行地址分配。具体地,从节点可以向主节点发送地址请求报文,以使主节点为自身分配地址。
[0065]在实际应用中,CAN网络中的任一节点发送报文时,该报文的帧ID中都需要包括该节点的地址。但是,在本发明实施例中,从节点向主节点发送地址请求报文时,从节点还没有其对应的地址。
[0066]因此,在本发明实施例中,从节点可以首先获取一个临时地址,以用于发送地址请求报文。该临时地址仅用于向主节点发送地址请求报文,当主节点为从节点分配地址后,从节点就不再使用临时地址,而是使用主节点为自身分配的地址来进行正常的通信。
[0067]具体地,从节点可以在预设的第一地址池中,选定任一个地址,作为自身的临时地址,以使用该临时地址,来发送地址请求报文。
[0068]例如,上述预设的第一地址池可以为16-63,从节点在选择自身的临时地址时,可以选择其中的任一个地址,如16、18、23、56等,作为自身的临时地址。
[0069]可以理解,在本发明实施例中,各从节点用于选定临时地址的第一地址池是相同的。因此,对于不同的从节点,其可能同时从第一地址池中选择了相同的地址,作为自身的临时地址。这种情况下,当存在至少两个从节点,同时选择了相同的临时地址,且同时向主节点发送地址请求报文时,该至少两个从节点发送的地址请求报文的帧ID将相同。这将导致这些节点发送的地址请求报文均发送失败。
[0070]因此,在本发明实施例中,为了避免存在至少两个从节点,选择了相同的临时地址时,还同时向主节点发送地址请求报文。各从节点从预设的第一地址池中选定任一个地址,作为自身的临时地址之后,其可以不立即发送地址请求报文。而是等待预设时长后,再发送地址请求报文。
[0071]例如,各从节点可以从多个预设时长中选择其中一个,作为自身的时长。然后,其可以等待该时长后,再向主节点发送地址请求报文。
[0072]其中,预设的时长可以为帧起始的整数倍,各从节点可以从多个可选择的倍数中选择任一个,并等待对应的时间后,再向主节点发送地址请求报文。由于可选择的时长有多个,各从节点可以选择任一时长。因此,各节点各自可以选择不同的时长,从而避免了多个节点选择了相同的临时地址时,还同时向主节点发送地址请求报文。
[0073]在本发明实施例中,从节点向主节点发送地址请求报文时,为了标识该地址请求报文是哪个从节点发送的,从而使主节点可以将地址响应报文发送给对应的从节点,并在本地保存各从节点与地址的对应关系,从节点发送的地址请求报文中可以携带自身的设备标识,如,MAC地址、设备序列号等。
[0074]也就是说,从节点向主节点发送的地址请求报文中可以携带其选择的临时地址,以及该从节点的设备标识。
[0075]S302,接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址。
[0076]在本发明实施例中,当主节点接收到从节点向自身发送的地址请求报文后,主节点可以为该从节点分配其对应的正式地址,并将该正式地址携带在地址响应报文中发送给该从节点,以使该从节点后续使用该正式地址进行正常的通信。具体地,主节点可以根据所述从节点的设备标识和临时地址,从预设的第二地址池中选定一个未占用的地址,作为从节点的正式地址。
[0077]其中,第一地址池中的地址与第二地址池中的地址不同。例如,当第一地址池中包括的地址范围为16-63时,第二地址池中包括的地址范围可以为0-15。
[0078]主节点在为从节点选择其对应的正式地址时,可以在第二地址池中选定其中的任一个地址,如2、8、13等,作为从节点的正式地址。
[0079]可以理解,在配置第一地址池和/或第二地址池时,地址池中包含的地址的数量可以根据CAN网络中包括的节点的数量而定。例如,当CAN网络中包括的节点的数量较少时,地址池中也可以包含较少数量的地址;当CAN网络中包括的节点的数量较多时,地址池中也可以包含较多数量的地址,以保证CAN网络中每个从节点都可以获取到其对应的地址。
[0080]因此,在本发明实施例中,从节点可以接收主节点发送的地址响应报文,其中,该地址响应报文中携带有主节点为其分配的正式地址。
[0081 ] S303,将所述正式地址确定为自身的地址。
[0082]在本发明实施例中,当从节点接收到主节点发送的地址响应报文后,可以获取地址响应报文中携带的正式地址,并将该正式地址确定为自身的地址。
[0083]本发明实施例提供了一种地址分配方法,从节点可以从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,然后可以根据该临时地址向主节点发送地址请求报文,主节点接收到地址请求报文后,可以从预设的第二地址池中选定一个未占用地址作为从节点的正式地址,并将该正式地址发送给从节点,从节点即可将该正式地址作为自身的地址,因此,能够保证CAN网络中各节点都自动获得互不冲突的地址。
[0084]在实际应用中,由于网络故障或其他原因,主节点向从节点发送的地址响应报文,从节点可能收到,也可能没收到。
[0085]在本发明实施例中,为了使主节点得知从节点是否接收到了其发送的地址确认报文,从节点接收到主节点向自身发送的地址响应报文后,其可以向主节点发送地址确认报文。其中,该地址确认报文的帧ID中可以包括主节点为其分配的正式地址,该地址确认报文的数据信息可以包括预设的确认码。
[0086]并且,主节点接收到从节点发送的地址确认报文时,其可以将为该从节点分配的正式地址从第二地址池中删除,以避免将该地址再次分配给其他从节点,从而提高地址分配的准确性。
[0087]进一步地,在本发明实施例中,当存在至少两个从节点,选择了相同的临时地址,还同时向主节点发送地址请求报文时,这些节点发送的地址请求报文均会发送失败,从而该从节点也就不会接收到主节点发送的地址响应报文。或者,当主节点接收到了从节点发送的地址请求报文,并向该从节点发送携带了正式地址的地址响应报文时,由于网络故障等原因,从节点可能没收到该地址响应报文。也就是说,从节点可能获取正式地址失败。
[0088]因此,在本发明实施例中,当从节点未收到地址响应报文时,其可以再次从预设的第一地址池中选定任一个地址,作为自身的临时地址,并再次等待预设时长后,再向主节点发送地址请求报文,以使主节点接收到地址请求报文后,为自身分配地址。
[0089]例如,从节点可以预先设定时间阈值,当发送地址请求报文,并在该时间阈值内未收到地址响应报文时,其可以再次从预设的第一地址池中选定任一个地址,作为自身的临时地址,并再次等待预设时长后,再向主节点发送地址请求报文。
[0090]相应于上面的方法实施例,本发明实施例还提供了相应的装置实施例。
[0091]图4为本发明实施例提供的一种地址分配装置,所述装置应用于CAN网络中预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,所述装置包括:
[0092]接收模块410,用于接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识;
[0093]选择模块420,用于根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同;
[0094]发送模块430,用于将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。
[0095]本发明实施例提供了一种地址分配装置,从节点可以从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,然后可以根据该临时地址向主节点发送地址请求报文,主节点接收到地址请求报文后,可以从预设的第二地址池中选定一个未占用地址作为从节点的正式地址,并将该正式地址发送给从节点,从节点即可将该正式地址作为自身的地址,因此,能够保证CAN网络中各节点都自动获得互不冲突的地址。
[0096]进一步地,所述装置还包括:
[0097]删除模块(图中未示出),用于当接收到所述从节点发送的地址确认报文时,将所述正式地址从所述第二地址池中删除;其中,所述地址确认报文是所述从节点接收到所述地址响应报文后发送的。
[0098]图5为本发明实施例提供的一种地址分配装置,所述装置应用于CAN网络的任一从节点,所述CAN网络还包括预先确定且已分配地址的主节点,所述装置包括:
[0099]处理模块510,用于在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识;
[0100]接收模块520,用于接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址;
[0101 ]确定模块530,用于将所述正式地址确定为自身的地址。
[0102]本发明实施例提供了一种地址分配装置,从节点可以从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,然后可以根据该临时地址向主节点发送地址请求报文,主节点接收到地址请求报文后,可以从预设的第二地址池中选定一个未占用地址作为从节点的正式地址,并将该正式地址发送给从节点,从节点即可将该正式地址作为自身的地址,因此,能够保证CAN网络中各节点都自动获得互不冲突的地址。
[0103]进一步地,所述装置还包括:
[0104]发送模块(图中未示出),用于向所述主节点发送地址确认报文,以使所述主节点将所述正式地址从所述第二地址池中删除。
[0105]进一步地,所述接收模块520,还用于在当未收到所述地址响应报文时,触发所述处理模块510。
[0106]下面结合一个具体的实施例对本发明提供的地址分配过程进行详细的说明。
[0107]如图6(a)所示,本实施例的CAN网络可以包括主节点和从节点1、从节点2、……从节点η。本实施例以主节点为从节点I分配地址为例来说明本发明提供的节点地址分配过程。
[0108]如图6(b)所示,当从节点I接入CAN网络时,其可以在预设的第一地址池16-63中,选定任一个地址16,作为自身的临时地址。
[0109]然后,从节点I可以从预设的等待倍数1-20中,选定其中一个为自身的等待倍数3。
[0110]从节点I等待帧起始的3倍时间后,可以向主节点发送地址请求报文。该地址请求报文的帧ID中包括该临时地址16,其数据信息中包括从节点I的设备序列号。
[0111]主节点接收到从节点I发送的地址请求报文后,可以从预设的第二地址池0-15中,选定其中的任一个地址6,作为从节点I的正式地址。
[0112]主节点为从节点I选定正式地址后,可以向从节点I发送地址响应报文,该地址响应报文的帧ID中包括该正式地址6,其数据信息中包括从节点I的设备序列号。
[0113]从节点I接收到主节点发送的地址响应报文后,可以获取该地址响应报文中包括的正式地址,作为自身的地址。并且,还可以向主节点发送地址确认报文,该地址确认报文的帧ID中可以包括正式地址6,该地址确认报文的数据信息可以包括预设的确认码。
[0114]主节点接收到从节点I发送的地址确认报文后,可以将正式地址6从第二地址池中删除。
[0115]对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0116]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0117]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0118]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种地址分配方法,其特征在于,所述方法应用于CAN网络中预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,所述方法包括: 接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识; 根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同; 将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当接收到所述从节点发送的地址确认报文时,将所述正式地址从所述第二地址池中删除;其中,所述地址确认报文是所述从节点接收到所述地址响应报文后发送的。3.—种地址分配方法,其特征在于,所述方法应用于CAN网络的任一从节点,所述CAN网络还包括预先确定且已分配地址的主节点,所述方法包括: 在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识; 接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址; 将所述正式地址确定为自身的地址。4.根据权利要求3所述的方法,其特征在于,所述接收所述主节点发送的地址响应报文之后,所述方法还包括: 向所述主节点发送地址确认报文,以使所述主节点将所述正式地址从所述第二地址池中删除。5.根据权利要求3或4任一项所述的方法,其特征在于,所述方法还包括: 当未收到所述地址响应报文时,继续执行所述从预设的第一地址池中选定一个地址,作为自身的临时地址的步骤。6.—种地址分配装置,其特征在于,所述装置应用于CAN网络中预先确定且已分配地址的主节点,所述CAN网络还包括多个从节点,所述装置包括: 接收模块,用于接收从节点发送的地址请求报文,其中,所述地址请求报文是所述从节点在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址,并等待预设时长后发送的,且所述地址请求报文中携带有所述临时地址和所述从节点的设备标识; 选择模块,用于根据所述从节点的设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址,所述第一地址池中的地址与所述第二地址池中的地址不同; 发送模块,用于将所述正式地址携带在地址响应报文中发送给所述从节点,以使所述从节点将所述正式地址确定为自身的地址。7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 删除模块,用于当接收到所述从节点发送的地址确认报文时,将所述正式地址从所述第二地址池中删除;其中,所述地址确认报文是所述从节点接收到所述地址响应报文后发送的。8.—种地址分配装置,其特征在于,所述装置应用于CAN网络的任一从节点,所述CAN网络还包括预先确定且已分配地址的主节点,所述装置包括: 处理模块,用于在接入所述CAN网络后,从预设的第一地址池中选定一个地址,作为用于申请正式地址的临时地址;等待预设时长后,向所述主节点发送地址请求报文,其中,所述地址请求报文中携带有所述临时地址和自身的设备标识; 接收模块,用于接收所述主节点发送的地址响应报文,其中,所述地址响应报文是所述主节点根据所述设备标识和所述临时地址,从预设的第二地址池中选定一个未占用的地址,作为所述从节点的正式地址后发送的,所述地址响应报文中携带有所述正式地址; 确定模块,用于将所述正式地址确定为自身的地址。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 发送模块,用于向所述主节点发送地址确认报文,以使所述主节点将所述正式地址从所述第二地址池中删除。10.根据权利要求8或9任一项所述的装置,其特征在于,所述接收模块,还用于在未收到所述地址响应报文时,触发所述处理模块。
【文档编号】H04L29/12GK106060187SQ201610357621
【公开日】2016年10月26日
【申请日】2016年5月26日
【发明人】张元
【申请人】杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1