CN112887443B - 一种can总线节点id分配方法及can总线系统 - Google Patents
一种can总线节点id分配方法及can总线系统 Download PDFInfo
- Publication number
- CN112887443B CN112887443B CN202110054040.4A CN202110054040A CN112887443B CN 112887443 B CN112887443 B CN 112887443B CN 202110054040 A CN202110054040 A CN 202110054040A CN 112887443 B CN112887443 B CN 112887443B
- Authority
- CN
- China
- Prior art keywords
- node
- sub
- information
- child
- nodes
- 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.)
- Active
Links
Images
Classifications
-
- 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/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
-
- 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/40006—Architecture of a communication node
-
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开一种CAN总线节点ID分配方法及CAN总线系统,该系统包括主节点和若干子节点,各子节点通过电源线和通讯线与主节点连接,且各子节点通过各自的电源进线和电源出线依次连接,其中,主节点预先存储具有子节点ID信息的ID信息列表;子节点用以检测到子节点未分配ID时,根据子节点的电性特征值或根据主节点的主节点ID信息,向主节点发送ID请求;主节点根据接收到的ID请求以及ID信息列表向对应的子节点发送对应的子节点ID信息。本发明可实现子节点ID的自动分配,可根据各子节点反馈的采集的电压值或者各子节点上电后发送的ID申请的顺序,向各子节点分配对应的子节点ID信息,令子节点ID分配更加智能化以及简易化。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种CAN总线节点ID分配方法及CAN总线系统。
背景技术
Can通讯为多主通讯方式,网络上的节点均可在任意时刻向网络上其他节点发送信息,而不分主从。若有多个节点同时向总线发送信息出现冲突时,会根据节点的ID进行仲裁,优先级较低的节点会主动退出。
而ID的确定方法现行基本有两种。一是通过拨码开关确定本节点的ID;二是通过软件方式,输入或导入节点文件的方式确定节点ID。两种方式在确定节点ID时都需要有人员的参与,增加了复杂度与不确定性。在换电柜以及充电货架的领域,由于每一个子仓都是相同的,且批量化生产,现场安装位置的不确定性,增加了运维人员的工作量,对于上述两种现行的ID确定方式也增加了运维人员的技术难度。
因此,本领域的技术人员致力于开发一种易于管理的、智能的CAN总线ID分配技术。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种CAN总线节点ID分配方法及CAN总线系统,用于解决现有技术中CAN总线网络各子节点ID分配不够智能化以及简易化的问题。
为实现上述目的及其他相关目的,本发明提供一种CAN总线节点ID分配方法,所述方法应用于包括主节点和若干子节点的CAN总线系统中,各所述子节点通过电源线和通讯线与所述主节点连接,各所述子节点包括电源进线和电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接;所述CAN总线节点ID分配方法包括:所述主节点预先存储具有子节点ID信息的ID信息列表;所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值或根据所述主节点的主节点ID信息,向所述主节点发送ID请求;所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息。
在一些实施例中,所述子节点的所述电源进线和所述电源出线之间连接有负载电阻;其中,所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求的步骤包括:所述子节点采集所述负载电阻一端的电压值,并将所述电压值作为所述子节点的当前ID以向所述主节点发送所述ID请求;所述主节点根据接收到的所述ID请求以及所述ID信息列表向所述当前ID对应的所述子节点发送对应的所述子节点ID信息。
在一些实施例中,所述ID信息列表中的子节点ID信息的存储具有指定的优先级;其中,所述主节点根据接收到的所述ID请求以及所述ID信息列表向所述当前ID对应的所述子节点发送对应的所述子节点ID信息的步骤包括:所述主节点根据接收到的各所述子节点反馈的所述ID请求的所述电压值的大小对所述子节点进行排序,且根据所述子节点的排序,向对应的所述子节点发送对应优先级别的所述子节点ID信息。
在一些实施例中,所述主节点对接收到的所述电压值进行从大到小的排序,且向电压值越大的子节点发送优先级别越高的所述子节点ID信息。
在一些实施例中,所述负载电阻两端并联开关器件,其中,所述开关器件默认处于断开状态;当所述子节点获取到所述子节点ID信息后,令所述开关器件闭合;或当所述子节点获取到所述子节点ID信息后,向所述主节点发送应答信息,所述主节点在接收到所述应答信息后,通过所述通讯线向各所述子节点发送开关器件闭合命令,以令各所述子节点根据接收到的所述开关器件闭合命令闭合所述开关器件。
在一些实施例中,所述子节点闭合所述开关器件后,再次采样所述负载电阻一端的所述电压值以向所述主节点反馈,且所述主节点判断各所述子节点闭合所述开关器件后反馈的所述电压值均与预设电压值相同时,退出ID分配过程。
在一些实施例中,所述子节点采集所述负载电阻连接于所述电源出线一端的电压值。
在一些实施例中,所述子节点的电源进线和电源出线之间连接开关器件;其中,所述子节点用以检测到所述子节点未分配ID时,根据所述主节点的主节点ID信息,向所述主节点发送ID请求的步骤包括:所述主节点和所述子节点上电时,所述子节点令所述开关器件断开;处于上电状态且未分配ID的子节点,以所述主节点的所述主节点ID信息作为当前ID向所述主节点发送所述ID申请;所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的所述子节点ID信息;所述子节点获取到所述子节点ID信息后,关闭所述开关器件,以令与当前获取到所述子节点ID信息的所述子节点的电源出线相连的相邻子节点上电。
在一些实施例中,所述ID信息列表中的子节点ID信息的存储具有指定的优先级;其中,所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的所述子节点ID信息的步骤包括:所述主节点根据接收到的各所述子节点发送所述ID请求的顺序,依次向各所述子节点发送对应优先级别的所述子节点ID信息。
在一些实施例中,所述主节点根据接收到的各所述子节点发送所述ID请求的顺序,向越早发送所述ID请求的所述子节点发送优先级别越高的所述子节点ID信息。
为实现上述目的及其他相关目的,本发明提供一种CAN总线系统,所述CAN总线系统包括主节点和若干子节点,各所述子节点通过电源线和通讯线与所述主节点连接,各所述子节点包括电源进线和电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接;其中,所述电源进线和所述电源出线之间连接负载电阻或开关器件,所述CAN总线系统运行如上任一项所述的CAN总线节点ID分配方法。
在一些实施例中,所述电源进线和所述电源出线之间连接所述负载电阻,所述负载电阻两端并联开关器件,其中,所述开关器件默认处于断开状态。
如上所述,本发明提供一种CAN总线节点ID分配方法及CAN总线系统,该系统包括主节点和若干子节点,各所述子节点通过电源线和通讯线与所述主节点连接,各所述子节点包括电源进线和电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接,其中,所述主节点,预先存储具有子节点ID信息的ID信息列表;所述子节点,用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值或根据所述主节点的主节点ID信息,向所述主节点发送ID请求;所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息。本发明可实现子节点ID的自动分配,且可根据各子节点反馈的采集的电压值或者各子节点上电后发送的ID申请的顺序,向各子节点分配对应的子节点ID信息,令子节点ID分配更加智能化以及简易化。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1显示为本发明的CAN总线系统在一具体实施例中的电路示意图。
图2显示为本发明的CAN总线系统在一具体实施例中的电路示意图。
图3显示为本发明的CAN总线系统在一具体实施例中的电路示意图。
图4显示为本发明的CAN总线节点ID分配方法在一具体实施例中的流程示意图。
图5显示为本发明的CAN总线节点ID分配方法在一具体实施例中的流程示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了阐释的目的而描述了本发明的一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。
CAN(控制器局域网络,Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
在现实应用中,通常需要对货柜系统进行CAN总线的布局,以方便管理单个柜体,货柜系统通常包括主控仓(主节点)和子仓(子节点)。子节点的安装位置的不确定性以及通过拨码开关或软件确定子节点ID的方式,增加了子节点ID确定过程的难度。本发明提供的一种CAN总线系统以及CAN总线节点ID分配方法,可以实现CAN总线网络中各子节点ID分配的智能化以及简易化,且本发明通过对输入子节点的电源信号管理得到总线唯一节点ID,且进一步的可通过分配至各节点的ID的值的优先级顺序,获取各子节点的安装位置。
由于本发明的CAN总线系统中,所述主节点与所述子节点间的通讯线的连接方式为常规的连接方式,且本发明主要是通过对输入各子节点的电源信号的管理,实现对各子节点的ID的管理,所以,为了防止通讯线的示出对本发明方案理解的干扰,在图1~图3中,省略了主节点与子节点间通讯线的连接,而单独画出了主节点与子节点间电源信号的连接情况。
具体的,本发明的CAN总线系统,包括主节点和若干子节点,所述主节点例如为换电柜中的主控仓,各子节点例如为换电柜中的各子仓。为了满足批量化的生产,本发明的各子节点的硬件结构均相同。
各所述子节点通过电源线和通讯线与所述主节点连接,所述通讯线和所述电源线均有两根线,各子节点通过所述通讯线与所述主节点进行信号的通讯。电源线例如为DC+和DC-,所述主节点以及各所述子节点均与所述DC-电连接,所述主节点直接与所述DC+连接,各所述子节点通过连接DC+的高电压电源线串联连接,即实现各所述子节点的手拉手连接,各所述子节点包括电源进线和电源出线,所述高电压电源线流入所述子节点的部分为所述子节点的所述电源进线,所述高电压电源线流出所述子节点的部分为所述子节点的所述电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接,具体为,第一个子节点的电源进线直接与所述DC+连接,第一个子节点的电源出线与第二个子节点的电源进线连接,第二个子节点的电源出线与第三个子节点的电源进线连接,以此类推,在此不加赘述。
所述主节点,预先存储具有子节点ID信息的ID信息列表;各所述子节点ID信息均不相同,且所述子节点ID信息具有优先级别,即在后续两个子节点同时发送报文时,可根据该两节点的子节点ID信息的优先级的不同,优先获取优先级别更高的子节点ID信息对应的子节点的报文。所述ID信息列表例如包括n个节点ID,在实际应用中,换电柜的子仓例如为n个,所述主节点存储的所述子节点ID信息例如为1、2、3、4、…、n。
所述子节点,用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值或根据所述主节点的主节点ID信息,向所述主节点发送ID请求;
其中,所述电源进线和所述电源出线之间连接负载电阻或开关器件。具体的,所述电源进线和所述电源出线之间连接所述负载电阻,所述所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求。所述电源进线和所述电源出线之间连接所述开关器件,所述子节点用以检测到所述子节点未分配ID时,根据所述主节点的主节点ID信息,向所述主节点发送ID请求。
所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息。
在一些实施例中,参阅图1,图1显示为本发明的CAN总线系统在一具体实施例中的电路示意图。
图1中,所述CAN总线系统包括1个主节点以及n个子节点,即主节点10以及子节点21、子节点22、子节点23、…、子节点2n。各子节点包括对应的微处理器(MCU1、MCU2、MCU3、…、MCUn)。
各所述子节点的硬件结构以及运行方式均相同,各所述子节点的所述电源进线和所述电源出线之间连接有所述负载电阻。所述负载电阻在一些实施例中可选择为热敏电阻。
其中,所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求的步骤包括:所述子节点采集所述负载电阻一端的电压值,并将所述电压值作为所述子节点的当前ID以向所述主节点发送所述ID请求,所述主节点根据接收到的所述ID请求以及所述ID信息列表向所述当前ID对应的所述子节点发送对应的所述子节点ID信息。即在本实施例中,所述电性特征值为所述负载电阻一端的电压值。
现以第一个子节点,即子节点21为例对各子节点的硬件结构以及运行方式进行说明;如图1所示,所述子节点21的所述电源进线和所述电源出线之间连接有负载电阻R11,所述子节点21的MCU1采集所述负载电阻R11连接于所述电源出线一端的电压值。当所述主节点10和各所述子节点上电时,各所述子节点的MCU采集的电压为各子节点的负载电阻依次分压后的值,且子节点21~子节点2n采集的电压值呈现依次递减的趋势。
如图1所示,所述子节点21的MCU例如可以采用9比1的分压方式对所述负载电阻R11连接于所述电源出线一端的电压值进行电压采集,即分压电阻R12与分压电阻R13的阻值比例可选取9比1的方式。
在一些实施例中,所述ID信息列表中的子节点ID信息的存储具有指定的优先级,所述主节点10根据接收到的各所述子节点反馈的所述ID请求的所述电压值的大小对所述子节点进行排序,且根据所述子节点的排序,向对应的所述子节点发送对应优先级别的所述子节点ID信息。如图1所示,所述子节点21采集的电压值为所有所述子节点中最高的,子节点21~子节点2n,其采集的电压值逐级递减。
所述主节点10对接收到的所述电压值进行从大到小的排序,且向电压值越大的子节点的发送优先级别越高的所述子节点ID信息。例如,所述主节点10内存储的子节点ID信息为1、2、3、4、…、n。所述主节点10内存储的子节点ID信息从1~n的优先级逐级递减,即子节点21分配优先级别最高的子节点ID信息:1。
在一些实施例中,各所述子节点在接收到所述子节点ID信息后,不对所述子节点ID信息进行保存,且直接根据所述子节点ID信息进行CAN通讯。
在另一些实施例中,各所述子节点在接收到所述子节点ID信息后,对所述子节点ID信息进行保存,并根据保存的所述子节点ID信息进行CAN通讯。而当在所述CAN总线系统中的某个位置新增加了子节点或者更换了所述CAN总线系统中的某些子节点的物理位置(即同时更换了子节点在电源总线上的串联位置)时,需要令所述CAN总线系统对所有所述子节点重新根据本实施例描述的CAN总线节点ID分配方法进行子节点ID信息的重新分配,以保障各子节点的子节点ID信息与现实环境中的安装位置相对应。
本发明的CAN总线系统,可实现子节点ID的自动分配,且可根据各子节点反馈的采集的电压值的大小,向各子节点分配对应优先级别的子节点ID信息,令子节点ID分配更加智能化以及简易化,本发明可实现确定的子节点安装位置,分配指定的子节点ID信息,亦可根据各子节点接收到的子节点ID信息的优先级别,获取到该子节点所处的安装位置,例如获取到最高优先级别的子节点ID信息的子节点21,其安装位置为第一个与DC+连接的子节点。获取到最高低先级别的子节点ID信息的子节点1n,其安装位置为最后一个与DC+连接的子节点。
由于各子节点的负载电阻串联在了总线电源上,当子节点数n较多时,即使每个子节点的电流功耗较小,但流过位于第一个子节点(子节点21)的负载电阻R11的电流是流经所有子节点的负载的电流之和,会增加无用的损耗;并且由于总线上各子节点的负载电阻的存在,不能保证每个子节点的工作环境一致(即各子节点的供电电压一致),在位于电源总线末端的子节点2n会存在压降过大且工作异常的风险。所以,在一些实施例中,在各子节点的负载电阻的两端并联开关器件,以在各子节点的ID分配结束时,闭合与负载电阻的两端并联的开关器件,使各所述子节点在后续工作时的供电电压一致,且消除负载电阻对电路造成的电流功耗。
具体的,参阅图2,图2显示为本发明的CAN总线系统在一具体实施例中的电路示意图。图2所示所述CAN总线系统包括1个主节点10'以及n个子节点(子节点21'、子节点22'、子节点23'、…、子节点2n')。各子节点包括对应的微处理器(MCU1'、MCU2'、MCU3'、…、MCUn')。
图2中所示的CAN总线系统中的子节点与图1所示的CAN总线系统的子节点不同的是,在图2所示的CAN总线系统中,各子节点的负载电阻两端并联了开关器件,当所述子节点获取到所述子节点ID信息后,所述子节点令所述开关器件闭合。在一些实施例中,所述子节点在获取到子节点ID信息后,主动令所述开关器件闭合;在另一些实施例中,当所述子节点获取到所述子节点ID信息后,向所述主节点10发送应答信息,所述主节点10在接收到所述应答信息后,通过所述通讯线向各所述子节点发送开关器件闭合命令,以令各所述子节点根据接收到的所述开关器件闭合命令闭合所述开关器件,即在本实施例中,通过主节点控制所述开关器件的闭合。
在本实施例中,该开关器件为MOS管,以M表示。现以第一个子节点,即子节点21'为例对各子节点的硬件结构以及运行方式进行说明;如图2所示,所述子节点21'的负载电阻R11'的两端并联开关器件MOS管M1。
在一些实施例中,当所述子节点21'获取到所述子节点ID信息后,所述子节点21'主动令所述MOS管M1闭合;或在另一些实施例中,当所述子节点21'获取到所述子节点ID信息后,向所述主节点10'发送应答信息,所述主节点10'在接收到所述应答信息后,通过所述通讯线向所述子节点21'发送开关器件闭合命令,以令所述子节点21'根据接收到的所述开关器件闭合命令闭合所述MOS管M1。
具体的,所述子节点21'闭合所述MOS管M1后,再次采样所述负载电阻R11'一端(本实施例中,所述子节点21'采集所述负载电阻R11'连接于所述电源出线一端的电压值)的电压值以向所述主节点10'反馈,且所述主节点10'判断所述子节点21'闭合所述MOS管M1后反馈的所述电压值均与预设电压值相同时,退出ID分配过程。本实施例中,所述预设电压值为所述DC+的值。
具体的,图2实施例的CAN总线系统的运行过程可为如下所描述:
1、主节点10'以及各子节点(子节点21'、子节点22'、子节点23'、…、子节点2n')同时上电,各子节点的MOS管默认断开;
2、各所述子节点延时等待采样电路稳定后,获取电压采集的AD值作为各自的临时ID;
3、所有子节点使用上一步获取的CAN的临时ID,定期向子节点发送ID申请,获取真正的子节点ID信息;
4、主节点10'在获取一个子节点的ID申请后,利用广播报文,携带该子节点的临时ID将该子节点的真正的子节点ID信息,发送给子节点,收到匹配信息的子节点获取到真正的子节点ID信息后进入静默状态,不再发送ID申请;
5、在该实施例中,主节点10'收集到所有子节点上报的ID申请后(即在一预设段时间内未接收到上报的ID申请,判断所有子节点的ID申请上报结束),将获取到的所有子节点的AD信息进行排序,并将序号作为子节点真正的子节点ID信息,并逐一下发至每一子节点,并等待应答。例如,对图2所示的反馈的AD采样值最大的子节点21'分配子节点ID信息为1,子节点22'分配子节点ID信息为2。即可根据各子节点在CAN网络中的安装位置,为各子节点分配对应序号的ID。亦可方便后续根据各子节点的ID,推算各子节点的安装位置。
6、上一步结束后,由主节点10'广播发送MOS闭合命令,每一子接点闭合MOS,延时后再一次进行AD采样,利用已获取的真正的子节点ID信息,将此时的采样值上报,待主节点10'判断各子节点此时采样的电压值与预设的电压值基本相同后,发送启动命令,退出ID自动分配过程。
在一些实施例中,各所述子节点在接收到所述子节点ID信息后,不对所述子节点ID信息进行保存,且直接根据所述子节点ID信息进行CAN通讯。
在另一些实施例中,各所述子节点在接收到所述子节点ID信息后,对所述子节点ID信息进行保存,并根据保存的所述子节点ID信息进行CAN通讯。而当在所述CAN总线系统中的某个位置新增加了子节点或者更换了所述CAN总线系统中的某些子节点的物理位置(即同时更换了子节点在电源总线上的串联位置)时,需要令所述CAN总线系统对所有所述子节点重新根据本实施例描述的CAN总线节点ID分配方法进行子节点ID信息的重新分配,以保障各子节点的子节点ID信息与现实环境中的安装位置相对应。
本发明的CAN总线系统,可实现子节点ID的自动分配,且可根据各子节点反馈的采集的电压值的大小,向各子节点分配对应优先级别的子节点ID信息,令子节点ID分配更加智能化以及简易化,本发明可实现确定的子节点安装位置,分配指定的子节点ID信息,亦可根据各子节点接收到的子节点ID信息的优先级别,获取到该子节点所处的安装位置,例如获取到最高优先级别的子节点ID信息的子节点21',其安装位置为第一个与DC+连接的子节点。获取到最高低先级别的子节点ID信息的子节点1n',其安装位置为最后一个与DC+连接的子节点。本发明的开关器件MOS的应用,有效的使各所述子节点在获取到子节点ID信息后的稳定工作阶段的供电电压一致,且消除负载电阻对电路造成的电流功耗。
在一些实施例中,根据各子节点的上电顺序,依次给子节点分配对应的子节点ID信息。具体的,参阅图3,图3显示为本发明的CAN总线系统在一具体实施例中的电路示意图。所述CAN总线系统包括主节点10”以及各子节点(子节点21”、子节点22”、子节点23”、…、子节点2n”)。各子节点包括对应的微处理器(图中未示出)。所述子节点21”、子节点22”、子节点23”、…、子节点2n”依次通过电源总线串联连接。即,所述子节点21”的电源进线直接与所述DC+连接,子节点21”的电源出线与子节点22”的电源进线连接,子节点22”的电源出线连接与子节点23”的电源进线连接,以此类推,在此不加赘述。
各所述子节点的硬件结构以及运行方式均相同,各所述子节点的电源进线和电源出线之间均连接开关器件。所述开关器件为开关器件K1、开关器件K2、开关器件K3、…、开关器件Kn。所述子节点21”对应开关器件K1,所述子节点22”对应开关器件K2,所述子节点23”对应开关器件K3,以此类推,所述子节点2n”对应开关器件Kn。本实施例中,所述开关器件可选为继电器。
其中,所述子节点用以检测到所述子节点未分配ID时,根据所述主节点10”的主节点ID信息,向所述主节点10”发送ID请求的步骤包括:所述主节点10”和所述子节点上电时,所述子节点令所述开关器件断开,所述处于上电状态且未分配ID的子节点,以所述主节点的所述主节点ID信息作为当前ID向所述主节点发送所述ID申请,所述主节点10”根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的所述子节点ID信息,且所述子节点获取到所述子节点ID信息后,关闭所述开关器件,以令与当前获取到所述子节点ID信息的所述子节点的电源出线相连的相邻子节点上电。其中,所述相邻子节点上电后,执行与该相邻子节点的电源进线相连的子节点(即已经获取所述子节点ID信息的子节点)相同的子节点ID获取过程。
其中,处于上电状态的子节点可实时通过所述通讯线获取所述主节点10”的主节点ID,或者各所述子节点中可默认存储所述主节点10”的主节点ID。
现以第一个子节点,即子节点21”为例对本实施例中各子节点的硬件结构以及运行方式进行说明;如图3所示,所述子节点21”包括开关器件K1,所述主节点10”和各所述子节点上电时,各无子节点ID信息的所述子节点令其对应的所述开关器件断开。此时,CAN总线系统中,处于上电状态的只有主节点10”以及子节点21”,即此时处于上电状态且未分配ID的子节点21”,以所述主节点的所述主节点ID信息作为当前ID向所述主节点10”发送所述ID申请,所述主节点10”根据接收到的所述ID请求以及所述ID信息列表向所述子节点21”发送对应的所述子节点ID信息,且所述子节点21”获取到所述子节点ID信息后,关闭所述开关器件K1,以令与当前获取到所述子节点ID信息的所述子节点21”的电源出线相连的相邻子节点22”上电。其中,所述子节点22”上电后,执行与所述子节点21”相同的子节点ID获取过程。以此类推,直到左右的所述子节点均获取到对应的子节点ID信息。其中,处于上电状态的子节点可实时通过所述通讯线获取所述主节点的主节点ID,或者各所述子节点中可默认存储所述主节点的主节点ID。
在一些实施例中,所述ID信息列表中的子节点ID信息的存储具有指定的优先级;所述主节点10”根据接收到的各所述子节点发送所述ID请求的顺序,依次向各所述子节点发送对应优先级别的所述子节点ID信息。其中,如图3所示,子节点21”~子节点2n”在子节点ID信息获取过程中,依次上电。
所述主节点10”根据接收到的各所述子节点发送所述ID请求的顺序,向越早发送所述ID请求的所述子节点发送优先级别越高的所述子节点ID信息。例如,所述主节点10”内存储的子节点ID信息为1、2、3、4、…、n。所述主节点10”内存储的子节点ID信息从1~n的优先级逐级递减,即子节点21”分配优先级别最高的子节点ID信息:1。子节点2n”分配优先级别最低的子节点ID信息:n。
且所述主节点10”在预设时间内未收到所述ID请求时,判断所有所述子节点均已获取所述子节点ID信息,且所述主节点退出ID分配过程。
具体的,图3实施例的CAN总线系统的运行过程可为如下所描述:
1、主节点10”以及各子节点(子节点21”、子节点22”、子节点23”、…、子节点2n”)同时上电;
2、无子节点ID信息的子节点主动断开继电器,将总线电源断开;
3、如图3所示,首次上电后,带电可以工作的仅主节点10”与子节点21”;
4、且子节点21”获取主节点10”的主节点ID为其临时ID,子节点21”根据临时ID向主节点10”仓发送ID申请报文;
5、主节点10”本地维护ID分配表格,主节点10”收到子节点21”发送的ID申请后,选取未使用过的最小ID值,应答发送;例如,所述主节点内存储的子节点ID信息为1、2、3、4、…、n。且子节点ID信息的数值越低,其优先级别越高,即此时将优先级别最高的子节点ID信息的值1应答发送至所述子节点21”。
6、子节点21”收到值为1的子节点ID信息值后,以该子节点ID信息值替换其临时ID(之前获取的主节点10”的主节点ID),且子节点21”再执行与主节点10”的握手动作,与主节点10”进行信息收发,以确认子节点21”获取的子节点ID信息值有效,且子节点21”延时闭合继电器(开关器件K1),并进入静默状态,
等待主节点10”命令;
7、子节点21”的继电器(开关器件K1)闭合后,子节点22”上电,重复之前子节点21”获取子节点ID信息的步骤,以获取到子节点22”对应的子节点ID信息。
8、等待所有子节点均分配到子节点ID信息,由主节点广播启动命令,该CAN总线系统退出ID自动分配过程。
在一些实施例中,各所述子节点在接收到所述子节点ID信息后,不对所述子节点ID信息进行保存,且直接根据所述子节点ID信息进行CAN通讯。
在另一些实施例中,各所述子节点在接收到所述子节点ID信息后,对所述子节点ID信息进行保存,并根据保存的所述子节点ID信息进行CAN通讯。而当在所述CAN总线系统中的某个位置新增加了子节点或者更换了所述CAN总线系统中的某些子节点的物理位置(即同时更换了子节点在电源总线上的串联位置)时,需要令所述CAN总线系统对所有所述子节点重新根据本实施例描述的CAN总线节点ID分配方法进行子节点ID信息的重新分配,以保障各子节点的子节点ID信息与现实环境中的安装位置相对应。
本发明的CAN总线系统,可实现子节点ID的自动分配,且可根据各子节点上电发送ID申请的顺序,向各子节点分配对应优先级别的子节点ID信息,可实现确定的子节点安装位置,分配指定的子节点ID信息,亦可根据各子节点接收到的子节点ID信息的优先级别,获取到该子节点所处的安装位置,例如获取到最高优先级别的子节点ID信息的子节点21”,其安装位置为第一个与DC+连接的子节点。获取到最高低先级别的子节点ID信息的子节点2n”,其安装位置为最后一个与DC+连接的子节点。
参阅图4,显示为本发明的CAN总线节点ID分配方法在一具体实施例中的流程示意图。所述CAN总线节点ID分配方法S1应用于如图1或图2所示的CAN总线系统中,所述CAN总线节点ID分配方法包括以下步骤:
S11:所述主节点预先存储具有子节点ID信息的ID信息列表;
S12:所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求;
S13:所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息。
所述CAN总线节点ID分配方法S1的具体执行过程参阅关于图1和图2的CAN总线系统的描述,在此不加赘述。
参阅图5,显示为本发明的CAN总线节点ID分配方法在一具体实施例中的流程示意图。所述CAN总线节点ID分配方法S2应用于如图3所示的CAN总线系统中,所述CAN总线节点ID分配方法包括以下步骤:
S21:所述主节点预先存储具有子节点ID信息的ID信息列表;
S22:所述子节点用以检测到所述子节点未分配ID时,根据所述主节点的主节点ID信息,向所述主节点发送ID请求;
S23:所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息。
所述CAN总线节点ID分配方法S2的具体执行过程参阅关于图3的CAN总线系统的描述,在此不加赘述。
在一些实施例中,各所述子节点在接收到所述子节点ID信息后,不对所述子节点ID信息进行保存,且直接根据所述子节点ID信息进行CAN通讯。
在另一些实施例中,各所述子节点在接收到所述子节点ID信息后,对所述子节点ID信息进行保存,并根据保存的所述子节点ID信息进行CAN通讯。而当在所述CAN总线系统中的某个位置新增加了子节点或者更换了所述CAN总线系统中的某些子节点的物理位置(即同时更换了子节点在电源总线上的串联位置)时,需要令所述CAN总线系统对所有所述子节点重新根据本发明的CAN总线节点ID分配方法S1或CAN总线节点ID分配方法S2描述的CAN总线节点ID分配方法进行子节点ID信息的重新分配,以保障各子节点的子节点ID信息与现实环境中的安装位置相对应。
综上所述,本发明提供一种CAN总线节点ID分配方法及CAN总线系统,该系统包括主节点和若干子节点,各子节点通过电源线和通讯线与主节点连接,各子节点包括电源进线和电源出线,且各子节点通过各自的电源进线和电源出线依次连接,其中,主节点,预先存储具有子节点ID信息的ID信息列表;子节点,用以检测到子节点未分配ID时,根据子节点的电性特征值或根据主节点的主节点ID信息,向主节点发送ID请求;主节点根据接收到的ID请求以及ID信息列表向对应的子节点发送对应的子节点ID信息。本发明可实现子节点ID的自动分配,且可根据各子节点反馈的采集的电压值或者各子节点上电后发送的ID申请的顺序,向各子节点分配对应的子节点ID信息,令子节点ID分配更加智能化以及简易化。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (7)
1.一种CAN总线节点ID分配方法,其特征在于,所述方法应用于包括主节点和若干子节点的CAN总线系统中,各所述子节点通过电源线和通讯线与所述主节点连接,各所述子节点包括电源进线和电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接;其中,所述电源进线和所述电源出线之间连接负载电阻,所述负载电阻两端并联开关器件,所述开关器件默认处于断开状态;所述CAN总线节点ID分配方法包括:
所述主节点预先存储具有子节点ID信息的ID信息列表;
所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求;
所述主节点根据接收到的所述ID请求以及所述ID信息列表向对应的所述子节点发送对应的子节点ID信息;
其中,当所述子节点获取到所述子节点ID信息后,令所述开关器件闭合;或当所述子节点获取到所述子节点ID信息后,向所述主节点发送应答信息,所述主节点在接收到所述应答信息后,通过所述通讯线向各所述子节点发送开关器件闭合命令,以令各所述子节点根据接收到的所述开关器件闭合命令闭合所述开关器件。
2.如权利要求1所述的CAN总线节点ID分配方法,其特征在于,
所述子节点用以检测到所述子节点未分配ID时,根据所述子节点的电性特征值,向所述主节点发送ID请求的步骤包括:
所述子节点采集所述负载电阻一端的电压值,并将所述电压值作为所述子节点的当前ID以向所述主节点发送所述ID请求;
所述主节点根据接收到的所述ID请求以及所述ID信息列表向所述当前ID对应的所述子节点发送对应的所述子节点ID信息。
3.如权利要求2所述的CAN总线节点ID分配方法,其特征在于,所述ID信息列表中的子节点ID信息的存储具有指定的优先级;
其中,所述主节点根据接收到的所述ID请求以及所述ID信息列表向所述当前ID对应的所述子节点发送对应的所述子节点ID信息的步骤包括:所述主节点根据接收到的各所述子节点反馈的所述ID请求的所述电压值的大小对所述子节点进行排序,且根据所述子节点的排序,向对应的所述子节点发送对应优先级别的所述子节点ID信息。
4.如权利要求3所述的CAN总线节点ID分配方法,其特征在于,所述主节点对接收到的所述电压值进行从大到小的排序,且向电压值越大的子节点发送优先级别越高的所述子节点ID信息。
5.如权利要求2所述的CAN总线节点ID分配方法,其特征在于,所述子节点闭合所述开关器件后,再次采样所述负载电阻一端的所述电压值以向所述主节点反馈,且所述主节点判断各所述子节点闭合所述开关器件后反馈的所述电压值均与预设电压值相同时,退出ID分配过程。
6.如权利要求2所述的CAN总线节点ID分配方法,其特征在于,所述子节点采集所述负载电阻连接于所述电源出线一端的电压值。
7.一种CAN总线系统,其特征在于,所述CAN总线系统包括主节点和若干子节点,各所述子节点通过电源线和通讯线与所述主节点连接,各所述子节点包括电源进线和电源出线,且各所述子节点通过各自的电源进线和电源出线依次连接;其中,所述电源进线和所述电源出线之间连接负载电阻,所述负载电阻两端并联开关器件,所述开关器件默认处于断开状态,所述CAN总线系统运行如权利要求1~6中任一项所述的CAN总线节点ID分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054040.4A CN112887443B (zh) | 2021-01-15 | 2021-01-15 | 一种can总线节点id分配方法及can总线系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054040.4A CN112887443B (zh) | 2021-01-15 | 2021-01-15 | 一种can总线节点id分配方法及can总线系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887443A CN112887443A (zh) | 2021-06-01 |
CN112887443B true CN112887443B (zh) | 2022-11-18 |
Family
ID=76048069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110054040.4A Active CN112887443B (zh) | 2021-01-15 | 2021-01-15 | 一种can总线节点id分配方法及can总线系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887443B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923073B (zh) * | 2021-09-30 | 2023-05-16 | 深圳硕日新能源科技有限公司 | Can总线分配id的方法及can总线系统 |
CN115189984B (zh) * | 2022-08-11 | 2024-04-02 | 深圳市永航新能源技术有限公司 | 一种电池can id的自动分配机制的方法 |
CN116147569B (zh) * | 2023-04-20 | 2023-06-30 | 中大智能科技股份有限公司 | 应用于阵列式位移计的地址自动分配和排序方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165437A (ja) * | 1998-11-20 | 2000-06-16 | Matsushita Electric Ind Co Ltd | ネットワークにおけるノードのid設定方法およびネットワークシステム |
CN101576589A (zh) * | 2009-04-24 | 2009-11-11 | 上海润通电动车技术有限公司 | 一种基于iCAN协议的分布式超级电容监测系统 |
JP2017092639A (ja) * | 2015-11-06 | 2017-05-25 | 矢崎総業株式会社 | Id割り当て修正方法および車載通信システム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296488B2 (en) * | 2009-04-27 | 2012-10-23 | Abl Ip Holding Llc | Automatic self-addressing method for wired network nodes |
WO2014199585A1 (ja) * | 2013-06-10 | 2014-12-18 | 日本電気株式会社 | 配信制御装置及びその方法、プッシュ配信システム、並びに記憶媒体 |
CN204821420U (zh) * | 2015-07-30 | 2015-12-02 | 常州星宇车灯股份有限公司 | 基于lin总线能自动刷新地址的lin节点系统 |
CN107040284B (zh) * | 2017-03-27 | 2020-10-02 | 西安电子科技大学 | 一种提高数据传输的可靠性与稳定性的多址接入方法 |
CN109936640A (zh) * | 2017-12-19 | 2019-06-25 | 苏州阿特斯阳光电力科技有限公司 | 从节点设备的地址分配方法和装置 |
US10956352B2 (en) * | 2018-05-29 | 2021-03-23 | Continental Automotive Systems, Inc. | Automatic location based addressing method for network participants in a serial bus system |
CN209505657U (zh) * | 2019-01-29 | 2019-10-18 | 上海度普新能源科技有限公司 | 一种can总线应用系统 |
CN109889627B (zh) * | 2019-03-26 | 2020-08-25 | 常州索维尔电子科技有限公司 | 一种can总线节点id自动分配方法及装置 |
-
2021
- 2021-01-15 CN CN202110054040.4A patent/CN112887443B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165437A (ja) * | 1998-11-20 | 2000-06-16 | Matsushita Electric Ind Co Ltd | ネットワークにおけるノードのid設定方法およびネットワークシステム |
CN101576589A (zh) * | 2009-04-24 | 2009-11-11 | 上海润通电动车技术有限公司 | 一种基于iCAN协议的分布式超级电容监测系统 |
JP2017092639A (ja) * | 2015-11-06 | 2017-05-25 | 矢崎総業株式会社 | Id割り当て修正方法および車載通信システム |
Also Published As
Publication number | Publication date |
---|---|
CN112887443A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112887443B (zh) | 一种can总线节点id分配方法及can总线系统 | |
CN106740216B (zh) | 一种电动汽车充电系统 | |
US11735918B2 (en) | Method and apparatus for electrical load control network | |
EP2688248B1 (en) | Method and system for ordered identifying slave address from master-slave scene bus | |
EP1964308B1 (en) | Power management mechanism in system for supplying power over communication link | |
EP2557657B1 (de) | Notbeleuchtungssystem und Verfahren für dessen Versorgung | |
JP2959403B2 (ja) | ネットワーク機器の自動id割り付け方法及び装置 | |
CN101919311B (zh) | 在照明控制系统中传输高优先级消息的方法 | |
US8775689B2 (en) | Electronic modules with automatic configuration | |
CN102257770B (zh) | 通信方法和通信设备 | |
CN102291259B (zh) | 基于多主站模式的低压电力线通信网络层管理方法 | |
CN107786405B (zh) | 基于can总线的多节点自动组网方法 | |
CN111241019A (zh) | 一种rs485总线仲裁及地址自动识别的方法 | |
JP2016509780A (ja) | 共通電源に結合されたアクセスポイントを制御するための方法および装置 | |
CN108521474A (zh) | 多联式控制系统的地址竞争方法 | |
CN102891756A (zh) | 主动式电源管理架构及其管理方法 | |
CN111404792B (zh) | 数据传输方法及装置 | |
CN106982245A (zh) | 监管控制和数据采集系统中的客户端和服务器 | |
CN104301191A (zh) | 总线系统 | |
CN112765075A (zh) | 一种基于串口的一对多通信方法及系统 | |
CN110456705B (zh) | 可动态扩展接口的网络控制装置、楼宇自控系统 | |
CN117118951A (zh) | 一种一主多从总线通用从机地址动态分配的方法 | |
CN115291658A (zh) | 一种基于Android系统的智能物联网环境控制系统 | |
CN111447126B (zh) | 以太网总线通讯方法、装置、机器人、设备及计算机可读存储介质 | |
CN115766300B (zh) | 一种PoE供电的功率管理调度方法及调度系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |