CN109039704A - Can总线自检修复装置及方法 - Google Patents
Can总线自检修复装置及方法 Download PDFInfo
- Publication number
- CN109039704A CN109039704A CN201810679518.0A CN201810679518A CN109039704A CN 109039704 A CN109039704 A CN 109039704A CN 201810679518 A CN201810679518 A CN 201810679518A CN 109039704 A CN109039704 A CN 109039704A
- Authority
- CN
- China
- Prior art keywords
- node
- bus
- power supply
- self
- invalid signals
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- 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
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及网络通讯及车载诊断领域,具体地涉及一种CAN总线自检修复装置及方法。所述装置包括:网关控制器以及与所述网关控制器电连接、与CAN节点一一对应连接的电源控制器,所述电源控制器用于控制CAN节点电源的通断;所述网关控制器位于CAN总线上,用于监测每个CAN节点的总线信号,当任一个或多个CAN节点发出信号无效时,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;当任一个或多个CAN节点无法发出信号时,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。通过本发明,实现了CAN总线网络上网络节点的自修复,保证了整车通信功能。
Description
技术领域
本发明涉及网络通讯及车载诊断领域,具体地涉及一种CAN总线自检修复装置及方法。
背景技术
汽车上CAN(Controller Area Network)线系统上有多个ECU(电子控制器单元);这些ECU相互之间通过CAN总线这条通道进行信息交流,然后相互配合实现汽车上的某些功能。但是在汽车行驶中,某个或者多个ECU可能会出现软件进入漏洞,或者受到外界干扰ECU进入故障状态。这时这些出现故障的ECU发出的信号就会变成无效值,或者不能发出信号;而与故障的ECU相关的其他ECU也会受限。这些软件漏洞和一些外界干扰,是可以通过ECU的软件自复位,或者硬件自复位可以解决的。而当前实现这些复位需要人工断开蓄电池电源,但是车辆行驶过程中车辆没有办法实现自修复,需要将车辆停止,并熄火,断开蓄电池负极桩头,实现软硬件自复位;进一步,卸掉负极桩头需要相应工具,如果当前没有相应工具,车辆难能通过救援实现硬件自复位。
发明内容
针对现有技术中的缺陷与不足,本发明提供了一种CAN总线自检修复装置及方法,以实现CAN总线网络上网络节点的自修复,保证整车通信功能。
为了实现上述目的,本发明提供了如下技术方案:
一种CAN总线自检修复装置,用于具有至少一个CAN节点的CAN总线,所述装置包括:网关控制器以及与所述网关控制器电连接、与CAN节点一一对应连接的电源控制器,所述电源控制器用于控制CAN节点电源的通断;所述网关控制器位于CAN总线上,用于监测每个CAN节点的总线信号,当任一个或多个CAN节点发出信号无效时,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;当任一个或多个CAN节点无法发出信号时,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。
优选地,所述电源控制器为继电器,所述继电器的常开端连接在CAN节点与电源之间,所述继电器的绕组线圈与所述网关控制器连接。
优选地,所述电源控制器为场效应管,所述场效应管的栅极与所述网关控制器连接,CAN节点连接在所述场效应管的漏极与地之间,所述场效应管的源极与电源连接。
优选地,所述装置还包括:发送计数器;
所述网关控制器在发出软件自复位指令后,控制所述发送计数器加一,并检测所述发送计数器的计数次数是否大于设定发送次数;如果是,控制所述发送计数器清零并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。
优选地,所述装置还包括:第一复位计数器以及与所述网关控制器连接的显示器;
所述网关控制器在通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第一复位计数器加一,并检测所述第一复位计数器的计数次数是否大于设定复位次数;如果是,所述网关控制器控制所述第一复位计数器清零并通过所述显示器提示当前发出无效信号的CAN节点故障。
一种CAN总线自检修复方法,用于具有至少一个CAN节点的CAN总线,所述方法包括:
实时监测CAN总线上每个CAN节点的总线信号;
如果任一个或多个CAN节点发出信号无效,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;
如果任一个或多个CAN节点无法发出信号,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。
优选地,所述方法还包括:
设置发送计数器;
在发送软件自复位指令后,控制所述发送计数器加一;
检测所述第一计数器的计数次数是否大于设定发送次数;
如果是,控制所述发送计数器清零并控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,使发出无效信号的CAN节点进行硬件自复位。
优选地,所述方法还包括:
设置第一复位计数器;
在控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第一复位计数器加一;
检测所述第一复位计数器的计数次数是否大于设定复位次数;
如果是,控制所述第一复位计数器清零并提示当前发出无效信号的CAN节点故障。
优选地,所述方法还包括:
设置延时计时器;
通过CAN总线向发出无效信号的CAN节点发送软件自复位指令后,所述延时计时器开始计时;
在所述延时计时器达到延时设定时间后,如果未收到发出无效信号的CAN节点的软件自复位成功信号,则清零所述延时计时器并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。
优选地,所述方法还包括:
设置第二复位计数器;
在控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第二复位计数器加一;
检测所述第二复位计数器的计数次数是否大于设定复位次数;如果是,控制所述第二复位计数器清零并提示当前无法发出信号的CAN节点故障。
本发明的有益效果在于:
本发明实施例提供的CAN总线自检修复装置及方法,网关控制器实时监测CAN总线上每个CAN节点的总线信号;如果任一个或多个CAN节点发出信号无效,所述网关控制器通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;如果任一个或多个CAN节点无法发出信号,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。通过本发明,实现了CAN总线网络上网络节点的自修复,保证了整车通信功能。
附图说明
图1是本发明实施例CAN总线自检修复装置的一种结构示意图。
图2是本发明实施例CAN总线自检修复方法的一种流程图。
具体实施方式
为了使本领域技术人员能更进一步了解本发明的特征及技术内容,下面结合附图和实施方式对本发明实施例作详细说明。
如图1所示是本发明实施例CAN总线自检修复装置的一种结构示意图,所述装置用于具有至少一个CAN节点的CAN总线,所述装置包括:网关控制器以及与所述网关控制器电连接、与CAN节点一一对应连接的电源控制器,所述电源控制器用于控制CAN节点电源的通断;所述网关控制器位于CAN总线上,用于监测每个CAN节点的总线信号,当任一个或多个CAN节点发出信号无效时,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;当任一个或多个CAN节点无法发出信号时,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。需要说明的是,图1中ECU1、ECU2…ECUn代表CAN总线上的CAN节点,每个CAN节点以及网关控制器跨接于所述CAN总线的高位数据线CAN_H和低位数据线CAN_L之间,并且每个CAN节点均与电源正极Vbat、电源负极GND连接,图中两个CAN节点通过电源控制器与电源负极GND连接,当然,本申请不限定于此,CAN节点还可以通过电源控制器与电源正极Vbat连接。
具体地,本发明的一个实施例中,所述电源控制器为继电器,所述继电器的常开端连接在CAN节点与电源正极之间,所述继电器的绕组线圈与所述网关控制器连接。所述网关控制器向所述继电器的绕组线圈发送高电平或低电平,从而使继电器的常开端接通或断开,以使CAN节点与电源接通或断开。
当电源控制器为继电器时,结合图1软件自复位过程如下:
网关控制器监控整个CAN网络的信号状态,此时网关控制器将CAN网络上ECU发出重要信号有效位进行实时的监测。当监测的某个ECU信号有效位发生改变为无效值,持续10倍帧周期时,网关控制器对该ECU发出CAN总线诊断软件复位指令(11 03),该ECU收到软件复位指令后,进行软件复位并将复位成功的指令(51 03)发给网关控制器。软件复位后,如果网关检测的信号有效位仍然为无效值,此时可以确定不是因为该ECU软件进入漏洞、或者受到外界干扰的原因;网关不能再进行软件自复位控制;即在一个点火循环内网关控制器只能进行一次或设定发送次数软件自复位控制。如果网关发出对该ECU发出CAN总线诊断软件复位指令(11 03),而该ECU没有执行软件复位的命令,即网关复位指令(11 03)发出后5秒内或者该ECU软件自复位5次都没有收到复位成功的指令(51 03);网关控制器可以对该ECU进行硬件自复位。
当电源控制器为继电器时,结合图1,硬件自复位过程如下:
网关控制器监控整个网络的信号状态,当网关控制器发现某个ECU信号在10倍帧周期内没有发出来时,网关控制器通过硬线控制继电器,实现继电器的断开,这样该ECU的电源断开,网关控制器再通过硬线控制继电器,实现继电器吸合;这样该ECU供电正常,硬件复位成功。
具体地,本发明的另一个实施例中,所述电源控制器为三极管,所述三极管的基极与所述网关控制器连接,CAN节点连接在所述三极管的集电极与电源之间,所述三极管的发射极与地连接。需要说明的是,为了保证三极管工作的安全性,CAN节点与电源之间还可以连接有电阻,电阻的阻值由电源的大小以及三极管的型号确定,比如,电阻的阻值为1kΩ。
具体地,本发明的另一个实施例中,所述电源控制器为场效应管,所述场效应管的栅极与所述网关控制器连接,CAN节点连接在所述场效应管的漏极与地之间,所述场效应管的源极与电源连接。
为了使CAN节点在软件自复位无效后还能进行硬件自复位从而保证CAN节点的正常工作,本发明的一个实施例中,所述装置还包括:延时计时器;所述网关控制器通过CAN总线向发出无效信号的CAN节点发送软件自复位指令后,控制所述延时计时器开始计时;在所述延时计时器达到延时设定时间后,如果未收到发出无效信号的CAN节点的软件自复位成功信号,则网关控制器清零所述延时计时器并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。需要说明的是,本发明实施例中,延时设定时间由CAN网络的硬件条件确定,比如,延时设定时间为5s。
为了使CAN节点在软件自复位无效后还能进行硬件自复位从而保证CAN节点的正常工作,本发明的另一个实施例中,所述装置还可以包括:发送计数器;
所述网关控制器在发出软件自复位指令后,控制所述发送计数器加一,并检测所述发送计数器的计数次数是否大于设定发送次数;如果是,控制所述发送计数器清零并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。需要说明的是,当发出无效信号的CAN节点发出的无效信号次数达到设定发送次数,说明软件自复位对当前发出无效信号的CAN节点无效,因此需要进行多次硬件复位。具体地,设定发送次数可以根据CAN节点中控制单元型号不同而标定设定,比如,设定发送次数为5~6次。需要说明的是,发送计数器是针对当前发出无效信号的一个CAN节点的计数器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个发送计数器。
更进一步,为了保证发出无效信号的CAN节点硬件复位的有效性,本发明的另一个实施例中,所述装置还可以包括:第一复位计数器以及与所述网关控制器连接的显示器;所述网关控制器在通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第一复位计数器加一,并检测所述第一复位计数器的计数次数是否大于设定复位次数;如果是,所述网关控制器控制所述第一复位计数器清零并通过所述第一复位计数器清零并通过所述显示器提示当前发出无效信号的CAN节点故障。需要说明的是,设定复位次数由CAN节点中控制单元硬件情况标定设定,比如,设定复位次数为5~6次。
具体地,本发明的另一个实施例中,所述装置还可以包括:第二复位计数器;所述网关控制器在控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第二复位计数器加一,并检测所述第二复位计数器的计数次数是否大于设定复位次数;如果是,所述网关控制器控制所述第二复位计数器清零并通过所述显示器提示当前无法发出信号的CAN节点故障。需要说明的是,第一复位计数器是针对当前发出无效信号的一个CAN节点的计数器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个第一复位计数器。第二复位计数器是针对当前无法发出信号的一个CAN节点的计数器,当无法发出信号的CAN节点为多个时,本申请中可以适当设置相对不同的无法发出信号的CAN节点的多个第二复位计数器。具体地,本发明的另一个实施例中,网关在实现软件和硬件自复位的过程中,由于进行软件和硬件复位需要时间,所述装置还可以包括:第一计时器与第二计时器;所述网关控制器控制发送计数器加一之前,控制所述第一计时器开始计时;判断所述第一计时器是否达到第一设定时间;如果是,控制所述发送计数器加一。所述网关控制器在与发出无效信号的CAN节点连接的或与无法发出信号的CAN节点连接的电源控制器断开电源后,控制所述第二计时器开始计时;判断所述第二计时器是否达到第二设定时间,第二设定时间大于第一设定时间,如果是,控制与发出无效信号的CAN节点连接的或与无法发出信号的CAN节点连接的电源控制器连接电源。需要说明的是,第一计时器用于记录软件自复位的时间,第二计时器用于记录硬件自复位的时间,第一设定时间由与软件相对应的硬件程序运行时间确定,比如,第一设定时间为100ms;第二设定时间由硬件确定,比如,第二设定时间为2s。需要说明的是,第一计时器是针对当前发出无效信号的一个CAN节点的计时器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个第一计时器。第二计时器是针对当前无法发出信号或发出无效信号的一个CAN节点的计时器,当无法发出信号或发出无效信号的CAN节点为多个时,本申请中可以适当设置多个第二计时器。
本发明实施例提供的CAN总线自检修复装置,在CAN总线上利用网关控制器实时监测CAN节点的总线信号,当发现某个CAN节点发出信号无效时,网关控制器发出软件自复位指令,使发出无效信号的CAN节点接收到软件自复位指令后,进行软件自复位,并将复位执行完成情况通知网关控制器;当网关控制器发现某个CAN节点无法发出信号,则控制器该CAN节点的电源实现电源的断电第一设定时间后上电,从而实现CAN节点的硬件自复位。通过本发明,当CAN总线出现某个或者多个CAN节点软件进入bug(漏洞),或者受到外界干扰CAN节点进入故障状态时;CAN总线可以实现自恢复,保证整车的通信功能。
相应地,本发明还提供了一种针对上述CAN总线自检修复装置的CAN总线自检修复方法,如图2所示,所述方法包括以下步骤:
步骤100:开始。
步骤101:实时监测CAN总线上每个CAN节点的总线信号。
步骤102:检测任一个或多个CAN节点发出信号是否无效;如果是,执行步骤103;否则,执行步骤105。
步骤103:通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位。
步骤104:结束。
步骤105:检测任一个或多个CAN节点是否无法发出信号;如果是,执行步骤106;否则,执行步骤104。
步骤106:控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位,执行步骤104。
本发明实施例提供的CAN总线自检修复方法,实时监测CAN节点的总线信号,当发现某个CAN节点发出信号无效时,网关控制器发出软件自复位指令,使发出无效信号的CAN节点接收到软件自复位指令后,进行软件自复位,并将复位执行完成情况通知网关控制器;当网关控制器发现某个CAN节点无法发出信号,则控制器该CAN节点的电源实现电源的断电第一设定时间后上电,从而实现CAN节点的硬件自复位。通过本发明,当CAN总线出现某个或者多个CAN节点软件进入bug(漏洞),或者受到外界干扰CAN节点进入故障状态时;CAN总线可以实现自恢复,保证整车的通信功能。
进一步,本发明的另一个实施例中,所述方法包括以下步骤:
步骤200:开始,设置发送计数器。
需要说明的是,发送计数器是针对当前发出无效信号的一个CAN节点的计数器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个发送计数器。
步骤201:实时监测CAN总线上每个CAN节点的总线信号。
步骤202:检测任一个或多个CAN节点发出信号是否无效;如果是,执行步骤203;否则,执行步骤208。
步骤203:通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位。
步骤204:控制所述发送计数器加一,检测所述发送计数器的计数次数是否大于设定发送次数;如果是,执行步骤205;否则,返回执行步骤201。
需要说明的是,设定发送次数可以根据CAN节点中控制单元型号不同而标定设定,比如,设定发送次数为5~6次。
步骤205:控制所述发送计数器清零。
步骤206:控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,使发出无效信号的CAN节点进行硬件自复位。
步骤207:结束。
步骤208:检测任一个或多个CAN节点是否无法发出信号;如果是,执行步骤209;否则,执行步骤207。
步骤209:控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。
本发明实施例提供的CAN总线自检修复方法,在发送软件自复位指令后,根据发送计数器的计数次数控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位,通过本发明可以使CAN节点在软件自复位无效后还能进行硬件自复位从而保证CAN节点的正常工作。
进一步,本发明的另一个实施例中,所述方法包括以下步骤:
步骤300:开始,设置发送计数器、第一复位计数器以及第二复位计数器。
需要说明的是,第一复位计数器是针对当前发出无效信号的一个CAN节点的计数器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个第一复位计数器。第二复位计数器是针对当前无法发出信号的一个CAN节点的计数器,当无法发出信号的CAN节点为多个时,本申请中可以适当设置相对不同的无法发出信号的CAN节点的多个第二复位计数器。
步骤301:实时监测CAN总线上每个CAN节点的总线信号。
步骤302:检测任一个或多个CAN节点发出信号是否无效;如果是,执行步骤303;否则,执行步骤311。
步骤303:通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位。
步骤304:控制所述发送计数器加一,检测所述发送计数器的计数次数是否大于设定发送次数;如果是,执行步骤305;否则,返回执行步骤301。
步骤305:控制所述发送计数器清零。
步骤306:控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,使发出无效信号的CAN节点进行硬件自复位。
步骤307:控制所述第一复位计数器加一。
步骤308:检测所述第一复位计数器的计数次数是否大于设定复位次数;如果是,执行步骤309;否则,执行步骤301。
需要说明的是,设定复位次数由CAN节点中控制单元硬件情况标定设定,比如,设定复位次数为5~6次。
步骤309:控制所述第一复位计数器清零并提示当前发出无效信号的CAN节点故障。
步骤310:结束。
步骤311:检测任一个或多个CAN节点是否无法发出信号;如果是,执行步骤312;否则,执行步骤310。
步骤312:控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位,执行步骤313。
步骤313:控制所述第二复位计数器加一。
步骤314:检测所述第二复位计数器的技术次数是否大于设定复位次数;如果是,执行步骤315;否则,执行步骤301。
步骤315:控制所述第二复位计数器清零并提示当前无法发出信号的CAN节点故障。
本发明实施例提供的CAN总线自检修复方法,通过设置第一复位计数器以及第二复位计数器,根据所述第一复位计数器的计数次数提示当前发出无效信号的CAN节点故障,根据所述第二复位计数器的技术次数提示当前无法发出信号的CAN节点故障;通过本发明,保证了发出无效信号的CAN节点以及无法发出信号的CAN节点的硬件复位的有效性。
前面实施例中,本发明的另一个实施例中,实现软件和硬件自复位的过程中,由于进行软件和硬件复位需要时间,因此,本发明的另一个实施例中,包括以下步骤:
步骤400:开始,设置第一计时器、第二计时器、发送计数器、第一复位计数器以及第二复位计数器。
需要说明的是,第一计时器是针对当前发出无效信号的一个CAN节点的计时器,当发出无效信号的CAN节点为多个时,本申请中可以适当设置相对不同的发出无效信号的CAN节点的多个第一计时器。第二计时器是针对当前无法发出信号或发出无效信号的一个CAN节点的计时器,当无法发出信号或发出无效信号的CAN节点为多个时,本申请中可以适当设置多个第二计时器。
步骤401:实时监测CAN总线上每个CAN节点的总线信号。
步骤402:检测任一个或多个CAN节点发出信号是否无效;如果是,执行步骤403;否则,执行步骤413。
步骤403:通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位。
步骤404:所述第一计时器开始计时。
步骤405:判断所述第一计时器是否达到第一设定时间;如果是,执行步骤406。
步骤406:控制所述发送计数器加一,检测所述发送计数器的计数次数是否大于设定发送次数;如果是,执行步骤407;否则,返回执行步骤401。
步骤407:控制所述发送计数器清零。
步骤408:控制与发出无效信号的CAN节点连接的电源控制器断开电源。
步骤409:第二计时器开始计时。
步骤410:检测所述第二计时器是否达到第二设定时间;如果是,执行步骤411;否则,执行步骤410。
步骤411:与发出无效信号的CAN节点连接的电源控制器再连接电源,清零所述第二计时器,使发出无效信号的CAN节点进行硬件自复位。
步骤412:控制所述第一复位计数器加一。
步骤413:检测所述第一复位计数器的计数次数是否大于设定复位次数;如果是,执行步骤414;否则,执行步骤401。
步骤414:控制所述第一复位计数器清零并提示当前发出无效信号的CAN节点故障。
步骤415:结束。
步骤416:检测任一个或多个CAN节点是否无法发出信号;如果是,执行步骤417;否则,执行步骤415。
步骤417:控制与无法发出信号的CAN节点连接的电源控制器断开电源。
步骤418:第二计时器开始计时。
步骤419:检测所述第二计时器是否达到第二设定时间,第二设定时间大于第一设定时间;如果是,执行步骤420;否则,执行步骤419。
步骤420:与无法发出信号的CAN节点连接的电源控制器再连接电源,清零所述第二计时器,以使无法发出信号的CAN节点进行硬件自复位,执行步骤421。
需要说明的是,第一计时器用于记录软件自复位的时间,第二计时器用于记录硬件自复位的时间,第一设定时间由与软件相对应的硬件程序运行时间确定,比如,第一设定时间为100ms;第二设定时间由硬件确定,比如,第二设定时间为2s。
步骤421:控制所述第二复位计数器加一。
步骤422:检测所述第二复位计数器的技术次数是否大于设定复位次数;如果是,执行步骤423;否则,执行步骤401。
步骤423:控制所述第二复位计数器清零并提示当前无法发出信号的CAN节点故障。
本发明实施例提供的CAN总线自检修复方法,所述方法还包括:第一计时器与第二计时器,本实施例中,在控制发送计数器加一之前,控制所述第一计时器开始计时;判断所述第一计时器是否达到第一设定时间,如果是,控制所述发送计数器加一;本实施例中,在与发出无效信号的CAN节点连接的或与无法发出信号的CAN节点连接的电源控制器断开电源后,控制所述第二计时器开始计时;判断所述第二计时器是否达到第二设定时间,第二设定时间大于第一设定时间,如果是,控制与发出无效信号的CAN节点连接的或与无法发出信号的CAN节点连接的电源控制器连接电源。通过本发明保障了控制器软件自复位与硬件自复位的复位过程中的时间延迟,提高了软复位与硬复位的安全。
本发明的另一个实施例中,所述方法还包括:
设置延时计时器;通过CAN总线向发出无效信号的CAN节点发送软件自复位指令后,所述延时计时器开始计时;在所述延时计时器达到延时设定时间后,如果未收到发出无效信号的CAN节点的软件自复位成功信号,则清零所述延时计时器并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。需要说明的是,本发明实施例中,延时设定时间由CAN网络的硬件条件确定,比如,延时设定时间为5s。
综上所述,本发明实施例提供的CAN总线自检修复系统及方法,在CAN总线上利用网关控制器实时监测CAN节点的总线信号,当发现某个CAN节点发出信号无效时,网关控制器发出软件自复位指令,使发出无效信号的CAN节点接收到软件自复位指令后,进行软件自复位,并将复位执行完成情况通知网关控制器;当网关控制器发现某个CAN节点无法发出信号,则控制器该CAN节点的电源实现电源的断电第一设定时间后上电,从而实现CAN节点的硬件自复位。通过本发明,当CAN总线出现某个或者多个CAN节点软件进入bug(漏洞),或者受到外界干扰CAN节点进入故障状态时;CAN总线可以实现自恢复,保证整车的通信功能。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的系统及方法;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种CAN总线自检修复装置,用于具有至少一个CAN节点的CAN总线,其特征在于,所述装置包括:网关控制器以及与所述网关控制器电连接、与CAN节点一一对应连接的电源控制器,所述电源控制器用于控制CAN节点电源的通断;所述网关控制器位于CAN总线上,用于监测每个CAN节点的总线信号,当任一个或多个CAN节点发出信号无效时,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;当任一个或多个CAN节点无法发出信号时,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。
2.根据权利要求1所述的CAN总线自检修复装置,其特征在于,所述电源控制器为继电器,所述继电器的常开端连接在CAN节点与电源之间,所述继电器的绕组线圈与所述网关控制器连接。
3.根据权利要求1所述的CAN总线自检修复装置,其特征在于,所述电源控制器为场效应管,所述场效应管的栅极与所述网关控制器连接,CAN节点连接在所述场效应管的漏极与地之间,所述场效应管的源极与电源连接。
4.根据权利要求1所述的CAN总线自检修复装置,其特征在于,所述装置还包括:发送计数器;
所述网关控制器在发出软件自复位指令后,控制所述发送计数器加一,并检测所述发送计数器的计数次数是否大于设定发送次数;如果是,控制所述发送计数器清零并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。
5.根据权利要求4所述的CAN总线自检修复装置,其特征在于,所述装置还包括:第一复位计数器以及与所述网关控制器连接的显示器;
所述网关控制器在通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第一复位计数器加一,并检测所述第一复位计数器的计数次数是否大于设定复位次数;如果是,所述网关控制器控制所述第一复位计数器清零并通过所述显示器提示当前发出无效信号的CAN节点故障。
6.一种CAN总线自检修复方法,用于具有至少一个CAN节点的CAN总线,其特征在于,所述方法包括:
实时监测CAN总线上每个CAN节点的总线信号;
如果任一个或多个CAN节点发出信号无效,通过CAN总线向发出无效信号的CAN节点发送软件自复位指令,以使发出无效信号的CAN节点进行软件自复位;
如果任一个或多个CAN节点无法发出信号,控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源,以使无法发出信号的CAN节点进行硬件自复位。
7.根据权利要求6所述的CAN总线自检修复方法,其特征在于,所述方法还包括:
设置发送计数器;
在发送软件自复位指令后,控制所述发送计数器加一;
检测所述第一计数器的计数次数是否大于设定发送次数;
如果是,控制所述发送计数器清零并控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,使发出无效信号的CAN节点进行硬件自复位。
8.根据权利要求7所述的CAN总线自检修复方法,其特征在于,所述方法还包括:
设置第一复位计数器;
在控制与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第一复位计数器加一;
检测所述第一复位计数器的计数次数是否大于设定复位次数;
如果是,控制所述第一复位计数器清零并提示当前发出无效信号的CAN节点故障。
9.根据权利要求6所述的CAN总线自检修复方法,其特征在于,所述方法还包括:
设置延时计时器;
通过CAN总线向发出无效信号的CAN节点发送软件自复位指令后,所述延时计时器开始计时;
在所述延时计时器达到延时设定时间后,如果未收到发出无效信号的CAN节点的软件自复位成功信号,则清零所述延时计时器并通过与发出无效信号的CAN节点连接的电源控制器断开电源再连接电源,以使发出无效信号的CAN节点进行硬件自复位。
10.根据权利要求6所述的CAN总线自检修复方法,其特征在于,所述方法还包括:
设置第二复位计数器;
在控制与无法发出信号的CAN节点连接的电源控制器断开电源再连接电源之后,控制所述第二复位计数器加一;
检测所述第二复位计数器的计数次数是否大于设定复位次数;如果是,控制所述第二复位计数器清零并提示当前无法发出信号的CAN节点故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679518.0A CN109039704B (zh) | 2018-06-27 | 2018-06-27 | Can总线自检修复装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679518.0A CN109039704B (zh) | 2018-06-27 | 2018-06-27 | Can总线自检修复装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109039704A true CN109039704A (zh) | 2018-12-18 |
CN109039704B CN109039704B (zh) | 2020-11-03 |
Family
ID=64611185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810679518.0A Active CN109039704B (zh) | 2018-06-27 | 2018-06-27 | Can总线自检修复装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109039704B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273636A (zh) * | 2020-01-19 | 2020-06-12 | 湖北三江航天红峰控制有限公司 | 一种can总线上电错误帧处理方法 |
CN113946148A (zh) * | 2021-09-29 | 2022-01-18 | 浙江零跑科技股份有限公司 | 一种基于多ecu协同控制的mcu芯片唤醒系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137036B2 (en) * | 2002-02-22 | 2006-11-14 | Oki Electric Industry Co., Ltd. | Microcontroller having an error detector detecting errors in itself as well |
CN102055633A (zh) * | 2010-09-29 | 2011-05-11 | 航天东方红卫星有限公司 | 一种星载双can总线节点故障自恢复系统 |
CN202826997U (zh) * | 2012-09-27 | 2013-03-27 | 东风汽车公司 | 汽车胎压监测系统 |
US9009523B2 (en) * | 2012-11-27 | 2015-04-14 | GM Global Technology Operations LLC | Method and apparatus for isolating a fault in a controller area network |
CN104635549A (zh) * | 2013-11-07 | 2015-05-20 | 北汽福田汽车股份有限公司 | Can总线错误处理方法和can控制器 |
CN105022467A (zh) * | 2014-04-29 | 2015-11-04 | 中兴通讯股份有限公司 | 一种单板复位方法及装置 |
EP3136193A1 (en) * | 2015-08-25 | 2017-03-01 | Robert Bosch GmbH | Security monitor for vehicle |
-
2018
- 2018-06-27 CN CN201810679518.0A patent/CN109039704B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137036B2 (en) * | 2002-02-22 | 2006-11-14 | Oki Electric Industry Co., Ltd. | Microcontroller having an error detector detecting errors in itself as well |
CN102055633A (zh) * | 2010-09-29 | 2011-05-11 | 航天东方红卫星有限公司 | 一种星载双can总线节点故障自恢复系统 |
CN202826997U (zh) * | 2012-09-27 | 2013-03-27 | 东风汽车公司 | 汽车胎压监测系统 |
US9009523B2 (en) * | 2012-11-27 | 2015-04-14 | GM Global Technology Operations LLC | Method and apparatus for isolating a fault in a controller area network |
CN104635549A (zh) * | 2013-11-07 | 2015-05-20 | 北汽福田汽车股份有限公司 | Can总线错误处理方法和can控制器 |
CN105022467A (zh) * | 2014-04-29 | 2015-11-04 | 中兴通讯股份有限公司 | 一种单板复位方法及装置 |
EP3136193A1 (en) * | 2015-08-25 | 2017-03-01 | Robert Bosch GmbH | Security monitor for vehicle |
Non-Patent Citations (1)
Title |
---|
朱正礼等: "CAN总线系统在电动轿车上的应用", 《汽车工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273636A (zh) * | 2020-01-19 | 2020-06-12 | 湖北三江航天红峰控制有限公司 | 一种can总线上电错误帧处理方法 |
CN113946148A (zh) * | 2021-09-29 | 2022-01-18 | 浙江零跑科技股份有限公司 | 一种基于多ecu协同控制的mcu芯片唤醒系统 |
CN113946148B (zh) * | 2021-09-29 | 2023-11-10 | 浙江零跑科技股份有限公司 | 一种基于多ecu协同控制的mcu芯片唤醒系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109039704B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN205158041U (zh) | 一种网络化智能仓储状况检测控制系统 | |
CN104237645A (zh) | 一种变电站直流系统绝缘状态在线监测系统和方法 | |
CN104062967B (zh) | 启停系统的故障诊断方法及装置 | |
CN103328992A (zh) | 用于诊断网络中的故障或开路的方法和系统 | |
CN109039704A (zh) | Can总线自检修复装置及方法 | |
CN109613348A (zh) | 一种高压箱工装自动检测装置 | |
CN109204062A (zh) | 一种实时监测电流、剩余电量及绝缘性能的系统及其监测方法 | |
CN112731088A (zh) | 一种车辆高压电路检测方法、装置、车辆及存储介质 | |
CN115091957A (zh) | 一种高压上下电接触器触点状态诊断装置、方法及车辆 | |
CN111703327A (zh) | 一种基于物联网的智能充电测试装置 | |
CN205506966U (zh) | 一种检测火工品工作情况的系统 | |
CN207611129U (zh) | 电池包测试系统 | |
CN102608371A (zh) | 蓄电池检测装置及其欠压保护方法 | |
CN205280908U (zh) | 一种新能源汽车电池包测试检验装置 | |
CN113366326A (zh) | 继电器粘连检测电路、方法及系统 | |
CN206388061U (zh) | 整车控制器故障自动注入装置及测试系统 | |
CN106506193A (zh) | Ups网络监控通信系统及方法 | |
CN104345244A (zh) | 一种电池极性检测及保护电路 | |
KR20150003545A (ko) | 자동 파워릴레이어셈블리를 포함하는 배터리 시스템 및 그 동작방법 | |
CN215729398U (zh) | 一种用于检测bms板的自动测试仪控制电路 | |
CN108733523A (zh) | 总线鲁棒性测试方法及系统 | |
CN202102045U (zh) | 一种滤波电容电压测试装置 | |
CN104502806A (zh) | 基于架空电缆混合线路暂态量信号的故障定位系统及方法 | |
CN105425780B (zh) | 一种总线故障自诊断装置 | |
CN105774590B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 230601 No. 99 Ziyun Road, Hefei Economic and Technological Development Zone, Anhui Province Applicant after: Anhui Jianghuai Automobile Group Limited by Share Ltd Address before: 230601 No. 669 Shixin Road, Taohua Industrial Park, Hefei City, Anhui Province Applicant before: Anhui Jianghuai Automobile Group Limited by Share Ltd |
|
GR01 | Patent grant | ||
GR01 | Patent grant |