CN116530071A - Can地址分配 - Google Patents
Can地址分配 Download PDFInfo
- Publication number
- CN116530071A CN116530071A CN202080105518.5A CN202080105518A CN116530071A CN 116530071 A CN116530071 A CN 116530071A CN 202080105518 A CN202080105518 A CN 202080105518A CN 116530071 A CN116530071 A CN 116530071A
- Authority
- CN
- China
- Prior art keywords
- bus
- node
- slave
- message
- allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/627—Controller area network [CAN] identifiers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
提供了一种用于在控制器局域网(CAN)总线上分配地址的方法,其中CAN总线包括主节点和多个从节点。该方法包括:从多个从节点中的每一个向主节点发送(210)请求消息,其中请求消息包含相应从节点的数字标识符的表示;在主节点处为每个接收到的请求消息生成(220)分配消息,其中每个分配消息包含:将由对应的从节点采用的不同接收地址,以及相应的从节点的数字标识符的相应表示;将分配消息中的每一个发送(230)到对应的从节点;以及在多个从节点中的每一个处设置(240)包含在在相应从节点处接收的分配消息中的接收地址。
Description
技术领域
本发明涉及一种控制器局域网(CAN)总线和一种用于在CAN总线上分配地址的方法。特别地,本发明涉及用于CAN总线系统的自动地址分配。
背景技术
在传统的总线系统中,例如控制器局域网(CAN)总线系统,通常提供一个主节点和多个从节点。为了允许主节点和从节点之间的通信,这些节点的不同接收地址用于区分不同的节点。
终端用户可以为从节点分配不同的接收地址(与制造商分配地址相反,例如在工厂)。例如,在一些情况下,总线系统中的从节点可能具有相同的部件号(即标识符),因为它们已经由制造商生产以具有相同的硬件和固件。在这种情况下,不可能在制造阶段(例如在工厂)为不同的从节点分配不同的接收地址。
目前有许多可用的地址分配方法。例如,运营商可以在首次使用总线系统之前手动分配地址。作为另一个示例,可以使用双列直插式封装(DIP)开关来定义地址。在第一个示例中,由于主要依赖于人工操作的技术,可能存在相关的设备组装难度增加以及错误地址分配的风险。第二个示例也与第一个示例的所有缺点相关联,即增加了设备组装的难度和出错的风险。此外,对于第二个示例,由于需要物理地容纳DIP开关,对于结合总线系统的产品的物理设计存在额外的挑战,特别是对于紧凑型和/或手持设备。因此,需要一种能够克服上述问题的CAN总线地址分配的解决方案。
发明内容
本发明的一个方面提供了一种用于在控制器局域网(CAN)总线上分配地址的方法。CAN总线包括主节点和多个从节点。该方法包括:从多个从节点中的每一个向主节点发送请求消息,请求消息包含相应从节点的数字标识符的表示;在主节点处为每个接收到的请求消息生成分配消息,每个分配消息包含:将由对应的从节点采用的不同接收地址,以及相应的从节点的数字标识符的相应表示;将分配消息中的每一个发送到对应的从节点;以及在多个从节点中的每一个处设置包含在在相应从节点处接收的分配消息中的接收地址。
本发明的另一方面提供了一种包括计算机可读介质的计算机程序产品,该计算机可读介质具有体现在其中的计算机可读代码,该计算机可读代码配置为使得在控制器局域网(CAN)总线上执行时,使得CAN总线执行如本公开中描述的方法。
本发明的另一方面提供了一种控制器局域网(CAN)总线,包括:主节点;以及多个从节点,所述多个从节点中的每一个配置为向主节点发送请求消息,请求消息包含相应从节点的数字标识符的表示。主节点配置为:为接收到的来自从节点的请求消息中的每一个生成分配消息,其中,分配消息中的每一个包含:将由对应的从节点采用的不同接收地址,以及相应的从节点的数字标识符的相应表示;以及将每个分配消息发送到对应的从节点。多个从节点中的每一个还配置为设置包含在在相应从节点处接收的分配消息中的接收地址。
从属权利要求中列出了可选特征。
附图说明
为了更好地理解本公开的示例,并且为了更清楚地示出如何实施这些示例,现在将仅通过示例的方式参考以下的附图,其中:
图1是根据本发明实施例的控制器局域网(CAN)总线的框图;以及
图2是示出根据本发明实施例的用于在控制器局域网(CAN)总线处分配地址的方法的流程图。
具体实施方式
本文描述的本发明的实施例克服了与如在上面的背景部分中概述的当前可用的总线地址分配技术相关联的缺点。
例如,在线性加速器的典型配置中,可以提供多于一个手持控制器。然而,由于尺寸和外观的限制,在这些手持控制器中安装DIP开关可能是困难的,因为希望具有紧凑的手持设备以最大化易用性。目前可用的方法是手动为这些手持控制器中的CAN总线系统执行地址分配。然而,这种方法可能容易出现人为错误。
由于本发明的实施例允许在系统初始化时和/或当新的从节点被添加到系统时自动分配地址,因此通过消除结合CAN总线系统的设备中对DIP开关的需要以及消除对人工干预的需要来克服上述缺点。
图1是根据本发明实施例的控制器局域网(CAN)总线的框图。如图1所示,CAN总线100包括主节点110和多个从节点120-1至120-n。
在本实施例中,多个从节点120-1至120-n中的每一个配置为向主节点110发送请求消息。请求消息包含各个从节点120-1至120-n的数字标识符的表示。多个从节点120-1至120-n中的每一个的数字标识符可以是与从节点相关联的微控制器的制造商分配的标识符,例如MCU ID。通常,每个微控制器可以具有唯一的标识符。然而,情况可能并不总是如此。
数字标识符的每一个表示可以包括从数字标识符序列中的第一预定位置和第二预定位置中选择的两位数。更详细地,第一预定位置和第二预定位置可以被选择为相应从节点的数字标识符的最后两位数,或者基于从节点的数字标识符的制造商设置的两位数。例如,取决于制造商如何将数字标识符分配给从节点的微控制器,数字序列中的某些位置可能比其他位置更适合于区分不同的从节点。在一些实施例中,数字标识符的序列是十六进制格式,并且在这些实施例中,数字标识符的表示是从数字标识符的十六进制格式导出的位的和。可以在相应的从节点处确定或计算该和。
在一些实施例中,多个从节点120-1至120-n中的每一个可以配置为使得从多个从节点120-1至120-n中的每一个到主节点110的请求消息的传输由CAN总线的通电事件和新的从节点引入CAN总线中的至少一个触发。
主节点110配置为针对从该从节点120-1至120-n接收到的请求消息中的每一个生成分配消息。每个分配包含:将由对应的从节点120-1至120-n采用的不同接收地址,以及相应的从节点120-1至120-n的数字标识符的相应表示。
在一些实施例中,接收地址可以由数值表示,并且在这些实施例中,主节点110可以配置为通过为每个分配消息分配不同的数值作为接收地址来在主节点处生成分配消息。
此外,主节点110可以配置为顺序地分配数值作为接收地址。主节点110可以配置为在生成分配消息之前对数字标识符的表示进行排序(例如,以升序),并且接收地址然后可以基于排序的结果被分配。
主节点110还配置为向对应的从节点120-1至120-n发送每个分配消息。在接收到分配消息之后,多个从节点120-1至120-n中的每一个还配置为设置包含在各自接收到的分配消息中的接收地址。
至少在系统初始化的情况下,即在第一次使用CAN总线之前,多个从节点120-1至120-n可以具有相同的初始接收地址。在这种情况下,主节点110可以配置为使用用于多个从节点的相同初始接收地址向多个从节点120-1至120-n发送分配消息。因此,将在多个从节点中的每一个处接收分配消息。
另一方面,在系统初始化之后,多个从节点中的每一个可能已经具有不同的相应接收地址。在这种情况下,主节点110可以配置为使用所述从节点的特定接收地址向对应的从节点发送分配消息。因此,分配消息将仅在对应的从节点接收。
在一些实施例中,请求消息和分配消息中的每一个可以采用预定格式,该格式是由多个字节定义的格式。预定格式可以包含指示字节,用于指示消息是请求消息还是分配消息。在这些实施例中,主节点可以配置为通过改变对应请求消息的至少一个字节来指示相应的接收地址,从而生成分配消息。
为了说明的目的,下面提供CAN总线100的操作的示例。在本示例中,CAN总线包括一个主节点和三个从节点。三个从节点的数字标识符(在本示例中为MCU ID)分别为0x102、0x008和0x301。
在CAN总线的通电事件时,三个从节点配置为分别发送以下请求消息。
对于与MCU ID 0x102关联的从节点:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型1 | 1 | 2 | xx | xx | 检查 | 结束 |
对于与MCU ID 0x008关联的从节点:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型1 | 0 | 8 | xx | xx | 检查 | 结束 |
对于与MCU ID 0x301关联的从节点:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型1 | 3 | 1 | xx | xx | 检查 | 结束 |
在本示例中,请求消息采用的格式由8个字节定义。该格式的字节0、字节6和字节7分别对应于“头”、“检查”和“结束”,用于符合CAN总线系统的帧格式。
更详细地说,字节0是一个“头字节”,它指示帧的开始以及相应消息所来自的节点,字节7是一个“结束字节”,它指示帧的结束,并且在这个字节之后没有附加数据。例如,如下面将更详细解释的,与MCU ID 0x108相关联的从节点的接收地址将被设置为“1”或“01”。在这种情况下,从与MCU ID 0x108相关联的从节点发送的任何后续消息的字节0将具有包含“0xA1”的字节0,以指示消息来自的从节点。因此,当在主节点接收到这些后续消息时,主节点可以通过检查字节0来确定始发从节点。字节6是一个“校验字节”,用于验证消息的完整性,例如通过使用和校验或奇偶校验。
消息格式的字节1是指示字节,指示消息是请求消息还是分配消息。具体地,在该示例中,字节1中的“类型1”指示该消息是请求消息,字节2中的“类型2”指示该消息是分配消息。如上所示,来自三个从节点的请求消息都具有带有“类型1”指示的字节1。
此外,消息格式的字节2和字节3指示从节点的标识符的相应表示,在该示例中,从节点的标识符是从数字标识符序列中的第一预定位置和第二预定位置中选择的两位数。更具体地,在该示例中,第一预定位置是标识符的第一个数字,第二预定位置是标识符的最后一个数字。因此,MCU ID 0x102的表示将是“1”和“2”,MCU ID 0x008的表示将是“0”和“8”,MCU ID 0x301的表示将是“3”和“1”。它们分别用消息格式的字节2和字节3表示,如上所示。
下面将参考主节点110的操作更详细地解释消息格式的字节4和字节5的功能。
在接收到请求消息之后,主节点110可以生成相应的分配消息。事实上,在生成这些分配消息之前,主节点110可以按数字标识符的各自表示以升序对请求消息进行排序,使得第一请求消息将对应于MCU ID 0x008,第二请求消息将对应于MCU ID 0x102,并且第三请求消息将对应于MCU ID 0x301。然后,主节点110可以生成以下分配消息。
对应于与MCU ID 0x008相关联的请求消息的分配消息:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型2 | 0 | 8 | 0 | 1 | 检查 | 结束 |
对应于与MCU ID 0x102相关联的请求消息的分配消息:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型2 | 1 | 2 | 0 | 2 | 检查 | 结束 |
对应于与MCU ID 0x301相关联的请求消息的分配消息:
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 |
头 | 类型2 | 3 | 1 | 0 | 3 | 检查 | 结束 |
比较关于特定从节点(即相同MCU ID)的请求消息和分配消息,可以看出,分配消息的字节1已经从“类型1”(指示请求消息)改变为“类型2”(指示分配消息)。此外,字节4和字节5也被改变,使得它们表示要分配给相应从节点的接收地址。例如,对于与MCU ID0x008相关联的从节点,接收地址被设置为“1”(在字节4和字节5中分别由“0”和“1”表示)。类似地,对于与MCU ID 0x102相关联的从节点,接收地址已经被设置为“2”(在字节4和字节5中分别由“0”和“2”表示),并且对于与MCU ID 0x301相关联的从节点,接收地址已经被设置为“3”。如上所述,在这个示例中,接收地址的分配是顺序的,并且基于数字标识符的各个表示的排序——具有最低值的表示被分配从“1”开始的第一个接收地址。
因此,可以基于请求消息,特别是通过至少改变字节1、字节4和字节5的值来生成分配。
本示例涉及系统初始化的场景,即先前没有将接收地址分配给任何从节点。因此,CAN总线系统的所有从节点120-1至120-n将接收由主节点110生成和发送的所有分配消息。
在分配消息的传输之后,每个从节点可以从来自主节点110的多个分配消息中确定与相应从节点相关联的特定分配消息。例如,与MCU ID 0x108相关联的从节点可以通过检查字节2和字节3中的“0”和“8”来确定相应的对应分配消息,并将其自己的接收地址设置为对应分配消息的字节4和字节5中指示的接收地址,即“1”或“01”。类似的操作可以在与MCU ID 0x102和MCU ID 0x301相关联的其它从节点上执行。因此,在该示例中,与MCU ID0x108相关联的从节点的接收地址将是“1”或“01”,与MCU ID 0x102相关联的从节点的接收地址将是“2”或“02”,并且与MCU ID 0x301相关联的从节点的接收地址将是“3”或“03”。
如上所述,在某些情况下,微控制器可能不是每个都有唯一的标识符。因此,多于一个从节点的数字标识符(可以是两位数)的表示可能是相同的。两个MCU ID的两位数表示相同的概率是1/65536,这是相对较低的。然而,在一些实施例中,可以通过根据数字标识符的十六进制格式确定相应的位的和来进一步降低这种概率。
为了进一步说明这一点,我们考虑第一MCU ID 0x 3689 6578 1234和第二MCU ID0x 6542 7894 1234,它们都以十六进制格式表示。如果这些MCU ID的最后两位数字被选择作为数字标识符的表示,它将导致从两个不同的从节点发送到主节点110的两个请求消息中的相同表示。为了解决这个问题,在一些实施例中,可以执行“ID和”操作,其中执行数字标识符的位的和。对于第一个MCU ID,0x3689、0x6578和0x1234之和为0xAE35。对于第二个MCU ID,0x6542、0x7894和0x1234之和为0xF00A。在这种情况下,和的最后两位数分别是“35”和“0A”。因此,可以区分从节点的数字标识符的表示。
图2是示出根据本发明实施例的用于在控制器局域网(CAN)总线处分配地址的方法的流程图。本实施例中的CAN总线包括主节点和多个从节点。为了说明的目的,下面将参考图1所示的CAN总线组件来解释图2所示的步骤。
该方法开始于步骤210,在步骤210,请求消息从CAN总线100的多个从节点120-1至120-n中的每一个发送到主节点110。步骤210可以由以下场景中的至少一个触发:CAN总线100的通电事件,以及将新的从节点引入CAN总线100。
请求消息包含相应从节点的数字标识符的表示。从节点的数字标识符可以是与从节点相关联的微控制器(MCU)的制造商分配的标识符,例如MCU ID。如上文参考图1所述,通常每个微控制器可以具有唯一标识符。然而,情况可能并不总是如此。
在一些实施例中,数字标识符的每个表示可以包括从数字标识符序列中的第一预定位置和第二预定位置中选择的两位数。例如,第一预定位置和第二预定位置可以被选择为相应从节点120-1至120-n的数字标识符的最后两位数,或者基于从节点120-1至120-n的数字标识符的制造商设置的两位数。
在一些实施例中,数字标识符的序列是十六进制格式,并且在这些实施例中,数字标识符的表示是从数字标识符的十六进制格式导出的位的和。因此,在这些实施例中,该方法还可以包括确定对应从节点处的位的和。
然后,在步骤220,在主节点110处为每个接收请求消息生成分配消息。具体地,在主节点110处执行分配消息的生成。每个分配消息包含:将由对应从节点采用的不同接收地址,以及相应从节点的数字标识符的相应表示。
在一些实施例中,接收地址可以由数值表示。在这些实施例中,在步骤220生成分配消息可以包括为每个分配消息分配不同的数值作为接收地址。例如,可以顺序地分配数值(作为接收地址)。在一些实施例中,该方法还可以包括在步骤220生成分配消息之前,在主节点110处对数字标识符的表示进行排序(例如,按升序)。因此,在步骤220,可以基于排序的结果来分配接收地址。
另外,在一些实施例中,请求消息和分配消息中的每一个可以采用由多个字节定义的预定格式。预定格式可以包含指示字节,用于指示消息是请求消息还是分配消息。上面参考图1描述了示例性格式。
如上所述,在一些实施例中,请求消息和分配消息可以采用由字节定义的预定格式。在这些实施例中,在步骤220生成分配消息可以包括改变对应请求消息的至少一个字节以指示相应的接收地址。
随后,在步骤230,在步骤220生成的每个分配消息被发送到对应的从节点。
至少在系统初始化的情况下,即在第一次使用CAN总线之前,多个从节点120-1至120-n可以具有相同的初始接收地址。在这种情况下,在步骤230,可以使用用于多个从节点的相同初始接收地址来执行向多个从节点的分配消息的发送。因此,将在多个从节点中的每一个处接收分配消息。
另一方面,在系统初始化之后,多个从节点中的每一个可能已经具有不同的相应接收地址。在这种情况下,在步骤230,使用所述从节点的特定接收地址向对应的从节点发送分配消息。因此,分配消息将仅在对应的从节点接收。
一旦在从节点处接收到分配消息,在步骤240,在从节点处设置包含在相应分配消息中的接收地址。因此,至少在一些实施例中,在多个从节点中的每一个处设置接收地址。
还提供了一种包括计算机可读介质的计算机程序产品,该计算机可读介质具有其中包含的计算机可读代码,该计算机可读代码配置为使得在由合适的计算机或处理器执行时,使该计算机或处理器执行本文所述的一种或多种方法。因此,应当理解,本公开还适用于计算机程序,特别是载体上或载体中的计算机程序,其适于将实施例付诸实践。该程序可以是源代码、目标代码、代码中间源代码和目标代码的形式,例如部分编译的形式,或者是适合在根据本文描述的实施例的方法的实现中使用的任何其他形式。
还将理解,这样的程序可以具有许多不同的架构设计。例如,实现该方法或系统的功能的程序代码可以被细分为一个或多个子例程。对于技术人员来说,在这些子例程中分配功能的许多不同方式将是显而易见的。子例程可以一起存储在一个可执行文件中,以形成自包含的程序。这样的可执行文件可以包括计算机可执行指令,例如处理器指令和/或解释器指令(例如Java解释器指令)。替代地,一个或多个子例程或所有子例程可以存储在至少一个外部库文件中,并且静态地或动态地(例如在运行时)与主程序链接。主程序包含对至少一个子例程的至少一个调用。子例程还可以包括对彼此的函数调用。
涉及计算机程序产品的实施例包括对应于本文阐述的至少一种方法的每个处理阶段的计算机可执行指令。这些指令可以被细分为子例程和/或存储在一个或多个可以被静态或动态链接的文件中。涉及计算机程序产品的另一个实施例包括对应于本文阐述的系统和/或产品中的至少一个的每个装置的计算机可执行指令。这些指令可以被细分为子例程和/或存储在一个或多个可以被静态或动态链接的文件中。
计算机程序的载体可以是能够携带程序的任何实体或设备。例如,载体可以包括数据存储器,例如ROM,例如CD ROM或半导体ROM,或者磁记录介质,例如硬盘。此外,载波可以是可传输的载波,例如电或光信号,其可以经由电或光缆或通过无线电或其他手段来传输。当程序包含在这样的信号中时,载波可以由这样的电缆或其他设备或装置构成。可选地,载体可以是其中嵌入程序的集成电路,该集成电路适于执行或用于执行相关方法。
通过对附图、公开内容和所附权利要求的研究,本领域技术人员在实践所要求保护的发明时可以理解并实现对所公开实施例的变化。在权利要求中,单词“包括”不排除其他元素或步骤,并且不定冠词“一”或“一个”不排除多个。单个处理器或其他单元可以实现权利要求中列举的几个项目的功能。在相互不同的从属权利要求中列举某些措施这一事实并不表明这些措施的组合不能发挥优势。计算机程序可以存储/分发在适当的介质上,例如与其他硬件一起提供或作为其他硬件的一部分提供的光存储介质或固态介质,但是也可以以其他形式分发,例如通过互联网或其他有线或无线电信系统。权利要求中的任何参考符号不应被解释为限制范围。
以上公开阐述了特定的细节,例如用于解释而非限制目的的特定实施例或示例。本领域技术人员将理解,除了这些具体细节之外,还可以采用其他示例。
Claims (25)
1.一种用于在控制器局域网CAN总线处分配地址的方法,其中,所述CAN总线包括主节点和多个从节点,所述方法包括:
从所述多个从节点中的每一个向所述主节点发送(210)请求消息,其中,所述请求消息包含相应从节点的数字标识符的表示;
在所述主节点处为所接收的请求消息中的每一个生成(220)分配消息,其中,所述分配消息中的每一个包含:将由相应的从节点采用的不同接收地址,以及所述相应的从节点的数字标识符的相应表示;
向对应的从节点发送(230)所述分配消息中的每一个;以及
在所述多个从节点中的每一个处,设置(240)包含在在相应从节点处接收的分配消息中的接收地址。
2.根据权利要求1所述的方法,其中,接收地址由数值表示,并且其中,在所述主节点处生成(220)分配消息包括为每个分配消息分配不同的数值作为接收地址。
3.根据权利要求2所述的方法,其中,分配数值作为接收地址被顺序地执行。
4.根据前述权利要求中任一项所述的方法,其中,数字标识符的每一个表示包括从数字标识符序列中的第一预定位置和第二预定位置中选择的两位数。
5.根据权利要求4所述的方法,其中,所述第一预定位置和所述第二预定位置被选择为相应从节点的数字标识符的最后两位数,或者基于从节点的数字标识符的制造商设置的两位数。
6.根据权利要求4或5所述的方法,其中,所述数字标识符的序列是十六进制格式。
7.根据权利要求6所述的方法,其中,所述数字标识符的表示是从所述数字标识符的十六进制格式导出的位的和。
8.根据前述权利要求中任一项所述的方法,其中,所述多个从节点中的每一个的数字标识符是与所述从节点相关联的微控制器的制造商分配的标识符。
9.根据前述权利要求中任一项所述的方法,其中,从所述多个从节点中的每一个向所述主节点发送(210)请求消息的步骤由以下至少一项触发:所述CAN总线的通电事件和将新的从节点引入所述CAN总线。
10.根据前述权利要求中任一项所述的方法,其中,所述请求消息和所述分配消息中的每一个采用由多个字节定义的预定格式。
11.根据权利要求8所述的方法,其中,所述预定格式包含指示符字节,用于指示消息是请求消息还是分配消息。
12.根据权利要求10或11所述的方法,其中,生成(220)分配消息包括改变对应请求消息的至少一个字节以指示相应的接收地址。
13.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有包含在其中的计算机可读代码,所述计算机可读代码配置为使得当在控制器局域网CAN总线上执行时,使所述CAN总线执行根据权利要求1至12中任一项所述的方法。
14.一种控制器局域网CAN总线(100),包括:
主节点(110);以及
多个从节点(120-1至120-n),其中,所述多个从节点中的每一个配置为向所述主节点发送请求消息,其中,所述请求消息包含相应从节点的数字标识符的表示,
其中,所述主节点配置为:
为从所述从节点接收到的请求消息中的每一个生成分配消息,其中,分配消息中的每一个包含:将由相应的从节点采用的不同接收地址,以及相应的从节点的数字标识符的相应表示;以及
将所述分配消息中的每一个发送到对应的从节点,以及
其中,所述多个从节点中的每一个还配置为设置包含在在所述相应从节点处接收的分配消息中的接收地址。
15.根据权利要求14所述的CAN总线(100),其中,接收地址由数值表示,并且所述主节点(110)配置为通过为每个分配消息分配不同的数值作为接收地址来在所述主节点处生成分配消息。
16.根据权利要求15所述的CAN总线(100),其中,所述主节点(110)配置为顺序地分配数值作为接收地址。
17.根据权利要求14至16中任一项所述的CAN总线(100),其中,数字标识符的每一个表示包括从数字标识符序列中的第一预定位置和第二预定位置中选择的两位数。
18.根据权利要求17所述的CAN总线(100),其中,所述第一预定位置和所述第二预定位置被选择为相应从节点(120-1至120-n)的数字标识符的最后两位数,或者基于从节点的数字标识符的制造商设置的两位数。
19.根据权利要求17或18所述的CAN总线(100),其中,所述数字标识符的序列是十六进制格式。
20.根据权利要求19所述的CAN总线(100),其中,所述数字标识符的表示是从所述数字标识符的十六进制格式导出的位的和。
21.根据权利要求14至20中任一项所述的CAN总线(100),其中,所述多个从节点(120-1至120-n)中的每一个的数字标识符是与所述从节点相关联的微控制器的制造商分配的标识符。
22.根据权利要求14至21中任一项所述的CAN总线(100),其中,所述多个从节点(120-1至120-n)中的每一个配置为使得从所述多个从节点中的每一个到所述主节点(110)的请求消息的传输由以下至少一项触发:所述CAN总线的通电事件和将新的从节点引入所述CAN总线。
23.根据权利要求14至22中任一项所述的CAN总线(100),其中,所述请求消息和所述分配消息中的每一个采用预定格式,所述预定格式是由多个字节定义的格式。
24.根据权利要求23所述的CAN总线(100),其中,所述预定格式包含指示字节,用于指示消息是请求消息还是分配消息。
25.根据权利要求23或24所述的CAN总线(100),其中,所述主节点(110)配置为通过改变对应请求消息的至少一个字节以指示相应的接收地址来生成分配消息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/117885 WO2022061760A1 (en) | 2020-09-25 | 2020-09-25 | Can address assignment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116530071A true CN116530071A (zh) | 2023-08-01 |
Family
ID=80844657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080105518.5A Pending CN116530071A (zh) | 2020-09-25 | 2020-09-25 | Can地址分配 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116530071A (zh) |
WO (1) | WO2022061760A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826816B (zh) * | 2022-04-27 | 2023-03-21 | 中国科学院声学研究所 | 一种can fd总线通信方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006018871A1 (de) * | 2006-04-24 | 2007-10-25 | OCé PRINTING SYSTEMS GMBH | Verfahren zum Betreiben eines Datenbusses und Datenbussystem |
CN101631147A (zh) * | 2009-08-07 | 2010-01-20 | 华为技术有限公司 | 一种分配串行总线从节点地址的方法、电子装置和系统 |
CN104320320A (zh) * | 2014-11-18 | 2015-01-28 | 哈尔滨工业大学 | 自动测试装备中can总线从节点标识符的自动配置方法 |
CN106060187A (zh) * | 2016-05-26 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种地址分配方法及装置 |
CN107395787B (zh) * | 2017-09-01 | 2020-10-16 | 北京镁伽机器人科技有限公司 | Can通信网络的地址分配方法、系统、网关和介质 |
CN108881505A (zh) * | 2018-05-30 | 2018-11-23 | 武汉高仕达电气有限公司 | 一种can总线节点地址分配方法及系统 |
-
2020
- 2020-09-25 CN CN202080105518.5A patent/CN116530071A/zh active Pending
- 2020-09-25 WO PCT/CN2020/117885 patent/WO2022061760A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022061760A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5708831A (en) | Method of bus address assignment | |
CN109788027B (zh) | 数据同步方法、装置、服务器及计算机存储介质 | |
CN111083026A (zh) | 用于使用Modbus RTU标准协议进行主机从机通信的方法 | |
CN108040355B (zh) | 网络接入方法及系统 | |
CN106603735B (zh) | 一种分配智能仪表通信地址的方法、装置和系统 | |
CN108696601A (zh) | 检测计算机网络中的硬件地址冲突 | |
KR102159698B1 (ko) | 리니어 모터 시스템 및 그 구동 방법 | |
CN107071083B (zh) | 一种基于嵌入式的多板卡ip地址生成方法及装置 | |
CN115242752B (zh) | 电池管理系统的地址分配方法、装置、设备及介质 | |
CN110708400B (zh) | 网络地址分配方法、装置、节点设备及存储介质 | |
US20180188990A1 (en) | Method, apparatus and system for inserting disk | |
CN112954088A (zh) | 一种can网络的设备地址分配方法、设备及电子设备 | |
CN108600018B (zh) | 一种列车拓扑的发现方法、装置、列车设备及存储介质 | |
CN116530071A (zh) | Can地址分配 | |
CN111163186A (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN107566543B (zh) | 一种节点标识设置方法和装置 | |
JP3808620B2 (ja) | 情報識別システム、この情報識別システム用の制御装置および応答装置 | |
CN103051480B (zh) | 一种dn的存储方法及dn存储装置 | |
KR20170132253A (ko) | 데이터 처리 방법, 장치, 및 디바이스 | |
CN110888892B (zh) | 一种区块同步方法、装置及存储介质 | |
CN112688870B (zh) | 一种路由方法、路由装置及节点设备 | |
CN116016605A (zh) | 用于物联网的中心节点和终端节点的组网方法和装置 | |
CN113660353B (zh) | 基于蓝牙Mesh的Provisioner地址管理的方法、装置、设备和介质 | |
CN114019926A (zh) | 多级联设备的通信方法、装置、设备及存储介质 | |
CN108769260B (zh) | 一种集群升级过程中事件处理方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |